diff options
Diffstat (limited to 'plugins/ConfigurationEditor/configurationeditorplugin.cpp')
-rw-r--r-- | plugins/ConfigurationEditor/configurationeditorplugin.cpp | 30 |
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; +} |