Fix annoying touch overlap in room list

pull/662/head
Nicolas Werner 4 years ago
parent 5b5a89b522
commit 5b0bd26795
No known key found for this signature in database
GPG Key ID: C8D75E610773F2D9
  1. 4
      resources/qml/MessageView.qml
  2. 43
      resources/qml/RoomList.qml

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

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

Loading…
Cancel
Save