From 1dd634027f19564e4a2aef302faed903b6d3bd48 Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Thu, 17 Dec 2020 16:41:30 -0800 Subject: [PATCH] messageOverlay scrolls to bottom when tabbed back to; hide buttetin for now --- qml/overlays/ChatOverlay.qml | 5 +++++ qml/panes/OverlayPane.qml | 22 +++++++++++++++------- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/qml/overlays/ChatOverlay.qml b/qml/overlays/ChatOverlay.qml index 66f080e9..36cac769 100644 --- a/qml/overlays/ChatOverlay.qml +++ b/qml/overlays/ChatOverlay.qml @@ -25,6 +25,11 @@ W.Overlay { } } + function overlaySelected() { + // Would be nice to not have to trigger the timer, but running positionViewAtEnd here triggers too soon so doesn't work + thymer.running = true + } + // onRowsInserted is firing after the model is updated but before the delegate is inflated // causing positionViewAtEnd() to scroll to "just above the last message" // so we use this timer to delay scrolling by a few milliseconds diff --git a/qml/panes/OverlayPane.qml b/qml/panes/OverlayPane.qml index 3e0da544..b4b81f3a 100644 --- a/qml/panes/OverlayPane.qml +++ b/qml/panes/OverlayPane.qml @@ -23,7 +23,7 @@ ColumnLayout { id: tabBar Layout.fillWidth: true - model: [qsTr("chat-btn"), qsTr("lists-btn"), qsTr("bulletins-btn")] + model: [qsTr("chat-btn"), qsTr("lists-btn")/*, qsTr("bulletins-btn")*/] onCurrentIndexChanged: overlayStack.overlay = currentIndex } @@ -39,11 +39,12 @@ ColumnLayout { property alias overlay: overlayStack.currentIndex readonly property int chatOverlay: 0 readonly property int listOverlay: 1 - readonly property int bulletinOverlay: 2 - readonly property int membershipOverlay: 3 + //readonly property int bulletinOverlay: 2 + readonly property int membershipOverlay: 2 ChatOverlay { //0 + id: chat Layout.maximumHeight: overlayStack.height Layout.maximumWidth: overlayStack.width } @@ -53,14 +54,21 @@ ColumnLayout { Layout.maximumWidth: overlayStack.width } - BulletinOverlay{ //2 + // TODO: Bulletin project: full design and update pass on Bulletin + /*BulletinOverlay{ //2 + Layout.maximumHeight: overlayStack.height + Layout.maximumWidth: overlayStack.width + }*/ + + MembershipOverlay { //2 Layout.maximumHeight: overlayStack.height Layout.maximumWidth: overlayStack.width } - MembershipOverlay { //3 - Layout.maximumHeight: overlayStack.height - Layout.maximumWidth: overlayStack.width + onCurrentIndexChanged: function() { + if (currentIndex == chatOverlay) { + chat.overlaySelected() + } } }