M products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp => products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp +6 -4
@@ 137,7 137,7 @@ namespace app
std::move(songsModel));
auto audioErrorModel = std::make_unique<bell_settings::AudioErrorModel>();
auto presenter = std::make_unique<bell_settings::SettingsPresenter>(
- std::move(provider), bedtimeModel, *audioModel, std::move(audioErrorModel));
+ app, std::move(provider), bedtimeModel, *audioModel, std::move(audioErrorModel));
return std::make_unique<gui::BellSettingsBedtimeToneWindow>(app, std::move(presenter));
});
@@ 192,7 192,8 @@ namespace app
auto frontlightModel = std::make_unique<bell_settings::FrontlightModel>(app);
auto audioErrorModel = std::make_unique<bell_settings::AudioErrorModel>();
auto presenter =
- std::make_unique<bell_settings::PrewakeUpWindowPresenter>(std::move(provider),
+ std::make_unique<bell_settings::PrewakeUpWindowPresenter>(app,
+ std::move(provider),
std::move(prewakeUpSettingsModel),
*audioModel,
std::move(frontlightModel),
@@ 230,7 231,7 @@ namespace app
auto audioErrorModel = std::make_unique<bell_settings::AudioErrorModel>();
auto presenter = std::make_unique<bell_settings::SnoozePresenter>(
- std::move(provider), std::move(snoozeSettingsModel), *audioModel, std::move(audioErrorModel));
+ app, std::move(provider), std::move(snoozeSettingsModel), *audioModel, std::move(audioErrorModel));
return std::make_unique<gui::BellSettingsAlarmSettingsSnoozeWindow>(app, std::move(presenter));
});
windowsFactory.attach(
@@ 263,7 264,8 @@ namespace app
auto provider = std::make_unique<bell_settings::AlarmSettingsListItemProvider>(*alarmSettingsModel,
std::move(songsModel));
auto audioErrorModel = std::make_unique<bell_settings::AudioErrorModel>();
- auto presenter = std::make_unique<bell_settings::AlarmSettingsPresenter>(std::move(provider),
+ auto presenter = std::make_unique<bell_settings::AlarmSettingsPresenter>(app,
+ std::move(provider),
std::move(alarmSettingsModel),
*audioModel,
std::move(frontlightModel),
M products/BellHybrid/apps/application-bell-settings/presenter/BedtimeSettingsPresenter.cpp => products/BellHybrid/apps/application-bell-settings/presenter/BedtimeSettingsPresenter.cpp +8 -4
@@ 5,12 5,13 @@
namespace app::bell_settings
{
- SettingsPresenter::SettingsPresenter(std::unique_ptr<BedtimeSettingsListItemProvider> &&provider,
+ SettingsPresenter::SettingsPresenter(ApplicationCommon *app,
+ std::unique_ptr<BedtimeSettingsListItemProvider> &&provider,
std::shared_ptr<AbstractBedtimeModel> model,
AbstractAudioModel &audioModel,
std::unique_ptr<AudioErrorModel> &&audioErrorModel)
- : provider{std::move(provider)}, model{std::move(model)}, audioModel{audioModel}, audioErrorModel{std::move(
- audioErrorModel)}
+ : app{app}, provider{std::move(provider)}, model{std::move(model)}, audioModel{audioModel},
+ audioErrorModel{std::move(audioErrorModel)}
{
auto playSound = [this](const UTF8 &val) {
auto onStartCallback = [this, val](audio::RetCode retCode) {
@@ 38,7 39,10 @@ namespace app::bell_settings
this->provider->onToneChange = playSound;
this->provider->onToneProceed = [this](const auto &path) { return validatePath(path); };
- this->provider->onVolumeEnter = playSound;
+ this->provider->onVolumeEnter = [this, playSound](const auto &val) {
+ getView()->deepRefresh();
+ playSound(val);
+ };
this->provider->onVolumeExit = [this](const auto &) { this->stopSound(); };
this->provider->onVolumeChange = [this, playSound](const auto &val) {
this->audioModel.setVolume(
M products/BellHybrid/apps/application-bell-settings/presenter/BedtimeSettingsPresenter.hpp => products/BellHybrid/apps/application-bell-settings/presenter/BedtimeSettingsPresenter.hpp +4 -1
@@ 26,6 26,7 @@ namespace app::bell_settings
public:
virtual ~View() noexcept = default;
virtual auto exit() -> void = 0;
+ virtual auto deepRefresh() -> void = 0;
virtual auto handleError() -> void = 0;
virtual auto handleDeletedFile() -> void = 0;
};
@@ 45,7 46,8 @@ namespace app::bell_settings
class SettingsPresenter : public BedtimeSettingsWindowContract::Presenter
{
public:
- SettingsPresenter(std::unique_ptr<BedtimeSettingsListItemProvider> &&provider,
+ SettingsPresenter(ApplicationCommon *app,
+ std::unique_ptr<BedtimeSettingsListItemProvider> &&provider,
std::shared_ptr<AbstractBedtimeModel> model,
AbstractAudioModel &audioModel,
std::unique_ptr<AudioErrorModel> &&audioErrorModel);
@@ 62,6 64,7 @@ namespace app::bell_settings
auto showAudioError(gui::AudioErrorType errorType) const -> void;
auto validatePath(const UTF8 &path) const -> bool;
+ ApplicationCommon *app;
std::shared_ptr<BedtimeSettingsListItemProvider> provider;
std::shared_ptr<AbstractBedtimeModel> model;
AbstractAudioModel &audioModel;
M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.cpp => products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.cpp +10 -6
@@ 6,12 6,13 @@
namespace app::bell_settings
{
- AlarmSettingsPresenter::AlarmSettingsPresenter(std::unique_ptr<AlarmSettingsListItemProvider> &&provider,
+ AlarmSettingsPresenter::AlarmSettingsPresenter(ApplicationCommon *app,
+ std::unique_ptr<AlarmSettingsListItemProvider> &&provider,
std::unique_ptr<AbstractAlarmSettingsModel> &&settingsModel,
AbstractAudioModel &audioModel,
std::unique_ptr<AbstractFrontlightModel> &&frontlight,
std::unique_ptr<AudioErrorModel> &&audioErrorModel)
- : provider{std::move(provider)}, settingsModel{std::move(settingsModel)}, audioModel{audioModel},
+ : app{app}, provider{std::move(provider)}, settingsModel{std::move(settingsModel)}, audioModel{audioModel},
frontlight{std::move(frontlight)}, audioErrorModel{std::move(audioErrorModel)}
{
@@ 37,12 38,15 @@ namespace app::bell_settings
this->provider->onExit = [this]() { getView()->exit(); };
- this->provider->onToneEnter = playSound;
- this->provider->onToneExit = [this](const auto &) { stopSound(); };
- this->provider->onToneChange = playSound;
+ this->provider->onToneEnter = playSound;
+ this->provider->onToneExit = [this](const auto &) { stopSound(); };
+ this->provider->onToneChange = playSound;
this->provider->onToneProceed = [this](const auto &path) { return validatePath(path); };
- this->provider->onVolumeEnter = playSound;
+ this->provider->onVolumeEnter = [this, playSound](const auto &val) {
+ getView()->deepRefresh();
+ playSound(val);
+ };
this->provider->onVolumeExit = [this](const auto &) { stopSound(); };
this->provider->onVolumeChange = [this, playSound](const auto &val) {
this->audioModel.setVolume(
M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.hpp => products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/AlarmSettingsPresenter.hpp +7 -4
@@ 28,9 28,10 @@ namespace app::bell_settings
{
public:
virtual ~View() noexcept = default;
- virtual void exit() = 0;
- virtual void handleError() = 0;
- virtual void handleDeletedFile() = 0;
+ virtual auto exit() -> void = 0;
+ virtual auto deepRefresh() -> void = 0;
+ virtual auto handleError() -> void = 0;
+ virtual auto handleDeletedFile() -> void = 0;
};
class Presenter : public BasePresenter<View>
@@ 49,7 50,8 @@ namespace app::bell_settings
class AlarmSettingsPresenter : public AlarmSettingsWindowContract::Presenter
{
public:
- AlarmSettingsPresenter(std::unique_ptr<AlarmSettingsListItemProvider> &&provider,
+ AlarmSettingsPresenter(ApplicationCommon *app,
+ std::unique_ptr<AlarmSettingsListItemProvider> &&provider,
std::unique_ptr<AbstractAlarmSettingsModel> &&settingsModel,
AbstractAudioModel &audioModel,
std::unique_ptr<AbstractFrontlightModel> &&frontlight,
@@ 68,6 70,7 @@ namespace app::bell_settings
auto showAudioError(gui::AudioErrorType errorType) const -> void;
auto validatePath(const UTF8 &path) const -> bool;
+ ApplicationCommon *app;
std::shared_ptr<AlarmSettingsListItemProvider> provider;
std::unique_ptr<AbstractAlarmSettingsModel> settingsModel;
AbstractAudioModel &audioModel;
M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/PrewakeUpPresenter.cpp => products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/PrewakeUpPresenter.cpp +7 -3
@@ 6,12 6,13 @@
namespace app::bell_settings
{
- PrewakeUpWindowPresenter::PrewakeUpWindowPresenter(std::unique_ptr<PrewakeUpListItemProvider> &&provider,
+ PrewakeUpWindowPresenter::PrewakeUpWindowPresenter(ApplicationCommon *app,
+ std::unique_ptr<PrewakeUpListItemProvider> &&provider,
std::unique_ptr<AbstractPrewakeUpSettingsModel> &&model,
AbstractAudioModel &audioModel,
std::unique_ptr<AbstractFrontlightModel> &&frontlight,
std::unique_ptr<AudioErrorModel> &&audioErrorModel)
- : provider{std::move(provider)}, model{std::move(model)}, audioModel{audioModel},
+ : app{app}, provider{std::move(provider)}, model{std::move(model)}, audioModel{audioModel},
frontlight{std::move(frontlight)}, audioErrorModel{std::move(audioErrorModel)}
{
auto playSound = [this](const UTF8 &val) {
@@ 41,7 42,10 @@ namespace app::bell_settings
this->provider->onToneChange = playSound;
this->provider->onToneProceed = [this](const auto &path) { return validatePath(path); };
- this->provider->onVolumeEnter = playSound;
+ this->provider->onVolumeEnter = [this, playSound](const auto &val) {
+ getView()->deepRefresh();
+ playSound(val);
+ };
this->provider->onVolumeExit = [this](const auto &) { stopSound(); };
this->provider->onVolumeChange = [this, playSound](const auto &val) {
this->audioModel.setVolume(
M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/PrewakeUpPresenter.hpp => products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/PrewakeUpPresenter.hpp +4 -1
@@ 28,6 28,7 @@ namespace app::bell_settings
public:
virtual ~View() noexcept = default;
virtual auto exit() -> void = 0;
+ virtual auto deepRefresh() -> void = 0;
virtual auto handleError() -> void = 0;
virtual auto handleDeletedFile() -> void = 0;
};
@@ 47,7 48,8 @@ namespace app::bell_settings
class PrewakeUpWindowPresenter : public PrewakeUpWindowContract::Presenter
{
public:
- PrewakeUpWindowPresenter(std::unique_ptr<PrewakeUpListItemProvider> &&provider,
+ PrewakeUpWindowPresenter(ApplicationCommon *app,
+ std::unique_ptr<PrewakeUpListItemProvider> &&provider,
std::unique_ptr<AbstractPrewakeUpSettingsModel> &&model,
AbstractAudioModel &audioModel,
std::unique_ptr<AbstractFrontlightModel> &&frontlight,
@@ 65,6 67,7 @@ namespace app::bell_settings
auto showAudioError(gui::AudioErrorType errorType) const -> void;
auto validatePath(const UTF8 &path) const -> bool;
+ ApplicationCommon *app;
std::shared_ptr<PrewakeUpListItemProvider> provider;
std::unique_ptr<AbstractPrewakeUpSettingsModel> model;
AbstractAudioModel &audioModel;
M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/SnoozePresenter.cpp => products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/SnoozePresenter.cpp +8 -4
@@ 6,12 6,13 @@
namespace app::bell_settings
{
- SnoozePresenter::SnoozePresenter(std::unique_ptr<SnoozeListItemProvider> &&provider,
+ SnoozePresenter::SnoozePresenter(ApplicationCommon *app,
+ std::unique_ptr<SnoozeListItemProvider> &&provider,
std::unique_ptr<AbstractSnoozeSettingsModel> &&snoozeSettingsModel,
AbstractAudioModel &audioModel,
std::unique_ptr<AudioErrorModel> &&audioErrorModel)
- : provider{std::move(provider)}, snoozeSettingsModel{std::move(snoozeSettingsModel)}, audioModel{audioModel},
- audioErrorModel{std::move(audioErrorModel)}
+ : app{app}, provider{std::move(provider)}, snoozeSettingsModel{std::move(snoozeSettingsModel)},
+ audioModel{audioModel}, audioErrorModel{std::move(audioErrorModel)}
{
auto playSound = [this](const UTF8 &val) {
auto onStartCallback = [this, val](audio::RetCode retCode) {
@@ 40,7 41,10 @@ namespace app::bell_settings
this->provider->onToneChange = playSound;
this->provider->onToneProceed = [this](const auto &path) { return validatePath(path); };
- this->provider->onVolumeEnter = playSound;
+ this->provider->onVolumeEnter = [this, playSound](const auto &val) {
+ getView()->deepRefresh();
+ playSound(val);
+ };
this->provider->onVolumeExit = [this](const auto &) { stopSound(); };
this->provider->onVolumeChange = [this, playSound](const auto &val) {
this->audioModel.setVolume(
M products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/SnoozePresenter.hpp => products/BellHybrid/apps/application-bell-settings/presenter/alarm_settings/SnoozePresenter.hpp +4 -1
@@ 24,6 24,7 @@ namespace app::bell_settings
public:
virtual ~View() noexcept = default;
virtual auto exit() -> void = 0;
+ virtual auto deepRefresh() -> void = 0;
virtual auto handleError() -> void = 0;
virtual auto handleDeletedFile() -> void = 0;
};
@@ 42,7 43,8 @@ namespace app::bell_settings
class SnoozePresenter : public AbstractSnoozePresenter
{
public:
- SnoozePresenter(std::unique_ptr<SnoozeListItemProvider> &&provider,
+ SnoozePresenter(ApplicationCommon *app,
+ std::unique_ptr<SnoozeListItemProvider> &&provider,
std::unique_ptr<AbstractSnoozeSettingsModel> &&snoozeSettingsModel,
AbstractAudioModel &audioModel,
std::unique_ptr<AudioErrorModel> &&audioErrorModel);
@@ 58,6 60,7 @@ namespace app::bell_settings
auto showAudioError(gui::AudioErrorType errorType) const -> void;
auto validatePath(const UTF8 &path) const -> bool;
+ ApplicationCommon *app;
std::shared_ptr<SnoozeListItemProvider> provider;
std::unique_ptr<AbstractSnoozeSettingsModel> snoozeSettingsModel;
AbstractAudioModel &audioModel;
M products/BellHybrid/apps/application-bell-settings/windows/BellSettingsBedtimeToneWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/BellSettingsBedtimeToneWindow.cpp +5 -0
@@ 72,6 72,11 @@ namespace gui
BellFinishedWindowData::Factory::create("circle_success_big", gui::name::window::main_window));
}
+ void BellSettingsBedtimeToneWindow::deepRefresh()
+ {
+ getApplication()->render(gui::RefreshModes::GUI_REFRESH_DEEP);
+ }
+
void BellSettingsBedtimeToneWindow::onClose(CloseReason reason)
{
if (reason != CloseReason::Popup) {
M products/BellHybrid/apps/application-bell-settings/windows/BellSettingsBedtimeToneWindow.hpp => products/BellHybrid/apps/application-bell-settings/windows/BellSettingsBedtimeToneWindow.hpp +1 -0
@@ 25,6 25,7 @@ namespace gui
bool onInput(const InputEvent &inputEvent) override;
void rebuild() override;
void exit() override;
+ void deepRefresh() override;
void handleError() override;
void handleDeletedFile() override;
M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsSnoozeWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsSnoozeWindow.cpp +5 -0
@@ 77,6 77,11 @@ namespace gui
BellFinishedWindowData::Factory::create("circle_success_big", BellSettingsAlarmSettingsMenuWindow::name));
}
+ void BellSettingsAlarmSettingsSnoozeWindow::deepRefresh()
+ {
+ getApplication()->render(gui::RefreshModes::GUI_REFRESH_DEEP);
+ }
+
void BellSettingsAlarmSettingsSnoozeWindow::onClose(Window::CloseReason reason)
{
if (reason != CloseReason::Popup) {
M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsSnoozeWindow.hpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsSnoozeWindow.hpp +1 -0
@@ 25,6 25,7 @@ namespace gui
void onClose(CloseReason reason) override;
void rebuild() override;
void exit() override;
+ void deepRefresh() override;
void handleError() override;
void handleDeletedFile() override;
M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsWindow.cpp +5 -0
@@ 70,6 70,11 @@ namespace gui
BellFinishedWindowData::Factory::create("circle_success_big", BellSettingsAlarmSettingsMenuWindow::name));
}
+ void BellSettingsAlarmSettingsWindow::deepRefresh()
+ {
+ getApplication()->render(gui::RefreshModes::GUI_REFRESH_DEEP);
+ }
+
void BellSettingsAlarmSettingsWindow::onClose(CloseReason reason)
{
if (reason != CloseReason::Popup) {
M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsWindow.hpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsAlarmSettingsWindow.hpp +1 -0
@@ 27,6 27,7 @@ namespace gui
bool onInput(const InputEvent &inputEvent) override;
void rebuild() override;
void exit() override;
+ void deepRefresh() override;
void handleError() override;
void handleDeletedFile() override;
M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsPrewakeUpWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsPrewakeUpWindow.cpp +5 -0
@@ 74,6 74,11 @@ namespace gui
BellFinishedWindowData::Factory::create("circle_success_big", BellSettingsAlarmSettingsMenuWindow::name));
}
+ void BellSettingsPrewakeUpWindow::deepRefresh()
+ {
+ getApplication()->render(gui::RefreshModes::GUI_REFRESH_DEEP);
+ }
+
void BellSettingsPrewakeUpWindow::onClose(CloseReason reason)
{
if (reason != CloseReason::Popup) {
M products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsPrewakeUpWindow.hpp => products/BellHybrid/apps/application-bell-settings/windows/alarm_settings/BellSettingsPrewakeUpWindow.hpp +1 -0
@@ 26,6 26,7 @@ namespace gui
bool onInput(const InputEvent &inputEvent) override;
void rebuild() override;
void exit() override;
+ void deepRefresh() override;
void handleError() override;
void handleDeletedFile() override;