X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fqtui%2Fchatview.cpp;h=cb9d740eeada428b69e4d9a0b67c1982c0ae7b1e;hb=faa66f7e00aeeea661b46f01bdfc715567eef669;hp=c6e6209502dd5f3dd1b268fb45fe238b011caee9;hpb=d57c91811b8f989bcaa4d5a238c65e9ffcc3b1d4;p=quassel.git diff --git a/src/qtui/chatview.cpp b/src/qtui/chatview.cpp index c6e62095..cb9d740e 100644 --- a/src/qtui/chatview.cpp +++ b/src/qtui/chatview.cpp @@ -109,11 +109,15 @@ bool ChatView::event(QEvent *event) } } - if (event->type() == QEvent::TouchBegin) { +#if QT_VERSION >= 0x050000 + if (event->type() == QEvent::TouchBegin && ((QTouchEvent*)event)->device()->type()==QTouchDevice::TouchScreen) { +#else + if (event->type() == QEvent::TouchBegin && ((QTouchEvent*)event)->deviceType()==QTouchEvent::TouchScreen) { +#endif // Enable scrolling by draging, disable selecting/clicking content setDragMode(QGraphicsView::ScrollHandDrag); setInteractive(false); - // if scrollbar is not visible we need to request backlog below else we need to accept + // if scrollbar is not visible we need to request backlog below else we need to accept // the event now (return true) so that we will receive TouchUpdate and TouchEnd/TouchCancel if (verticalScrollBar()->isVisible()) return true; } @@ -135,8 +139,8 @@ bool ChatView::event(QEvent *event) // After the first movement of a Touch-Point, calculate the distance in both axis // and if the point moved more horizontally abort scroll. QTouchEvent::TouchPoint p = ((QTouchEvent*)event)->touchPoints().at(0); - 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) { setDragMode(QGraphicsView::NoDrag); setInteractive(true); @@ -145,8 +149,11 @@ bool ChatView::event(QEvent *event) } // Applying the movement happens automatically by the drag-mode } - - if (event->type() == QEvent::Wheel || event->type() == QEvent::TouchBegin || event->type() == QEvent::TouchUpdate) { +#if QT_VERSION >= 0x050000 + if (event->type() == QEvent::Wheel || (event->type() == QEvent::TouchBegin && ((QTouchEvent*)event)->device()->type()==QTouchDevice::TouchScreen) || event->type() == QEvent::TouchUpdate) { +#else + if (event->type() == QEvent::Wheel || (event->type() == QEvent::TouchBegin && ((QTouchEvent*)event)->deviceType()==QTouchEvent::TouchScreen) || event->type() == QEvent::TouchUpdate) { +#endif if (!verticalScrollBar()->isVisible()) { scene()->requestBacklog(); return true;