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)); }
static void _update_caps (OlScrollModule *module) { ol_assert (module != NULL); ol_assert (module->player != NULL); ol_assert (module->scroll != NULL); ol_scroll_window_set_can_seek (module->scroll, ol_player_get_caps (module->player) & OL_PLAYER_SEEK); }
static void _player_control (OlPlayer *player, enum OlPlayerCaps caps, gboolean (*cmd) (OlPlayer *player)) { if (player != NULL && (ol_player_get_caps (player) & caps)) { cmd (player); } }
static void _update_caps (OlOsdToolbar *toolbar) { ol_assert (OL_IS_OSD_TOOLBAR (toolbar)); OlOsdToolbarPriv *priv = OL_OSD_TOOLBAR_GET_PRIVATE (toolbar); int caps; if (priv->player) caps = ol_player_get_caps (priv->player); else caps = 0; gtk_widget_set_sensitive (GTK_WIDGET (toolbar->play_button), caps & OL_PLAYER_PLAY); gtk_widget_set_sensitive (GTK_WIDGET (toolbar->pause_button), caps & OL_PLAYER_PAUSE); gtk_widget_set_sensitive (GTK_WIDGET (toolbar->stop_button), caps & OL_PLAYER_STOP); gtk_widget_set_sensitive (GTK_WIDGET (toolbar->prev_button), caps & OL_PLAYER_PREV); gtk_widget_set_sensitive (GTK_WIDGET (toolbar->next_button), caps & OL_PLAYER_NEXT); }