summaryrefslogtreecommitdiff
path: root/src/controls/Private/EditMenu.qml
diff options
context:
space:
mode:
Diffstat (limited to 'src/controls/Private/EditMenu.qml')
-rw-r--r--src/controls/Private/EditMenu.qml22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/controls/Private/EditMenu.qml b/src/controls/Private/EditMenu.qml
index c0faf9ff..f4d80bd5 100644
--- a/src/controls/Private/EditMenu.qml
+++ b/src/controls/Private/EditMenu.qml
@@ -47,7 +47,27 @@ Loader {
property Item cursorHandle
property Item selectionHandle
property Flickable flickable
- property Menu defaultMenu: item && item.defaultMenu ? item.defaultMenu : null
+ property Component defaultMenu: item && item.defaultMenu ? item.defaultMenu : null
+ property Menu menuInstance: null
+
+ Connections {
+ target: control
+ onMenuChanged: {
+ if (menuInstance !== null) {
+ menuInstance.destroy()
+ menuInstance = null
+ }
+ }
+ }
+
+ function getMenuInstance()
+ {
+ // Lazy load menu when first requested
+ if (!menuInstance && control.menu) {
+ menuInstance = control.menu.createObject(input);
+ }
+ return menuInstance;
+ }
source: Qt.resolvedUrl("EditMenu_" + (Qt.platform.os === "ios" ? "ios" : "base") + ".qml")
}