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:
Diffstat (limited to 'shell/ev-window.c')
-rw-r--r--shell/ev-window.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/shell/ev-window.c b/shell/ev-window.c
index eb50e1c..3185e66 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -203,6 +203,9 @@ update_action_sensitivity (EvWindow *ev_window)
else
set_action_sensitive (ev_window, "EditFind", FALSE);
+ set_action_sensitive (ev_window, "EditFindNext",
+ ev_view_can_find_next (EV_VIEW (ev_window->priv->view)));
+
/* View menu */
set_action_sensitive (ev_window, "ViewZoomIn", document!=NULL);
set_action_sensitive (ev_window, "ViewZoomOut", document!=NULL);
@@ -519,6 +522,12 @@ hide_sidebar_and_actions (EvWindow *ev_window)
}
static void
+find_changed_cb (EvDocument *document, int page, EvWindow *ev_window)
+{
+ update_action_sensitivity (ev_window);
+}
+
+static void
page_changed_cb (EvPageCache *page_cache,
gint page,
EvWindow *ev_window)
@@ -526,7 +535,6 @@ page_changed_cb (EvPageCache *page_cache,
update_action_sensitivity (ev_window);
}
-
static void
ev_window_setup_document (EvWindow *ev_window)
{
@@ -543,6 +551,10 @@ ev_window_setup_document (EvWindow *ev_window)
"notify::title",
G_CALLBACK (update_window_title),
ev_window, 0);
+ g_signal_connect_object (G_OBJECT (document),
+ "find_changed",
+ G_CALLBACK (find_changed_cb),
+ ev_window, 0);
ev_window_set_page_mode (ev_window, PAGE_MODE_SINGLE_PAGE);
@@ -1147,6 +1159,14 @@ ev_window_cmd_edit_find (GtkAction *action, EvWindow *ev_window)
}
static void
+ev_window_cmd_edit_find_next (GtkAction *action, EvWindow *ev_window)
+{
+ g_return_if_fail (EV_IS_WINDOW (ev_window));
+
+ ev_view_find_next (EV_VIEW (ev_window->priv->view));
+}
+
+static void
ev_window_cmd_edit_copy (GtkAction *action, EvWindow *ev_window)
{
g_return_if_fail (EV_IS_WINDOW (ev_window));
@@ -2091,6 +2111,9 @@ static GtkActionEntry entries[] = {
{ "EditFind", GTK_STOCK_FIND, NULL, "<control>F",
N_("Find a word or phrase in the document"),
G_CALLBACK (ev_window_cmd_edit_find) },
+ { "EditFindNext", NULL, N_("Find Ne_xt"), "<control>G",
+ N_("Find next occurrence of the word or phrase"),
+ G_CALLBACK (ev_window_cmd_edit_find_next) },
/* View menu */
{ "ViewZoomIn", GTK_STOCK_ZOOM_IN, NULL, "<control>plus",