diff options
| author | Mike Skec <skec@protonmail.ch> | 2021-02-22 08:26:38 +1100 |
|---|---|---|
| committer | Felix Queißner <felix@ib-queissner.de> | 2021-02-24 13:10:20 +0100 |
| commit | 5d39646cefe10eb49624e156693eacb34ee87ae1 (patch) | |
| tree | c49648772d798709be41fd8305db1d8d1b5d3f51 /src/widgets/kristalltextbrowser.cpp | |
| parent | 1db0a60a425e2b1008e805979f4fa8edfb9b4993 (diff) | |
| download | kristall-5d39646cefe10eb49624e156693eacb34ee87ae1.tar.gz | |
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
Diffstat (limited to 'src/widgets/kristalltextbrowser.cpp')
| -rw-r--r-- | src/widgets/kristalltextbrowser.cpp | 12 |
1 files changed, 8 insertions, 4 deletions
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; + } } } |
