From 5a173de1e022b0cbd9f348b33eb26201fbeaef09 Mon Sep 17 00:00:00 2001 From: Riccardo Musso <riccardo.musso@skywarder.eu> Date: Thu, 21 Jul 2022 11:35:14 +0200 Subject: [PATCH] CommandPad now saves selected message type on the xml configuration --- Modules/CommandPad/commandpad.cpp | 12 +++++++++--- Modules/CommandPad/commandpad.h | 2 ++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Modules/CommandPad/commandpad.cpp b/Modules/CommandPad/commandpad.cpp index 5b7fadd1..9e1402ae 100644 --- a/Modules/CommandPad/commandpad.cpp +++ b/Modules/CommandPad/commandpad.cpp @@ -72,11 +72,17 @@ QWidget* CommandPad::toWidget() { } XmlObject CommandPad::toXmlObject() { - return XmlObject(getName(ModuleId::COMMANDPAD)); + XmlObject obj(getName(ModuleId::COMMANDPAD)); + obj.addAttribute("selected", commandComboBox->currentText()); + return obj; } void CommandPad::fromXmlObject(const XmlObject& xmlObject) { - Q_UNUSED(xmlObject); + QString curr = xmlObject.getAttribute("selected"); + int idx = commandComboBox->findText(curr); + if(idx != -1) { + commandComboBox->setCurrentIndex(idx); + } } #define _CMD(id, strName) \ @@ -128,7 +134,7 @@ void CommandPad::fromXmlObject(const XmlObject& xmlObject) { void CommandPad::setupUi() { QStackedWidget* stacked = new QStackedWidget; - QComboBox* commandComboBox = new QComboBox; + commandComboBox = new QComboBox; commandComboBox->setSizePolicy(QSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed)); connect(commandComboBox, QOverload<int>::of(&QComboBox::currentIndexChanged), this, [ = ](int idx) { diff --git a/Modules/CommandPad/commandpad.h b/Modules/CommandPad/commandpad.h index a179cfc0..44bb73ef 100644 --- a/Modules/CommandPad/commandpad.h +++ b/Modules/CommandPad/commandpad.h @@ -22,6 +22,8 @@ class CommandPad : public DefaultModule { private: void setupUi(); + + QComboBox* commandComboBox; }; #endif // COMMANDPAD_H -- GitLab