Index: sources/view/hd/alarm/VAlarmStatus.cpp =================================================================== diff -u -r3c437b45ff53b13c3f567bd8431738941ebce7c3 -rf7d7e8b10c7626f3c6b8450876721a452ebd730f --- sources/view/hd/alarm/VAlarmStatus.cpp (.../VAlarmStatus.cpp) (revision 3c437b45ff53b13c3f567bd8431738941ebce7c3) +++ sources/view/hd/alarm/VAlarmStatus.cpp (.../VAlarmStatus.cpp) (revision f7d7e8b10c7626f3c6b8450876721a452ebd730f) @@ -153,7 +153,17 @@ // alarm is out of silence || ( _alarm_Flag_alarmsSilencedChanged && ! _alarm_Flag_alarmsSilenced ) ){ + + _alarmInstructionsList.clear(); + for (QMap::const_iterator it = _alarms[_alarm_AlarmID].instructions.constBegin(); + it != _alarms[_alarm_AlarmID].instructions.constEnd(); ++it) { + + _alarmInstructionsList.appendData( {{VAlarmInstructionsModel::eRole_Instruction, it.key() }, + {VAlarmInstructionsModel::eRole_Image, it.value()}}); + } + emit didAlarmRaise(); + } } @@ -179,8 +189,8 @@ QString VAlarmStatus::title () { if ( ! _alarm_AlarmID ) return {}; QString s = _alarms[_alarm_AlarmID].title ; if ( ! s.isEmpty()) return s; else return tr("Alarm") ; } QString VAlarmStatus::message () { if ( ! _alarm_AlarmID ) return {}; QString s = _alarms[_alarm_AlarmID].message; if ( ! s.isEmpty()) return s; else return text() ; } -QStringList VAlarmStatus::instructionKeys () { if ( ! _alarm_AlarmID ) return {}; return _alarms[_alarm_AlarmID].instructions.keys () ; } -QStringList VAlarmStatus::instructionValues () { if ( ! _alarm_AlarmID ) return {}; return _alarms[_alarm_AlarmID].instructions.values () ; } +//QStringList VAlarmStatus::instructionKeys () { if ( ! _alarm_AlarmID ) return {}; return _alarms[_alarm_AlarmID].instructions.keys () ; } +//QStringList VAlarmStatus::instructionValues () { if ( ! _alarm_AlarmID ) return {}; return _alarms[_alarm_AlarmID].instructions.values () ; } /*! * \brief View::VAlarmStatus::onActionReceive @@ -198,6 +208,7 @@ 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(); @@ -211,13 +222,14 @@ instructionData[key] = QFile::exists(imagePath) ? imagePath : QStringLiteral("%1%2").arg(_location) .arg("defaultImage.png"); 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(); +// 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); // }