Context Menu Related Improvement
This commit is contained in:
@@ -22,7 +22,6 @@ Item {
|
||||
selectFolder: true
|
||||
|
||||
onAccepted: currentRoom.downloadFile(eventId, folder + "/" + currentRoom.fileNameToDownload(eventId))
|
||||
|
||||
}
|
||||
|
||||
onDownloadedChanged: downloaded && openOnFinished ? openSavedFile() : {}
|
||||
|
||||
@@ -3,6 +3,9 @@ import QtQuick.Controls 2.2
|
||||
import QtQuick.Controls.Material 2.2
|
||||
|
||||
AvatarContainer {
|
||||
readonly property var downloadAndOpen: downloadable.downloadAndOpen
|
||||
readonly property var saveFileAs: downloadable.saveFileAs
|
||||
|
||||
Rectangle {
|
||||
id: messageRect
|
||||
|
||||
@@ -33,20 +36,6 @@ AvatarContainer {
|
||||
ToolTip.text: content.body
|
||||
|
||||
onClicked: downloadable.downloadAndOpen()
|
||||
onPressAndHold: messageImageMenu.popup()
|
||||
}
|
||||
|
||||
Menu {
|
||||
id: messageImageMenu
|
||||
|
||||
MenuItem {
|
||||
text: "View"
|
||||
onTriggered: downloadable.downloadAndOpen()
|
||||
}
|
||||
MenuItem {
|
||||
text: "Save as..."
|
||||
onTriggered: downloadable.saveFileAs()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,13 +24,41 @@ Item {
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
onPressAndHold: messageContextMenu.popup()
|
||||
onPressAndHold: menuComponent.createObject(this)
|
||||
|
||||
Menu {
|
||||
id: messageContextMenu
|
||||
MenuItem {
|
||||
text: "Redact"
|
||||
onTriggered: currentRoom.redactEvent(eventId)
|
||||
Component {
|
||||
id: menuComponent
|
||||
Menu {
|
||||
id: messageContextMenu
|
||||
|
||||
MenuItem {
|
||||
text: "Copy"
|
||||
onTriggered: matriqueController.copyToClipboard(plainText)
|
||||
}
|
||||
MenuItem {
|
||||
text: "Copy Source"
|
||||
onTriggered: matriqueController.copyToClipboard(toolTip)
|
||||
}
|
||||
MenuItem {
|
||||
visible: isFile
|
||||
height: visible ? undefined : 0
|
||||
text: "Open Externally"
|
||||
onTriggered: delegateLoader.item.downloadAndOpen()
|
||||
}
|
||||
MenuItem {
|
||||
visible: isFile
|
||||
height: visible ? undefined : 0
|
||||
text: "Save As"
|
||||
onTriggered: delegateLoader.item.saveFileAs()
|
||||
}
|
||||
MenuItem {
|
||||
visible: sentByMe
|
||||
height: visible ? undefined : 0
|
||||
text: "Redact"
|
||||
onTriggered: currentRoom.redactEvent(eventId)
|
||||
}
|
||||
|
||||
Component.onCompleted: popup()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,7 +112,6 @@ Item {
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
ListView {
|
||||
id: listView
|
||||
width: parent.width
|
||||
@@ -125,6 +124,7 @@ Item {
|
||||
opacity: 0.2
|
||||
}
|
||||
highlightMoveDuration: 250
|
||||
highlightResizeDuration: 0
|
||||
|
||||
currentIndex: -1
|
||||
|
||||
@@ -135,16 +135,13 @@ Item {
|
||||
delegate: ItemDelegate {
|
||||
width: parent.width
|
||||
height: 80
|
||||
onClicked: listView.currentIndex = index
|
||||
onPressAndHold: {
|
||||
roomListMenu.roomIndex = index
|
||||
roomListMenu.popup()
|
||||
}
|
||||
onPressed: listView.currentIndex = index
|
||||
onPressAndHold: menuComponent.createObject(this)
|
||||
|
||||
ToolTip.visible: mini && hovered
|
||||
ToolTip.text: name
|
||||
|
||||
contentItem: RowLayout {
|
||||
contentItem: RowLayout {
|
||||
anchors.fill: parent
|
||||
anchors.margins: 16
|
||||
spacing: 16
|
||||
@@ -184,6 +181,33 @@ Item {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component {
|
||||
id: menuComponent
|
||||
Menu {
|
||||
id: roomListMenu
|
||||
|
||||
MenuItem {
|
||||
text: "Favourite"
|
||||
checkable: true
|
||||
checked: currentRoom.isFavourite
|
||||
onTriggered: currentRoom.isFavourite ? currentRoom.removeTag("m.favourite") : currentRoom.addTag("m.favourite", "1")
|
||||
}
|
||||
MenuItem {
|
||||
text: "Deprioritize"
|
||||
checkable: true
|
||||
checked: currentRoom.isLowPriority
|
||||
onTriggered: currentRoom.isLowPriority ? currentRoom.removeTag("m.lowpriority") : currentRoom.addTag("m.lowpriority", "1")
|
||||
}
|
||||
MenuSeparator {}
|
||||
MenuItem {
|
||||
text: "Leave Room"
|
||||
onTriggered: matriqueController.forgetRoom(currentRoom.id)
|
||||
}
|
||||
|
||||
Component.onCompleted: popup()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
section.property: "category"
|
||||
@@ -202,27 +226,6 @@ Item {
|
||||
color: Material.theme == Material.Light ? "#dbdbdb" : "#363636"
|
||||
}
|
||||
}
|
||||
|
||||
Menu {
|
||||
property int roomIndex: -1
|
||||
readonly property int roomProxyIndex: roomListProxyModel.mapToSource(roomIndex)
|
||||
readonly property var room: roomProxyIndex != -1 ? listModel.roomAt(roomProxyIndex) : null
|
||||
|
||||
id: roomListMenu
|
||||
|
||||
MenuItem {
|
||||
text: "Favourite" + (roomListMenu.room && roomListMenu.room.isFavourite ? " \u2713" : "")
|
||||
onTriggered: roomListMenu.room.isFavourite ? roomListMenu.room.removeTag("m.favourite") : roomListMenu.room.addTag("m.favourite", "1")
|
||||
}
|
||||
MenuItem {
|
||||
text: "Deprioritize" + (roomListMenu.room && roomListMenu.room.isLowPriority ? " \u2713" : "")
|
||||
onTriggered: roomListMenu.room.isLowPriority ? roomListMenu.room.removeTag("m.lowpriority") : roomListMenu.room.addTag("m.lowpriority", "1")
|
||||
}
|
||||
MenuItem {
|
||||
text: "Leave Room"
|
||||
onTriggered: matriqueController.forgetRoom(roomListMenu.room.id)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user