Fix annoying touch overlap in room list

This commit is contained in:
Nicolas Werner 2021-07-31 11:04:47 +02:00
parent 5b5a89b522
commit 5b0bd26795
No known key found for this signature in database
GPG key ID: C8D75E610773F2D9
2 changed files with 27 additions and 20 deletions

View file

@ -212,9 +212,9 @@ ScrollView {
// force current read index to update // force current read index to update
onTriggered: { onTriggered: {
if (chat.model) { if (chat.model)
chat.model.setCurrentIndex(chat.model.currentIndex); chat.model.setCurrentIndex(chat.model.currentIndex);
}
} }
interval: 1000 interval: 1000
} }

View file

@ -172,31 +172,38 @@ Page {
} }
] ]
TapHandler { // NOTE(Nico): We want to prevent the touch areas from overlapping. For some reason we need to add 1px of padding for that...
margin: -Nheko.paddingSmall Item {
acceptedButtons: Qt.RightButton anchors.fill: parent
onSingleTapped: { anchors.margins: 1
if (!TimelineManager.isInvite)
roomContextMenu.show(roomId, tags);
TapHandler {
acceptedButtons: Qt.RightButton
onSingleTapped: {
if (!TimelineManager.isInvite)
roomContextMenu.show(roomId, tags);
}
gesturePolicy: TapHandler.ReleaseWithinBounds
acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus | DeviceType.TouchPad
} }
gesturePolicy: TapHandler.ReleaseWithinBounds
}
TapHandler { TapHandler {
margin: -Nheko.paddingSmall margin: -Nheko.paddingSmall
onSingleTapped: Rooms.setCurrentRoom(roomId) onSingleTapped: Rooms.setCurrentRoom(roomId)
onLongPressed: { onLongPressed: {
if (!isInvite) if (!isInvite)
roomContextMenu.show(roomId, tags); roomContextMenu.show(roomId, tags);
}
} }
}
HoverHandler { HoverHandler {
id: hovered id: hovered
acceptedDevices: PointerDevice.Mouse | PointerDevice.Stylus | DeviceType.TouchPad
}
margin: -Nheko.paddingSmall
} }
RowLayout { RowLayout {