From 4942d62b873cfac27dc8e4bf3c800f22e0890d0c Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Thu, 08 Sep 2005 09:44:27 +0000 Subject: Add a signal for link activation. 2005-09-08 Marco Pesenti Gritti * shell/ev-sidebar-links.c: (ev_sidebar_links_class_init), (selection_changed_callback): * shell/ev-sidebar-links.h: Add a signal for link activation. * shell/ev-view.c: (ev_view_goto_link), (ev_view_button_release_event): * shell/ev-view.h: * shell/ev-window.c: (sidebar_links_link_activated_cb), (ev_window_init): Implement the signal so that we can handle all link types. * shell/ev-page-cache.c: Remove unused set_link function --- (limited to 'shell/ev-window.c') diff --git a/shell/ev-window.c b/shell/ev-window.c index 139ab67..ac6dcd9 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -2980,7 +2980,7 @@ activate_link_cb (EvPageAction *page_action, EvLink *link, EvWindow *window) { g_return_if_fail (EV_IS_WINDOW (window)); - ev_page_cache_set_link (window->priv->page_cache, link); + ev_view_goto_link (EV_VIEW (window->priv->view), link); gtk_widget_grab_focus (window->priv->view); } @@ -3215,6 +3215,12 @@ window_configure_event_cb (EvWindow *window, GdkEventConfigure *event, gpointer } static void +sidebar_links_link_activated_cb (EvSidebarLinks *sidebar_links, EvLink *link, EvWindow *window) +{ + ev_view_goto_link (EV_VIEW (window->priv->view), link); +} + +static void ev_window_init (EvWindow *ev_window) { GtkActionGroup *action_group; @@ -3312,6 +3318,10 @@ ev_window_init (EvWindow *ev_window) "notify::model", G_CALLBACK (sidebar_widget_model_set), ev_window); + g_signal_connect (sidebar_widget, + "link_activated", + G_CALLBACK (sidebar_links_link_activated_cb), + ev_window); sidebar_page_main_widget_update_cb (G_OBJECT (sidebar_widget), NULL, ev_window); gtk_widget_show (sidebar_widget); ev_sidebar_add_page (EV_SIDEBAR (ev_window->priv->sidebar), -- cgit v0.9.1