示例#1
0
static void
ol_menu_update_player_control ()
{
  ol_log_func ();
  OlPlayer *player = ol_app_get_player ();
  if (menu.play)
  {
    if (player != NULL)
    {
      if (ol_player_get_status (player) == OL_PLAYER_PLAYING)
      {
        gtk_widget_hide (menu.play);
      }
      else
      {
        gtk_widget_show (menu.play);
        gtk_widget_set_sensitive (menu.play,
                                  ol_player_get_caps (player) & OL_PLAYER_PLAY);
      }
    }
    else
    {
      gtk_widget_show (menu.play);
      gtk_widget_set_sensitive (menu.play, FALSE);
    }
  }
  if (menu.pause)
  {
    if (player != NULL)
    {
      if (ol_player_get_status (player) == OL_PLAYER_PLAYING)
        gtk_widget_show (menu.pause);
      else
        gtk_widget_hide (menu.pause);
      gtk_widget_set_sensitive (menu.pause,
                                ol_player_get_caps (player) & OL_PLAYER_PAUSE);
    }
    else
    {
      gtk_widget_hide (menu.pause);
    }
  }
  if (menu.stop)
    gtk_widget_set_sensitive (menu.stop,
                              player != NULL &&
                              (ol_player_get_caps (player) & OL_PLAYER_STOP));
  if (menu.prev)
    gtk_widget_set_sensitive (menu.prev,
                              player != NULL &&
                              (ol_player_get_caps (player) & OL_PLAYER_PREV));
  if (menu.next)
    gtk_widget_set_sensitive (menu.next,
                              player != NULL &&
                              (ol_player_get_caps (player) & OL_PLAYER_NEXT));
}
示例#2
0
static void
_update_status (OlOsdToolbar *toolbar)
{
  ol_log_func ();
  OlOsdToolbarPriv *priv = OL_OSD_TOOLBAR_GET_PRIVATE (toolbar);
  enum OlPlayerStatus status;
  if (priv->player)
    status = ol_player_get_status (priv->player);
  else
    status = OL_PLAYER_UNKNOWN;
  switch (status)
  {
  case OL_PLAYER_PLAYING:
    gtk_widget_show (GTK_WIDGET (toolbar->pause_button));
    gtk_widget_hide (GTK_WIDGET (toolbar->play_button));
    break;
  case OL_PLAYER_PAUSED:
  case OL_PLAYER_STOPPED:
    gtk_widget_hide (GTK_WIDGET (toolbar->pause_button));
    gtk_widget_show (GTK_WIDGET (toolbar->play_button));
    break;
  default:
    gtk_widget_show (GTK_WIDGET (toolbar->pause_button));
    gtk_widget_show (GTK_WIDGET (toolbar->play_button));
    break;
  }
  gtk_widget_queue_draw (GTK_WIDGET (toolbar));
}
示例#3
0
static gint
_refresh_player_info (gpointer data)
{
  ol_log_func ();
  if (player != NULL)
  {
    if (ol_player_get_capacity (player) & OL_PLAYER_STATUS)
      _update_player_status (ol_player_get_status (player));
    _check_music_change ();
  }
  return TRUE;
}