Index: sources/view/confirm/VConfirm.cpp =================================================================== diff -u -rf502bc55feb08cd037d9caa12086d30034fe715b -rdb12df03b8067e1ccc81f190cabfb03359c3d8cb --- sources/view/confirm/VConfirm.cpp (.../VConfirm.cpp) (revision f502bc55feb08cd037d9caa12086d30034fe715b) +++ sources/view/confirm/VConfirm.cpp (.../VConfirm.cpp) (revision db12df03b8067e1ccc81f190cabfb03359c3d8cb) @@ -16,6 +16,7 @@ // Project #include "GuiController.h" +#include "Settings.h" VIEW_DEF_CLASS_ADJUSTMENT(VConfirm) @@ -26,6 +27,7 @@ void View::VConfirm::initConnections() { ACTION_VIEW_CONNECTION(DuetConfirmHDiData ); ACTION_VIEW_CONNECTION(PowerOffData ); + ACTION_VIEW_CONNECTION(SettingsData ); ADJUST_VIEW_CONNECTION(DuetConfirmUIrData ); } @@ -122,3 +124,39 @@ data.mConfirm = vConfirm; emit didAdjustment(data); } + +void View::VConfirm::onActionReceive(const SettingsData &) { + QStringList mCategorys = _Settings.categorys(); + for (const QString &category : mCategorys) { + QStringList groups = _Settings.groups(category); + if ( ! Storage::Settings::isCategoryConfirm( category ) ) continue; + + for (const auto &group : groups) { + bool ok = true; + quint32 id = group.toInt( &ok ); + if ( ! ok ) { LOG_DEBUG(QString("Not an confirm ID number [%1]").arg(group)); continue; } + + // AlarmData alarmData; + // InstructionData instructionData; + // for (const QString &key : _Settings.keys(group)) { + // if (isTitle ( key ) ) { + // alarmData.title = _Settings.value(group, key).toString(); + // } else if (isMessage ( key ) ) { + // alarmData.message = _Settings.value(group, key).toString(); + // } else { + // instructionData[key] = _Settings.value(group, key).toString(); + // alarmData.instructions = instructionData; + // } + // } + // _alarms[id] = alarmData; + // + /// DEBUG: + /// TODO: the MSettings model should do the same has been done here and use map instead of separate structure to iterate vertically, while map supports, keys, values. + // qDebug() << "@" << id << _alarms[id].title << _alarms[id].message << _alarms[id].instructions.keys() << _alarms[id].instructions.values(); + // for (const auto &key : _alarms[id].instructions.keys()) { + // qDebug() << "-" << key << _alarms[id].instructions.value(key); + // } + } + } + // emit alarm_AlarmIDChanged(_alarm_AlarmID); // to get the dialog content in sync with the Alarm.conf in case there is an early alarm. +}