M products/BellHybrid/apps/application-bell-bedtime/ApplicationBellBedtime.cpp => products/BellHybrid/apps/application-bell-bedtime/ApplicationBellBedtime.cpp +3 -3
@@ 5,9 5,9 @@
#include "presenter/BellBedtimeWindowPresenter.hpp"
#include "windows/BellBedtimeWindow.hpp"
#include "common/models/BedtimeModel.hpp"
+#include <common/windows/BellFinishedWindow.hpp>
#include "models/BedtimeListItemProvider.hpp"
-#include <common/windows/BellFinishedCallbackWindow.hpp>
namespace app
{
ApplicationBellBedtime::ApplicationBellBedtime(std::string name,
@@ 38,9 38,9 @@ namespace app
return std::make_unique<gui::BellBedtimeWindow>(app, std::move(presenter));
});
- windowsFactory.attach(gui::BellFinishedCallbackWindow::defaultName,
+ windowsFactory.attach(gui::window::bell_finished::defaultName,
[](ApplicationCommon *app, const std::string &name) {
- return std::make_unique<gui::BellFinishedCallbackWindow>(app);
+ return std::make_unique<gui::BellFinishedWindow>(app);
});
attachPopups({gui::popup::ID::AlarmActivated,
M products/BellHybrid/apps/application-bell-bedtime/windows/BellBedtimeWindow.cpp => products/BellHybrid/apps/application-bell-bedtime/windows/BellBedtimeWindow.cpp +3 -6
@@ 14,7 14,7 @@
#include <module-gui/gui/widgets/Image.hpp>
#include <widgets/SideListView.hpp>
-#include <common/windows/BellFinishedCallbackWindow.hpp>
+#include <common/windows/BellFinishedWindow.hpp>
#include "service-appmgr/Controller.hpp" // for Controller
namespace gui
@@ 70,11 70,8 @@ namespace gui
{
presenter->saveData();
if (showSuccessWindow) {
- application->switchWindow(BellFinishedCallbackWindow::defaultName,
- BellFinishedCallbackWindowSwitchData::Factory::create(
- "circle_success",
- utils::translate("app_bell_bedtime_set_finished"),
- [this]() { app::manager::Controller::switchBack(application); }));
+ application->switchWindow(gui::window::bell_finished::defaultName,
+ BellFinishedWindowData::Factory::create("circle_success_big", "", "", true));
}
else {
application->returnToPreviousWindow();
M products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp => products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp +0 -6
@@ 35,7 35,6 @@
#include <common/BellPowerOffPresenter.hpp>
#include <common/models/BedtimeModel.hpp>
#include <common/windows/BellFinishedWindow.hpp>
-#include <common/windows/BellFinishedCallbackWindow.hpp>
#include <common/windows/BellTurnOffWindow.hpp>
#include <common/popups/BellTurnOffOptionWindow.hpp>
#include <common/models/AudioModel.hpp>
@@ 115,11 114,6 @@ namespace app
return std::make_unique<gui::BellFinishedWindow>(app);
});
- windowsFactory.attach(gui::BellFinishedCallbackWindow::defaultName,
- [](ApplicationCommon *app, const std::string &name) {
- return std::make_unique<gui::BellFinishedCallbackWindow>(app);
- });
-
windowsFactory.attach(gui::window::name::bellSettingsHomeView,
[](ApplicationCommon *app, const std::string &name) {
return std::make_unique<gui::BellSettingsHomeViewWindow>(app);
M products/BellHybrid/apps/application-bell-settings/windows/advanced/BellSettingsAdvancedWindow.cpp => products/BellHybrid/apps/application-bell-settings/windows/advanced/BellSettingsAdvancedWindow.cpp +0 -1
@@ 15,7 15,6 @@
#include <service-appmgr/messages/SwitchRequest.hpp>
#include <windows/advanced/AboutYourBellWindow.hpp>
#include <common/windows/BellFactoryReset.hpp>
-#include <common/windows/BellFinishedCallbackWindow.hpp>
#include <common/windows/BellTurnOffWindow.hpp>
namespace gui
M products/BellHybrid/apps/common/CMakeLists.txt => products/BellHybrid/apps/common/CMakeLists.txt +0 -3
@@ 18,7 18,6 @@ target_sources(application-bell-common
src/BellListItemProvider.cpp
src/windows/BellFactoryReset.cpp
src/windows/BellFinishedWindow.cpp
- src/windows/BellFinishedCallbackWindow.cpp
src/windows/BellTurnOffWindow.cpp
src/windows/BellWelcomeWindow.cpp
src/BellSideListItemWithCallbacks.cpp
@@ 45,11 44,9 @@ target_sources(application-bell-common
include/common/BellPowerOffPresenter.hpp
include/common/windows/BellFactoryReset.hpp
include/common/windows/BellFinishedWindow.hpp
- include/common/windows/BellFinishedCallbackWindow.hpp
include/common/windows/BellTurnOffWindow.hpp
include/common/windows/BellWelcomeWindow.hpp
include/common/TimeUtils.hpp
- include/common/data/BellFinishedCallbackWindowSwitchData.hpp
include/common/models/AbstractAlarmModel.hpp
include/common/models/AbstractBedtimeModel.hpp
include/common/models/AbstractSettingsModel.hpp
D products/BellHybrid/apps/common/include/common/data/BellFinishedCallbackWindowSwitchData.hpp => products/BellHybrid/apps/common/include/common/data/BellFinishedCallbackWindowSwitchData.hpp +0 -37
@@ 1,37 0,0 @@
-// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
-// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-
-#pragma once
-
-#include <functional> // for function
-#include <SwitchData.hpp>
-#include <utf8/UTF8.hpp>
-
-namespace gui
-{
- struct BellFinishedCallbackWindowSwitchData : public gui::SwitchData
- {
- public:
- struct Factory
- {
- static std::unique_ptr<BellFinishedCallbackWindowSwitchData> create(const UTF8 &icon,
- const UTF8 &text,
- std::function<void()> finishCallback)
- {
- return std::unique_ptr<BellFinishedCallbackWindowSwitchData>(
- new BellFinishedCallbackWindowSwitchData(icon, text, finishCallback));
- }
- };
-
- UTF8 icon{};
- UTF8 text{};
- std::function<void()> finishCallback;
-
- private:
- BellFinishedCallbackWindowSwitchData() = default;
-
- BellFinishedCallbackWindowSwitchData(const UTF8 &icon, const UTF8 &text, std::function<void()> finishCallback)
- : icon{icon}, text{text}, finishCallback{finishCallback}
- {}
- };
-} // namespace gui
M products/BellHybrid/apps/common/include/common/data/BellFinishedWindowSwitchData.hpp => products/BellHybrid/apps/common/include/common/data/BellFinishedWindowSwitchData.hpp +10 -4
@@ 15,21 15,27 @@ namespace gui
{
static std::unique_ptr<BellFinishedWindowData> create(const UTF8 &icon,
const std::string &windowToReturn,
- const UTF8 &text = "")
+ const UTF8 &text = "",
+ bool closeApplication = false)
{
- return std::unique_ptr<BellFinishedWindowData>(new BellFinishedWindowData(icon, windowToReturn, text));
+ return std::unique_ptr<BellFinishedWindowData>(
+ new BellFinishedWindowData(icon, windowToReturn, text, closeApplication));
}
};
UTF8 icon{};
std::string windowToReturn;
UTF8 text{};
+ bool closeApplication;
private:
BellFinishedWindowData() = default;
- BellFinishedWindowData(const UTF8 &icon, const std::string &windowToReturn, const UTF8 &text = "")
- : icon{icon}, windowToReturn{windowToReturn}, text{text}
+ BellFinishedWindowData(const UTF8 &icon,
+ const std::string &windowToReturn,
+ const UTF8 &text = "",
+ bool closeApplication = false)
+ : icon{icon}, windowToReturn{windowToReturn}, text{text}, closeApplication{closeApplication}
{}
};
} // namespace gui
D products/BellHybrid/apps/common/include/common/windows/BellFinishedCallbackWindow.hpp => products/BellHybrid/apps/common/include/common/windows/BellFinishedCallbackWindow.hpp +0 -30
@@ 1,30 0,0 @@
-// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
-// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-
-#pragma once
-
-#include <common/data/BellFinishedCallbackWindowSwitchData.hpp>
-#include <apps-common/messages/DialogMetadataMessage.hpp>
-#include <apps-common/popups/WindowWithTimer.hpp>
-
-namespace gui
-{
- class Icon;
-
- class BellFinishedCallbackWindow : public WindowWithTimer
- {
- public:
- static constexpr auto defaultName = "BellFinishedCallbackWindow";
-
- explicit BellFinishedCallbackWindow(app::ApplicationCommon *app, const std::string &name = defaultName);
-
- protected:
- void buildInterface() override;
- bool onInput(const InputEvent &inputEvent) override;
- void onBeforeShow(ShowMode mode, SwitchData *data) override;
-
- Icon *icon{};
- std::function<void()> finishCallback = nullptr;
- };
-
-} // namespace gui
M products/BellHybrid/apps/common/include/common/windows/BellFinishedWindow.hpp => products/BellHybrid/apps/common/include/common/windows/BellFinishedWindow.hpp +3 -1
@@ 11,7 11,7 @@ namespace gui
{
namespace window::bell_finished
{
- constexpr inline auto defaultName = "BellFinishedWindow";
+ constexpr inline auto defaultName = "BellFinishedWindow";
} // namespace window::bell_finished
class Icon;
@@ 24,11 24,13 @@ namespace gui
protected:
void buildInterface() override;
+ void exit();
bool onInput(const InputEvent &inputEvent) override;
void onBeforeShow(ShowMode mode, SwitchData *data) override;
Icon *icon{};
std::string windowToReturn;
+ bool closeApplication; // is close application is true windowToReturn variable is ignored
};
} // namespace gui
D products/BellHybrid/apps/common/src/windows/BellFinishedCallbackWindow.cpp => products/BellHybrid/apps/common/src/windows/BellFinishedCallbackWindow.cpp +0 -59
@@ 1,59 0,0 @@
-// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved.
-// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
-
-#include "common/windows/BellFinishedCallbackWindow.hpp"
-#include "common/data/BellFinishedCallbackWindowSwitchData.hpp"
-#include <apps-common/ApplicationCommon.hpp>
-#include <gui/input/InputEvent.hpp>
-#include <gui/widgets/Icon.hpp>
-
-namespace gui
-{
-
- BellFinishedCallbackWindow::BellFinishedCallbackWindow(app::ApplicationCommon *app, const std::string &name)
- : WindowWithTimer(app, name)
- {
- buildInterface();
-
- timerCallback = [this](Item &, sys::Timer &) {
- if (this->finishCallback) {
- this->finishCallback();
- }
- return true;
- };
- }
-
- void BellFinishedCallbackWindow::buildInterface()
- {
- WindowWithTimer::buildInterface();
-
- statusBar->setVisible(false);
- header->setTitleVisibility(false);
- navBar->setVisible(false);
-
- icon = new Icon(this, 0, 0, style::window_width, style::window_height, {}, {});
- icon->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
- }
-
- bool BellFinishedCallbackWindow::onInput(const InputEvent &inputEvent)
- {
- if (inputEvent.isShortRelease(KeyCode::KEY_ENTER) || inputEvent.isShortRelease(KeyCode::KEY_RF)) {
- if (this->finishCallback) {
- this->finishCallback();
- }
- return true;
- }
- return false;
- }
-
- void BellFinishedCallbackWindow::onBeforeShow(ShowMode mode, SwitchData *data)
- {
- WindowWithTimer::onBeforeShow(mode, data);
-
- if (auto metadata = dynamic_cast<BellFinishedCallbackWindowSwitchData *>(data)) {
- icon->image->set(metadata->icon);
- finishCallback = metadata->finishCallback;
- }
- }
-
-} // namespace gui
M products/BellHybrid/apps/common/src/windows/BellFinishedWindow.cpp => products/BellHybrid/apps/common/src/windows/BellFinishedWindow.cpp +15 -4
@@ 5,6 5,7 @@
#include <apps-common/ApplicationCommon.hpp>
#include <gui/input/InputEvent.hpp>
#include <gui/widgets/Icon.hpp>
+#include "service-appmgr/Controller.hpp"
namespace gui
{
@@ 13,13 14,22 @@ namespace gui
: WindowWithTimer(app, name)
{
buildInterface();
-
timerCallback = [this](Item &, sys::Timer &) {
- application->switchWindow(windowToReturn);
+ exit();
return true;
};
}
+ void BellFinishedWindow::exit()
+ {
+ if (closeApplication) {
+ app::manager::Controller::switchBack(application);
+ }
+ else {
+ application->switchWindow(windowToReturn);
+ }
+ }
+
void BellFinishedWindow::buildInterface()
{
WindowWithTimer::buildInterface();
@@ 37,7 47,7 @@ namespace gui
bool BellFinishedWindow::onInput(const InputEvent &inputEvent)
{
if (inputEvent.isShortRelease(KeyCode::KEY_ENTER) || inputEvent.isShortRelease(KeyCode::KEY_RF)) {
- application->switchWindow(windowToReturn);
+ exit();
return true;
}
return false;
@@ 51,7 61,8 @@ namespace gui
icon->image->set(metadata->icon);
icon->text->setRichText(metadata->text);
icon->resizeItems();
- windowToReturn = metadata->windowToReturn;
+ windowToReturn = metadata->windowToReturn;
+ closeApplication = metadata->closeApplication;
}
}