Version: (using KDE KDE 3.4.0)
Installed from: Compiled From Sources
When pressing space in kpdf, kpdf scrolls down the document to the top of the following document-page.
However, the user would expect that the document is scrolled down by a visual page, i. e. the part of the document that is displayed in the viewport.
This is the way konqueror handles <space>, and may (non kde) application behave this way, too (gnu-info, man, less etc.). Therefore, I think it's reasonable to make space scroll down by visible pages in kpdf, too, be it only for the sake of consistency.
On Friday 06 May 2005 21:52, Leo Savernik wrote:
> Summary: space should scroll by viewport-page, not by document-
> When pressing space in kpdf, kpdf scrolls down the document to the top of
> the following document-page.
> However, the user would expect that the document is scrolled down by a
> visual page, i. e. the part of the document that is displayed in the
We take consistancy between apps in serious consideration. 3.5 will be fixed
for sure, Thanks for reporting!
Email.it, the professional e-mail, gratis per te: http://www.email.it/f
Hi, Leo, i'm closing this as invalid because i've looked at the sources and in nowhere we assign Space to advancing a page, stragely in configure shortcuts i also had that next page was Space but selecting default key for that shortcut made the key we assign in code "Page down", so i don't think there's anything we do, IMHO it is a misconfiguration of your kpdf. If you think otherwise please reopen.
My findings did show the following:
Next page/previous page were unassigned. Hence, page up/down went advanced by a *visual* page.
Then I pressed "default" for each of those two actions, and they were reset to page up/down (!). Now, certainly, pressing page up/down advanced by a *document* page.
Now this bug is not about the default actions of the page up/down keys, but about the default action of the space key. As the space key serves in many applications as *the* means to advance forward by one visual page, I propose kpdf should do the same, regardless which action the page up/down keys are bound to by default.
Space does not imply the same meaning of page down, as GNU info proves where space advances one page, whereas page down only advances half a page.
So I'm reopening as I consider it a consistency bug. If you think it's a wishlist item, feel free to change this bug.
Hi Leo, there is NO default action for Space
kpdf]$ grep -ri Key_Space *
ui/presentationwidget.cpp: else if ( e->key() == Key_Right || e->key() == Key_Space || e->key() == Key_Next )
and presentationwidget is used for the presentation view not for the normal view so i don't think how can i solve that
Well, that's easy. Simply implement a default handler for Key_Space that scrolls by one visual page (exactly as pg dn does when it is *not* assigned anywhere). So I don't actually see the problem in fixing this bug.
How about if we just get new actions available for "scroll down one visual page" and "scroll up one visual page" and people can assign whichever shortcuts they want?
Clearly, the default should have space connected to "scroll down one visual page".
While we are at it, I think it would be nice to have an action that can be used give browser-like function to the arrow keys. How about "scroll down 1 line" and "scroll up 1 line"?
Am Donnerstag, 10. November 2005 14:16 schrieb email@example.com:
> How about if we just get new actions available for "scroll down one visual
> page" and "scroll up one visual page" and people can assign whichever
> shortcuts they want?
> Clearly, the default should have space connected to "scroll down one visual
I fully support this. Since Acrobat Reader 6, it is the default, and people
simply expect this. I don't think it's a good idea to divert.
Created attachment 16843 [details]
make space and backspace work as expected
Ok, here's a patch that fixes space to advance one visual page just like pgdn
does, and for orthogonality with the presentation mode, backspace to retreat
one visual page just like pgup does.
I know that this is only a quickfix but as such it's perfectly suitable for
inclusion within KDE 3.5.4. Solving this problem on a more general level is
requested in bug 122511, but that's definitely KDE 4 stuff.
Advantages of this patch vs the current behaviour:
- Space works as expected (i. e. compliant to Acrobat Reader 6, Adobe Reader 7,
kviewshell, khtml, info, more, less, etc.)
- The user can revert to the old inconsistent behaviour by explicitly
configuring the shortcuts for "next page" and "previous page".
Please review and apply.
is the setShortcut(0) really needed?
Am Sonntag, 2. Juli 2006 11:49 schrieb Albert Astals Cid:
> is the setShortcut(0) really needed?
Yes, absolutely. Otherwise, it will be set by the default scheme to PgUp/PgDn
implicitly, thus destroying current behaviour of PgUp/PgDn. I. e. user who
are accustomed to the current working of PgUp/PgDn (visual page) will then be
alienated (physical page) if the shortcut isn't explicitly disabled.
SVN commit 557211 by aacid:
Make space scroll by viewport-page, not by document-page
Patch by Leo Savernik
M +2 -2 part.cpp
M +2 -0 ui/pageview.cpp
--- branches/KDE/3.5/kdegraphics/kpdf/part.cpp #557210:557211
@@ -213,13 +213,13 @@
m_prevPage = KStdAction::prior(this, SLOT(slotPreviousPage()), ac, "previous_page");
m_prevPage->setWhatsThis( i18n( "Moves to the previous page of the document" ) );
- m_prevPage->setShortcut( "Backspace" );
+ m_prevPage->setShortcut( 0 );
// dirty way to activate prev page when pressing miniBar's button
connect( m_miniBar, SIGNAL( prevPage() ), m_prevPage, SLOT( activate() ) );
m_nextPage = KStdAction::next(this, SLOT(slotNextPage()), ac, "next_page" );
m_nextPage->setWhatsThis( i18n( "Moves to the next page of the document" ) );
- m_nextPage->setShortcut( "Space" );
+ m_nextPage->setShortcut( 0 );
// dirty way to activate next page when pressing miniBar's button
connect( m_miniBar, SIGNAL( nextPage() ), m_nextPage, SLOT( activate() ) );
--- branches/KDE/3.5/kdegraphics/kpdf/ui/pageview.cpp #557210:557211
@@ -669,6 +669,7 @@
+ case Key_Backspace:
// if in single page mode and at the top of the screen, go to previous page
if ( KpdfSettings::viewContinuous() || verticalScrollBar()->value() > verticalScrollBar()->minValue() )
@@ -689,6 +690,7 @@
+ case Key_Space:
// if in single page mode and at the bottom of the screen, go to next page
if ( KpdfSettings::viewContinuous() || verticalScrollBar()->value() < verticalScrollBar()->maxValue() )