Optimize scrolling a little bit

master
Nicolas Werner 4 years ago
parent cbb4356b19
commit 6f557c19a1
  1. 3
      resources/qml/MatrixText.qml
  2. 2
      resources/qml/ScrollHelper.qml
  3. 49
      resources/qml/TimelineView.qml

@ -8,9 +8,6 @@ TextEdit {
selectByMouse: true selectByMouse: true
color: colors.text color: colors.text
font.hintingPreference: Font.PreferFullHinting
renderType: Text.NativeRendering
onLinkActivated: { onLinkActivated: {
if (/^https:\/\/matrix.to\/#\/(@.*)$/.test(link)) chat.model.openUserProfile(/^https:\/\/matrix.to\/#\/(@.*)$/.exec(link)[1]) if (/^https:\/\/matrix.to\/#\/(@.*)$/.test(link)) chat.model.openUserProfile(/^https:\/\/matrix.to\/#\/(@.*)$/.exec(link)[1])
else if (/^https:\/\/matrix.to\/#\/(![^\/]*)$/.test(link)) timelineManager.setHistoryView(/^https:\/\/matrix.to\/#\/(!.*)$/.exec(link)[1]) else if (/^https:\/\/matrix.to\/#\/(![^\/]*)$/.test(link)) timelineManager.setHistoryView(/^https:\/\/matrix.to\/#\/(!.*)$/.exec(link)[1])

@ -106,6 +106,6 @@ MouseArea {
//How long the scrollbar will remain visible //How long the scrollbar will remain visible
interval: 500 interval: 500
// Hide the scrollbars // Hide the scrollbars
onTriggered: flickable.cancelFlick(); onTriggered: { flickable.cancelFlick(); flickable.movementEnded(); }
} }
} }

@ -27,16 +27,16 @@ Page {
id: fontMetrics id: fontMetrics
} }
EmojiPicker { EmojiPicker {
id: emojiPopup id: emojiPopup
width: 7 * 52 + 20 width: 7 * 52 + 20
height: 6 * 52 height: 6 * 52
colors: palette colors: palette
model: EmojiProxyModel { model: EmojiProxyModel {
category: EmojiCategory.People category: EmojiCategory.People
sourceModel: EmojiModel {} sourceModel: EmojiModel {}
} }
} }
Menu { Menu {
id: messageContextMenu id: messageContextMenu
@ -114,7 +114,7 @@ Page {
ListView { ListView {
id: chat id: chat
visible: !!timelineManager.timeline visible: !!timelineManager.timeline
cacheBuffer: 400 cacheBuffer: 400
@ -206,14 +206,13 @@ Page {
} }
} }
Binding { Connections {
target: chat.model target: chat
property: "currentIndex" function onMovementEnded() {
when: y + height + 2 * chat.spacing > chat.contentY + chat.height && y < chat.contentY + chat.height if (y + height + 2 * chat.spacing > chat.contentY + chat.height && y < chat.contentY + chat.height)
value: index chat.model.currentIndex = index;
delayed: true }
} }
} }
section { section {
@ -296,13 +295,13 @@ Page {
} }
} }
footer: BusyIndicator { footer: BusyIndicator {
anchors.horizontalCenter: parent.horizontalCenter anchors.horizontalCenter: parent.horizontalCenter
running: chat.model && chat.model.paginationInProgress running: chat.model && chat.model.paginationInProgress
height: 50 height: 50
width: 50 width: 50
z: 3 z: 3
} }
} }
Rectangle { Rectangle {

Loading…
Cancel
Save