diff --git a/CHANGELOG.md b/CHANGELOG.md index dff24d7db..3b6c9a63d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,18 @@ Version counting is based on semantic versioning (Major.Feature.Patch) -## WIP +## 9.9.1 + +### YACReader +* Fix "go to" dialog not clearing the page number between runs. +* Fix scroll behavior in "go to flow" view (macos). + +### YACReaderLibrary +* Fix scroll behavior in "cover flow" view (macos). +* Fix grid view unable to scroll in some systems. + + +## 9.9.0 ### YACReader * Show error when opening bad open recent entries diff --git a/YACReader/goto_dialog.cpp b/YACReader/goto_dialog.cpp index ea783fb79..537ab9104 100644 --- a/YACReader/goto_dialog.cpp +++ b/YACReader/goto_dialog.cpp @@ -74,6 +74,7 @@ void GoToDialog::setNumPages(unsigned int numPages) void GoToDialog::open() { + pageNumber->clear(); pageNumber->setFocus(); QDialog::open(); } diff --git a/YACReaderLibrary/qml/GridComicsView.qml b/YACReaderLibrary/qml/GridComicsView.qml index 50b7db6bf..d5366df51 100644 --- a/YACReaderLibrary/qml/GridComicsView.qml +++ b/YACReaderLibrary/qml/GridComicsView.qml @@ -707,8 +707,7 @@ Rectangle { currentIndex: 0 cacheBuffer: 0 - //disable flickable behaviour - interactive: false + interactive: true move: Transition { NumberAnimation { properties: "x,y"; duration: 250 } diff --git a/common/scroll_management.cpp b/common/scroll_management.cpp index a9573037a..6bdef5cd6 100644 --- a/common/scroll_management.cpp +++ b/common/scroll_management.cpp @@ -1,4 +1,6 @@ #include "scroll_management.h" +#include +#include ScrollManagement::ScrollManagement() { @@ -9,12 +11,24 @@ ScrollManagement::ScrollManagement() ScrollManagement::Movement ScrollManagement::getMovement(QWheelEvent *event) { - /*QLOG_DEBUG() << "WheelEvent angle delta : " << event->angleDelta(); - QLOG_DEBUG() << "WheelEvent pixel delta : " << event->pixelDelta();*/ + // qDebug() << "WheelEvent angle delta : " << event->angleDelta(); + // qDebug() << "WheelEvent pixel delta : " << event->pixelDelta(); + // qDebug() << "Accumulator : " << wheelAccumulator; + int delta; int tooFast = 1; int timeThrottle = 16; - int minimumMove = 70; + int minimumMove; + + if (event->pixelDelta().x() != 0 || event->pixelDelta().y() != 0) { + delta = event->pixelDelta().y() + event->pixelDelta().x(); + minimumMove = 30; + } else { + delta = (event->angleDelta().y() / 8) + (event->angleDelta().x() / 8); + minimumMove = 8; + } + + wheelAccumulator += delta; // avoid any events overflood if ((wheelTimer->elapsed() < tooFast)) { @@ -22,12 +36,6 @@ ScrollManagement::Movement ScrollManagement::getMovement(QWheelEvent *event) return None; } - // Accumulate the delta - if ((event->angleDelta().y() < 0) != (wheelAccumulator < 0)) // different sign means change in direction - wheelAccumulator = 0; - - wheelAccumulator += event->angleDelta().y(); - // Do not process events too fast if ((wheelTimer->elapsed() < timeThrottle)) { event->setAccepted(true); diff --git a/common/yacreader_global.h b/common/yacreader_global.h index dbaac0737..306014d77 100644 --- a/common/yacreader_global.h +++ b/common/yacreader_global.h @@ -5,7 +5,7 @@ #include #include -#define VERSION "9.9.0" +#define VERSION "9.9.1" #define REMOTE_BROWSE_PERFORMANCE_WORKAROUND "REMOTE_BROWSE_PERFORMANCE_WORKAROUND"