GNOME Bugzilla – Bug 312573
Optimal selection of current page among visible pages
Last modified: 2006-04-29 12:21:18 UTC
Try to use Evince with a PDF with pages that are lying down. Scroll all the way to the bottom. Notice how even though you are at the bottom, the last page thumbnail isn't highlighted. This is of course a totally minor thing, but should nevertheless be noted. Probable reasons for this: Evince currently looks for the page viewed in the topmost line of the window, and highlights it. If the pages are very wide, having scrolled down to the very bottom of the document, you can still see a bit of the page above, causing Evince to think that it's in fact that page that is being viewed, and highlighting it in the toolbar list. Possible solutions: a) Check if the scrolling has hit the absolute bottom of the document. b) change the behaviour of Evince to check for which page occupies the middle of the screen instead of the top. b) could have some usability issues I haven't thought over, a) should be quite easily fixed.
I can think of the 3 logics to detect the current page: 1 (Current behavior). Current page is the top page displayed on the screen. Looks like both ms office and open office use it. It has the problem described in this bug report but it seem minor. 2 Current page is the page taking more space on the screen. This would seem the Adobe Acrobat behavior, at least of version 5. 3 Current page is bottom page if you are scrolling forward, top page if you are scrolling backward. I wanted to give this a try and I wrote a patch for it but I'm not really sure it's the best behavior... the fact that nor office nor adobe is using it may mean something ;)
Bryan what do you think it's the better behavior between these? (or if you have any other idea...).
Created attachment 51714 [details] [review] implement behavior 3
I'll have to try it out, but it sounds like the right thing.
Created attachment 59973 [details] [review] implement behavior 2 * shell/ev-view-private.h: * shell/ev-view.c: (view_update_range_and_current_page), (ev_view_size_allocate), (page_changed_cb), (on_adjustment_value_changed): Smart current-page selection, based on the visible area of visible's pages. Fix for the bug #312573.
Thanks for the patch, Ricardo. I think this change is too important to make it in the week before the hard code freeze. Let's postpone it on next cycle.
Nickolay: why so? It doesn't break any visible UI, doesn't change any strings, and fixes a minor bug. If it managed to get in before the RC, it'd seem ok to me...
I suspect the fix will be dangerous and is't two hours before RC2.
Well, it's your call! If it were me I'd probably commit it, but you're the dev and not me, and if you suspect this will break stuff then maybe it's better to wait. (btw, shouldn't it say developer next to your name here?)
*** Bug 333230 has been marked as a duplicate of this bug. ***
I've committed slightly modified patch, this bug should be fixed now.