From 71b98aed56c248ad4523f4e888b80a4dc9e6b7e3 Mon Sep 17 00:00:00 2001 From: Ming Rui Zhang Date: Mon, 4 Oct 2021 15:53:00 -0400 Subject: [PATCH] messagelistview: ui fixes 1. Add handler for DataTransferMessageDelegate MouseArea 2. Fix TextMessageDelegate crash caused by Loader 3. Fix SBSMessageBase padding when resizing 4. Use JamiListView for MessageListView 5. Fix ScrollToBottomButton DropShadow 6. Fix Typing indicator binding loop Change-Id: I59b97f3850fceb30f72c64f6cae54889fe4a18db --- src/commoncomponents/DataTransferMessageDelegate.qml | 7 ++++++- src/commoncomponents/ElidedTextLabel.qml | 5 ++++- src/commoncomponents/MaterialLineEdit.qml | 1 + src/commoncomponents/SBSMessageBase.qml | 2 +- src/commoncomponents/TextMessageDelegate.qml | 2 -- src/mainview/components/MessageListView.qml | 5 +---- src/mainview/components/ScrollToBottomButton.qml | 2 ++ 7 files changed, 15 insertions(+), 9 deletions(-) diff --git a/src/commoncomponents/DataTransferMessageDelegate.qml b/src/commoncomponents/DataTransferMessageDelegate.qml index 87b0dd46..7875e01d 100644 --- a/src/commoncomponents/DataTransferMessageDelegate.qml +++ b/src/commoncomponents/DataTransferMessageDelegate.qml @@ -185,10 +185,15 @@ Loader { JamiTheme.messageInTxtColor MouseArea { anchors.fill: parent - propagateComposedEvents: true cursorShape: canOpen ? Qt.PointingHandCursor : Qt.ArrowCursor + onClicked: function (mouse) { + dataTransferItem.hoveredLink = canOpen ? + ("file:///" + Body) : "" + if (dataTransferItem.hoveredLink) + Qt.openUrlExternally(dataTransferItem.hoveredLink) + } } } Label { diff --git a/src/commoncomponents/ElidedTextLabel.qml b/src/commoncomponents/ElidedTextLabel.qml index b62670ff..eee8c000 100644 --- a/src/commoncomponents/ElidedTextLabel.qml +++ b/src/commoncomponents/ElidedTextLabel.qml @@ -21,7 +21,7 @@ import QtQuick.Controls import net.jami.Constants 1.1 -Label { +TextEdit { id: root property string eText : "" @@ -38,6 +38,9 @@ Label { verticalAlignment: Text.AlignVCenter color: JamiTheme.textColor + readOnly: true + selectByMouse: true + TextMetrics { id: elided diff --git a/src/commoncomponents/MaterialLineEdit.qml b/src/commoncomponents/MaterialLineEdit.qml index 837b9482..c9af9eb9 100644 --- a/src/commoncomponents/MaterialLineEdit.qml +++ b/src/commoncomponents/MaterialLineEdit.qml @@ -40,6 +40,7 @@ TextField { wrapMode: Text.Wrap readOnly: false selectByMouse: true + mouseSelectionMode: TextInput.SelectCharacters selectionColor: JamiTheme.placeholderTextColor font.pointSize: JamiTheme.materialLineEditPointSize diff --git a/src/commoncomponents/SBSMessageBase.qml b/src/commoncomponents/SBSMessageBase.qml index db09eaf3..80910de5 100644 --- a/src/commoncomponents/SBSMessageBase.qml +++ b/src/commoncomponents/SBSMessageBase.qml @@ -61,7 +61,7 @@ Control { anchors.centerIn: parent - width: parent.width + width: parent.width - hPadding * 2 spacing: 2 diff --git a/src/commoncomponents/TextMessageDelegate.qml b/src/commoncomponents/TextMessageDelegate.qml index e8d49667..7cea43fe 100644 --- a/src/commoncomponents/TextMessageDelegate.qml +++ b/src/commoncomponents/TextMessageDelegate.qml @@ -67,8 +67,6 @@ SBSMessageBase { }, Loader { id: extraContent - width: sourceComponent.width - height: sourceComponent.height anchors.right: isOutgoing ? parent.right : undefined property real minSize: 192 property real maxSize: 320 diff --git a/src/mainview/components/MessageListView.qml b/src/mainview/components/MessageListView.qml index 9aec8fa8..e82cbafc 100644 --- a/src/mainview/components/MessageListView.qml +++ b/src/mainview/components/MessageListView.qml @@ -28,7 +28,7 @@ import net.jami.Constants 1.1 import "../../commoncomponents" -ListView { +JamiListView { id: root function getDistanceToBottom() { @@ -178,12 +178,9 @@ ListView { displayMarginEnd: 4096 maximumFlickVelocity: 2048 verticalLayoutDirection: ListView.BottomToTop - clip: true boundsBehavior: Flickable.StopAtBounds currentIndex: -1 - ScrollBar.vertical: ScrollBar {} - model: MessagesAdapter.messageListModel delegate: DelegateChooser { diff --git a/src/mainview/components/ScrollToBottomButton.qml b/src/mainview/components/ScrollToBottomButton.qml index 7f3c0245..aabe10cf 100644 --- a/src/mainview/components/ScrollToBottomButton.qml +++ b/src/mainview/components/ScrollToBottomButton.qml @@ -120,10 +120,12 @@ Control { layer { enabled: true effect: DropShadow { + z: -1 horizontalOffset: 3.0 verticalOffset: 3.0 radius: 8.0 color: JamiTheme.shadowColor + transparentBorder: true } } }