new class for controlling high res touchpads

This commit is contained in:
Luis Ángel San Martín
2015-01-23 18:53:59 +01:00
parent 976935b86d
commit d7a99ec639
8 changed files with 434 additions and 375 deletions

View File

@ -101,6 +101,7 @@ HEADERS += $$PWD/../common/comic.h \
$$PWD/yacreader_local_client.h \
$$PWD/../common/http_worker.h \
$$PWD/../common/exit_check.h \
$$PWD/../common/scroll_management.h
SOURCES += $$PWD/../common/comic.cpp \
$$PWD/configuration.cpp \
@ -135,6 +136,7 @@ SOURCES += $$PWD/../common/comic.cpp \
$$PWD/../common/http_worker.cpp \
$$PWD/../common/yacreader_global.cpp \
$$PWD/../common/exit_check.cpp \
$$PWD/../common/scroll_management.cpp
include($$PWD/../custom_widgets/custom_widgets_yacreader.pri)
include($$PWD/../compressed_archive/wrapper.pri)

View File

@ -475,30 +475,36 @@ void Viewer::wheelEvent(QWheelEvent * event)
{
if(render->hasLoadedComic())
{
if((event->delta()<0)&&(verticalScrollBar()->sliderPosition()==verticalScrollBar()->maximum()))
{
if(wheelStop)
{
next();
verticalScroller->stop();
event->accept();
wheelStop = false;
return;
}
else
wheelStop = true;
}
else
if((event->delta()<0)&&(verticalScrollBar()->sliderPosition()==verticalScrollBar()->maximum()))
{
if(wheelStop)
{
if(getMovement(event) == Forward)
{
next();
verticalScroller->stop();
event->accept();
wheelStop = false;
}
return;
}
else
wheelStop = true;
}
else
{
if((event->delta()>0)&&(verticalScrollBar()->sliderPosition()==verticalScrollBar()->minimum()))
{
if(wheelStop)
{
prev();
verticalScroller->stop();
event->accept();
wheelStop = false;
return;
{
if(getMovement(event) == Backward)
{
prev();
verticalScroller->stop();
event->accept();
wheelStop = false;
}
return;
}
else
wheelStop = true;

View File

@ -16,6 +16,8 @@
#include <QPropertyAnimation>
#include <QSettings>
#include "scroll_management.h"
class ComicDB;
class Comic;
class MagnifyingGlass;
@ -29,7 +31,7 @@ class Bookmarks;
class PageLabelWidget;
class NotificationsLabelWidget;
class Viewer : public QScrollArea
class Viewer : public QScrollArea, public ScrollManagement
{
Q_OBJECT
public: