diff --git a/containments/panel/contents/ui/ConfigOverlay.qml b/containments/panel/contents/ui/ConfigOverlay.qml --- a/containments/panel/contents/ui/ConfigOverlay.qml +++ b/containments/panel/contents/ui/ConfigOverlay.qml @@ -28,11 +28,7 @@ z: 1000 - anchors { - fill: parent - rightMargin: (plasmoid.formFactor !== PlasmaCore.Types.Vertical) ? toolBox.width : 0 - bottomMargin: (plasmoid.formFactor === PlasmaCore.Types.Vertical) ? toolBox.height : 0 - } + anchors.fill: currentLayout hoverEnabled: true @@ -205,7 +201,7 @@ placeHolder.width = currentApplet.width; placeHolder.height = currentApplet.height; root.layoutManager.insertBefore(currentApplet, placeHolder); - currentApplet.parent = root; + currentApplet.parent = moveAppletLayer; currentApplet.z = 900; } @@ -365,6 +361,10 @@ hoverEnabled: true onEntered: hideTimer.stop(); onExited: hideTimer.restart(); + + LayoutMirroring.enabled: Qt.application.layoutDirection === Qt.RightToLeft + LayoutMirroring.childrenInherit: true + Row { id: handleRow anchors.horizontalCenter: parent.horizontalCenter diff --git a/containments/panel/contents/ui/main.qml b/containments/panel/contents/ui/main.qml --- a/containments/panel/contents/ui/main.qml +++ b/containments/panel/contents/ui/main.qml @@ -386,6 +386,14 @@ height: (plasmoid.formFactor == PlasmaCore.Types.Vertical) ? theme.mSize(theme.defaultFont).width * 10 : currentLayout.height } + // while the user is moving the applet when configuring the panel, the applet is reparented + // here so it can be moved freely; previously it was reparented to "root" but this one does not + // take into account the toolbox (which is left-of) the layout in right-to-left languages + Item { + id: moveAppletLayer + anchors.fill: currentLayout + } + GridLayout { id: currentLayout property bool isLayoutHorizontal