diff --git a/qt6/src/qml/ArrowListView.qml b/qt6/src/qml/ArrowListView.qml index 96ec7d7c..b8f7e5db 100644 --- a/qt6/src/qml/ArrowListView.qml +++ b/qt6/src/qml/ArrowListView.qml @@ -22,9 +22,10 @@ FocusScope { const item = itemsView.itemAtIndex(0) const measured = itemsView.contentHeight > 0 && item ? (item.height || item.implicitHeight) : 0 const showArrows = itemsView.count > maxVisibleItems - const arrowStrips = showArrows - ? 2 * (DS.Style.arrowListView.stepButtonSize.height + contentLayout.spacing) + contentLayout.anchors.topMargin : 0 - return Math.min(itemsView.count, maxVisibleItems) * (measured > 0 ? measured : itemHeight) + arrowStrips + const topMargin = contentLayout.anchors.topMargin + const extraHeight = topMargin + (showArrows + ? 2 * (DS.Style.arrowListView.stepButtonSize.height + contentLayout.spacing) : 0) + return Math.min(itemsView.count, maxVisibleItems) * (measured > 0 ? measured : itemHeight) + extraHeight } implicitWidth: Math.max(DS.Style.arrowListView.width, contentLayout.implicitWidth) @@ -33,7 +34,7 @@ FocusScope { ColumnLayout { id: contentLayout anchors.fill: parent - anchors.topMargin: itemsView.interactive ? 6 : 0 + anchors.topMargin: 0 spacing: itemsView.interactive ? 6 : 0 P.ArrowListViewButton { visible: itemsView.interactive diff --git a/qt6/src/qml/Menu.qml b/qt6/src/qml/Menu.qml index b3a07729..73dcab34 100644 --- a/qt6/src/qml/Menu.qml +++ b/qt6/src/qml/Menu.qml @@ -50,6 +50,7 @@ T.Menu { anchors.fill: parent Loader { + id: headerLoader Layout.fillWidth: true Layout.preferredHeight: height sourceComponent: control.header @@ -61,6 +62,8 @@ T.Menu { view.model: control.model Layout.fillWidth: true Layout.fillHeight: true + Layout.topMargin: headerLoader.item ? 6 : 0 + Layout.bottomMargin: footerLoader.item ? 6 : 0 view.currentIndex: control.currentIndex maxVisibleItems: control.maxVisibleItems itemHeight: DS.Style.menu.item.height @@ -89,6 +92,7 @@ T.Menu { } } Loader { + id: footerLoader Layout.fillWidth: true Layout.preferredHeight: height sourceComponent: control.footer