Bug 141730

Summary: page down/up goes to next/previous picture istead of scolling a page
Product: [Applications] digikam Reporter: Daniel Bauer <linux>
Component: Albums-MainViewAssignee: Digikam Developers <digikam-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: Thomas.Eschenbacher, thomasdn
Priority: NOR    
Version: 0.9.1   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In: 2.0.0
Sentry Crash Report:
Attachments: Make PageUp/PageDown move by screen pages in the album view

Description Daniel Bauer 2007-02-15 09:57:55 UTC
Version:           0.9.1 svn (using KDE KDE 3.5.6)
Installed from:    SuSE RPMs
OS:                Linux

in album view clicking page down goes to the next picture (page up to the previous picture). This is just the same as using right or left arrow key.

I think page down/up keys should scroll to the next/previous page instead.
Comment 1 Fabien 2007-02-15 17:41:25 UTC
Hi Daniel,

It's not the same : right/left arrow move you to right or left thumbnail while page-up/page-down go to previous/next picture
Personaly, I like it like that...
Comment 2 Frank Siegert 2007-02-25 00:35:04 UTC
Fabien, can you explain in detail, what you mean? I tend to agree with Daniel, that page-up/down is doing exactly the same as left/right in album view.
Comment 3 Arnd Baecker 2007-07-01 12:03:48 UTC
I would also think that page up/down should go to next/previous page
(and also don't understand #1 ...)
Comment 4 Arnd Baecker 2007-11-01 18:43:21 UTC
So what should be done with this wish?
Pressing CTRL-PageDown goes down by one page...
Comment 5 krienke 2007-11-01 19:17:28 UTC
I too wondered about the fact that a page down only causes a "next photo" action which can also be triggered by pressing the cursor right key. As the word "page down" says I would expect exactly this. Go down/up one complete page (many photos up/down depending on the size of the window). 
Comment 6 Arnd Baecker 2007-11-02 11:10:37 UTC
Created attachment 21981 [details]
Make PageUp/PageDown  move by screen pages in the album view

OK, we also discussed this issue on the IRC yesterday,
and the conclusion is:

- comment #1 is not confirmed.
- PageDown/PageUp should do what they say ;-)
- In Preview mode: PageDown/CursorRight and PageUp/CursorLeft should
  go to the previous/next item.

When looking at the code I did at first not understand, why
CTRL+PageDown did the expected and PageDown
did just go to the next item
(routine void IconView::keyPressEvent(QKeyEvent* e)).
It turned out that in void DigikamApp::setupAccelerators()
Key_Next and Key_Prior are bound to signalNextItem() and signalPrevItem() !
so only if CTRL is pressed, it gets through to void
IconView::keyPressEvent(QKeyEvent* e).

This explains the approach taken in the attached patch:
a) in void DigikamApp::setupAccelerators() bind Key_Right and Key_Left
   to signalNextItem() and signalPrevItem()
b) Don't bind PageDown/PageUp (i.e. Key_Next, Key_Prev) in 
   DigikamApp::setupAccelerators()
c) a new void ImagePreviewView::keyPressEvent(QKeyEvent* e)
   to bind Key_PageDown and Key_PageUp in the preview mode.

However, c) does not work, i.e. the routine keyPressEvent is
never called.
So presumably this is the wrong approach/not done correctly.

Ideas how to solve this last bit are welcome!
Comment 7 Nicholas Sushkin 2008-01-02 11:01:54 UTC
Merely suggesting using Alt-Left (Back) and Alt-Right (Forward) for scrolling through the photos.
Comment 8 David Hammond 2008-01-27 20:03:34 UTC
I'm not sure whether this is related or not, but I'm having an issue in the embedded preview mode regarding the left/right keys, which I've bound to the Prior/Next actions in the KDE Control Center. When I select an image and hit Enter (or Image > View...), PgUp and PgDown allow me to switch between images, but left/right do not. Here's the kicker: If I switch to another window and then switch back, left/right suddenly work.
Comment 9 Thomas Damgaard 2009-08-23 20:57:54 UTC
I also think that the key *page down* should do exactly that -- scroll down one page. I think it is very confusing that it means next picture in this application when it means page down in (all?) other apps.
Comment 10 Thomas Eschenbacher 2011-04-25 19:30:22 UTC
I share the same opinion as above: PgUp/PgDown should work "scroll one page up/down" (Otherwise it is no fun to scroll through a large collection of images, e.g. the People/Unknown view of face detection that has ~23000 entries)

As reference, please take a look at the KDE user interface guidelines:
http://developer.kde.org/documentation/standards/kde/style/keys/cursorKeys.html

The root cause seems to be only a bogus default configuration.

You can work around as a user: just re-assign the keys through "Settings" / "Configure Shortcuts...", remove the PgUp/PgDown alternative key assignments from "Next Image" / "Previous Image", then it worked as expected in my case.
Comment 11 Thomas Damgaard 2011-04-25 20:16:39 UTC
This bug has been open for more than 4 years. It should be trivial to fix. Why not just decide if it is going to be fixed or not.
Comment 12 Marcel Wiesweg 2011-07-11 17:03:02 UTC
Git commit d96c93fc0e7c1d3cd2af31694f58f21b9f65bed8 by Marcel Wiesweg.
Committed on 01/07/2011 at 17:14.
Pushed by mwiesweg into branch 'master'.

Remove the global shortcut for PageUp/PageDown to be able to reuse these
keys for scrolling the views and to conform with guidelines and general
expectations.
There is still a global action bound to Space/Backspace which can be configured.

Add a local shortcut to the preview view to keep the old behavior in this context.

BUG: 141730

M  +2    -2    digikam/main/digikamapp.cpp     
M  +20   -0    digikam/views/stackedview.cpp     

http://commits.kde.org/digikam/d96c93fc0e7c1d3cd2af31694f58f21b9f65bed8
Comment 13 Marcel Wiesweg 2011-07-11 17:03:05 UTC
Git commit 3971346ba926160df3acf26bb61c36b8b636c43c by Marcel Wiesweg.
Committed on 01/07/2011 at 17:13.
Pushed by mwiesweg into branch 'master'.

Add an implementation for PageUp/PageDown which is pretty simple but seems
to work decently. Using QListView's implementation doesnt work because
we do the layouting ourselves, so listview's structures are invalid.

CCBUG: 141730

M  +24   -44   libs/widgets/common/digikamkcategorizedview.cpp     

http://commits.kde.org/digikam/3971346ba926160df3acf26bb61c36b8b636c43c