Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/shell
diff options
context:
space:
mode:
authorCarlos Garcia Campos <carlosgc@gnome.org>2007-09-03 16:03:43 (GMT)
committer Carlos Garcia Campos <carlosgc@src.gnome.org>2007-09-03 16:03:43 (GMT)
commit3a4e876c54d10a5b72dc0a95f0284218654a9f21 (patch)
tree00e14dffac3847c83864c175f4028311e00179cf /shell
parentdeb7ba40b7706ce7018c4effa42cfc886c251cce (diff)
Restart the search when reloading a document with the find bar visible.
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. svn path=/trunk/; revision=2659
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-window.c28
1 files changed, 21 insertions, 7 deletions
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;