Summary: | Mouse wheel scrolling in Dolphin ignores global setting | ||
---|---|---|---|
Product: | [Applications] dolphin | Reporter: | Jared B. <nitro> |
Component: | general | Assignee: | Dolphin Bug Assignee <dolphin-bugs-null> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | a.skembris, bugs.kde.attila, cyberbeat, dev+kde, emmanuelpescosta099, frank78ac, greg, james.pittman.0210, kollix, lukas.schneiderbauer, mat, mcv, naelphin, ronpaul2999, samrog131, shlomif, wulf.richartz, yjcoshc |
Priority: | NOR | ||
Version: | 2.0 | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | 570d0e55b6bb77bd2da49704693dbcf0e2e7cb54 | Version Fixed In: | 16.04 |
Sentry Crash Report: |
Description
Jared B.
2012-03-09 03:24:15 UTC
I discovered another side-effect of this bug: Dolphin ignores the Shift key. In the whole of KDE, pressing Shift while turning the scroll wheel (or using the scroll function of a touchpad) scrolls by a whole page instead of a number of lines. This is a very handy feature (dearly missed whenever I'm in Windows :) ). It seems Dolphin is overwriting the scrolling behaviour. As to the OP's report: my Dolphin scrolls by 11 lines in details view, and on a friend's machine it scrolls 7 lines (both at the lowest icon size). We both have the default 3 lines set as scrolling distance. Resetting assignee to default as per bug #305719 *** Bug 316580 has been marked as a duplicate of this bug. *** *** Bug 326866 has been marked as a duplicate of this bug. *** *** Bug 352753 has been marked as a duplicate of this bug. *** On high DPI displays, the effect of the problem may be even more severe (see bug 352753). *** This bug has been confirmed by popular vote. *** I ran into this problem with dolphin-15.08.0 on KDE Frameworks 5.13.0 and qt 5.5.0 on Mageia Linux x86-64 v6. Very annoying. also see https://bugs.mageia.org/show_bug.cgi?id=16589 . Very annoying. 15.08.1 on Arch Linux also confirmed. Would like to confirm that this issue still exists in 15.08.2 in Arch Linux and that this problem is incredibly pronounced on systems utilising a trackpad - with the scrolling effect appearing to be both erratic and hit-and-miss as to whether or not one may scroll at all. Confirming for dolphin 15.08.3 with KF 5.18.0, qt 5.5.1 on Gentoo LInux and 160-dpi screen. Review https://git.reviewboard.kde.org/r/126718/ This bug has been fixed in master. Fix will be shipped with Dolphin 16.04. (In reply to Emmanuel Pescosta from comment #12) > Review https://git.reviewboard.kde.org/r/126718/ > > This bug has been fixed in master. > Fix will be shipped with Dolphin 16.04. for me, building the new dolphin from git master source on Mageia Linux x86-64 v6 does not seem to fix the problem. The only way I can get it to work is using this patch that I don't expect to be applied as is : diff --git a/src/kitemviews/kitemlistcontainer.cpp b/src/kitemviews/kitemlistcontainer.cpp index 94b49db..a48e92f 100644 --- a/src/kitemviews/kitemlistcontainer.cpp +++ b/src/kitemviews/kitemlistcontainer.cpp @@ -34,6 +34,7 @@ #include <QScrollBar> #include <QStyle> #include <QStyleOption> +#include <cstdio> /** @@ -167,6 +168,7 @@ void KItemListContainer::scrollContentsBy(int dx, int dy) void KItemListContainer::wheelEvent(QWheelEvent* event) { + printf ("[PinkiePie]qApp->wheelScrollLines() == %ld\n", (long)qApp->wheelScrollLines()); if (event->modifiers().testFlag(Qt::ControlModifier)) { event->ignore(); return; @@ -184,7 +186,7 @@ void KItemListContainer::wheelEvent(QWheelEvent* event) m_horizontalSmoothScroller : m_verticalSmoothScroller; const QScrollBar* scrollBar = smoothScroller->scrollBar(); - if (!event->pixelDelta().isNull()) { + if (false) { //if (!event->pixelDelta().isNull()) { const int numPixels = event->pixelDelta().y(); if (event->modifiers().testFlag(Qt::ShiftModifier)) { const int scrollingDirection = numPixels > 0 ? 1 : -1; @@ -194,6 +196,7 @@ void KItemListContainer::wheelEvent(QWheelEvent* event) } } else { const int numDegrees = event->angleDelta().y() / 8; + printf ("qApp->wheelScrollLines() == %ld\n", (long)qApp->wheelScrollLines()); const int numSteps = qApp->wheelScrollLines() * numDegrees / 15; if (event->modifiers().testFlag(Qt::ShiftModifier)) { const int scrollingDirection = numSteps > 0 ? 1 : -1; diff --git a/src/kitemviews/private/kitemlistsmoothscroller.cpp b/src/kitemviews/private/kitemlistsmoothscroller.cpp index c89d3cf..5af16df 100644 --- a/src/kitemviews/private/kitemlistsmoothscroller.cpp +++ b/src/kitemviews/private/kitemlistsmoothscroller.cpp @@ -25,6 +25,7 @@ #include <QScrollBar> #include <QWheelEvent> #include <QStyle> +#include <cstdio> KItemListSmoothScroller::KItemListSmoothScroller(QScrollBar* scrollBar, QObject* parent) : @@ -201,6 +202,7 @@ void KItemListSmoothScroller::handleWheelEvent(QWheelEvent* event) numPixels = event->pixelDelta().y(); } else { const int numDegrees = event->angleDelta().y() / 8; + printf ("qApp->wheelScrollLines() == %ld\n", (long)qApp->wheelScrollLines()); const int numSteps = qApp->wheelScrollLines() * numDegrees / 15; numPixels = numSteps * m_scrollBar->pageStep() / 12; } (In reply to Shlomi Fish from comment #13) When the real srolling distance (pixelDelta) is available, then Dolphin will use it to scroll the content. This is exactly what the documentation of pixelDelta [1] says: "The value should be used directly to scroll content on screen." This bug (and also the patch) is about the case where no pixelDelta is available. [1] https://doc.qt.io/qt-5/qwheelevent.html#pixelDelta (In reply to Shlomi Fish from comment #13) Please have a look at bug 357618 [1] [1] https://bugs.kde.org/show_bug.cgi?id=357618 I'm running 16.04, Dolphin version 15.12.3 and this issue does not appear to be fixed, Dolphin is still scrolling 6 lines per wheel click. (In reply to Greg Lepore from comment #16) > I'm running 16.04, Dolphin version 15.12.3 and this issue does not appear to > be fixed, Dolphin is still scrolling 6 lines per wheel click. Kubuntu 16.04 ? The bug is fixed with the Dolphin version 16.04 - The KDE Applications 16.04 will be released: https://community.kde.org/Schedules/Applications/16.04_Release_Schedule - 'Wednesday, April 20, 2016' At here with the Arch Linux - Dolphin 16.04 RC (16.03.90) is following global settings. I just updated to 16.04.1via the Tumbleweed repos and I seem to get the painfully slow version of this bug. I am on a 24" display with 2560X1440 resolution. Is there at least a workaround? It is really annoying. (In reply to Emmanuel Pescosta from comment #12) > Review https://git.reviewboard.kde.org/r/126718/ > > This bug has been fixed in master. > Fix will be shipped with Dolphin 16.04. The fix doesn't work. Fedora 24 Dolphin 16.04.1 KDE Frameworks 5.22.0 Qt 5.6.0 Do you need additional informations? Please reopen this bug report and change the status to confirmed. For me this bug still exists in dolphin 16.04.2. I found 4 similar bugs about this: https://bugs.kde.org/show_bug.cgi?id=357618 (with a workaround by uninstalling "xf86-input-libinput") https://bugs.kde.org/show_bug.cgi?id=295571 https://bugs.kde.org/show_bug.cgi?id=291144 https://bugs.kde.org/show_bug.cgi?id=358080 A workaround for Fedora 24: - erase the rpm xorg-x11-drv-libinput - install (if not installed) the rpm xorg-x11-drv-evdev Reboot your system. This is it. Nevertheless this nasty bug should be fixed, because it affects many parts and applications in KDE, not just Dolphin. Still not fixed in 16.04.2, please reopen and confirm. KDE Frameworks 5.26.0 Qt 5.6.1 (built against 5.6.1) The xcb windowing system *** Bug 354763 has been marked as a duplicate of this bug. *** |