diff options
author | Nicolas Werner <nicolas.werner@hotmail.de> | 2019-10-27 22:01:40 +0100 |
---|---|---|
committer | Nicolas Werner <nicolas.werner@hotmail.de> | 2019-11-23 20:06:15 +0100 |
commit | 2055c75f8ba710e8950a55aa3c41a9cec9f26ad7 (patch) | |
tree | 173665c5059b4c878b8c4dd451fd632275d96f36 /resources | |
parent | Remove unused Qt Module (diff) | |
download | nheko-2055c75f8ba710e8950a55aa3c41a9cec9f26ad7.tar.xz |
Organize qml files a bit
Diffstat (limited to '')
-rw-r--r-- | resources/qml/Avatar.qml | 1 | ||||
-rw-r--r-- | resources/qml/TimelineRow.qml (renamed from resources/qml/delegates/TimelineRow.qml) | 19 | ||||
-rw-r--r-- | resources/qml/TimelineView.qml | 3 | ||||
-rw-r--r-- | resources/qml/delegates/FileMessage.qml | 2 | ||||
-rw-r--r-- | resources/qml/delegates/ImageMessage.qml | 2 | ||||
-rw-r--r-- | resources/qml/delegates/MessageDelegate.qml (renamed from resources/qml/RowDelegateChooser.qml) | 25 | ||||
-rw-r--r-- | resources/qml/delegates/NoticeMessage.qml | 2 | ||||
-rw-r--r-- | resources/qml/delegates/Placeholder.qml | 2 | ||||
-rw-r--r-- | resources/qml/delegates/PlayableMediaMessage.qml | 2 | ||||
-rw-r--r-- | resources/qml/delegates/TextMessage.qml | 2 | ||||
-rw-r--r-- | resources/res.qrc | 4 |
11 files changed, 28 insertions, 36 deletions
diff --git a/resources/qml/Avatar.qml b/resources/qml/Avatar.qml index 9d7b54fe..131e6b46 100644 --- a/resources/qml/Avatar.qml +++ b/resources/qml/Avatar.qml @@ -30,6 +30,7 @@ Rectangle { id: img anchors.fill: parent asynchronous: true + fillMode: Image.PreserveAspectCrop layer.enabled: true layer.effect: OpacityMask { diff --git a/resources/qml/delegates/TimelineRow.qml b/resources/qml/TimelineRow.qml index 3019deb1..fdc2ec95 100644 --- a/resources/qml/delegates/TimelineRow.qml +++ b/resources/qml/TimelineRow.qml @@ -6,29 +6,22 @@ import QtQuick.Window 2.2 import com.github.nheko 1.0 -import ".." +import "./delegates" RowLayout { - property var view: undefined - default property alias data: contentItem.data + property var view: chat - height: kid.height // TODO: fix this, we shouldn't need to give the child of contentItem this id! anchors.leftMargin: avatarSize + 4 + anchors.rightMargin: scrollbar.width anchors.left: parent.left anchors.right: parent.right - anchors.rightMargin: scrollbar.width - function isFullyVisible() { - return (y - view.contentY - 1) + height < view.height - } - function getIndex() { - return index; - } + height: contentItem.height - Item { - id: contentItem + MessageDelegate { Layout.fillWidth: true Layout.alignment: Qt.AlignTop + id: contentItem } StatusIndicator { diff --git a/resources/qml/TimelineView.qml b/resources/qml/TimelineView.qml index 046f7800..e5c1bda6 100644 --- a/resources/qml/TimelineView.qml +++ b/resources/qml/TimelineView.qml @@ -90,14 +90,13 @@ Rectangle { onMovementEnded: updatePosition() spacing: 4 - delegate: RowDelegateChooser { + delegate: TimelineRow { function isFullyVisible() { return height > 1 && (y - chat.contentY - 1) + height < chat.height } function getIndex() { return index; } - } section { diff --git a/resources/qml/delegates/FileMessage.qml b/resources/qml/delegates/FileMessage.qml index ad2c695d..f4cf3f15 100644 --- a/resources/qml/delegates/FileMessage.qml +++ b/resources/qml/delegates/FileMessage.qml @@ -5,7 +5,7 @@ Rectangle { radius: 10 color: colors.dark height: row.height + 24 - width: parent.width + width: parent ? parent.width : undefined RowLayout { id: row diff --git a/resources/qml/delegates/ImageMessage.qml b/resources/qml/delegates/ImageMessage.qml index f1e95e3d..802ef721 100644 --- a/resources/qml/delegates/ImageMessage.qml +++ b/resources/qml/delegates/ImageMessage.qml @@ -3,7 +3,7 @@ import QtQuick 2.6 import com.github.nheko 1.0 Item { - width: Math.min(parent.width, model.width) + width: Math.min(parent ? parent.width : undefined, model.width) height: width * model.proportionalHeight Image { diff --git a/resources/qml/RowDelegateChooser.qml b/resources/qml/delegates/MessageDelegate.qml index bacd970a..3d342a02 100644 --- a/resources/qml/RowDelegateChooser.qml +++ b/resources/qml/delegates/MessageDelegate.qml @@ -2,50 +2,49 @@ import QtQuick 2.6 import Qt.labs.qmlmodels 1.0 import com.github.nheko 1.0 -import "./delegates" - DelegateChooser { //role: "type" //< not supported in our custom implementation, have to use roleValue - width: chat.width roleValue: model.type + width: parent.width + DelegateChoice { roleValue: MtxEvent.TextMessage - TimelineRow { view: chat; TextMessage { id: kid } } + TextMessage {} } DelegateChoice { roleValue: MtxEvent.NoticeMessage - TimelineRow { view: chat; NoticeMessage { id: kid } } + NoticeMessage {} } DelegateChoice { roleValue: MtxEvent.EmoteMessage - TimelineRow { view: chat; TextMessage { id: kid } } + TextMessage {} } DelegateChoice { roleValue: MtxEvent.ImageMessage - TimelineRow { view: chat; ImageMessage { id: kid } } + ImageMessage {} } DelegateChoice { roleValue: MtxEvent.Sticker - TimelineRow { view: chat; ImageMessage { id: kid } } + ImageMessage {} } DelegateChoice { roleValue: MtxEvent.FileMessage - TimelineRow { view: chat; FileMessage { id: kid } } + FileMessage {} } DelegateChoice { roleValue: MtxEvent.VideoMessage - TimelineRow { view: chat; PlayableMediaMessage { id: kid } } + PlayableMediaMessage {} } DelegateChoice { roleValue: MtxEvent.AudioMessage - TimelineRow { view: chat; PlayableMediaMessage { id: kid } } + PlayableMediaMessage {} } DelegateChoice { roleValue: MtxEvent.Redacted - TimelineRow { view: chat; Redacted { id: kid } } + Redacted {} } DelegateChoice { - TimelineRow { view: chat; Placeholder { id: kid } } + Placeholder {} } } diff --git a/resources/qml/delegates/NoticeMessage.qml b/resources/qml/delegates/NoticeMessage.qml index b916d65a..59e051be 100644 --- a/resources/qml/delegates/NoticeMessage.qml +++ b/resources/qml/delegates/NoticeMessage.qml @@ -5,7 +5,7 @@ TextEdit { textFormat: TextEdit.RichText readOnly: true wrapMode: Text.Wrap - width: parent.width + width: parent ? parent.width : undefined selectByMouse: true font.italic: true color: inactiveColors.text diff --git a/resources/qml/delegates/Placeholder.qml b/resources/qml/delegates/Placeholder.qml index 462af2db..171bf18d 100644 --- a/resources/qml/delegates/Placeholder.qml +++ b/resources/qml/delegates/Placeholder.qml @@ -5,6 +5,6 @@ Label { text: qsTr("unimplemented event: ") + model.type textFormat: Text.PlainText wrapMode: Text.Wrap - width: parent.width + width: parent ? parent.width : undefined color: inactiveColors.text } diff --git a/resources/qml/delegates/PlayableMediaMessage.qml b/resources/qml/delegates/PlayableMediaMessage.qml index 3a518617..68b09f7b 100644 --- a/resources/qml/delegates/PlayableMediaMessage.qml +++ b/resources/qml/delegates/PlayableMediaMessage.qml @@ -10,7 +10,7 @@ Rectangle { radius: 10 color: colors.dark height: content.height + 24 - width: parent.width + width: parent ? parent.width : undefined Column { id: content diff --git a/resources/qml/delegates/TextMessage.qml b/resources/qml/delegates/TextMessage.qml index 3a3492ed..713be868 100644 --- a/resources/qml/delegates/TextMessage.qml +++ b/resources/qml/delegates/TextMessage.qml @@ -5,7 +5,7 @@ TextEdit { textFormat: TextEdit.RichText readOnly: true wrapMode: Text.Wrap - width: parent.width + width: parent ? parent.width : undefined selectByMouse: true color: colors.text } diff --git a/resources/res.qrc b/resources/res.qrc index 4816ffad..86b1364c 100644 --- a/resources/res.qrc +++ b/resources/res.qrc @@ -116,11 +116,11 @@ </qresource> <qresource prefix="/"> <file>qml/TimelineView.qml</file> - <file>qml/RowDelegateChooser.qml</file> <file>qml/Avatar.qml</file> <file>qml/StatusIndicator.qml</file> <file>qml/EncryptionIndicator.qml</file> - <file>qml/delegates/TimelineRow.qml</file> + <file>qml/TimelineRow.qml</file> + <file>qml/delegates/MessageDelegate.qml</file> <file>qml/delegates/TextMessage.qml</file> <file>qml/delegates/NoticeMessage.qml</file> <file>qml/delegates/ImageMessage.qml</file> |