From 65fc8ed56ee130a477f165dd82e34459d5066e69 Mon Sep 17 00:00:00 2001 From: Carlos Garcia Campos Date: Tue, 18 Mar 2008 19:51:17 +0000 Subject: [PATCH] Cancel the find operation when the find bar is closed. Fixes bug #508845. 2008-03-18 Carlos Garcia Campos * 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. svn path=/trunk/; revision=2971 --- ChangeLog | 8 ++++++++ shell/ev-view.c | 16 ++++++++++++++-- shell/ev-view.h | 2 ++ shell/ev-window.c | 1 + 4 files changed, 25 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index d08dd1e4..7628ac21 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-03-18 Carlos Garcia Campos + + * 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 * backend/ps/psdocument.evince-backend.in: diff --git a/shell/ev-view.c b/shell/ev-view.c index 129d87c3..1a76442a 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 d6dd40e0..dd8d1df1 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 917ebcfd..3431fad5 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); } -- 2.43.5