Scroll to the search result selected by user

Resolves: #1162254
This commit is contained in:
Marek Kasik 2014-11-19 12:24:50 +01:00
parent 247e80d268
commit 0350bfe872
3 changed files with 91 additions and 1 deletions

View File

@ -0,0 +1,38 @@
From 5310e9e9bb7e29490c89e3e53243088d7ce5f518 Mon Sep 17 00:00:00 2001
From: Marek Kasik <mkasik@redhat.com>
Date: Mon, 19 May 2014 14:32:19 +0200
Subject: [PATCH 1/2] Scroll to the search result selected by user
Scroll to page on which is the search result selected by user
when not in continuous mode.
https://bugzilla.gnome.org/show_bug.cgi?id=730252
---
libview/ev-view.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libview/ev-view.c b/libview/ev-view.c
index 5ed2d78..f3aa033 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -8158,6 +8158,9 @@ jump_to_find_page (EvView *view, EvViewFindDirection direction, gint shift)
break;
}
}
+
+ if (!view->continuous)
+ ev_document_model_set_page (view->model, view->find_page);
}
static void
@@ -8282,6 +8285,7 @@ ev_view_find_set_result (EvView *view, gint page, gint result)
{
view->find_page = page;
view->find_result = result;
+ jump_to_find_page (view, EV_VIEW_FIND_NEXT, 0);
jump_to_find_result (view);
gtk_widget_queue_draw (GTK_WIDGET (view));
}
--
2.1.0

View File

@ -0,0 +1,41 @@
From d39c99cbb1c28a894b09f467b18e34754fd6842f Mon Sep 17 00:00:00 2001
From: Marek Kasik <mkasik@redhat.com>
Date: Tue, 18 Nov 2014 12:53:40 +0100
Subject: [PATCH 2/2] Show correct page when next search result requested
If there are more than 1 results on a page then requesting
next search result from the same page will not return you
to the page with the search results if you moved from the
page in the meantime (when you are not in continuous mode).
This applies also to previous results.
https://bugzilla.gnome.org/show_bug.cgi?id=730252
---
libview/ev-view.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libview/ev-view.c b/libview/ev-view.c
index f3aa033..a9159cd 100644
--- a/libview/ev-view.c
+++ b/libview/ev-view.c
@@ -8250,6 +8250,8 @@ ev_view_find_next (EvView *view)
if (view->find_result >= n_results) {
view->find_result = 0;
jump_to_find_page (view, EV_VIEW_FIND_NEXT, 1);
+ } else if (view->find_page != view->current_page) {
+ jump_to_find_page (view, EV_VIEW_FIND_NEXT, 0);
}
jump_to_find_result (view);
@@ -8264,6 +8266,8 @@ ev_view_find_previous (EvView *view)
if (view->find_result < 0) {
jump_to_find_page (view, EV_VIEW_FIND_PREV, -1);
view->find_result = MAX (0, ev_view_find_get_n_results (view, view->find_page) - 1);
+ } else if (view->find_page != view->current_page) {
+ jump_to_find_page (view, EV_VIEW_FIND_PREV, 0);
}
jump_to_find_result (view);
--
2.1.0

View File

@ -5,7 +5,7 @@
Name: evince
Version: 3.14.1
Release: 5%{?dist}
Release: 6%{?dist}
Summary: Document viewer
License: GPLv2+ and GPLv3+ and LGPLv2+ and MIT and Afmparse
@ -18,6 +18,10 @@ Patch0: 0001-Disable-toggle-find-action-for-documents-not-support.patch
Patch1: 0001-Fix-runtime-critical-warning-when-starting-in-fullsc.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1162254
Patch2: 0001-Scroll-to-the-search-result-selected-by-user.patch
Patch3: 0002-Show-correct-page-when-next-search-result-requested.patch
BuildRequires: glib2-devel >= %{glib2_version}
BuildRequires: gtk3-devel >= %{gtk3_version}
BuildRequires: poppler-glib-devel >= %{poppler_version}
@ -129,6 +133,8 @@ This package contains the evince web browser plugin.
%patch0 -p1 -b .toggle-find
%patch1 -p1 -b .unref
%patch2 -p1 -b .scroll-to-search-result
%patch3 -p1 -b .scroll-to-search-result2
%build
./autogen.sh
@ -262,6 +268,11 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas >&/dev/null ||:
%{_libdir}/mozilla/plugins/libevbrowserplugin.so
%changelog
* Wed Nov 19 2014 Marek Kasik <mkasik@redhat.com> - 3.14.1-6
- Scroll to page on which is the search result selected by user
- when not in continuous mode.
- Resolves: #1162254
* Tue Nov 18 2014 Marek Kasik <mkasik@redhat.com> - 3.14.1-5
- Use libgnome-desktop to generate and cache thumbnails
- Resolves: #1147270