From 14cdd096cfbd082141987d045b9828ffa5d7c985 Mon Sep 17 00:00:00 2001 From: James Graham Date: Fri, 15 Sep 2023 11:00:40 +0000 Subject: [PATCH] Fix Delegate Menu in NeochatMaximizeComponent Make sure NeochatMaximizeComponent provides all the required properties to the delegate menu --- src/qml/Component/NeochatMaximizeComponent.qml | 9 ++++++++- src/qml/Component/TimelineView.qml | 1 + src/qml/Menu/Timeline/FileDelegateContextMenu.qml | 9 +++++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/qml/Component/NeochatMaximizeComponent.qml b/src/qml/Component/NeochatMaximizeComponent.qml index eb3909879..fcec2c2b7 100644 --- a/src/qml/Component/NeochatMaximizeComponent.qml +++ b/src/qml/Component/NeochatMaximizeComponent.qml @@ -14,6 +14,11 @@ import org.kde.neochat 1.0 Components.AlbumMaximizeComponent { id: root + /** + * @brief The current room that user is viewing. + */ + required property NeoChatRoom currentRoom + readonly property string currentEventId: model.data(model.index(content.currentIndex, 0), MessageEventModel.EventIdRole) readonly property var currentAuthor: model.data(model.index(content.currentIndex, 0), MessageEventModel.AuthorRole) @@ -84,8 +89,10 @@ Components.AlbumMaximizeComponent { author: root.currentAuthor, eventId: root.currentEventId, file: parent, + mimeType: root.currentMimeType, progressInfo: root.currentProgressInfo, - plainText: root.currentPlainText + plainText: root.currentPlainText, + connection: root.currentRoom.connection }); contextMenu.closeFullscreen.connect(root.close) contextMenu.open(); diff --git a/src/qml/Component/TimelineView.qml b/src/qml/Component/TimelineView.qml index 44f96b7d4..b65bb6d2c 100644 --- a/src/qml/Component/TimelineView.qml +++ b/src/qml/Component/TimelineView.qml @@ -330,6 +330,7 @@ QQC2.ScrollView { Component { id: maximizeComponent NeochatMaximizeComponent { + currentRoom: root.currentRoom model: RoomManager.mediaMessageFilterModel } } diff --git a/src/qml/Menu/Timeline/FileDelegateContextMenu.qml b/src/qml/Menu/Timeline/FileDelegateContextMenu.qml index 791f733b5..caa0331e8 100644 --- a/src/qml/Menu/Timeline/FileDelegateContextMenu.qml +++ b/src/qml/Menu/Timeline/FileDelegateContextMenu.qml @@ -14,6 +14,11 @@ MessageDelegateContextMenu { signal closeFullscreen + /** + * @brief The MIME type of the media. + */ + property string mimeType + required property var file required property var progressInfo @@ -99,7 +104,7 @@ MessageDelegateContextMenu { id: shareAction inputData: { 'urls': [], - 'mimeType': [root.file.mediaInfo.mimeType] + 'mimeType': [root.mimeType ? root.mimeType : root.file.mediaINfo.mimeType] } property string filename: StandardPaths.writableLocation(StandardPaths.CacheLocation) + "/" + eventId.replace(":", "_").replace("/", "_").replace("+", "_") + currentRoom.fileNameToDownload(eventId); @@ -109,7 +114,7 @@ MessageDelegateContextMenu { Component.onCompleted: { shareAction.inputData = { urls: [filename], - mimeType: [root.file.mediaInfo.mimeType] + mimeType: [root.mimeType ? root.mimeType : root.file.mediaINfo.mimeType] }; } }