diff options
author | Xan Lopez <xan@igalia.com> | 2012-03-30 18:42:07 +0800 |
---|---|---|
committer | Xan Lopez <xan@igalia.com> | 2012-03-31 03:13:17 +0800 |
commit | 3724cd25f2a8ac8198efbad600e4322d7e3c6bef (patch) | |
tree | 240755a300df487183a749b2b35c6db619aed2a2 | |
parent | 2fd22f63bfe60a3012af04dc27a00e14e947f5e8 (diff) | |
download | gsoc2013-epiphany-3724cd25f2a8ac8198efbad600e4322d7e3c6bef.tar gsoc2013-epiphany-3724cd25f2a8ac8198efbad600e4322d7e3c6bef.tar.gz gsoc2013-epiphany-3724cd25f2a8ac8198efbad600e4322d7e3c6bef.tar.bz2 gsoc2013-epiphany-3724cd25f2a8ac8198efbad600e4322d7e3c6bef.tar.lz gsoc2013-epiphany-3724cd25f2a8ac8198efbad600e4322d7e3c6bef.tar.xz gsoc2013-epiphany-3724cd25f2a8ac8198efbad600e4322d7e3c6bef.tar.zst gsoc2013-epiphany-3724cd25f2a8ac8198efbad600e4322d7e3c6bef.zip |
ephy-window: listen to org.gnome.Epiphany.ui.show-toolbars
We were not properly changing the UI if the key was changing at runtime.
-rw-r--r-- | src/ephy-window.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/ephy-window.c b/src/ephy-window.c index 0636d5504..17e6bdd00 100644 --- a/src/ephy-window.c +++ b/src/ephy-window.c @@ -726,6 +726,19 @@ sync_chromes_visibility (EphyWindow *window) } static void +set_toolbar_visibility (EphyWindow *window, gboolean show_toolbar) +{ + EphyWindowPrivate *priv = window->priv; + + if (show_toolbar) + priv->chrome |= EPHY_WEB_VIEW_CHROME_TOOLBAR; + else + priv->chrome &= ~EPHY_WEB_VIEW_CHROME_TOOLBAR; + + sync_chromes_visibility (window); +} + +static void sync_tab_load_status (EphyWebView *view, GParamSpec *pspec, EphyWindow *window) @@ -3113,6 +3126,19 @@ allow_popups_notifier (GSettings *settings, } static void +show_toolbars_setting_cb (GSettings *settings, + char *key, + EphyWindow *window) +{ + gboolean show_toolbars; + + show_toolbars = g_settings_get_boolean (EPHY_SETTINGS_UI, + EPHY_PREFS_UI_SHOW_TOOLBARS); + + set_toolbar_visibility (window, show_toolbars); +} + +static void sync_user_input_cb (EphyLocationController *action, GParamSpec *pspec, EphyWindow *window) @@ -3326,6 +3352,10 @@ ephy_window_constructor (GType type, "changed::" EPHY_PREFS_WEB_ENABLE_POPUPS, G_CALLBACK (allow_popups_notifier), window); + g_signal_connect (EPHY_SETTINGS_UI, + "changed::" EPHY_PREFS_UI_SHOW_TOOLBARS, + G_CALLBACK (show_toolbars_setting_cb), window); + /* network status */ single = EPHY_EMBED_SINGLE (ephy_embed_shell_get_embed_single (embed_shell)); sync_network_status (single, NULL, window); |