From 5d39646cefe10eb49624e156693eacb34ee87ae1 Mon Sep 17 00:00:00 2001 From: Mike Skec Date: Mon, 22 Feb 2021 08:26:38 +1100 Subject: KristallTextBrowser: touch scroll fix Tries to use touch scrolling only if a TouchScreen device is present. This prevents Touch*Pad* devices from allowing annoying click+mouse scrolling --- src/widgets/kristalltextbrowser.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/widgets/kristalltextbrowser.cpp') diff --git a/src/widgets/kristalltextbrowser.cpp b/src/widgets/kristalltextbrowser.cpp index e2c017b..b00a870 100644 --- a/src/widgets/kristalltextbrowser.cpp +++ b/src/widgets/kristalltextbrowser.cpp @@ -15,11 +15,15 @@ KristallTextBrowser::KristallTextBrowser(QWidget *parent) : { connect(this, &QTextBrowser::anchorClicked, this, &KristallTextBrowser::on_anchorClicked); - // Enable touch scrolling - if (QTouchDevice::devices().length() > 0) + // Enable touch scrolling on touchscreen devices + for (int i = 0; i < QTouchDevice::devices().length(); ++i) { - this->viewport()->setAttribute(Qt::WA_AcceptTouchEvents); - QScroller::grabGesture(this, QScroller::LeftMouseButtonGesture); + if (QTouchDevice::devices()[i]->type() == QTouchDevice::TouchScreen) + { + this->viewport()->setAttribute(Qt::WA_AcceptTouchEvents); + QScroller::grabGesture(this, QScroller::LeftMouseButtonGesture); + break; + } } } -- cgit v1.2.3