diff --git a/src/core/web_engine_settings.cpp b/src/core/web_engine_settings.cpp index 76eb7f25e305f22ba1352adb427ed5cce088f720..6af3210bf285e1216bba9b6873bc3205d197dd76 100644 --- a/src/core/web_engine_settings.cpp +++ b/src/core/web_engine_settings.cpp @@ -42,6 +42,7 @@ #include <QFont> #include <QTimer> +#include <QTouchDevice> static const int batchTimerTimeout = 100; @@ -68,6 +69,21 @@ private: #include "web_engine_settings.moc" +static inline bool isTouchScreenAvailable() { + static bool initialized = false; + static bool touchScreenAvailable = false; + if (!initialized) { + Q_FOREACH (const QTouchDevice *d, QTouchDevice::devices()) { + if (d->type() == QTouchDevice::TouchScreen) { + touchScreenAvailable = true; + break; + } + } + initialized = true; + } + return touchScreenAvailable; +} + WebEngineSettings::WebEngineSettings(WebEngineSettingsDelegate *delegate) : m_adapter(0) @@ -245,6 +261,7 @@ void WebEngineSettings::applySettingsToWebPreferences(WebPreferences *prefs) { // Override for now prefs->java_enabled = false; + prefs->touch_enabled = isTouchScreenAvailable(); // Attributes mapping. prefs->loads_images_automatically = testAttribute(AutoLoadImages);