From a530db858311ee6c5566b8d96185cc18529d968a Mon Sep 17 00:00:00 2001 From: Aline Gondim Santos Date: Wed, 8 Mar 2023 10:28:22 -0300 Subject: [PATCH] chatview: fix scroll to bottom behavior Change-Id: Ie010f60784400bdb497a10a656ccb953c8c7ac65 GitLab: #1022 GitLab: #1020 --- src/app/mainview/components/MessageListView.qml | 10 ++-------- src/app/mainview/components/ScrollToBottomButton.qml | 10 ++++------ 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/src/app/mainview/components/MessageListView.qml b/src/app/mainview/components/MessageListView.qml index 1d45a560..aa1d0fa3 100644 --- a/src/app/mainview/components/MessageListView.qml +++ b/src/app/mainview/components/MessageListView.qml @@ -31,7 +31,6 @@ import "../../commoncomponents" JamiListView { id: root - function getDistanceToBottom() { const scrollDiff = ScrollBar.vertical.position - (1.0 - ScrollBar.vertical.size) @@ -169,11 +168,7 @@ JamiListView { topMargin: 12 spacing: 2 - // this offscreen caching is pretty huge - // displayMarginEnd may be removed - displayMarginBeginning: 2048 - displayMarginEnd: 2048 maximumFlickVelocity: 2048 verticalLayoutDirection: ListView.BottomToTop boundsBehavior: Flickable.StopAtBounds @@ -238,7 +233,6 @@ JamiListView { } - onAtYBeginningChanged: loadMoreMsgsIfNeeded() Connections { @@ -264,9 +258,9 @@ JamiListView { anchors.bottom: root.bottom anchors.bottomMargin: JamiTheme.chatViewScrollToBottomButtonBottomMargin anchors.horizontalCenter: root.horizontalCenter + visible: 1 - verticalScrollBar.position >= verticalScrollBar.size * 2 - activeStateTrigger: Math.abs(root.contentY) > root.height * 2 - onClicked: root.contentY = 0 + onClicked: verticalScrollBar.position = 1 - verticalScrollBar.size } header: Control { diff --git a/src/app/mainview/components/ScrollToBottomButton.qml b/src/app/mainview/components/ScrollToBottomButton.qml index 2614c466..9b8ac025 100644 --- a/src/app/mainview/components/ScrollToBottomButton.qml +++ b/src/app/mainview/components/ScrollToBottomButton.qml @@ -29,21 +29,16 @@ import "../../commoncomponents" Control { id: root - property alias activeStateTrigger: activeState.when signal clicked height: jumpToLatestText.contentHeight + 15 width: jumpToLatestText.contentWidth + arrowDropDown.width + 50 - opacity: 0 states: State { id: activeState name: "active" - PropertyChanges { - target: root - opacity: 1 - } + when: root.visible } transitions: [ @@ -53,6 +48,8 @@ Control { target: root duration: JamiTheme.shortFadeDuration property: "opacity" + from: 0.0 + to: 1.0 } }, Transition { @@ -61,6 +58,7 @@ Control { target: root duration: JamiTheme.shortFadeDuration property: "opacity" + from: 1.0 to: 0.0 } }