예제 #1
0
void switchToMode(mode newMode) {
    stopCurrentTimer();

    currentMode = newMode;
    switch(newMode) {
    case ModeIdle:
        text_layer_set_text(mode_text_layer, "Idle");
        currentTimer = 0;
        break;

    case ModePrepare:
        text_layer_set_text(mode_text_layer, "Prepare");
        currentTimer = prepareLength;
        startTimer();
        break;

    case ModeSport:
        text_layer_set_text(mode_text_layer, "Go!");
        currentTimer = sportLength;
        startTimer();
        break;

    case ModePause:
        text_layer_set_text(mode_text_layer, "Pause");
        currentTimer = sportLength + sportLength;
        startTimer();
        break;
    }

    updateClock();
}
예제 #2
0
void PageTimers::enterEditMode ()
{
    stopCurrentTimer ();
    if (!edit_mode) {
	edit_mode = true;
	app_manager->clearAlarms ();
	if (app_manager->edition_happened) {
	    analog_timer->enterEditMode (KITCHENTIMER_EDIT_TRANSITION_TIMEOUT_MS);
	    digital_timer->enterEditMode (KITCHENTIMER_EDIT_TRANSITION_TIMEOUT_MS);
	    startShading (KITCHENTIMER_EDIT_TRANSITION_TIMEOUT_MS);
	} else {
	    analog_timer->enterEditMode (KITCHENTIMER_INITIAL_EDIT_TRANSITION_TIMEOUT_MS);
	    digital_timer->enterEditMode (KITCHENTIMER_INITIAL_EDIT_TRANSITION_TIMEOUT_MS);
	    startShading (KITCHENTIMER_INITIAL_EDIT_TRANSITION_TIMEOUT_MS);
	    app_manager->edition_happened = true;
	}
	app_manager->getCurrentTimer ()->stop ();
	// leave_edit_mode_timer.start (KITCHENTIMER_LEAVE_EDIT_MODE_TIMEOUT_MS);
    }
}