M harmony_changelog.md => harmony_changelog.md +1 -0
@@ 4,6 4,7 @@
### Fixed
* Fixed message shown when entering alarm sound list after deleting selected alarm file
+* Fixed invalid accusative form in meditation summary in Polish
### Added
* Added label with the name of the application on the countdown screens
M products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.cpp => products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.cpp +20 -29
@@ 4,11 4,11 @@
#include "MeditationTimer.hpp"
#include "MeditationCommon.hpp"
#include "MeditationProgressPresenter.hpp"
+#include "MeditationTimerWindow.hpp"
#include "models/ChimeInterval.hpp"
#include "models/Statistics.hpp"
#include <common/models/TimeModel.hpp>
-#include <common/windows/BellFinishedWindow.hpp>
#include <audio/AudioMessage.hpp>
#include <service-db/Settings.hpp>
#include <LanguageUtils.hpp>
@@ 86,38 86,12 @@ namespace app::meditation
void MeditationProgressPresenter::abandon()
{
- timer->stop();
- const auto elapsed = std::chrono::duration_cast<std::chrono::minutes>(timer->getElapsed());
- const auto summaryText = utils::translate("app_meditation_summary") + std::to_string(elapsed.count()) + " " +
- utils::language::getCorrectMinutesNumeralForm(elapsed.count());
-
- addMeditationEntry(elapsed);
-
- app->switchWindow(
- gui::window::bell_finished::defaultName,
- gui::BellFinishedWindowData::Factory::create("big_namaste_W_G",
- "MeditationTimerWindow",
- summaryText,
- gui::BellFinishedWindowData::ExitBehaviour::SwitchWindow,
- endWindowTimeout));
+ onMeditationEnd(gui::BellFinishedWindowData::ExitBehaviour::SwitchWindow);
}
void MeditationProgressPresenter::finish()
{
- timer->stop();
- const auto elapsed = std::chrono::duration_cast<std::chrono::minutes>(timer->getElapsed());
- const auto summaryText = utils::translate("app_meditation_summary") + std::to_string(elapsed.count()) + " " +
- utils::language::getCorrectMinutesAccusativeForm(elapsed.count());
-
- addMeditationEntry(elapsed);
-
- app->switchWindow(
- gui::window::bell_finished::defaultName,
- gui::BellFinishedWindowData::Factory::create("big_namaste_W_G",
- "",
- summaryText,
- gui::BellFinishedWindowData::ExitBehaviour::ReturnToHomescreen,
- endWindowTimeout));
+ onMeditationEnd(gui::BellFinishedWindowData::ExitBehaviour::ReturnToHomescreen);
}
void MeditationProgressPresenter::onBeforeShow()
@@ 158,4 132,21 @@ namespace app::meditation
statisticsModel.addEntry(elapsed);
}
}
+
+ void MeditationProgressPresenter::onMeditationEnd(gui::BellFinishedWindowData::ExitBehaviour exitBehaviour)
+ {
+ using ExitBehaviour = gui::BellFinishedWindowData::ExitBehaviour;
+
+ timer->stop();
+ const auto elapsed = std::chrono::duration_cast<std::chrono::minutes>(timer->getElapsed());
+ const auto &summaryText = utils::translate("app_meditation_summary") + std::to_string(elapsed.count()) + " " +
+ utils::language::getCorrectMinutesAccusativeForm(elapsed.count());
+
+ addMeditationEntry(elapsed);
+
+ const auto &windowToReturn = (exitBehaviour == ExitBehaviour::SwitchWindow) ? MeditationTimerWindow::name : "";
+ app->switchWindow(gui::window::bell_finished::defaultName,
+ gui::BellFinishedWindowData::Factory::create(
+ "big_namaste_W_G", windowToReturn, summaryText, exitBehaviour, endWindowTimeout));
+ }
} // namespace app::meditation
M products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.hpp => products/BellHybrid/apps/application-bell-meditation-timer/presenter/MeditationProgressPresenter.hpp +2 -0
@@ 6,6 6,7 @@
#include <apps-common/ApplicationCommon.hpp>
#include <apps-common/BasePresenter.hpp>
#include <apps-common/widgets/TimerWithCallbacks.hpp>
+#include <common/windows/BellFinishedWindow.hpp>
#include <time/time_locale.hpp>
#include <memory>
@@ 103,5 104,6 @@ namespace app::meditation
void onIntervalReached();
void addMeditationEntry(std::chrono::minutes elapsed);
+ void onMeditationEnd(gui::BellFinishedWindowData::ExitBehaviour exitBehaviour);
};
} // namespace app::meditation