/* Callback for the bar operations */ static gboolean item_event_bar (GooCanvasItem *item, GooCanvasItem *target, GdkEventButton *event, GComprisBarFlags flag) { GcomprisBoard *gcomprisBoard = gc_board_get_current(); if(_hidden) return(FALSE); bar_reset_sound_id(); gc_sound_play_ogg ("sounds/bleep.wav", NULL); switch (flag) { case GC_BAR_LEVEL: { current_level++; if(gcomprisBoard && current_level > gcomprisBoard->maxlevel) current_level=1; /* Set the level */ if(gcomprisBoard && gcomprisBoard->plugin->set_level != NULL) gcomprisBoard->plugin->set_level(current_level); gc_bar_play_level_voice(current_level); } break; case GC_BAR_LEVEL_DOWN: { /* Decrease the level */ current_level--; if(current_level < 1) current_level = gcomprisBoard->maxlevel; /* Set the level */ if(gcomprisBoard && gcomprisBoard->plugin->set_level != NULL) gcomprisBoard->plugin->set_level(current_level); gc_bar_play_level_voice(current_level); } break; case GC_BAR_HOME: { bar_hide (TRUE); gc_board_stop(); } break; case GC_BAR_HELP: { gc_help_start(gcomprisBoard); } break; case GC_BAR_REPEAT_ICON: case GC_BAR_REPEAT: { if(gcomprisBoard && gcomprisBoard->plugin->repeat != NULL) { gcomprisBoard->plugin->repeat(); } } break; case GC_BAR_CONFIG: { if(gcomprisBoard && gcomprisBoard->plugin->config_start != NULL) { gcomprisBoard->plugin->config_start(gcomprisBoard, gc_profile_get_current()); } } break; case GC_BAR_ABOUT: { gc_about_start(); } break; case GC_BAR_EXIT: { GcomprisProperties *properties = gc_prop_get(); if(strlen(properties->root_menu) == 1) gc_confirm_box( _("GCompris confirmation"), _("Are you sure you want to quit?"), _("Yes, I am sure!"), _("No, I want to keep going"), (ConfirmCallBack) confirm_quit); else confirm_quit(TRUE); } break; default: break; } return TRUE; }
static void about_clicked_cb(GtkToolButton *button, gpointer user_data) { beep(); gc_about_start(); }