X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fuisupport%2Ftreeviewtouch.cpp;h=31da5ed52569f41101d11c8d22142456645d8263;hp=13db59dbfdbbcc7cf4585675a7d45259aaf5d680;hb=cc6e7c08709c4e761e2fd9c2e322751015497003;hpb=d57c91811b8f989bcaa4d5a238c65e9ffcc3b1d4 diff --git a/src/uisupport/treeviewtouch.cpp b/src/uisupport/treeviewtouch.cpp index 13db59db..31da5ed5 100644 --- a/src/uisupport/treeviewtouch.cpp +++ b/src/uisupport/treeviewtouch.cpp @@ -1,36 +1,38 @@ /*************************************************************************** -* Copyright (C) 2005-2015 by the Quassel Project * -* devel@quassel-irc.org * -* * -* This program is free software; you can redistribute it and/or modify * -* it under the terms of the GNU General Public License as published by * -* the Free Software Foundation; either version 2 of the License, or * -* (at your option) version 3. * -* * -* This program is distributed in the hope that it will be useful, * -* but WITHOUT ANY WARRANTY; without even the implied warranty of * -* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * -* GNU General Public License for more details. * -* * -* You should have received a copy of the GNU General Public License * -* along with this program; if not, write to the * -* Free Software Foundation, Inc., * -* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * -***************************************************************************/ + * Copyright (C) 2005-2019 by the Quassel Project * + * devel@quassel-irc.org * + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) version 3. * + * * + * This program is distributed in the hope that it will be useful, * + * but WITHOUT ANY WARRANTY; without even the implied warranty of * + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * + * GNU General Public License for more details. * + * * + * You should have received a copy of the GNU General Public License * + * along with this program; if not, write to the * + * Free Software Foundation, Inc., * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * + ***************************************************************************/ + #include "treeviewtouch.h" -#include -#include +#include #include +#include -TreeViewTouch::TreeViewTouch(QWidget *parent) +TreeViewTouch::TreeViewTouch(QWidget* parent) : QTreeView(parent) { setAttribute(Qt::WA_AcceptTouchEvents); } -bool TreeViewTouch::event(QEvent *event) { - if (event->type() == QEvent::TouchBegin) { +bool TreeViewTouch::event(QEvent* event) +{ + if (event->type() == QEvent::TouchBegin && ((QTouchEvent*)event)->device()->type() == QTouchDevice::TouchScreen) { // Register that we may be scrolling, set the scroll mode to scroll-per-pixel // and accept the event (return true) so that we will receive TouchUpdate and TouchEnd/TouchCancel _touchScrollInProgress = true; @@ -43,8 +45,8 @@ bool TreeViewTouch::event(QEvent *event) { if (!_firstTouchUpdateHappened) { // After the first movement of a Touch-Point, calculate the distance in both axis // and if the point moved more horizontally abort scroll. - double dx = abs(p.lastPos().x() - p.pos().x()); - double dy = abs(p.lastPos().y() - p.pos().y()); + double dx = qAbs(p.lastPos().x() - p.pos().x()); + double dy = qAbs(p.lastPos().y() - p.pos().y()); if (dx > dy) { _touchScrollInProgress = false; } @@ -55,11 +57,7 @@ bool TreeViewTouch::event(QEvent *event) { return true; } -#if QT_VERSION >= 0x050000 if (event->type() == QEvent::TouchEnd || event->type() == QEvent::TouchCancel) { -#else - if (event->type() == QEvent::TouchEnd) { -#endif // End scroll and reset variables _touchScrollInProgress = false; _firstTouchUpdateHappened = false; @@ -69,12 +67,14 @@ bool TreeViewTouch::event(QEvent *event) { return QTreeView::event(event); } -void TreeViewTouch::mousePressEvent(QMouseEvent * event) { +void TreeViewTouch::mousePressEvent(QMouseEvent* event) +{ if (!_touchScrollInProgress) QTreeView::mousePressEvent(event); } -void TreeViewTouch::mouseMoveEvent(QMouseEvent * event) { +void TreeViewTouch::mouseMoveEvent(QMouseEvent* event) +{ if (!_touchScrollInProgress) QTreeView::mouseMoveEvent(event); -}; +}