[Xfce4-commits] <parole:master> Introduction of parole_player_reset_controls
Sean Davis
noreply at xfce.org
Wed Nov 14 02:14:02 CET 2012
Updating branch refs/heads/master
to 228720603795c9ed3d732ab4f09a8bfd1720b724 (commit)
from 6f356197d7ce34ffd38924f4e76561fb8f666cae (commit)
commit 228720603795c9ed3d732ab4f09a8bfd1720b724
Author: Sean Davis <smd.seandavis at gmail.com>
Date: Tue Nov 13 20:11:49 2012 -0500
Introduction of parole_player_reset_controls
src/parole-player.c | 132 ++++++++++++++++++++++++++++++---------------------
1 files changed, 78 insertions(+), 54 deletions(-)
diff --git a/src/parole-player.c b/src/parole-player.c
index 15aa9bf..7ed6156 100644
--- a/src/parole-player.c
+++ b/src/parole-player.c
@@ -1507,73 +1507,97 @@ parole_player_move_fs_window (ParolePlayer *player)
rect.height + rect.y - player->priv->play_box->allocation.height);
}
+/**
+ * parole_player_reset_controls:
+ * @player : the #ParolePlayer instance.
+ * @fullscreen : %TRUE if player should be fullscreen, else %FALSE.
+ *
+ * Reset the player controls based on existing conditions.
+ **/
+void
+parole_player_reset_controls (ParolePlayer *player, gboolean fullscreen)
+{
+ gint npages;
+ static gint current_page = 0;
+ GdkWindow *gdkwindow;
+
+ gboolean show_playlist;
+
+ if ( player->priv->full_screen != fullscreen )
+ {
+ /* If the player is in fullscreen mode, change to windowed mode. */
+ if ( player->priv->full_screen )
+ {
+ npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (player->priv->main_nt));
+ gtk_widget_reparent (player->priv->play_box, player->priv->control);
+ gtk_box_set_child_packing( GTK_BOX(player->priv->control), GTK_WIDGET(player->priv->play_box), TRUE, TRUE, 2, GTK_PACK_START );
+ gtk_widget_hide (player->priv->fs_window);
+ gtk_widget_show (player->priv->play_box);
+ gtk_widget_show (player->priv->menu_bar);
+ show_playlist = gtk_check_menu_item_get_active( GTK_CHECK_MENU_ITEM(player->priv->show_hide_playlist) );
+ gtk_widget_show (player->priv->playlist_nt);
+ parole_player_set_playlist_visible(player, show_playlist);
+ gtk_widget_show (player->priv->go_fs);
+ gtk_widget_hide (player->priv->leave_fs);
+ gtk_widget_show (player->priv->show_hide_playlist_button);
+
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), npages > 1);
+
+ gtk_window_unfullscreen (GTK_WINDOW (player->priv->window));
+ gtk_notebook_set_current_page (GTK_NOTEBOOK (player->priv->playlist_nt), current_page);
+ gdkwindow = gtk_widget_get_window (player->priv->window);
+ gdk_window_set_cursor (gdkwindow, NULL);
+ player->priv->full_screen = FALSE;
+ }
+ else
+ {
+ parole_player_move_fs_window (player);
+ gtk_widget_reparent (player->priv->play_box, player->priv->fs_window);
+
+ gtk_widget_hide (player->priv->play_box);
+ gtk_widget_hide (player->priv->menu_bar);
+ gtk_widget_hide (player->priv->playlist_nt);
+ parole_player_set_playlist_visible(player, FALSE);
+ gtk_widget_hide (player->priv->go_fs);
+ gtk_widget_show (player->priv->leave_fs);
+ gtk_widget_hide (player->priv->show_hide_playlist_button);
+
+ current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (player->priv->playlist_nt));
+ gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), FALSE);
+
+ gtk_window_fullscreen (GTK_WINDOW (player->priv->window));
+ player->priv->full_screen = TRUE;
+ }
+ }
+
+ if ( player->priv->embedded )
+ {
+ gtk_widget_hide (player->priv->menu_bar);
+ gtk_widget_hide (player->priv->playlist_nt);
+ gtk_widget_hide (player->priv->go_fs);
+ gtk_widget_hide (player->priv->show_hide_playlist);
+ gtk_widget_hide (player->priv->show_hide_playlist_button);
+ }
+}
+
void
parole_player_embedded (ParolePlayer *player)
{
- gtk_widget_hide (player->priv->menu_bar);
- gtk_widget_hide (player->priv->playlist_nt);
- gtk_widget_hide (player->priv->go_fs);
- gtk_widget_hide (player->priv->leave_fs);
- gtk_widget_hide (player->priv->show_hide_playlist);
- gtk_widget_hide (player->priv->show_hide_playlist_button);
+ if ( player->priv->embedded == TRUE )
+ return;
player->priv->embedded = TRUE;
+
+ parole_player_reset_controls(player, player->priv->full_screen);
}
void
parole_player_full_screen (ParolePlayer *player, gboolean fullscreen)
{
- gint npages;
- static gint current_page = 0;
- GdkWindow *gdkwindow;
-
- gboolean show_playlist;
-
if ( player->priv->full_screen == fullscreen )
return;
- if ( player->priv->full_screen )
- {
- npages = gtk_notebook_get_n_pages (GTK_NOTEBOOK (player->priv->main_nt));
- gtk_widget_reparent (player->priv->play_box, player->priv->control);
- gtk_box_set_child_packing( GTK_BOX(player->priv->control), GTK_WIDGET(player->priv->play_box), TRUE, TRUE, 2, GTK_PACK_START );
- gtk_widget_hide (player->priv->fs_window);
- gtk_widget_show (player->priv->play_box);
- gtk_widget_show (player->priv->menu_bar);
- show_playlist = gtk_check_menu_item_get_active( GTK_CHECK_MENU_ITEM(player->priv->show_hide_playlist) );
- gtk_widget_show (player->priv->playlist_nt);
- parole_player_set_playlist_visible(player, show_playlist);
- gtk_widget_show (player->priv->go_fs);
- gtk_widget_hide (player->priv->leave_fs);
- gtk_widget_show (player->priv->show_hide_playlist_button);
-
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), npages > 1);
-
- gtk_window_unfullscreen (GTK_WINDOW (player->priv->window));
- gtk_notebook_set_current_page (GTK_NOTEBOOK (player->priv->playlist_nt), current_page);
- gdkwindow = gtk_widget_get_window (player->priv->window);
- gdk_window_set_cursor (gdkwindow, NULL);
- player->priv->full_screen = FALSE;
- }
- else
- {
- parole_player_move_fs_window (player);
- gtk_widget_reparent (player->priv->play_box, player->priv->fs_window);
-
- gtk_widget_hide (player->priv->play_box);
- gtk_widget_hide (player->priv->menu_bar);
- gtk_widget_hide (player->priv->playlist_nt);
- parole_player_set_playlist_visible(player, FALSE);
- gtk_widget_hide (player->priv->go_fs);
- gtk_widget_show (player->priv->leave_fs);
- gtk_widget_hide (player->priv->show_hide_playlist_button);
-
- current_page = gtk_notebook_get_current_page (GTK_NOTEBOOK (player->priv->playlist_nt));
- gtk_notebook_set_show_tabs (GTK_NOTEBOOK (player->priv->main_nt), FALSE);
-
- gtk_window_fullscreen (GTK_WINDOW (player->priv->window));
- player->priv->full_screen = TRUE;
- }
+ parole_player_reset_controls(player, fullscreen);
}
static void
More information about the Xfce4-commits
mailing list