From 879ef31fcfcebfe40807a477e22504dc77b606c3 Mon Sep 17 00:00:00 2001
From: Loren Burkholder <computersemiexpert@outlook.com>
Date: Sat, 30 Sep 2023 10:00:04 -0400
Subject: [PATCH] Qt 6.4 properly supports scrolling text with touch

---
 resources/qml/MatrixText.qml               |  7 +++----
 resources/qml/delegates/TextMessage.qml    |  8 ++++----
 resources/qml/dialogs/RawMessageDialog.qml |  7 +++----
 resources/qml/dialogs/RoomSettings.qml     |  1 -
 resources/qml/pages/UserSettingsPage.qml   | 13 ++++++-------
 5 files changed, 16 insertions(+), 20 deletions(-)

diff --git a/resources/qml/MatrixText.qml b/resources/qml/MatrixText.qml
index 94b8bb986..b3a8a05a7 100644
--- a/resources/qml/MatrixText.qml
+++ b/resources/qml/MatrixText.qml
@@ -2,9 +2,9 @@
 //
 // SPDX-License-Identifier: GPL-3.0-or-later
 
-import QtQuick 2.5
-import QtQuick.Controls 2.3
-import im.nheko 1.0
+import QtQuick
+import QtQuick.Controls
+import im.nheko
 
 TextEdit {
     id: r
@@ -28,7 +28,6 @@ TextEdit {
     color: palette.text
     focus: false
     readOnly: true
-    selectByMouse: !Settings.mobileMode
     textFormat: TextEdit.RichText
     wrapMode: Text.Wrap
 
diff --git a/resources/qml/delegates/TextMessage.qml b/resources/qml/delegates/TextMessage.qml
index 1eb5e2c07..aabb7136a 100644
--- a/resources/qml/delegates/TextMessage.qml
+++ b/resources/qml/delegates/TextMessage.qml
@@ -3,8 +3,8 @@
 // SPDX-License-Identifier: GPL-3.0-or-later
 
 import ".."
-import QtQuick.Controls 2.3
-import im.nheko 1.0
+import QtQuick.Controls
+import im.nheko
 
 MatrixText {
     required property string body
@@ -42,8 +42,8 @@ MatrixText {
     width: parent?.width ?? 0
     height: !keepFullText ? Math.round(Math.min(timelineView.height / 8, implicitHeight)) : implicitHeight
     clip: !keepFullText
-    selectByMouse: !Settings.mobileMode && !isReply
-    enabled: !Settings.mobileMode
+    selectByMouse: !isReply
+//    enabled: !Settings.mobileMode
     font.pointSize: (Settings.enlargeEmojiOnlyMessages && isOnlyEmoji > 0 && isOnlyEmoji < 4) ? Settings.fontSize * 3 : Settings.fontSize
 
     NhekoCursorShape {
diff --git a/resources/qml/dialogs/RawMessageDialog.qml b/resources/qml/dialogs/RawMessageDialog.qml
index a27d988eb..653b136f6 100644
--- a/resources/qml/dialogs/RawMessageDialog.qml
+++ b/resources/qml/dialogs/RawMessageDialog.qml
@@ -2,9 +2,9 @@
 //
 // SPDX-License-Identifier: GPL-3.0-or-later
 
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-import im.nheko 1.0
+import QtQuick
+import QtQuick.Controls
+import im.nheko
 
 ApplicationWindow {
     id: rawMessageRoot
@@ -32,7 +32,6 @@ ApplicationWindow {
             font: Nheko.monospaceFont()
             color: palette.text
             readOnly: true
-            selectByMouse: !Settings.mobileMode
             textFormat: Text.PlainText
 
             anchors.fill: parent
diff --git a/resources/qml/dialogs/RoomSettings.qml b/resources/qml/dialogs/RoomSettings.qml
index 3b8e19032..1ff6876e5 100644
--- a/resources/qml/dialogs/RoomSettings.qml
+++ b/resources/qml/dialogs/RoomSettings.qml
@@ -208,7 +208,6 @@ ApplicationWindow {
                         : (roomSettings.plainRoomTopic === "" ? ("<i>" + qsTr("No topic set") + "</i>") : roomSettings.roomTopic)
                 wrapMode: TextEdit.WordWrap
                 background: null
-                selectByMouse: !Settings.mobileMode
                 color: palette.text
                 horizontalAlignment: TextEdit.AlignHCenter
                 onLinkActivated: Nheko.openLink(link)
diff --git a/resources/qml/pages/UserSettingsPage.qml b/resources/qml/pages/UserSettingsPage.qml
index f23095b63..80e43ce3d 100644
--- a/resources/qml/pages/UserSettingsPage.qml
+++ b/resources/qml/pages/UserSettingsPage.qml
@@ -5,12 +5,12 @@
 pragma ComponentBehavior: Bound
 import ".."
 import "../ui"
-import Qt.labs.platform 1.1 as Platform
-import QtQuick 2.15
-import QtQuick.Controls 2.15
-import QtQuick.Layouts 1.2
-import QtQuick.Window 2.15
-import im.nheko 1.0
+import Qt.labs.platform as Platform
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+import QtQuick.Window
+import im.nheko
 
 Rectangle {
     id: userSettingsDialog
@@ -163,7 +163,6 @@ Rectangle {
                                 color: palette.text
                                 text: model.value
                                 readOnly: true
-                                selectByMouse: !Settings.mobileMode
                                 textFormat: Text.PlainText
                             }
                         }
-- 
GitLab