Ejemplo n.º 1
0
/* 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;
}
Ejemplo n.º 2
0
static void
about_clicked_cb(GtkToolButton *button, gpointer user_data)
{
  beep();
  gc_about_start();
}