diff --git a/src/QmlControls/DropPanel.qml b/src/QmlControls/DropPanel.qml index a0f2ab1175b2afe1780587babcd0a088f2a07d8b..0bc38aedd1beee6a43f75e88908bdf6414e81c02 100644 --- a/src/QmlControls/DropPanel.qml +++ b/src/QmlControls/DropPanel.qml @@ -44,11 +44,9 @@ Item { property var _dropEdgeTopPoint property real _dropEdgeHeight - property alias _dropDownComponent: dropDownLoader.sourceComponent - property real _viewportMaxLeft: -x + viewportMargins - property real _viewportMaxRight: parent.width - (viewportMargins * 2) - x - property real _viewportMaxTop: -y + viewportMargins - property real _viewportMaxBottom: parent.height - (viewportMargins * 2) - y + property alias _dropDownComponent: dropDownLoader.sourceComponent + property real _viewportMaxTop: 0 + property real _viewportMaxBottom: parent.parent.height - parent.y function show(panelEdgeTopPoint, panelEdgeHeight, panelComponent) { _dropEdgeTopPoint = panelEdgeTopPoint @@ -88,8 +86,8 @@ Item { dropItemHolderRect.x = _arrowPointHeight // Validate that dropdown is within viewport - dropDownItem.y = Math.max(dropDownItem.y, _viewportMaxTop) dropDownItem.y = Math.min(dropDownItem.y + dropDownItem.height, _viewportMaxBottom) - dropDownItem.height + dropDownItem.y = Math.max(dropDownItem.y, _viewportMaxTop) // Arrow points arrowCanvas.arrowPoint.y = (_dropEdgeTopPoint.y + radius) - dropDownItem.y