Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--shell/ev-window.c28
2 files changed, 28 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 83079f6..5c51c9f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2007-09-03 Carlos Garcia Campos <carlosgc@gnome.org>
+ * shell/ev-window.c: (ev_window_load_job_cb):
+
+ Restart the search when reloading a document with the find bar
+ visible. Fixes bug #461962.
+
+2007-09-03 Carlos Garcia Campos <carlosgc@gnome.org>
+
* shell/ev-window.c: (setup_document_from_metadata),
(ev_window_load_job_cb), (ev_window_cmd_view_reload):
diff --git a/shell/ev-window.c b/shell/ev-window.c
index 25ee9c9..7ef19c5 100644
--- a/shell/ev-window.c
+++ b/shell/ev-window.c
@@ -221,7 +221,7 @@ struct _EvWindowPrivate {
#define THUMBNAILS_SIDEBAR_ID "thumbnails"
#define ATTACHMENTS_SIDEBAR_ID "attachments"
-static void ev_window_update_actions (EvWindow *ev_window);
+static void ev_window_update_actions (EvWindow *ev_window);
static void ev_window_sidebar_visibility_changed_cb (EvSidebar *ev_sidebar,
GParamSpec *pspec,
EvWindow *ev_window);
@@ -263,16 +263,19 @@ static void ev_view_popup_cmd_save_image_as (GtkAction *actio
static void ev_view_popup_cmd_copy_image (GtkAction *action,
EvWindow *window);
static void ev_attachment_popup_cmd_open_attachment (GtkAction *action,
- EvWindow *window);
-static void ev_attachment_popup_cmd_save_attachment_as (GtkAction *action,
- EvWindow *window);
+ EvWindow *window);
+static void ev_attachment_popup_cmd_save_attachment_as (GtkAction *action,
+ EvWindow *window);
static void ev_window_cmd_view_best_fit (GtkAction *action,
EvWindow *ev_window);
static void ev_window_cmd_view_page_width (GtkAction *action,
EvWindow *ev_window);
-static void view_handle_link_cb (EvView *view,
- EvLink *link,
- EvWindow *window);
+static void view_handle_link_cb (EvView *view,
+ EvLink *link,
+ EvWindow *window);
+static void find_bar_search_changed_cb (EggFindBar *find_bar,
+ GParamSpec *param,
+ EvWindow *ev_window);
G_DEFINE_TYPE (EvWindow, ev_window, GTK_TYPE_WINDOW)
@@ -1325,6 +1328,17 @@ ev_window_load_job_cb (EvJobLoad *job,
break;
}
+ /* Restart the search after reloading */
+ if (ev_window->priv->in_reload) {
+ GtkWidget *widget;
+
+ widget = gtk_window_get_focus (GTK_WINDOW (ev_window));
+ if (widget && gtk_widget_get_ancestor (widget, EGG_TYPE_FIND_BAR)) {
+ find_bar_search_changed_cb (EGG_FIND_BAR (ev_window->priv->find_bar),
+ NULL, ev_window);
+ }
+ }
+
ev_window_clear_load_job (ev_window);
ev_window->priv->in_reload = FALSE;
return;