aboutsummaryrefslogtreecommitdiff
path: root/plugins/ConfigurationEditor/configurationeditorplugin.cpp
diff options
context:
space:
mode:
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;
+}