diff --git a/framework/uicomponents/qml/Muse/UiComponents/ContextMenuLoader.qml b/framework/uicomponents/qml/Muse/UiComponents/ContextMenuLoader.qml index 6633c1b1..2310f40b 100644 --- a/framework/uicomponents/qml/Muse/UiComponents/ContextMenuLoader.qml +++ b/framework/uicomponents/qml/Muse/UiComponents/ContextMenuLoader.qml @@ -60,6 +60,12 @@ Item { StyledMenuLoader { id: contextMenuLoader + onMenuChanged: { + if (menu) { + menu.setParentWindow(root.Window.window) + } + } + onHandleMenuItem: function(itemId) { container.handleMenuItem(itemId) } diff --git a/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml b/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml index 1622e320..f0813691 100644 --- a/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml +++ b/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml @@ -33,6 +33,7 @@ Loader { signal openNextMenu() signal opened() signal closed(bool force) + signal menuLoaded() property StyledMenu menu: loader.item as StyledMenu property Item menuAnchorItem: null @@ -42,6 +43,12 @@ Loader { property string accessibleName: "" + onMenuChanged: { + if (menu) { + loader.menuLoaded() + } + } + QtObject { id: prv diff --git a/framework/uicomponents/qml/Muse/UiComponents/internal/StyledMenu.qml b/framework/uicomponents/qml/Muse/UiComponents/internal/StyledMenu.qml index 6262704a..3c437418 100644 --- a/framework/uicomponents/qml/Muse/UiComponents/internal/StyledMenu.qml +++ b/framework/uicomponents/qml/Muse/UiComponents/internal/StyledMenu.qml @@ -197,6 +197,10 @@ MenuView { root.subMenuLoader.menuAnchorItem = root.anchorItem root.subMenuLoader.hasSiblingMenus = root.hasSiblingMenus + root.subMenuLoader.menuLoaded.connect(function() { + root.subMenuLoader.menu.setParentWindow(root.parent.Window.window) + }) + root.subMenuLoader.handleMenuItem.connect(function(itemId) { Qt.callLater(root.handleMenuItem, itemId) root.subMenuLoader.close() diff --git a/framework/uicomponents/view/popupview.cpp b/framework/uicomponents/view/popupview.cpp index 23b49c70..469e5d2c 100644 --- a/framework/uicomponents/view/popupview.cpp +++ b/framework/uicomponents/view/popupview.cpp @@ -856,7 +856,7 @@ void PopupView::resolveNavigationParentControl() setNavigationParentControl(nullptr); }); - setParentWindow(ctrl->window()); + // setParentWindow(ctrl->window()); } }