summary refs log tree commit diff
diff options
context:
space:
mode:
authorNicolas Werner <nicolas.werner@hotmail.de>2021-04-11 22:24:39 +0200
committerNicolas Werner <nicolas.werner@hotmail.de>2021-04-11 22:24:50 +0200
commit18e96d5c7d17e02589767843235737314306b41b (patch)
treecce70194e3d2b296d0796239373004f6c494be45
parentMerge pull request #547 from LordMZTE/feature/notice (diff)
downloadnheko-18e96d5c7d17e02589767843235737314306b41b.tar.xz
Fix some TapHandler focus issues
-rw-r--r--resources/qml/Avatar.qml1
-rw-r--r--resources/qml/MessageView.qml1
-rw-r--r--resources/qml/QuickSwitcher.qml2
-rw-r--r--resources/qml/TimelineRow.qml2
-rw-r--r--resources/qml/TimelineView.qml9
-rw-r--r--resources/qml/TopBar.qml9
-rw-r--r--resources/qml/delegates/FileMessage.qml1
-rw-r--r--resources/qml/delegates/ImageMessage.qml6
-rw-r--r--resources/qml/delegates/Reply.qml2
-rw-r--r--resources/qml/emoji/EmojiPicker.qml13
10 files changed, 29 insertions, 17 deletions
diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml
index 07e68e10..108bb768 100644
--- a/resources/qml/Avatar.qml
+++ b/resources/qml/Avatar.qml
@@ -61,6 +61,7 @@ Rectangle {
         }
 
         layer.effect: OpacityMask {
+            cached: true
 
             maskSource: Rectangle {
                 anchors.fill: parent
diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml
index d8230151..b9606564 100644
--- a/resources/qml/MessageView.qml
+++ b/resources/qml/MessageView.qml
@@ -15,7 +15,6 @@ ScrollView {
     clip: false
     palette: colors
     padding: 8
-
     ScrollBar.horizontal.visible: false
 
     ListView {
diff --git a/resources/qml/QuickSwitcher.qml b/resources/qml/QuickSwitcher.qml
index 9f4691b6..166c788d 100644
--- a/resources/qml/QuickSwitcher.qml
+++ b/resources/qml/QuickSwitcher.qml
@@ -22,7 +22,7 @@ Popup {
     palette: colors
     onOpened: {
         completerPopup.open();
-	roomTextInput.forceActiveFocus();
+        roomTextInput.forceActiveFocus();
     }
     onClosed: {
         completerPopup.close();
diff --git a/resources/qml/TimelineRow.qml b/resources/qml/TimelineRow.qml
index a66b994a..321be5b2 100644
--- a/resources/qml/TimelineRow.qml
+++ b/resources/qml/TimelineRow.qml
@@ -29,11 +29,13 @@ Item {
     TapHandler {
         acceptedButtons: Qt.RightButton
         onSingleTapped: messageContextMenu.show(model.id, model.type, model.isEncrypted, model.isEditable)
+        gesturePolicy: TapHandler.ReleaseWithinBounds
     }
 
     TapHandler {
         onLongPressed: messageContextMenu.show(model.id, model.type, model.isEncrypted, model.isEditable)
         onDoubleTapped: chat.model.reply = model.id
+        gesturePolicy: TapHandler.ReleaseWithinBounds
     }
 
     RowLayout {
diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml
index fca5c366..481561d2 100644
--- a/resources/qml/TimelineView.qml
+++ b/resources/qml/TimelineView.qml
@@ -94,21 +94,22 @@ Page {
         property string eventId
         property int eventType
         property bool isEncrypted
-	property bool isEditable
+        property bool isEditable
 
         function show(eventId_, eventType_, isEncrypted_, isEditable_, showAt_) {
             eventId = eventId_;
             eventType = eventType_;
             isEncrypted = isEncrypted_;
-	    isEditable = isEditable_;
+            isEditable = isEditable_;
             if (showAt_)
                 open(showAt_);
             else
                 open();
         }
 
-	Platform.MenuItem {
-		id: reactionOption
+        Platform.MenuItem {
+            id: reactionOption
+
             text: qsTr("React")
             onTriggered: emojiPopup.show(null, function(emoji) {
                 TimelineManager.queueReactionMessage(messageContextMenu.eventId, emoji);
diff --git a/resources/qml/TopBar.qml b/resources/qml/TopBar.qml
index a3e398e6..188f456b 100644
--- a/resources/qml/TopBar.qml
+++ b/resources/qml/TopBar.qml
@@ -19,7 +19,11 @@ Rectangle {
     color: colors.window
 
     TapHandler {
-        onSingleTapped: TimelineManager.timeline.openRoomSettings()
+        onSingleTapped: {
+            TimelineManager.timeline.openRoomSettings();
+            eventPoint.accepted = true;
+        }
+        gesturePolicy: TapHandler.ReleaseWithinBounds
     }
 
     GridLayout {
@@ -57,7 +61,7 @@ Rectangle {
             height: avatarSize
             url: room ? room.roomAvatarUrl.replace("mxc://", "image://MxcImage/") : ""
             displayName: room ? room.roomName : qsTr("No room selected")
-            onClicked: TimelineManager.openRoomSettings()
+            onClicked: TimelineManager.timeline.openRoomSettings()
         }
 
         Label {
@@ -69,7 +73,6 @@ Rectangle {
             text: room ? room.roomName : qsTr("No room selected")
             maximumLineCount: 1
             elide: Text.ElideRight
-
         }
 
         MatrixText {
diff --git a/resources/qml/delegates/FileMessage.qml b/resources/qml/delegates/FileMessage.qml
index 285a9a33..e883ddbb 100644
--- a/resources/qml/delegates/FileMessage.qml
+++ b/resources/qml/delegates/FileMessage.qml
@@ -35,6 +35,7 @@ Item {
 
             TapHandler {
                 onSingleTapped: TimelineManager.timeline.saveMedia(model.data.id)
+                gesturePolicy: TapHandler.ReleaseWithinBounds
             }
 
             CursorShape {
diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml
index 0521258e..0c863c86 100644
--- a/resources/qml/delegates/ImageMessage.qml
+++ b/resources/qml/delegates/ImageMessage.qml
@@ -38,7 +38,11 @@ Item {
 
         TapHandler {
             enabled: model.data.type == MtxEvent.ImageMessage && img.status == Image.Ready
-            onSingleTapped: TimelineManager.openImageOverlay(model.data.url, model.data.id)
+            onSingleTapped: {
+                TimelineManager.openImageOverlay(model.data.url, model.data.id);
+                eventPoint.accepted = true;
+            }
+            gesturePolicy: TapHandler.ReleaseWithinBounds
         }
 
         HoverHandler {
diff --git a/resources/qml/delegates/Reply.qml b/resources/qml/delegates/Reply.qml
index 6763b71b..dc2124d5 100644
--- a/resources/qml/delegates/Reply.qml
+++ b/resources/qml/delegates/Reply.qml
@@ -19,6 +19,7 @@ Item {
 
     TapHandler {
         onSingleTapped: chat.positionViewAtIndex(chat.model.idToIndex(modelData.id), ListView.Contain)
+        gesturePolicy: TapHandler.ReleaseWithinBounds
     }
 
     CursorShape {
@@ -51,6 +52,7 @@ Item {
 
             TapHandler {
                 onSingleTapped: chat.model.openUserProfile(reply.modelData.userId)
+                gesturePolicy: TapHandler.ReleaseWithinBounds
             }
 
         }
diff --git a/resources/qml/emoji/EmojiPicker.qml b/resources/qml/emoji/EmojiPicker.qml
index 529a81c1..97dc0255 100644
--- a/resources/qml/emoji/EmojiPicker.qml
+++ b/resources/qml/emoji/EmojiPicker.qml
@@ -35,7 +35,6 @@ Menu {
     modal: true
     focus: true
     closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside
-
     height: columnView.implicitHeight + 4
 
     ColumnLayout {
@@ -44,17 +43,17 @@ Menu {
         spacing: 0
         anchors.leftMargin: 3
         anchors.rightMargin: 3
-	anchors.bottom: parent.bottom
-	anchors.left: parent.left
-	anchors.right: parent.right
-	anchors.topMargin: 2
+        anchors.bottom: parent.bottom
+        anchors.left: parent.left
+        anchors.right: parent.right
+        anchors.topMargin: 2
 
         // emoji grid
         GridView {
             id: gridView
 
-	    Layout.preferredHeight: cellHeight * 5
-	    Layout.preferredWidth: 7 * 52 + 20
+            Layout.preferredHeight: cellHeight * 5
+            Layout.preferredWidth: 7 * 52 + 20
             Layout.leftMargin: 4
             cellWidth: 52
             cellHeight: 52