/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/gitea/aqua/smolbote * * SPDX-License-Identifier: GPL-3.0 */ #include "profileeditorplugin.h" #include "forms/profilemanagerdialog.h" #include "forms/profileview.h" #include #include QHash> ProfileEditorPlugin::commands() { QHash> hash; hash.insert("edit-profiles-ui", [this]() -> int { auto *dialog = createWidget(nullptr); return dialog->exec(); }); return hash; } QDialog *ProfileEditorPlugin::createWidget(QWidget *parent) { Q_CHECK_PTR(browser); auto *widget = new ProfileManagerDialog(browser->getProfileManager(), parent); widget->setAttribute(Qt::WA_DeleteOnClose, true); connect(widget, &ProfileManagerDialog::createProfile, this, [=](const QString &id) { auto newProfile = browser->loadProfile(id); widget->addProfile(newProfile.second); }); connect(widget, &ProfileManagerDialog::removeProfile, this, [this](const WebProfile *profile) { const QString id = browser->getProfileManager()->id(profile); browser->getProfileManager()->deleteProfile(id); }); return widget; }