Fix Delegate Menu in NeochatMaximizeComponent

Make sure NeochatMaximizeComponent provides all the required properties to the delegate menu
This commit is contained in:
James Graham
2023-09-15 11:00:40 +00:00
parent c04ddfde26
commit 14cdd096cf
3 changed files with 16 additions and 3 deletions

View File

@@ -14,6 +14,11 @@ import org.kde.neochat 1.0
Components.AlbumMaximizeComponent { Components.AlbumMaximizeComponent {
id: root 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 string currentEventId: model.data(model.index(content.currentIndex, 0), MessageEventModel.EventIdRole)
readonly property var currentAuthor: model.data(model.index(content.currentIndex, 0), MessageEventModel.AuthorRole) readonly property var currentAuthor: model.data(model.index(content.currentIndex, 0), MessageEventModel.AuthorRole)
@@ -84,8 +89,10 @@ Components.AlbumMaximizeComponent {
author: root.currentAuthor, author: root.currentAuthor,
eventId: root.currentEventId, eventId: root.currentEventId,
file: parent, file: parent,
mimeType: root.currentMimeType,
progressInfo: root.currentProgressInfo, progressInfo: root.currentProgressInfo,
plainText: root.currentPlainText plainText: root.currentPlainText,
connection: root.currentRoom.connection
}); });
contextMenu.closeFullscreen.connect(root.close) contextMenu.closeFullscreen.connect(root.close)
contextMenu.open(); contextMenu.open();

View File

@@ -330,6 +330,7 @@ QQC2.ScrollView {
Component { Component {
id: maximizeComponent id: maximizeComponent
NeochatMaximizeComponent { NeochatMaximizeComponent {
currentRoom: root.currentRoom
model: RoomManager.mediaMessageFilterModel model: RoomManager.mediaMessageFilterModel
} }
} }

View File

@@ -14,6 +14,11 @@ MessageDelegateContextMenu {
signal closeFullscreen signal closeFullscreen
/**
* @brief The MIME type of the media.
*/
property string mimeType
required property var file required property var file
required property var progressInfo required property var progressInfo
@@ -99,7 +104,7 @@ MessageDelegateContextMenu {
id: shareAction id: shareAction
inputData: { inputData: {
'urls': [], '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); property string filename: StandardPaths.writableLocation(StandardPaths.CacheLocation) + "/" + eventId.replace(":", "_").replace("/", "_").replace("+", "_") + currentRoom.fileNameToDownload(eventId);
@@ -109,7 +114,7 @@ MessageDelegateContextMenu {
Component.onCompleted: { Component.onCompleted: {
shareAction.inputData = { shareAction.inputData = {
urls: [filename], urls: [filename],
mimeType: [root.file.mediaInfo.mimeType] mimeType: [root.mimeType ? root.mimeType : root.file.mediaINfo.mimeType]
}; };
} }
} }