Use modules.
This commit is contained in:
62
imports/Spectral/Menu/MessageContextMenu.qml
Normal file
62
imports/Spectral/Menu/MessageContextMenu.qml
Normal file
@@ -0,0 +1,62 @@
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.2
|
||||
|
||||
Menu {
|
||||
property var row: null
|
||||
property var model: null
|
||||
property string selectedText
|
||||
|
||||
readonly property bool isFile: model && (model.eventType === "video" || model.eventType === "audio" || model.eventType === "file" || model.eventType === "image")
|
||||
|
||||
id: messageContextMenu
|
||||
|
||||
MenuItem {
|
||||
text: "View Source"
|
||||
|
||||
onTriggered: {
|
||||
sourceDialog.sourceText = model.toolTip
|
||||
sourceDialog.open()
|
||||
}
|
||||
}
|
||||
MenuItem {
|
||||
visible: model && model.userMarker.length > 0
|
||||
height: visible ? undefined : 0
|
||||
text: "View Receipts"
|
||||
|
||||
onTriggered: {
|
||||
readMarkerDialog.listModel = model.userMarker
|
||||
readMarkerDialog.open()
|
||||
}
|
||||
}
|
||||
MenuItem {
|
||||
visible: isFile
|
||||
height: visible ? undefined : 0
|
||||
text: "Open Externally"
|
||||
|
||||
onTriggered: row.openExternally()
|
||||
}
|
||||
MenuItem {
|
||||
visible: isFile
|
||||
height: visible ? undefined : 0
|
||||
text: "Save As"
|
||||
|
||||
onTriggered: row.saveFileAs()
|
||||
}
|
||||
MenuItem {
|
||||
visible: model && model.author !== currentRoom.localUser
|
||||
height: visible ? undefined : 0
|
||||
text: "Reply"
|
||||
|
||||
onTriggered: {
|
||||
inputField.clear()
|
||||
inputField.insert(0, "> <" + model.author.id + "><" + model.eventId + "> " + (selectedText != "" ? selectedText : model.message) + "\n\n")
|
||||
}
|
||||
}
|
||||
MenuItem {
|
||||
visible: model && model.author === currentRoom.localUser
|
||||
height: visible ? undefined : 0
|
||||
text: "Redact"
|
||||
|
||||
onTriggered: currentRoom.redactEvent(model.eventId)
|
||||
}
|
||||
}
|
||||
35
imports/Spectral/Menu/RoomContextMenu.qml
Normal file
35
imports/Spectral/Menu/RoomContextMenu.qml
Normal file
@@ -0,0 +1,35 @@
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.2
|
||||
import Spectral 0.1
|
||||
|
||||
Menu {
|
||||
property var model: null
|
||||
|
||||
id: roomListMenu
|
||||
|
||||
MenuItem {
|
||||
text: "Favourite"
|
||||
checkable: true
|
||||
checked: model && model.category === RoomType.Favorite
|
||||
|
||||
onTriggered: model.category === RoomType.Favorite ? model.currentRoom.removeTag("m.favourite") : model.currentRoom.addTag("m.favourite", "1")
|
||||
}
|
||||
MenuItem {
|
||||
text: "Deprioritize"
|
||||
checkable: true
|
||||
checked: model && model.category === RoomType.Deprioritized
|
||||
|
||||
onTriggered: model.category === RoomType.Deprioritized ? model.currentRoom.removeTag("m.lowpriority") : model.currentRoom.addTag("m.lowpriority", "1")
|
||||
}
|
||||
MenuSeparator {}
|
||||
MenuItem {
|
||||
text: "Mark as Read"
|
||||
|
||||
onTriggered: model.currentRoom.markAllMessagesAsRead()
|
||||
}
|
||||
MenuItem {
|
||||
text: "Leave Room"
|
||||
|
||||
onTriggered: model.currentRoom.forget()
|
||||
}
|
||||
}
|
||||
4
imports/Spectral/Menu/qmldir
Normal file
4
imports/Spectral/Menu/qmldir
Normal file
@@ -0,0 +1,4 @@
|
||||
module Spectral.Menu
|
||||
MessageContextMenu 2.0 MessageContextMenu.qml
|
||||
RoomContextMenu 2.0 RoomContextMenu.qml
|
||||
|
||||
Reference in New Issue
Block a user