M module-apps/application-alarm-clock/models/NewEditAlarmModel.cpp => module-apps/application-alarm-clock/models/NewEditAlarmModel.cpp +8 -3
@@ 74,10 74,15 @@ namespace app::alarmClock
}
}
- void NewEditAlarmModel::loadData(std::shared_ptr<AlarmEventRecord> record)
+ void NewEditAlarmModel::clearData()
{
list->reset();
eraseInternalData();
+ }
+
+ void NewEditAlarmModel::loadData(std::shared_ptr<AlarmEventRecord> record)
+ {
+ clearData();
rRulePresenter->loadRecord(record);
createData();
@@ 114,7 119,7 @@ namespace app::alarmClock
alarm->enabled = true;
alarmsRepository->add(*alarm, [this](bool) { application->returnToPreviousWindow(); });
}
- list->reset();
- eraseInternalData();
+
+ clearData();
}
} // namespace app::alarmClock
M module-apps/application-alarm-clock/models/NewEditAlarmModel.hpp => module-apps/application-alarm-clock/models/NewEditAlarmModel.hpp +2 -0
@@ 24,6 24,7 @@ namespace app::alarmClock
virtual void loadData(std::shared_ptr<AlarmEventRecord> record) = 0;
virtual void saveData(std::shared_ptr<AlarmEventRecord> record, AlarmAction action) = 0;
+ virtual void clearData() = 0;
virtual void loadCustomRepeat() = 0;
};
@@ 44,6 45,7 @@ namespace app::alarmClock
void loadData(std::shared_ptr<AlarmEventRecord> record) override;
void saveData(std::shared_ptr<AlarmEventRecord> alarm, AlarmAction action) override;
void loadCustomRepeat() override;
+ void clearData() override;
void createData();
[[nodiscard]] unsigned int getMinimalItemSpaceRequired() const override;
M module-apps/application-alarm-clock/presenter/AlarmClockEditWindowPresenter.cpp => module-apps/application-alarm-clock/presenter/AlarmClockEditWindowPresenter.cpp +5 -0
@@ 30,4 30,9 @@ namespace app::alarmClock
alarmFieldsProvider->loadCustomRepeat();
}
+ void AlarmClockEditWindowPresenter::clearData()
+ {
+ alarmFieldsProvider->clearData();
+ }
+
} // namespace app::alarmClock
M module-apps/application-alarm-clock/presenter/AlarmClockEditWindowPresenter.hpp => module-apps/application-alarm-clock/presenter/AlarmClockEditWindowPresenter.hpp +2 -0
@@ 25,6 25,7 @@ namespace app::alarmClock
[[nodiscard]] virtual std::shared_ptr<gui::ListItemProvider> getAlarmsItemProvider() const = 0;
virtual void loadData(std::shared_ptr<AlarmEventRecord> record) = 0;
virtual void saveData(std::shared_ptr<AlarmEventRecord> record, AlarmAction action) = 0;
+ virtual void clearData() = 0;
virtual void loadCustomRepeat() = 0;
};
};
@@ 37,6 38,7 @@ namespace app::alarmClock
[[nodiscard]] std::shared_ptr<gui::ListItemProvider> getAlarmsItemProvider() const override;
void loadData(std::shared_ptr<AlarmEventRecord> record) override;
void saveData(std::shared_ptr<AlarmEventRecord> record, AlarmAction action) override;
+ void clearData() override;
void loadCustomRepeat() override;
private:
M module-apps/application-alarm-clock/windows/NewEditAlarmWindow.cpp => module-apps/application-alarm-clock/windows/NewEditAlarmWindow.cpp +7 -0
@@ 56,6 56,13 @@ namespace app::alarmClock
}
}
+ void NewEditAlarmWindow::onClose(gui::Window::CloseReason reason)
+ {
+ if (reason == Window::CloseReason::ApplicationClose) {
+ presenter->clearData();
+ }
+ }
+
bool NewEditAlarmWindow::onInput(const gui::InputEvent &inputEvent)
{
if (AppWindow::onInput(inputEvent)) {
M module-apps/application-alarm-clock/windows/NewEditAlarmWindow.hpp => module-apps/application-alarm-clock/windows/NewEditAlarmWindow.hpp +1 -0
@@ 28,6 28,7 @@ namespace app::alarmClock
bool handleSwitchData(gui::SwitchData *data) override;
void onBeforeShow(gui::ShowMode mode, gui::SwitchData *data) override;
+ void onClose(CloseReason reason) override;
bool onInput(const gui::InputEvent &inputEvent) override;
void buildInterface() override;
};
M module-apps/application-phonebook/models/NewContactModel.cpp => module-apps/application-phonebook/models/NewContactModel.cpp +4 -2
@@ 112,11 112,13 @@ void NewContactModel::createData()
void NewContactModel::clearData()
{
list->reset();
-
eraseInternalData();
+}
+void NewContactModel::recreateData()
+{
+ clearData();
createData();
-
list->rebuildList();
}
M module-apps/application-phonebook/models/NewContactModel.hpp => module-apps/application-phonebook/models/NewContactModel.hpp +1 -0
@@ 23,6 23,7 @@ class NewContactModel : public app::InternalModel<gui::ContactListItem *>, publi
explicit NewContactModel(app::ApplicationCommon *app);
void clearData();
+ void recreateData();
void saveData(std::shared_ptr<ContactRecord> contactRecord);
void loadData(std::shared_ptr<ContactRecord> contactRecord, gui::SwitchData *data);
void createData();
M module-apps/application-phonebook/windows/PhonebookNewContact.cpp => module-apps/application-phonebook/windows/PhonebookNewContact.cpp +8 -2
@@ 52,7 52,7 @@ namespace gui
void PhonebookNewContact::onBeforeShow(ShowMode mode, SwitchData *data)
{
if (mode != ShowMode::GUI_SHOW_RETURN) {
- newContactModel->clearData();
+ newContactModel->recreateData();
newContactModel->loadData(contact, data);
}
@@ 75,6 75,13 @@ namespace gui
!newContactModel->emptyData() ? setSaveButtonVisible(true) : setSaveButtonVisible(false);
}
+ void PhonebookNewContact::onClose(Window::CloseReason reason)
+ {
+ if (reason == Window::CloseReason::ApplicationClose) {
+ newContactModel->clearData();
+ }
+ }
+
auto PhonebookNewContact::handleSwitchData(SwitchData *data) -> bool
{
if (data == nullptr) {
@@ 247,5 254,4 @@ namespace gui
}});
application->switchWindow(gui::window::name::dialog_yes_no_icon_txt, std::move(metaData));
}
-
} // namespace gui
M module-apps/application-phonebook/windows/PhonebookNewContact.hpp => module-apps/application-phonebook/windows/PhonebookNewContact.hpp +1 -0
@@ 20,6 20,7 @@ namespace gui
auto onInput(const InputEvent &inputEvent) -> bool override;
void onBeforeShow(ShowMode mode, SwitchData *data) override;
auto handleSwitchData(SwitchData *data) -> bool override;
+ void onClose(CloseReason reason) override;
void rebuild() override;
void buildInterface() override;
void destroyInterface() override;
M module-apps/application-settings/models/apps/SoundsModel.cpp => module-apps/application-settings/models/apps/SoundsModel.cpp +2 -2
@@ 67,8 67,8 @@ void SoundsModel::createData(app::ApplicationCommon *app, audio_settings::Abstra
void SoundsModel::clearData()
{
- list->clear();
- list->rebuildList();
+ list->reset();
+ eraseInternalData();
}
std::filesystem::path SoundsModel::getSoundPath(audio_settings::AbstractAudioSettingsModel *model)
M module-apps/application-settings/windows/apps/SoundSelectWindow.cpp => module-apps/application-settings/windows/apps/SoundSelectWindow.cpp +7 -0
@@ 59,4 59,11 @@ namespace gui
setTitle(info->get().windowTitle);
mSoundsModel->createData(application, info->get().audioModel);
}
+
+ void SoundSelectWindow::onClose(Window::CloseReason reason)
+ {
+ if (reason == Window::CloseReason::ApplicationClose) {
+ mSoundsModel->clearData();
+ }
+ }
} // namespace gui
M module-apps/application-settings/windows/apps/SoundSelectWindow.hpp => module-apps/application-settings/windows/apps/SoundSelectWindow.hpp +1 -0
@@ 26,6 26,7 @@ namespace gui
/// @param mode show mode
/// @param data user switch data
void onBeforeShow([[maybe_unused]] ShowMode mode, SwitchData *data) override;
+ void onClose(CloseReason reason) override;
void rebuild() override;
void buildInterface() override;