diff options
Diffstat (limited to 'plugins/ConfigurationEditor/configurationeditorplugin.cpp')
-rw-r--r-- | plugins/ConfigurationEditor/configurationeditorplugin.cpp | 27 |
1 files changed, 24 insertions, 3 deletions
diff --git a/plugins/ConfigurationEditor/configurationeditorplugin.cpp b/plugins/ConfigurationEditor/configurationeditorplugin.cpp index bf8a90d..1f60cc0 100644 --- a/plugins/ConfigurationEditor/configurationeditorplugin.cpp +++ b/plugins/ConfigurationEditor/configurationeditorplugin.cpp @@ -1,8 +1,15 @@ +/* + * 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 "configurationeditorplugin.h" #include "forms/configurationdialog.h" #include <QDialog> #include <QHash> -#include <configuration.h> CommandHash_t ConfigurationEditorPlugin::commands() { @@ -16,9 +23,23 @@ CommandHash_t ConfigurationEditorPlugin::commands() return hash; } -QDialog *ConfigurationEditorPlugin::createWidget(QWidget *parent) +QDialog *ConfigurationEditorPlugin::createWidget(QWidget *parent) const { - auto *dlg = new ConfigurationDialog(browser->getConfiguration(), parent); + auto *app = browser(); + Q_CHECK_PTR(app); + + auto *dlg = new ConfigurationDialog(parent); dlg->setAttribute(Qt::WA_DeleteOnClose, true); + + for(const QString &key : app->configurationOptions()) { + dlg->addOption(key, app->configuration(key)); + } + dlg->ui->settings_treeWidget->resizeColumnToContents(0); + dlg->ui->shortcuts_treeWidget->resizeColumnToContents(0); + + connect(dlg, &ConfigurationDialog::configurationChanged, dlg, [app](const QString &key, const QString &value) { + app->setConfiguration(key, value); + }); + return dlg; } |