From 39d906d93b5e9e0929fec8d3ef322f9597adee78 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Wed, 11 May 2005 09:42:22 +0000 Subject: Use signals to notify action activation. Hopefully I did not break 2005-05-11 Marco Pesenti Gritti * shell/ev-marshal.list: * shell/ev-page-action.c: (ev_page_action_widget_class_init), (activate_cb), (match_selected_cb), (activate_link_cb), (connect_proxy), (ev_page_action_class_init): * shell/ev-page-action.h: Use signals to notify action activation. Hopefully I did not break completion since I cant test... * shell/ev-window.c: (activate_link_cb), (activate_label_cb), (register_custom_actions): Connect to page selector actions and also grab focus on the view when activated. --- (limited to 'shell/ev-window.c') diff --git a/shell/ev-window.c b/shell/ev-window.c index 2475de0..fc1f0ca 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -2437,6 +2437,25 @@ drag_data_received_cb (GtkWidget *widget, GdkDragContext *context, } static void +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); + gtk_widget_grab_focus (window->priv->view); +} + +static gboolean +activate_label_cb (EvPageAction *page_action, char *label, EvWindow *window) +{ + g_return_val_if_fail (EV_IS_WINDOW (window), FALSE); + + gtk_widget_grab_focus (window->priv->view); + + return ev_page_cache_set_page_label (window->priv->page_cache, label); +} + +static void register_custom_actions (EvWindow *window, GtkActionGroup *group) { GtkAction *action; @@ -2447,6 +2466,10 @@ register_custom_actions (EvWindow *window, GtkActionGroup *group) "tooltip", _("Select Page"), "visible_overflown", FALSE, NULL); + g_signal_connect (action, "activate_link", + G_CALLBACK (activate_link_cb), window); + g_signal_connect (action, "activate_label", + G_CALLBACK (activate_label_cb), window); gtk_action_group_add_action (group, action); g_object_unref (action); -- cgit v0.9.1