diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2007-09-03 15:37:10 (GMT) |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@src.gnome.org> | 2007-09-03 15:37:10 (GMT) |
commit | 34dc864999174a8416c4f2b772de897c581705e4 (patch) | |
tree | a3a4b2cf9d5d89d19afb707f4b08841dd3af1b66 /shell | |
parent | d4ab4b8574b497c01f86b209a60867b576540e92 (diff) |
Do not update visibility when changing a chrome flag so that it's possible
2007-09-03 Carlos Garcia Campos <carlosgc@gnome.org>
* shell/ev-window.c: (update_chrome_flag),
(setup_sidebar_from_metadata),
(ev_window_cmd_focus_page_selector), (ev_window_cmd_edit_find),
(ev_window_cmd_edit_find_next),
(ev_window_cmd_edit_find_previous), (ev_window_cmd_escape),
(ev_window_view_toolbar_cb), (ev_window_view_sidebar_cb),
(find_bar_close_cb), (view_actions_focus_in_cb):
Do not update visibility when changing a chrome flag so that it's
possible to update several flags and update visibility only once
for all of them.
svn path=/trunk/; revision=2657
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ev-window.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c index 19fd583..c973f42 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -537,8 +537,6 @@ update_chrome_flag (EvWindow *window, EvChrome flag, gboolean active) } else { priv->chrome &= ~flag; } - - update_chrome_visibility (window); } static void @@ -856,6 +854,7 @@ setup_sidebar_from_metadata (EvWindow *window, EvDocument *document) if (ev_metadata_manager_get (uri, "sidebar_visibility", &sidebar_visibility, FALSE)) { update_chrome_flag (window, EV_CHROME_SIDEBAR, g_value_get_boolean (&sidebar_visibility)); g_value_unset (&sidebar_visibility); + update_chrome_visibility (window); } } @@ -2678,6 +2677,7 @@ ev_window_cmd_focus_page_selector (GtkAction *act, EvWindow *window) update_chrome_flag (window, EV_CHROME_RAISE_TOOLBAR, TRUE); ev_window_set_action_sensitive (window, "ViewToolbar", FALSE); + update_chrome_visibility (window); action = gtk_action_group_get_action (window->priv->action_group, PAGE_SELECTOR_ACTION); @@ -2768,6 +2768,7 @@ ev_window_cmd_edit_find (GtkAction *action, EvWindow *ev_window) } update_chrome_flag (ev_window, EV_CHROME_FINDBAR, TRUE); + update_chrome_visibility (ev_window); gtk_widget_grab_focus (ev_window->priv->find_bar); } @@ -2777,6 +2778,7 @@ ev_window_cmd_edit_find_next (GtkAction *action, EvWindow *ev_window) g_return_if_fail (EV_IS_WINDOW (ev_window)); update_chrome_flag (ev_window, EV_CHROME_FINDBAR, TRUE); + update_chrome_visibility (ev_window); gtk_widget_grab_focus (ev_window->priv->find_bar); ev_view_find_next (EV_VIEW (ev_window->priv->view)); } @@ -2787,6 +2789,7 @@ ev_window_cmd_edit_find_previous (GtkAction *action, EvWindow *ev_window) g_return_if_fail (EV_IS_WINDOW (ev_window)); update_chrome_flag (ev_window, EV_CHROME_FINDBAR, TRUE); + update_chrome_visibility (ev_window); gtk_widget_grab_focus (ev_window->priv->find_bar); ev_view_find_previous (EV_VIEW (ev_window->priv->view)); } @@ -3511,6 +3514,7 @@ ev_window_cmd_escape (GtkAction *action, EvWindow *window) widget = gtk_window_get_focus (GTK_WINDOW (window)); if (widget && gtk_widget_get_ancestor (widget, EGG_TYPE_FIND_BAR)) { update_chrome_flag (window, EV_CHROME_FINDBAR, FALSE); + update_chrome_visibility (window); gtk_widget_grab_focus (window->priv->view); } else { gboolean fullscreen; @@ -3789,6 +3793,7 @@ ev_window_view_toolbar_cb (GtkAction *action, EvWindow *ev_window) active = gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)); update_chrome_flag (ev_window, EV_CHROME_TOOLBAR, active); + update_chrome_visibility (ev_window); ev_metadata_manager_set_boolean (NULL, "show_toolbar", active); } @@ -3800,6 +3805,7 @@ ev_window_view_sidebar_cb (GtkAction *action, EvWindow *ev_window) update_chrome_flag (ev_window, EV_CHROME_SIDEBAR, gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action))); + update_chrome_visibility (ev_window); } static void @@ -4002,6 +4008,7 @@ find_bar_close_cb (EggFindBar *find_bar, EvWindow *ev_window) { update_chrome_flag (ev_window, EV_CHROME_FINDBAR, FALSE); + update_chrome_visibility (ev_window); } static void @@ -4621,6 +4628,8 @@ view_actions_focus_in_cb (GtkWidget *widget, GdkEventFocus *event, EvWindow *win ev_window_set_view_accels_sensitivity (window, TRUE); + update_chrome_visibility (window); + return FALSE; } |