M => +12 -3
@@ 85,9 85,15 @@ namespace gui
bool AlarmPopup::onInput(const InputEvent &inputEvent)
{
if (inputEvent.isShortRelease() && inputEvent.is(KeyCode::KEY_RF)) {
getPresenter()->stopAlarm();
return true;
if (inputEvent.isShortRelease()) {
if (inputEvent.is(KeyCode::KEY_RF)) {
getPresenter()->stopAlarm();
return true;
}
else if (inputEvent.is(KeyCode::KEY_LF)) {
getPresenter()->skipToNextSnooze();
return true;
}
}
return AppWindow::onInput(inputEvent);
@@ 156,6 162,9 @@ namespace gui
getPresenter()->snoozedTill());
snoozeLabel->setMaximumWidth(style::window::default_body_width);
snoozeLabel->setMinimumHeightToFitText();
bottomBar->setActive(BottomBar::Side::LEFT, true);
bottomBar->setText(BottomBar::Side::LEFT, utils::translate(style::strings::common::skip));
}
}
M => +6 -0
@@ 143,6 143,12 @@ namespace app::popup
LOG_DEBUG("Stopped!");
}
void AlarmPopupPresenter::skipToNextSnooze()
{
this->getModel()->processIfSnoozed();
LOG_DEBUG("Snooze skipped");
}
void AlarmPopupPresenter::handleAlarmSnoozed()
{
getApp()->returnToPreviousWindow();
M => +3 -0
@@ 111,6 111,7 @@ namespace app::popup
virtual bool isSnoozeAble() = 0;
virtual void snoozeHit() = 0;
virtual void stopAlarm() = 0;
virtual void skipToNextSnooze() = 0;
virtual void handleAlarmSnoozed() = 0;
virtual void handleAlarmTurnedOff() = 0;
virtual bool isSnoozed() = 0;
@@ 135,6 136,8 @@ namespace app::popup
virtual void snoozeHit() override;
/// action to stop alarm ringing
virtual void stopAlarm() override;
/// action to skip to next snooze
virtual void skipToNextSnooze() override;
/// action to call when we processed snoozing the alarm
virtual void handleAlarmSnoozed() override;
/// action to call when we turned off alarm successfully