Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--shell/ev-view.c16
-rw-r--r--shell/ev-view.h2
-rw-r--r--shell/ev-window.c1
4 files changed, 25 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d08dd1e..7628ac2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2008-03-18 Carlos Garcia Campos <carlosgc@gnome.org>
+ * shell/ev-view.[ch]: (ev_view_find_cancel):
+ * shell/ev-window.c: (find_bar_close_cb):
+
+ Cancel the find operation when the find bar is closed. Fixes bug
+ #508845.
+
+2008-03-18 Carlos Garcia Campos <carlosgc@gnome.org>
+
* backend/ps/psdocument.evince-backend.in:
Make ps backend module resident. Fixes bug #520607.
diff --git a/shell/ev-view.c b/shell/ev-view.c
index 129d87c..1a76442 100644
--- a/shell/ev-view.c
+++ b/shell/ev-view.c
@@ -5333,18 +5333,30 @@ ev_view_find_previous (EvView *view)
}
}
-void ev_view_search_changed (EvView *view)
+void
+ev_view_search_changed (EvView *view)
{
/* search string has changed, focus on new search result */
view->jump_to_find_result = TRUE;
}
-void ev_view_set_highlight_search (EvView *view, gboolean value)
+void
+ev_view_set_highlight_search (EvView *view, gboolean value)
{
view->highlight_find_results = value;
gtk_widget_queue_draw (GTK_WIDGET (view));
}
+void
+ev_view_find_cancel (EvView *view)
+{
+ if (EV_IS_DOCUMENT_FIND (view->document)) {
+ EvDocumentFind *find = EV_DOCUMENT_FIND (view->document);
+
+ ev_document_find_cancel (find);
+ }
+}
+
/*** Selections ***/
/* compute_new_selection_rect/text calculates the area currently selected by
diff --git a/shell/ev-view.h b/shell/ev-view.h
index d6dd40e..dd8d1df 100644
--- a/shell/ev-view.h
+++ b/shell/ev-view.h
@@ -124,6 +124,8 @@ void ev_view_find_previous (EvView *view);
void ev_view_search_changed (EvView *view);
void ev_view_set_highlight_search (EvView *view,
gboolean value);
+void ev_view_find_cancel (EvView *view);
+
/* Status */
const char *ev_view_get_status (EvView *view);
const char *ev_view_get_find_status (EvView *view);
diff --git a/shell/ev-window.c b/shell/ev-window.c
index 917ebcf..3431fad 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -3810,6 +3810,7 @@ static void
find_bar_close_cb (EggFindBar *find_bar,
EvWindow *ev_window)
{
+ ev_view_find_cancel (EV_VIEW (ev_window->priv->view));
update_chrome_flag (ev_window, EV_CHROME_FINDBAR, FALSE);
update_chrome_visibility (ev_window);
}