Warning, /graphics/krita/3rdparty/ext_qt/0013-Emulate-Long-Press-as-Right-Click-on-Android.patch is written in an unsupported language. File is not indexed.
0001 From d2502b1cc175f07b60b9455af4cc779bbaf2fd12 Mon Sep 17 00:00:00 2001 0002 From: Sharaf Zaman <sharafzaz121@gmail.com> 0003 Date: Sat, 12 Sep 2020 10:43:06 +0000 0004 Subject: [PATCH 13/46] Emulate Long Press as Right Click on Android 0005 0006 --- 0007 src/plugins/platforms/android/androidjniinput.cpp | 13 +++++++++++-- 0008 1 file changed, 11 insertions(+), 2 deletions(-) 0009 0010 diff --git a/src/plugins/platforms/android/androidjniinput.cpp b/src/plugins/platforms/android/androidjniinput.cpp 0011 index 685f40d2ae..b59be80a1b 100644 0012 --- a/src/plugins/platforms/android/androidjniinput.cpp 0013 +++ b/src/plugins/platforms/android/androidjniinput.cpp 0014 @@ -224,13 +224,16 @@ namespace QtAndroidInput 0015 QMetaObject::invokeMethod(inputContext, "longPress", Q_ARG(int, x), Q_ARG(int, y)); 0016 0017 //### TODO: add proper API for Qt 5.2 0018 - static bool rightMouseFromLongPress = qEnvironmentVariableIntValue("QT_NECESSITAS_COMPATIBILITY_LONG_PRESS"); 0019 + static bool rightMouseFromLongPress = true; 0020 if (!rightMouseFromLongPress) 0021 return; 0022 m_ignoreMouseEvents = true; 0023 QPoint globalPos(x,y); 0024 QWindow *tlw = topLevelWindowAt(globalPos); 0025 - QPoint localPos = tlw ? (globalPos-tlw->position()) : globalPos; 0026 + QPoint localPos = globalPos; 0027 + if (tlw && tlw->handle()) { 0028 + localPos = tlw->handle()->mapFromGlobal(globalPos); 0029 + } 0030 0031 // Release left button 0032 QWindowSystemInterface::handleMouseEvent(tlw, 0033 @@ -243,6 +246,12 @@ namespace QtAndroidInput 0034 localPos, 0035 globalPos, 0036 Qt::MouseButtons(Qt::RightButton)); 0037 + 0038 + // Release right button 0039 + QWindowSystemInterface::handleMouseEvent(tlw, 0040 + localPos, 0041 + globalPos, 0042 + Qt::MouseButtons(Qt::NoButton)); 0043 } 0044 0045 static void touchBegin(JNIEnv */*env*/, jobject /*thiz*/, jint /*winId*/) 0046 -- 0047 2.33.0 0048