static QState uiMenuSettimeHours(struct UI *me) { switch (Q_SIG(me)) { case Q_ENTRY_SIG: lcd_buttons(LCD_BUTTONS_ALL); me->settime_YmdHM = 'H'; display_set_time(me, TRUE, TRUE); QActive_armX((QActive*)me, 1, 17); return Q_HANDLED(); case Q_TIMEOUT1_SIG: return Q_TRAN(uiMenuSettimeHoursFlash); case BUTTON_ENTER_PRESS_SIGNAL: ACTION(); return Q_TRAN(uiMenuSettimeMinutes); case BUTTON_UP_PRESS_SIGNAL: case BUTTON_UP_LONG_PRESS_SIGNAL: case BUTTON_UP_REPEAT_SIGNAL: ACTION(); inc_hour(&me->settime); display_set_time(me, TRUE, TRUE); QActive_armX((QActive*)me, 1, 17); return Q_HANDLED(); case BUTTON_DOWN_PRESS_SIGNAL: case BUTTON_DOWN_LONG_PRESS_SIGNAL: case BUTTON_DOWN_REPEAT_SIGNAL: ACTION(); dec_hour(&me->settime); display_set_time(me, TRUE, TRUE); QActive_armX((QActive*)me, 1, 17); return Q_HANDLED(); } return Q_SUPER(uiMenu); }
void inc_minute(dstime *t, int i) { t->minute += i; if(t->minute >= 60) { inc_hour(t, 1); t->minute -= 60; } }