[epiphany/fullscreen-support: 3/4] ephy-window: hide all chrome when entering fullscreen mode



commit 071eac2c3a9f85247d58147108f182f6684aff6c
Author: Claudio Saavedra <csaavedra igalia com>
Date:   Mon Jun 11 13:07:25 2012 +0300

    ephy-window: hide all chrome when entering fullscreen mode
    
    We keep track of the state of the chrome before entering fullscreen
    mode in order to restore it afterwards. Also, force hiding of notebook
    tabs, since EphyNotebook is ubersmart about it.
    
    When leaving fullscreen mode, restore to the previous state.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=671195

 src/ephy-window.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)
---
diff --git a/src/ephy-window.c b/src/ephy-window.c
index 3f8e095..2b4220a 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -339,6 +339,7 @@ struct _EphyWindowPrivate
 	EphyEmbed *active_embed;
 	EphyFindToolbar *find_toolbar;
 	EphyWebViewChrome chrome;
+	EphyWebViewChrome pre_fullscreen_chrome;
 	EphyEmbedEvent *context_event;
 	guint idle_worker;
 	GtkWidget *downloads_box;
@@ -698,8 +699,14 @@ sync_chromes_visibility (EphyWindow *window)
 
 	g_object_set (priv->toolbar, "visible", show_toolbar, NULL);
 
-	ephy_notebook_set_show_tabs (EPHY_NOTEBOOK (priv->notebook), show_tabsbar);
 	gtk_widget_set_visible (priv->downloads_box, show_downloads_box);
+
+	/* If in fullscreen mode force hiding of the tabs. Otherwise,
+	   restore. */
+	if (priv->fullscreen_mode)
+		gtk_notebook_set_show_tabs (priv->notebook, FALSE);
+	else
+		ephy_notebook_set_show_tabs (EPHY_NOTEBOOK (priv->notebook), show_tabsbar);
 }
 
 static void
@@ -808,6 +815,8 @@ ephy_window_fullscreen (EphyWindow *window)
 	EphyEmbed *embed;
 
 	priv->fullscreen_mode = TRUE;
+	priv->pre_fullscreen_chrome = priv->chrome;
+	priv->chrome = 0;
 
 	/* sync status */
 	embed = window->priv->active_embed;
@@ -821,6 +830,7 @@ static void
 ephy_window_unfullscreen (EphyWindow *window)
 {
 	window->priv->fullscreen_mode = FALSE;
+	window->priv->chrome = window->priv->pre_fullscreen_chrome;
 
 	sync_chromes_visibility (window);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]