From 45f80a52c2d01ba14f550e48e32d95748a3ff444 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 18 Jan 2017 09:32:12 +0100 Subject: Windows platform headers: Add isTabletMode() Add a bool function querying Windows 10 tablet mode. Task-number: QTBUG-56831 Change-Id: Ief728a7d80a11ba79f7859033ff4be6ef79bbd4e Reviewed-by: Leena Miettinen Reviewed-by: Joerg Bornemann --- src/plugins/platforms/windows/qwindowsnativeinterface.cpp | 15 +++++++++++++-- src/plugins/platforms/windows/qwindowsnativeinterface.h | 2 ++ 2 files changed, 15 insertions(+), 2 deletions(-) (limited to 'src/plugins/platforms') diff --git a/src/plugins/platforms/windows/qwindowsnativeinterface.cpp b/src/plugins/platforms/windows/qwindowsnativeinterface.cpp index cee5dbf165..d750eef19d 100644 --- a/src/plugins/platforms/windows/qwindowsnativeinterface.cpp +++ b/src/plugins/platforms/windows/qwindowsnativeinterface.cpp @@ -38,6 +38,7 @@ ****************************************************************************/ #include "qwindowsnativeinterface.h" +#include "qwindowsclipboard.h" #include "qwindowswindow.h" #include "qwindowscontext.h" #include "qwindowscursor.h" @@ -45,6 +46,7 @@ #include "qwindowsopengltester.h" #include "qwindowsintegration.h" #include "qwindowsmime.h" +#include "qwin10helpers.h" #include #include @@ -253,14 +255,23 @@ QFont QWindowsNativeInterface::logFontToQFont(const void *logFont, int verticalD return QWindowsFontDatabase::LOGFONT_to_QFont(*reinterpret_cast(logFont), verticalDpi); } +bool QWindowsNativeInterface::isTabletMode() +{ +#if QT_CONFIG(clipboard) + if (const QWindowsClipboard *clipboard = QWindowsClipboard::instance()) + return qt_windowsIsTabletMode(clipboard->clipboardViewer()); +#endif + return false; +} + QFunctionPointer QWindowsNativeInterface::platformFunction(const QByteArray &function) const { if (function == QWindowsWindowFunctions::setTouchWindowTouchTypeIdentifier()) return QFunctionPointer(QWindowsWindow::setTouchWindowTouchTypeStatic); else if (function == QWindowsWindowFunctions::setHasBorderInFullScreenIdentifier()) return QFunctionPointer(QWindowsWindow::setHasBorderInFullScreenStatic); - else if (function == QWindowsWindowFunctions::setWindowActivationBehaviorIdentifier()) - return QFunctionPointer(QWindowsNativeInterface::setWindowActivationBehavior); + else if (function == QWindowsWindowFunctions::isTabletModeIdentifier()) + return QFunctionPointer(QWindowsNativeInterface::isTabletMode); return Q_NULLPTR; } diff --git a/src/plugins/platforms/windows/qwindowsnativeinterface.h b/src/plugins/platforms/windows/qwindowsnativeinterface.h index 4a67400b15..d085a4afb3 100644 --- a/src/plugins/platforms/windows/qwindowsnativeinterface.h +++ b/src/plugins/platforms/windows/qwindowsnativeinterface.h @@ -102,6 +102,8 @@ public: static void setWindowActivationBehavior(QWindowsWindowFunctions::WindowActivationBehavior b) { QWindowsNativeInterface::m_windowActivationBehavior = b; } + static bool isTabletMode(); + QFunctionPointer platformFunction(const QByteArray &function) const override; private: -- cgit v1.2.3