Fix some TapHandler focus issues

This commit is contained in:
Nicolas Werner 2021-04-11 22:24:39 +02:00
parent 9d97f9f705
commit 18e96d5c7d
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
10 changed files with 29 additions and 17 deletions

View file

@ -61,6 +61,7 @@ Rectangle {
}
layer.effect: OpacityMask {
cached: true
maskSource: Rectangle {
anchors.fill: parent

View file

@ -15,7 +15,6 @@ ScrollView {
clip: false
palette: colors
padding: 8
ScrollBar.horizontal.visible: false
ListView {

View file

@ -22,7 +22,7 @@ Popup {
palette: colors
onOpened: {
completerPopup.open();
roomTextInput.forceActiveFocus();
roomTextInput.forceActiveFocus();
}
onClosed: {
completerPopup.close();

View file

@ -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 {

View file

@ -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);

View file

@ -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 {

View file

@ -35,6 +35,7 @@ Item {
TapHandler {
onSingleTapped: TimelineManager.timeline.saveMedia(model.data.id)
gesturePolicy: TapHandler.ReleaseWithinBounds
}
CursorShape {

View file

@ -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 {

View file

@ -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
}
}

View file

@ -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