diff options
author | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-08-27 16:42:51 +0200 |
---|---|---|
committer | Aqua-sama <aqua@iserlohn-fortress.net> | 2018-08-27 17:43:02 +0200 |
commit | 36dce3fd26194cdf6dbf1ba52cc27cfa1daae389 (patch) | |
tree | 23a3919fb67d33583c4bd5c889758bf196100b9a /plugins/ProfileEditor/forms/profilemanagerdialog.cpp | |
parent | Add BrowserInterface to simplify plugins a bit (diff) | |
download | smolbote-36dce3fd26194cdf6dbf1ba52cc27cfa1daae389.tar.xz |
PluginEditor: implement add plugin action
Diffstat (limited to 'plugins/ProfileEditor/forms/profilemanagerdialog.cpp')
-rw-r--r-- | plugins/ProfileEditor/forms/profilemanagerdialog.cpp | 26 |
1 files changed, 21 insertions, 5 deletions
diff --git a/plugins/ProfileEditor/forms/profilemanagerdialog.cpp b/plugins/ProfileEditor/forms/profilemanagerdialog.cpp index 427330a..dac4a61 100644 --- a/plugins/ProfileEditor/forms/profilemanagerdialog.cpp +++ b/plugins/ProfileEditor/forms/profilemanagerdialog.cpp @@ -4,6 +4,7 @@ #include <webprofile.h> #include <QDir> #include <QPointer> +#include "newprofiledialog.h" ProfileManagerDialog::ProfileManagerDialog(const QVector<WebProfile *> &profiles, QWidget *parent) : QDialog(parent) @@ -14,16 +15,20 @@ ProfileManagerDialog::ProfileManagerDialog(const QVector<WebProfile *> &profiles connect(ui->listWidget, &QListWidget::itemPressed, this, &ProfileManagerDialog::showProfile); showProfile(nullptr); + connect(ui->new_pushButton, &QPushButton::clicked, this, [=]() { + auto *profileDlg = new NewProfileDialog(this); + if(profileDlg->exec() == QDialog::Accepted) { + emit createProfile(profileDlg->getId()); + } + delete profileDlg; + }); + connect(ui->delete_pushButton, &QPushButton::clicked, this, [=]() { deleteProfile(ui->listWidget->currentItem()); }); for(auto *profile : profiles) { - auto *item = new QListWidgetItem(ui->listWidget); - item->setText(profile->name()); - - auto pointer = QPointer<WebProfile>(profile); - item->setData(Qt::UserRole, QVariant::fromValue(pointer)); + addProfile(profile); } } @@ -32,6 +37,17 @@ ProfileManagerDialog::~ProfileManagerDialog() delete ui; } +void ProfileManagerDialog::addProfile(WebProfile *profile) +{ + Q_CHECK_PTR(profile); + + auto *item = new QListWidgetItem(ui->listWidget); + item->setText(profile->name()); + + auto pointer = QPointer<WebProfile>(profile); + item->setData(Qt::UserRole, QVariant::fromValue(pointer)); +} + void ProfileManagerDialog::showProfile(QListWidgetItem *item) { // clear out groupbox layout |