Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell/ev-window.c
diff options
context:
space:
mode:
authorMarco 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)
commita601c252dae06def4379c838ed176955903b34c9 (patch)
tree73ebfd2e9265c0df9a963c04a19517ea33fcd200 /shell/ev-window.c
parentdd089d0260316824ae2ad76160cf7b37499a854d (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.c24
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);