diff --git a/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml b/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml index 32154feedf..560fc04df1 100644 --- a/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml +++ b/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml @@ -146,10 +146,14 @@ Loader { if (x !== -1) { menu.x = x + } else { + menu.x = 0 } if (y !== -1) { menu.y = y + } else { + menu.y = Qt.binding(() => menu.parent?.height ?? 0) } } diff --git a/framework/uicomponents/qml/Muse/UiComponents/menuview.cpp b/framework/uicomponents/qml/Muse/UiComponents/menuview.cpp index 75ddd21999..2d6252b2a6 100644 --- a/framework/uicomponents/qml/Muse/UiComponents/menuview.cpp +++ b/framework/uicomponents/qml/Muse/UiComponents/menuview.cpp @@ -23,7 +23,6 @@ #include "menuview.h" #include "log.h" -#include "defer.h" using namespace muse::uicomponents; @@ -111,9 +110,6 @@ void MenuView::updateGeometry() return; } - setLocalX(0); - setLocalY(parent->height()); - const QPointF parentTopLeft = parent->mapToGlobal(QPoint(0, 0)); if (m_globalPos.isNull()) { @@ -318,7 +314,6 @@ void MenuView::setDesiredHeight(int desiredHeight) emit desiredHeightChanged(); QMetaObject::invokeMethod(this, [this] { - updateGeometry(); repositionWindowIfNeed(); }, Qt::QueuedConnection); } @@ -338,7 +333,6 @@ void MenuView::setDesiredWidth(int desiredWidth) emit desiredWidthChanged(); QMetaObject::invokeMethod(this, [this] { - updateGeometry(); repositionWindowIfNeed(); }, Qt::QueuedConnection); }