HTextContextMenu: less entries for readOnly fields

If the context menu is for a readOnly field or area, hide pointless
options like undo/redo and cut/paste.
This commit is contained in:
miruka 2020-11-05 20:45:36 -04:00
parent dba41c30c2
commit 3d8914cb39
2 changed files with 11 additions and 3 deletions

View File

@ -8,6 +8,6 @@ MenuSeparator {
id: separator id: separator
padding: 0 padding: 0
contentItem: Item { contentItem: Item {
implicitHeight: theme.spacing implicitHeight: separator.visible ? theme.spacing : 0
} }
} }

View File

@ -34,6 +34,7 @@ HMenu {
HMenuItem { HMenuItem {
icon.name: "undo" icon.name: "undo"
text: qsTr("Undo") text: qsTr("Undo")
visible: ! control.readOnly
enabled: control.canUndo enabled: control.canUndo
onTriggered: control.undo() onTriggered: control.undo()
} }
@ -41,15 +42,19 @@ HMenu {
HMenuItem { HMenuItem {
icon.name: "redo" icon.name: "redo"
text: qsTr("Redo") text: qsTr("Redo")
visible: ! control.readOnly
enabled: control.canRedo enabled: control.canRedo
onTriggered: control.redo() onTriggered: control.redo()
} }
HMenuSeparator {} HMenuSeparator {
visible: ! control.readOnly
}
HMenuItem { HMenuItem {
icon.name: "cut-text" icon.name: "cut-text"
text: qsTr("Cut") text: qsTr("Cut")
visible: ! control.readOnly
enabled: control.selectedPlainText enabled: control.selectedPlainText
onTriggered: control.cut() onTriggered: control.cut()
} }
@ -67,11 +72,14 @@ HMenu {
icon.name: "paste-text" icon.name: "paste-text"
text: qsTr("Paste") text: qsTr("Paste")
visible: ! control.readOnly
enabled: control.canPaste || pasteImage enabled: control.canPaste || pasteImage
onTriggered: pasteImage ? menu.customImagePaste() : control.paste() onTriggered: pasteImage ? menu.customImagePaste() : control.paste()
} }
HMenuSeparator {} HMenuSeparator {
visible: ! control.readOnly
}
HMenuItem { HMenuItem {
icon.name: "select-all-text" icon.name: "select-all-text"