diff options
author | Marco Pesenti Gritti <marco@gnome.org> | 2005-01-20 11:35:19 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <marco@src.gnome.org> | 2005-01-20 11:35:19 (GMT) |
commit | a601c252dae06def4379c838ed176955903b34c9 (patch) | |
tree | 73ebfd2e9265c0df9a963c04a19517ea33fcd200 /shell/ev-window.c | |
parent | dd089d0260316824ae2ad76160cf7b37499a854d (diff) |
Ensure thumbnails selection, toolbar page control and current page are in
2005-01-20 Marco Pesenti Gritti <marco@gnome.org>
* shell/ev-sidebar-thumbnails.c:
(ev_sidebar_tree_selection_changed),
(ev_sidebar_thumbnails_select_page):
* shell/ev-sidebar-thumbnails.h:
* shell/ev-view.c: (ev_view_set_document), (ev_view_can_go_back),
(ev_view_can_go_forward):
* shell/ev-window.c: (ev_window_open_page),
(ev_window_setup_document), (update_current_page),
(view_page_changed_cb), (ev_window_init):
* shell/ev-window.h:
Ensure thumbnails selection, toolbar page control and
current page are in sync.
Diffstat (limited to 'shell/ev-window.c')
-rw-r--r-- | shell/ev-window.c | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c index 532efae..ed1e478 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -70,6 +70,7 @@ struct _EvWindowPrivate { GtkWidget *main_box; GtkWidget *hpaned; GtkWidget *sidebar; + GtkWidget *thumbs_sidebar; GtkWidget *find_bar; GtkWidget *view; GtkActionGroup *action_group; @@ -250,6 +251,12 @@ update_action_sensitivity (EvWindow *ev_window) } void +ev_window_open_page (EvWindow *ev_window, int page) +{ + ev_view_set_page (EV_VIEW (ev_window->priv->view), page); +} + +void ev_window_open_link (EvWindow *ev_window, EvLink *link) { ev_view_go_to_link (EV_VIEW (ev_window->priv->view), link); @@ -363,8 +370,8 @@ ev_window_setup_document (EvWindow *ev_window) document = ev_window->priv->document; - ev_view_set_document (view, document); ev_sidebar_set_document (sidebar, document); + ev_view_set_document (view, document); history = ev_history_new (); ev_view_set_history (view, history); @@ -1202,10 +1209,15 @@ disconnect_proxy_cb (GtkUIManager *ui_manager, GtkAction *action, } static void -update_current_page (EvWindow *ev_window) +update_current_page (EvWindow *ev_window, + EvView *view) { int page; GtkAction *action; + EvSidebarThumbnails *thumbs; + + thumbs = EV_SIDEBAR_THUMBNAILS (ev_window->priv->thumbs_sidebar); + ev_sidebar_thumbnails_select_page (thumbs, ev_view_get_page (view)); action = gtk_action_group_get_action (ev_window->priv->action_group, PAGE_SELECTOR_ACTION); @@ -1218,7 +1230,7 @@ static void view_page_changed_cb (EvView *view, EvWindow *ev_window) { - update_current_page (ev_window); + update_current_page (ev_window, view); update_action_sensitivity (ev_window); } @@ -1611,12 +1623,12 @@ ev_window_init (EvWindow *ev_window) _("Index"), sidebar_widget); - sidebar_widget = ev_sidebar_thumbnails_new (); - gtk_widget_show (sidebar_widget); + ev_window->priv->thumbs_sidebar = ev_sidebar_thumbnails_new (); + gtk_widget_show (ev_window->priv->thumbs_sidebar); ev_sidebar_add_page (EV_SIDEBAR (ev_window->priv->sidebar), "thumbnails", _("Thumbnails"), - sidebar_widget); + ev_window->priv->thumbs_sidebar); scrolled_window = gtk_scrolled_window_new (NULL, NULL); gtk_widget_show (scrolled_window); |