From f74b809ae0533c03ad7f36c3ccd0c50faaa44089 Mon Sep 17 00:00:00 2001 From: Mateusz Grzegorzek Date: Mon, 13 Sep 2021 15:43:44 +0200 Subject: [PATCH] [BH-833] Show popup on Alarm deactivation - part II Create AlarmDeactivatedWindow popup which is displayed on AlarmDeactivated event. --- products/BellHybrid/apps/Application.cpp | 7 +++++ .../ApplicationBellAlarm.cpp | 2 +- .../ApplicationBellMain.cpp | 2 +- .../ApplicationBellPowerNap.cpp | 2 +- .../ApplicationBellSettings.cpp | 4 +-- .../BellHybrid/apps/common/CMakeLists.txt | 8 +++--- .../common/popups/AlarmActivatedWindow.hpp | 1 - .../common/popups/AlarmDeactivatedWindow.hpp | 16 ++++++++++++ .../src/popups/AlarmDeactivatedWindow.cpp | 26 +++++++++++++++++++ 9 files changed, 59 insertions(+), 9 deletions(-) create mode 100644 products/BellHybrid/apps/common/include/common/popups/AlarmDeactivatedWindow.hpp create mode 100644 products/BellHybrid/apps/common/src/popups/AlarmDeactivatedWindow.cpp diff --git a/products/BellHybrid/apps/Application.cpp b/products/BellHybrid/apps/Application.cpp index 2a7164a7f42eeae28ad0e31c1d4d8550769ac590..f3bf886dcb1b4b3175a498036cc354e9fb7c1e49 100644 --- a/products/BellHybrid/apps/Application.cpp +++ b/products/BellHybrid/apps/Application.cpp @@ -3,6 +3,7 @@ #include #include +#include namespace app { @@ -18,6 +19,12 @@ namespace app return std::make_unique(app); }); break; + case ID::AlarmDeactivated: + windowsFactory.attach(window::alarm_deactivated_window, + [](app::ApplicationCommon *app, const std::string &name) { + return std::make_unique(app); + }); + break; default: break; } diff --git a/products/BellHybrid/apps/application-bell-alarm/ApplicationBellAlarm.cpp b/products/BellHybrid/apps/application-bell-alarm/ApplicationBellAlarm.cpp index 474d35b2f71caa5dde6fff71c29e845af755c154..47761a4acd2a6012a288a8f15075070d9b003ba7 100644 --- a/products/BellHybrid/apps/application-bell-alarm/ApplicationBellAlarm.cpp +++ b/products/BellHybrid/apps/application-bell-alarm/ApplicationBellAlarm.cpp @@ -34,7 +34,7 @@ namespace app return std::make_unique(app, std::move(presenter)); }); - attachPopups({gui::popup::ID::AlarmActivated}); + attachPopups({gui::popup::ID::AlarmActivated, gui::popup::ID::AlarmDeactivated}); } sys::MessagePointer ApplicationBellAlarm::DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) diff --git a/products/BellHybrid/apps/application-bell-main/ApplicationBellMain.cpp b/products/BellHybrid/apps/application-bell-main/ApplicationBellMain.cpp index a7b55ccad4f8bf2abd9d1c9260c7806ff5bb39c5..584b2aac169701f341928ea3953c2bdbb5bed9b0 100644 --- a/products/BellHybrid/apps/application-bell-main/ApplicationBellMain.cpp +++ b/products/BellHybrid/apps/application-bell-main/ApplicationBellMain.cpp @@ -61,7 +61,7 @@ namespace app gui::window::name::bell_main_menu_dialog, [](ApplicationCommon *app, const std::string &name) { return std::make_unique(app, name); }); - attachPopups({gui::popup::ID::AlarmActivated}); + attachPopups({gui::popup::ID::AlarmActivated, gui::popup::ID::AlarmDeactivated}); } sys::MessagePointer ApplicationBellMain::DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) diff --git a/products/BellHybrid/apps/application-bell-powernap/ApplicationBellPowerNap.cpp b/products/BellHybrid/apps/application-bell-powernap/ApplicationBellPowerNap.cpp index 2f18658b34269c2a1226c04a37ae6f073303d8f4..30c15eb982d6410d01fc35e7a808cb5c726b689c 100644 --- a/products/BellHybrid/apps/application-bell-powernap/ApplicationBellPowerNap.cpp +++ b/products/BellHybrid/apps/application-bell-powernap/ApplicationBellPowerNap.cpp @@ -51,7 +51,7 @@ namespace app return std::make_unique(app, std::move(presenter)); }); - attachPopups({gui::popup::ID::AlarmActivated}); + attachPopups({gui::popup::ID::AlarmActivated, gui::popup::ID::AlarmDeactivated}); } sys::MessagePointer ApplicationBellPowerNap::DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) diff --git a/products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp b/products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp index a4ab5381d75071ff5f9b509fb418203d0d03d3ad..b559897e9e584bd77f668207b5765cb67018e49d 100644 --- a/products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp +++ b/products/BellHybrid/apps/application-bell-settings/ApplicationBellSettings.cpp @@ -104,8 +104,6 @@ namespace app return std::make_unique(app, std::move(presenter)); }); - attachPopups({gui::popup::ID::AlarmActivated}); - // Alarm setup windowsFactory.attach(gui::BellSettingsAlarmSettingsWindow::name, [](ApplicationCommon *app, const std::string &name) { @@ -118,6 +116,8 @@ namespace app auto presenter = std::make_unique(provider, std::move(model)); return std::make_unique(app, std::move(presenter)); }); + + attachPopups({gui::popup::ID::AlarmActivated, gui::popup::ID::AlarmDeactivated}); } sys::MessagePointer ApplicationBellSettings::DataReceivedHandler(sys::DataMessage *msgl, sys::ResponseMessage *resp) diff --git a/products/BellHybrid/apps/common/CMakeLists.txt b/products/BellHybrid/apps/common/CMakeLists.txt index 5b3e7b07ac0b346cb7b195f758270c3463b9349a..f6a3e1963d9e0efe964430bac0d4e859505c6c85 100644 --- a/products/BellHybrid/apps/common/CMakeLists.txt +++ b/products/BellHybrid/apps/common/CMakeLists.txt @@ -11,11 +11,12 @@ target_include_directories(application-bell-common target_sources(application-bell-common PRIVATE src/AlarmModel.cpp - src/TimeUtils.cpp - src/popups/AlarmActivatedWindow.cpp - src/SnoozeSettingsModel.cpp src/BellFinishedWindow.cpp src/BellSideListItemWithCallbacks.cpp + src/SnoozeSettingsModel.cpp + src/TimeUtils.cpp + src/popups/AlarmActivatedWindow.cpp + src/popups/AlarmDeactivatedWindow.cpp PUBLIC include/common/BellFinishedWindow.hpp include/common/TimeUtils.hpp @@ -23,6 +24,7 @@ target_sources(application-bell-common include/common/models/AlarmModel.hpp include/common/models/SnoozeSettingsModel.hpp include/common/popups/AlarmActivatedWindow.hpp + include/common/popups/AlarmDeactivatedWindow.hpp include/common/widgets/BellSideListItemWithCallbacks.hpp ) diff --git a/products/BellHybrid/apps/common/include/common/popups/AlarmActivatedWindow.hpp b/products/BellHybrid/apps/common/include/common/popups/AlarmActivatedWindow.hpp index da57a9725382993b9b2208ec4b2558fd8c51411c..258413ac3492ed55304a28d8d1af5ec789625bcd 100644 --- a/products/BellHybrid/apps/common/include/common/popups/AlarmActivatedWindow.hpp +++ b/products/BellHybrid/apps/common/include/common/popups/AlarmActivatedWindow.hpp @@ -3,7 +3,6 @@ #pragma once -#include #include #include diff --git a/products/BellHybrid/apps/common/include/common/popups/AlarmDeactivatedWindow.hpp b/products/BellHybrid/apps/common/include/common/popups/AlarmDeactivatedWindow.hpp new file mode 100644 index 0000000000000000000000000000000000000000..e4acce8ea5125c4d923501e986e95df0d67338c1 --- /dev/null +++ b/products/BellHybrid/apps/common/include/common/popups/AlarmDeactivatedWindow.hpp @@ -0,0 +1,16 @@ +// 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 + +namespace gui +{ + class AlarmDeactivatedWindow : public Dialog + { + public: + explicit AlarmDeactivatedWindow(app::ApplicationCommon *app); + void onBeforeShow(ShowMode mode, SwitchData *data) override; + }; +} /* namespace gui */ diff --git a/products/BellHybrid/apps/common/src/popups/AlarmDeactivatedWindow.cpp b/products/BellHybrid/apps/common/src/popups/AlarmDeactivatedWindow.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3c360f9ccf283d44be3df9efccdf7ae836a1cf1a --- /dev/null +++ b/products/BellHybrid/apps/common/src/popups/AlarmDeactivatedWindow.cpp @@ -0,0 +1,26 @@ +// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. +// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md + +#include + +#include +#include +#include + +namespace gui +{ + AlarmDeactivatedWindow::AlarmDeactivatedWindow(app::ApplicationCommon *app) + : Dialog(app, popup::window::alarm_deactivated_window) + {} + + void AlarmDeactivatedWindow::onBeforeShow(ShowMode mode, [[maybe_unused]] SwitchData *data) + { + auto msg = std::make_unique(DialogMetadata{ + .title = "", .icon = "bell_alarm_deactivated", .text = utils::translate("app_bell_alarm_deactivated")}); + Dialog::onBeforeShow(mode, msg.get()); + + statusBar->setVisible(false); + header->setTitleVisibility(false); + bottomBar->setActive(BottomBar::Side::RIGHT, false); + } +} /* namespace gui */