diff --git a/desktoppackage/contents/configuration/panelconfiguration/SizeHandle.qml b/desktoppackage/contents/configuration/panelconfiguration/SizeHandle.qml --- a/desktoppackage/contents/configuration/panelconfiguration/SizeHandle.qml +++ b/desktoppackage/contents/configuration/panelconfiguration/SizeHandle.qml @@ -24,11 +24,22 @@ import org.kde.kquickcontrolsaddons 2.0 as KQuickControlsAddons PlasmaComponents.Button { - text: panel.location == PlasmaCore.Types.LeftEdge || panel.location == PlasmaCore.Types.RightEdge ? i18nd("plasma_shell_org.kde.plasma.desktop", "Width") : i18nd("plasma_shell_org.kde.plasma.desktop", "Height") + readonly property string textLabel: panel.location == PlasmaCore.Types.LeftEdge || panel.location == PlasmaCore.Types.RightEdge ? i18nd("plasma_shell_org.kde.plasma.desktop", "Width") : i18nd("plasma_shell_org.kde.plasma.desktop", "Height") + text: panelResizeHintTimer.running ? panel.thickness : textLabel checkable: true checked: mel.pressed + Timer { + id: panelResizeHintTimer + interval: 1000 + } + + Connections { + target: panel + onThicknessChanged: panelResizeHintTimer.restart() + } + KQuickControlsAddons.MouseEventListener { id: mel anchors.fill: parent @@ -113,5 +124,20 @@ panel.thickness = thickness; } } + + onWheelMoved: { + var deltaThickness = Math.round(wheel.delta / 120) * 2; + var newThickness = Math.max(units.gridUnit, panel.thickness + deltaThickness); + if (panel.location == PlasmaCore.Types.LeftEdge || panel.location == PlasmaCore.Types.RightEdge) { + newThickness = Math.min(newThickness, panel.screenToFollow.geometry.width/2); + } else { + newThickness = Math.min(newThickness, panel.screenToFollow.geometry.height/2); + } + if (newThickness % 2 != 0) { + newThickness -= 1; + } + panel.thickness = newThickness; + panelResetAnimation.running = true; + } } }