Beispiel #1
0
static void selected_callback(NumberWindow *window, void *data) {
  if (unit_mode) {
    ask_for_timeo(number_window_get_value(window));
    window_stack_pop(true);
  } else {
    number_window_set_step_size(s_window, 1);
    number_window_set_label(s_window, "TIMEO units?");
    unit_mode = true;
  }
}
Beispiel #2
0
/**
 Common handler attached to every menu item. Called when you click the select (middle) button on the menu item.
 Either switches the value inline (e.g. for booleans), or opens a numeric stepper window (e.g. for durations).
*/
void pomOnMenuSelect(int index, void *context) {
    PomSettings *s = &app.settings;
    PomMenuId id = index;
    switch (id) {
        case PomMenuLanguage:
            if (++s->language >= PomLanguageCount) {
                s->language = 0;
            }
            break;
        
        case PomMenuVibrateWhileWorking:
            s->vibrateWhileWorking = !s->vibrateWhileWorking;
            break;

        case PomMenuTakeLongRests:
            s->takeLongRests = !s->takeLongRests;
            break;
            
        case PomMenuRestDuration:
            number_window_set_value(&durationChooserWindow, s->restTicks/60);
            number_window_set_label(&durationChooserWindow, POM_TEXT_SETTINGS_REST_DURATION[s->language]);
            window_stack_push((Window*)&durationChooserWindow, true);
            break;
            
        case PomMenuLongRestDuration:
            number_window_set_value(&durationChooserWindow, s->longRestTicks/60);
            number_window_set_label(&durationChooserWindow, POM_TEXT_SETTINGS_LONG_REST_DURATION[s->language]);
            window_stack_push((Window*)&durationChooserWindow, true);
            break;
            
        case PomMenuWorkDuration:
            number_window_set_value(&durationChooserWindow, s->workTicks/60);
            number_window_set_label(&durationChooserWindow, POM_TEXT_SETTINGS_WORK_DURATION[s->language]);
            window_stack_push((Window*)&durationChooserWindow, true);
            break;
            
            
        default:
            return;
    }
    pomUpdateMenus();
}