diff --git a/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml b/framework/uicomponents/qml/Muse/UiComponents/StyledMenuLoader.qml index 1c0a3ceb7d..0ca30d3fba 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 4251bb1425..0fe4ead2da 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()) { @@ -317,7 +313,6 @@ void MenuView::setDesiredHeight(int desiredHeight) emit desiredHeightChanged(); QMetaObject::invokeMethod(this, [this] { - updateGeometry(); repositionWindowIfNeed(); }, Qt::QueuedConnection); } @@ -337,7 +332,6 @@ void MenuView::setDesiredWidth(int desiredWidth) emit desiredWidthChanged(); QMetaObject::invokeMethod(this, [this] { - updateGeometry(); repositionWindowIfNeed(); }, Qt::QueuedConnection); }