Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorNickolay V. Shmyrev <nshmyrev@src.gnome.org>2006-05-27 09:23:06 (GMT)
committer Nickolay V. Shmyrev <nshmyrev@src.gnome.org>2006-05-27 09:23:06 (GMT)
commit4235880ace7cb1372fbd0bdb18de256370b3808f (patch)
tree7fc0d24735850329d7861d22e7ee9a92ec564ce7 /shell
parentbcae23ea9af280bf62c7005b22487b132a8fe4ab (diff)
Setup sidebar from metadata even if there is no document loaded. Fix for
* shell/ev-window.c: (setup_sidebar_from_metadata), (ev_window_sidebar_visibility_changed_cb), (ev_window_init): Setup sidebar from metadata even if there is no document loaded. Fix for the bug #342807.
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-window.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c
index 0ec034f..29b6a03 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -616,7 +616,6 @@ setup_chrome_from_metadata (EvWindow *window)
window->priv->chrome = chrome;
}
-
static void
setup_sidebar_from_metadata (EvWindow *window, EvDocument *document)
{
@@ -633,8 +632,8 @@ setup_sidebar_from_metadata (EvWindow *window, EvDocument *document)
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, FALSE)) {
+
+ if (document && ev_metadata_manager_get (uri, "sidebar_page", &sidebar_page, FALSE)) {
const char *page_id = g_value_get_string (&sidebar_page);
if (strcmp (page_id, LINKS_SIDEBAR_ID) == 0 && ev_sidebar_page_support_document (EV_SIDEBAR_PAGE (links), document)) {
@@ -644,10 +643,8 @@ setup_sidebar_from_metadata (EvWindow *window, EvDocument *document)
} else if (strcmp (page_id, ATTACHMENTS_SIDEBAR_ID) && ev_sidebar_page_support_document (EV_SIDEBAR_PAGE (attachments), document)) {
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 (document && ev_sidebar_page_support_document (EV_SIDEBAR_PAGE (links), document)) {
+ ev_sidebar_set_page (EV_SIDEBAR (sidebar), links);
}
if (ev_metadata_manager_get (uri, "sidebar_visibility", &sidebar_visibility, FALSE)) {
@@ -2477,8 +2474,7 @@ ev_window_sidebar_visibility_changed_cb (EvSidebar *ev_sidebar,
GTK_WIDGET_VISIBLE (ev_sidebar));
if (!ev_view_get_presentation (view) &&
- !ev_view_get_fullscreen (view) &&
- !ev_window_is_empty (ev_window)) {
+ !ev_view_get_fullscreen (view)) {
ev_metadata_manager_set_boolean (ev_window->priv->uri, "sidebar_visibility",
GTK_WIDGET_VISIBLE (ev_sidebar));
}
@@ -3757,6 +3753,7 @@ ev_window_init (EvWindow *ev_window)
gtk_window_set_default_size (GTK_WINDOW (ev_window), 600, 600);
setup_view_from_metadata (ev_window);
+ setup_sidebar_from_metadata (ev_window, NULL);
ev_window_sizing_mode_changed_cb (EV_VIEW (ev_window->priv->view), NULL, ev_window);
ev_window_setup_action_sensitivity (ev_window);