diff --git a/plugins/dockers/throttle/Throttle.cpp b/plugins/dockers/throttle/Throttle.cpp --- a/plugins/dockers/throttle/Throttle.cpp +++ b/plugins/dockers/throttle/Throttle.cpp @@ -36,6 +36,20 @@ #include "KisUpdateSchedulerConfigNotifier.h" +#include + +namespace +{ + +bool shouldSetAcceptTouchEvents() +{ + static QVersionNumber qtVersion = QVersionNumber::fromString(qVersion()); + static bool retval = qtVersion > QVersionNumber(5, 9, 3) && qtVersion.normalized() != QVersionNumber(5, 10); + return retval; +} + +} // namespace + ThreadManager::ThreadManager(QObject *parent) : QObject(parent), @@ -81,6 +95,9 @@ Throttle::Throttle(QWidget *parent) : QQuickWidget(parent) { + if (shouldSetAcceptTouchEvents()) { + setAttribute(Qt::WA_AcceptTouchEvents); + } m_threadManager = new ThreadManager(); // In % of available cores... engine()->rootContext()->setContextProperty("ThreadManager", m_threadManager); diff --git a/plugins/dockers/touchdocker/TouchDockerDock.cpp b/plugins/dockers/touchdocker/TouchDockerDock.cpp --- a/plugins/dockers/touchdocker/TouchDockerDock.cpp +++ b/plugins/dockers/touchdocker/TouchDockerDock.cpp @@ -52,6 +52,20 @@ #include #include +#include + +namespace +{ + +bool shouldSetAcceptTouchEvents() +{ + static QVersionNumber qtVersion = QVersionNumber::fromString(qVersion()); + static bool retval = qtVersion > QVersionNumber(5, 9, 3) && qtVersion.normalized() != QVersionNumber(5, 10); + return retval; +} + +} // namespace + class TouchDockerDock::Private { public: @@ -99,6 +113,9 @@ } m_quickWidget = new QQuickWidget(this); + if (shouldSetAcceptTouchEvents()) { + m_quickWidget->setAttribute(Qt::WA_AcceptTouchEvents); + } setWidget(m_quickWidget); setEnabled(true); m_quickWidget->engine()->rootContext()->setContextProperty("mainWindow", this); @@ -309,6 +326,9 @@ dlg->setButtons(KoDialog::None); QQuickWidget *quickWidget = new QQuickWidget(this); + if (shouldSetAcceptTouchEvents()) { + quickWidget->setAttribute(Qt::WA_AcceptTouchEvents); + } dlg->setMainWidget(quickWidget); setEnabled(true);