diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2005-09-19 12:15:02 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2005-09-19 12:15:02 (GMT) |
commit | c2f443161a3fe0e1415d9e9017c300f6adf52074 (patch) | |
tree | 5a3e166973817271d4524c83262dc91be57e6cf9 | |
parent | ea7ab15dc184f23fad8b853cbd227b39356c3732 (diff) |
Show the index by default when there is one
2005-09-19 Marco Pesenti Gritti <mpg@redhat.com>
* shell/ev-window.c: (update_sidebar_visibility),
(setup_sidebar_from_metadata), (ev_window_setup_document),
(setup_view_from_metadata):
Show the index by default when there is one
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | shell/ev-window.c | 81 |
2 files changed, 55 insertions, 34 deletions
@@ -1,5 +1,13 @@ 2005-09-19 Marco Pesenti Gritti <mpg@redhat.com> + * shell/ev-window.c: (update_sidebar_visibility), + (setup_sidebar_from_metadata), (ev_window_setup_document), + (setup_view_from_metadata): + + Show the index by default when there is one + +2005-09-19 Marco Pesenti Gritti <mpg@redhat.com> + * shell/ev-window-title.c: (ev_window_title_set_document): Missing null check diff --git a/shell/ev-window.c b/shell/ev-window.c index fe3d624..4c893f3 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -603,6 +603,18 @@ update_document_mode (EvWindow *window, EvDocumentMode mode) } static void +update_sidebar_visibility (EvWindow *window) +{ + char *uri = window->priv->uri; + GValue sidebar_visibility = { 0, }; + + if (uri && ev_metadata_manager_get (uri, "sidebar_visibility", &sidebar_visibility)) { + set_widget_visibility (window->priv->sidebar, + g_value_get_boolean (&sidebar_visibility)); + } +} + +static void setup_document_from_metadata (EvWindow *window) { char *uri = window->priv->uri; @@ -616,6 +628,40 @@ setup_document_from_metadata (EvWindow *window) } static void +setup_sidebar_from_metadata (EvWindow *window, EvDocument *document) +{ + char *uri = window->priv->uri; + GtkWidget *sidebar = window->priv->sidebar; + GtkWidget *links = window->priv->sidebar_links; + GtkWidget *thumbs = window->priv->sidebar_thumbs; + GValue sidebar_size = { 0, }; + GValue sidebar_page = { 0, }; + + if (ev_metadata_manager_get (uri, "sidebar_size", &sidebar_size)) { + gtk_paned_set_position (GTK_PANED (window->priv->hpaned), + g_value_get_int (&sidebar_size)); + } + + if (ev_metadata_manager_get (uri, "sidebar_page", &sidebar_page)) { + const char *page_id = g_value_get_string (&sidebar_page); + + if (strcmp (page_id, "links") == 0) { + ev_sidebar_set_page (EV_SIDEBAR (sidebar), links); + } else if (strcmp (page_id, "thumbnails")) { + ev_sidebar_set_page (EV_SIDEBAR (sidebar), thumbs); + } + } else { + if (ev_sidebar_page_support_document (EV_SIDEBAR_PAGE (links), document)) { + ev_sidebar_set_page (EV_SIDEBAR (sidebar), links); + } else if (ev_sidebar_page_support_document (EV_SIDEBAR_PAGE (thumbs), document)) { + ev_sidebar_set_page (EV_SIDEBAR (sidebar), thumbs); + } + } + + update_sidebar_visibility (window); +} + +static void ev_window_setup_document (EvWindow *ev_window) { const EvDocumentInfo *info; @@ -657,6 +703,7 @@ ev_window_setup_document (EvWindow *ev_window) } setup_document_from_metadata (ev_window); + setup_sidebar_from_metadata (ev_window, document); } static void @@ -876,18 +923,6 @@ ev_window_xfer_job_cb (EvJobXfer *job, } static void -update_sidebar_visibility (EvWindow *window) -{ - char *uri = window->priv->uri; - GValue sidebar_visibility = { 0, }; - - if (uri && ev_metadata_manager_get (uri, "sidebar_visibility", &sidebar_visibility)) { - set_widget_visibility (window->priv->sidebar, - g_value_get_boolean (&sidebar_visibility)); - } -} - -static void setup_view_from_metadata (EvWindow *window) { EvView *view = EV_VIEW (window->priv->view); @@ -905,8 +940,6 @@ setup_view_from_metadata (EvWindow *window) GValue presentation = { 0, }; GValue fullscreen = { 0, }; GValue rotation = { 0, }; - GValue sidebar_size = { 0, }; - GValue sidebar_page = { 0, }; if (window->priv->uri == NULL) { return; @@ -992,26 +1025,6 @@ setup_view_from_metadata (EvWindow *window) } } } - - /* Sidebar */ - if (ev_metadata_manager_get (uri, "sidebar_size", &sidebar_size)) { - gtk_paned_set_position (GTK_PANED (window->priv->hpaned), - g_value_get_int (&sidebar_size)); - } - - if (ev_metadata_manager_get (uri, "sidebar_page", &sidebar_page)) { - const char *page_id = g_value_get_string (&sidebar_page); - - if (strcmp (page_id, "links") == 0) { - ev_sidebar_set_page (EV_SIDEBAR (window->priv->sidebar), - window->priv->sidebar_links); - } else if (strcmp (page_id, "thumbnails")) { - ev_sidebar_set_page (EV_SIDEBAR (window->priv->sidebar), - window->priv->sidebar_thumbs); - } - } - - update_sidebar_visibility (window); } void |