aboutsummaryrefslogtreecommitdiff
path: root/plugins/ConfigurationEditor/configurationeditorplugin.cpp
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-06-23 12:50:10 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-06-23 12:50:10 +0200
commit41329fae5f819eee8c394571125f11f0a0b67cd9 (patch)
treee8e36f9b8458ee809114714e497c4a43a19949ef /plugins/ConfigurationEditor/configurationeditorplugin.cpp
parentAdd Configuration::setValue and Configuration::setShortcut (diff)
downloadsmolbote-41329fae5f819eee8c394571125f11f0a0b67cd9.tar.xz
Add ConfigurationEditor plugin
Removed poi-config
Diffstat (limited to 'plugins/ConfigurationEditor/configurationeditorplugin.cpp')
-rw-r--r--plugins/ConfigurationEditor/configurationeditorplugin.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/plugins/ConfigurationEditor/configurationeditorplugin.cpp b/plugins/ConfigurationEditor/configurationeditorplugin.cpp
new file mode 100644
index 0000000..a5ca0bd
--- /dev/null
+++ b/plugins/ConfigurationEditor/configurationeditorplugin.cpp
@@ -0,0 +1,30 @@
+#include "configurationeditorplugin.h"
+#include <QHash>
+#include <QDialog>
+#include "forms/settingsdialog.h"
+#include <configuration.h>
+
+CommandHash_t ConfigurationEditorPlugin::commands()
+{
+ QHash<QString, std::function<int()>> hash;
+
+ hash.insert("configure", [this]() -> int {
+ auto *dlg = createWidget(nullptr);
+ return dlg->exec();
+ });
+
+ return hash;
+}
+
+QDialog *ConfigurationEditorPlugin::createWidget(QWidget *parent)
+{
+ auto *dlg = new SettingsDialog(m_config, parent);
+ dlg->setAttribute(Qt::WA_DeleteOnClose, true);
+ return dlg;
+}
+
+void ConfigurationEditorPlugin::setConfiguration(Configuration *cfg)
+{
+ Q_CHECK_PTR(cfg);
+ m_config = cfg;
+}