Index: sources/view/hd/alarm/VAlarmStatus.cpp =================================================================== diff -u -rdb12df03b8067e1ccc81f190cabfb03359c3d8cb -r40c09957821fb3779fa06214a856c20cca110e56 --- sources/view/hd/alarm/VAlarmStatus.cpp (.../VAlarmStatus.cpp) (revision db12df03b8067e1ccc81f190cabfb03359c3d8cb) +++ sources/view/hd/alarm/VAlarmStatus.cpp (.../VAlarmStatus.cpp) (revision 40c09957821fb3779fa06214a856c20cca110e56) @@ -201,37 +201,33 @@ QStringList VAlarmStatus::instructionValues () { if ( ! _alarm_AlarmID ) return {}; return _alarms[_alarm_AlarmID].instructions.values () ; } void VAlarmStatus::onActionReceive(const SettingsData &) { - QStringList mCategorys = _Settings.categorys(); - for (const QString &category : mCategorys) { - if ( ! Storage::Settings::isCategoryAlarms( category ) ) continue; - QStringList groups = _Settings.groups(category); + QString category = Storage::Settings_Category_Alarms; + QStringList groups = _Settings.groups(category); + for (const auto &group : groups) { + bool ok = true; + quint32 id = group.toInt( &ok ); + if ( ! ok ) { LOG_DEBUG(QString("Not an alarm ID number [%1]").arg(group)); continue; } - for (const auto &group : groups) { - bool ok = true; - quint32 id = group.toInt( &ok ); - if ( ! ok ) { LOG_DEBUG(QString("Not an alarm ID number [%1]").arg(group)); continue; } - - AlarmData alarmData; - InstructionData instructionData; - for (const QString &key : _Settings.keys(group)) { - if (Storage::Settings::isKeyTitle ( key ) ) { - alarmData.title = _Settings.value(group, key).toString(); - } else if (Storage::Settings::isKeyMessage ( key ) ) { - alarmData.message = _Settings.value(group, key).toString(); - } else { - instructionData[key] = _Settings.value(group, key).toString(); - alarmData.instructions = instructionData; - } + AlarmData alarmData; + InstructionData instructionData; + for (const QString &key : _Settings.keys(category, group)) { + if (Storage::Settings::isKeyTitle ( key ) ) { + alarmData.title = _Settings.value(category, group, key).toString(); + } else if (Storage::Settings::isKeyMessage ( key ) ) { + alarmData.message = _Settings.value(category, group, key).toString(); + } else { + instructionData[key] = _Settings.value(category, 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); - // } } + _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. }