X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-window.c;h=92e68f4b45f10893c84877a269b3c3455ada6c56;hb=8e19cbbce0b1860b2fdb5bb4453fc30601bea96b;hp=9990f61144cf390abfb877b47bc32ee1908a01f7;hpb=5120e3dbe4ca81eb71136a8cde7c4b17f14f23a8;p=evince.git diff --git a/shell/ev-window.c b/shell/ev-window.c index 9990f611..92e68f4b 100644 --- a/shell/ev-window.c +++ b/shell/ev-window.c @@ -1051,7 +1051,7 @@ ev_window_cmd_edit_find (GtkAction *action, EvWindow *ev_window) } else { update_chrome_flag (ev_window, EV_CHROME_FINDBAR, NULL, TRUE); - egg_find_bar_grab_focus (EGG_FIND_BAR (ev_window->priv->find_bar)); + gtk_widget_grab_focus (ev_window->priv->find_bar); } } @@ -1491,7 +1491,7 @@ ev_window_cmd_go_first_page (GtkAction *action, EvWindow *ev_window) { g_return_if_fail (EV_IS_WINDOW (ev_window)); - ev_page_cache_set_current_page (ev_window->priv->page_cache, 1); + ev_page_cache_set_current_page (ev_window->priv->page_cache, 0); } static void @@ -1502,7 +1502,7 @@ ev_window_cmd_go_last_page (GtkAction *action, EvWindow *ev_window) g_return_if_fail (EV_IS_WINDOW (ev_window)); n_pages = ev_page_cache_get_n_pages (ev_window->priv->page_cache); - ev_page_cache_set_current_page (ev_window->priv->page_cache, n_pages); + ev_page_cache_set_current_page (ev_window->priv->page_cache, n_pages - 1); } static void @@ -1874,9 +1874,12 @@ find_bar_search_changed_cb (EggFindBar *find_bar, if (ev_window->priv->document && EV_IS_DOCUMENT_FIND (ev_window->priv->document)) { - if (visible && search_string) { + if (visible && search_string && search_string[0]) { g_mutex_lock (EV_DOC_MUTEX); - ev_document_find_begin (EV_DOCUMENT_FIND (ev_window->priv->document), search_string, case_sensitive); + ev_document_find_begin (EV_DOCUMENT_FIND (ev_window->priv->document), + ev_view_get_page (EV_VIEW (ev_window->priv->view)), + search_string, + case_sensitive); g_mutex_unlock (EV_DOC_MUTEX); } else { g_mutex_lock (EV_DOC_MUTEX); @@ -1931,6 +1934,14 @@ ev_window_dispose (GObject *object) priv->password_uri = NULL; } + if (priv->find_bar) { + g_signal_handlers_disconnect_by_func + (window->priv->find_bar, + G_CALLBACK (find_bar_close_cb), + window); + priv->find_bar = NULL; + } + destroy_fullscreen_popup (window); G_OBJECT_CLASS (ev_window_parent_class)->dispose (object); @@ -2012,7 +2023,7 @@ static GtkActionEntry entries[] = { G_CALLBACK (ev_window_cmd_go_last_page) }, /* Help menu */ - { "HelpContents", GTK_STOCK_HELP, N_("_Contents"), NULL, + { "HelpContents", GTK_STOCK_HELP, N_("_Contents"), "F1", N_("Display help for the viewer application"), G_CALLBACK (ev_window_cmd_help_contents) },