M harmony_changelog.md => harmony_changelog.md +1 -0
@@ 14,6 14,7 @@
### Changed / Improved
* Updated button handling during pre-wake up
+* Updated the countdown timer in Meditation app according to the new design
## [2.6.1 2024-04-02]
M module-apps/apps-common/widgets/TimeMinuteSecondWidget.cpp => module-apps/apps-common/widgets/TimeMinuteSecondWidget.cpp +2 -1
@@ 100,7 100,8 @@ namespace gui
void TimeMinuteSecondWidget::updateTime(std::uint32_t seconds)
{
- if (seconds >= utils::time::secondsInMinute || displayType == DisplayType::OnlyMinutes) {
+ if (displayType != DisplayType::OnlySeconds &&
+ (seconds >= utils::time::secondsInMinute || displayType == DisplayType::OnlyMinutes)) {
const auto minutes = (seconds + utils::time::secondsInMinute - 1) / utils::time::secondsInMinute;
setText(minutes);
description->setText(utils::language::getCorrectMinutesNumeralForm(minutes));
M module-apps/apps-common/widgets/TimeMinuteSecondWidget.hpp => module-apps/apps-common/widgets/TimeMinuteSecondWidget.hpp +2 -1
@@ 15,7 15,8 @@ namespace gui
enum class DisplayType
{
MinutesThenSeconds,
- OnlyMinutes
+ OnlyMinutes,
+ OnlySeconds,
};
TimeMinuteSecondWidget(Item *parent,
M products/BellHybrid/apps/application-bell-meditation-timer/data/MeditationStyle.hpp => products/BellHybrid/apps/application-bell-meditation-timer/data/MeditationStyle.hpp +2 -5
@@ 1,4 1,4 @@
-// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved.
+// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
@@ 19,7 19,6 @@ namespace app::meditationStyle
namespace timer
{
constexpr inline auto marginTop = 39;
- constexpr inline auto font = style::window::font::supersizeme;
constexpr inline auto maxSizeX = 340;
constexpr inline auto maxSizeY = 198;
} // namespace timer
@@ 51,9 50,7 @@ namespace app::meditationStyle
namespace timer
{
- constexpr inline auto marginTop = 23;
- constexpr inline auto marginLeft = 43;
- constexpr inline auto font = runningStyle::timer::font;
+ constexpr inline auto marginTop = 24;
constexpr inline auto maxSizeX = runningStyle::timer::maxSizeX;
constexpr inline auto maxSizeY = runningStyle::timer::maxSizeY;
} // namespace timer
M products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationCountdownWindow.cpp => products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationCountdownWindow.cpp +8 -11
@@ 1,4 1,4 @@
-// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved.
+// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#include <Arc.hpp>
@@ 69,17 69,14 @@ namespace gui
description->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
description->setMargins(gui::Margins(0, countdownStyle::description::marginTop, 0, 0));
- timer = new gui::TimeFixedWidget(mainVBox,
- 0,
- 0,
- runningStyle::timer::maxSizeX,
- runningStyle::timer::maxSizeY,
- false,
- leftBoxSize,
- TimeFixedWidget::RightBox::defaultSize);
- timer->setFontAndDimensions(countdownStyle::timer::font);
+ timer = new gui::TimeMinuteSecondWidget(mainVBox,
+ 0,
+ 0,
+ countdownStyle::timer::maxSizeX,
+ countdownStyle::timer::maxSizeY,
+ gui::TimeMinuteSecondWidget::DisplayType::OnlySeconds);
timer->setMinimumSize(countdownStyle::timer::maxSizeX, countdownStyle::timer::maxSizeY);
- timer->setMargins(gui::Margins(countdownStyle::timer::marginLeft, countdownStyle::timer::marginTop, 0, 0));
+ timer->setMargins(gui::Margins(0, countdownStyle::timer::marginTop, 0, 0));
timer->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
mainVBox->resizeItems();
M products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationCountdownWindow.hpp => products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationCountdownWindow.hpp +6 -6
@@ 1,4 1,4 @@
-// Copyright (c) 2017-2023, Mudita Sp. z.o.o. All rights reserved.
+// Copyright (c) 2017-2024, Mudita Sp. z.o.o. All rights reserved.
// For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md
#pragma once
@@ 7,7 7,7 @@
#include <AppWindow.hpp>
#include <InputEvent.hpp>
#include <Text.hpp>
-#include <apps-common/widgets/TimeFixedWidget.hpp>
+#include <apps-common/widgets/TimeMinuteSecondWidget.hpp>
#include "MeditationCountdownPresenter.hpp"
@@ 29,10 29,10 @@ namespace gui
private:
std::unique_ptr<app::meditation::MeditationCountdownContract::Presenter> presenter;
- VBox *mainVBox = nullptr;
- Arc *progress = nullptr;
- TimeFixedWidget *timer = nullptr;
- Text *description = nullptr;
+ VBox *mainVBox = nullptr;
+ Arc *progress = nullptr;
+ TimeMinuteSecondWidget *timer = nullptr;
+ Text *description = nullptr;
void buildLayout();
void configureTimer();
M products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationRunningWindow.cpp => products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationRunningWindow.cpp +8 -5
@@ 9,7 9,6 @@
#include <apps-common/widgets/BellBaseLayout.hpp>
#include <apps-common/widgets/ProgressTimerWithBarGraphAndCounter.hpp>
#include <apps-common/widgets/BarGraph.hpp>
-#include <apps-common/widgets/TimeFixedWidget.hpp>
#include <common/widgets/BellStatusClock.hpp>
#include <gui/widgets/Icon.hpp>
@@ 50,8 49,8 @@ namespace gui
const auto progressArcWidth = runningStyle::progress::penWidth;
const auto arcStartAngle =
-90 - runningStyle::progress::verticalDeviationDegrees; // -90 to start drawing the circle from top
- const auto arcSweepAngle = 360 - (2 * runningStyle::progress::verticalDeviationDegrees);
- const auto arcProgressSteps = 1000;
+ const auto arcSweepAngle = 360 - (2 * runningStyle::progress::verticalDeviationDegrees);
+ const auto arcProgressSteps = 1000;
Arc::ShapeParams arcParams;
arcParams.setCenterPoint(Point(getWidth() / 2, getHeight() / 2))
@@ 74,8 73,12 @@ namespace gui
clock->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
clock->setMargins(gui::Margins(0, runningStyle::clock::marginTop, 0, 0));
- timer = new gui::TimeFixedWidget(mainVBox, 0, 0, runningStyle::timer::maxSizeX, runningStyle::timer::maxSizeY);
- timer->setFontAndDimensions(runningStyle::timer::font);
+ timer = new gui::TimeMinuteSecondWidget(mainVBox,
+ 0,
+ 0,
+ runningStyle::timer::maxSizeX,
+ runningStyle::timer::maxSizeY,
+ gui::TimeMinuteSecondWidget::DisplayType::OnlyMinutes);
timer->setMinimumSize(runningStyle::timer::maxSizeX, runningStyle::timer::maxSizeY);
timer->setMargins(gui::Margins(0, runningStyle::timer::marginTop, 0, 0));
timer->setAlignment(Alignment(Alignment::Horizontal::Center, Alignment::Vertical::Center));
M products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationRunningWindow.hpp => products/BellHybrid/apps/application-bell-meditation-timer/windows/MeditationRunningWindow.hpp +3 -1
@@ 5,6 5,8 @@
#include <Application.hpp>
#include <AppWindow.hpp>
+#include <apps-common/widgets/TimeMinuteSecondWidget.hpp>
+
#include "MeditationProgressPresenter.hpp"
namespace gui
@@ 33,7 35,7 @@ namespace gui
std::unique_ptr<app::meditation::MeditationProgressContract::Presenter> presenter;
VBox *mainVBox{nullptr};
ArcProgressBar *progress{nullptr};
- TimeFixedWidget *timer{nullptr};
+ TimeMinuteSecondWidget *timer{nullptr};
Icon *icon{nullptr};
gui::BellStatusClock *clock{nullptr};