broulik added a comment.

  I like the idea of showing the thickness in the button. My suggestion would 
be add a `Timer` which you `restart()` when you change the panel thickness (you 
need to try whether in `onThicknessChanged` is sufficient or doing that 
explicitly in `onWheelEvent` and/or `onPositionChanged` and then bind the text 
to whether it's running, this way you don't break any bindings but just have it 
work like magic ;) for example:
  
    Timer {
        id: panelResizeSizeHintTimer
        interval: 1000
    }
    
    ...
    
    Button {
        text: panelResizeHintTimer.running ? panel.thickness : i18n("Width") // 
don't forget "Height" for horizontal panels
        ...
        onWheel: {
            // wheel stuff here
            panelResizeHintTimer.restart()
        ...
    }
  
  (QtQuick `Timer` `restart` will start it if not running and restart it if 
already running, it also runs only once by default which is what we want here)

INLINE COMMENTS

> SizeHandle.qml:123
> +
> +        onWheelMoved: {
> +            if (wheel.delta > 0) {

I don't know exactly how `MouseEventListener` behaves but in `MouseArea` you 
get a ton of `onWheel` events for touchpads (which scroll pixel-precisely), 
potentially causing you to making your panel enormous accidentally

> SizeHandle.qml:125
> +            if (wheel.delta > 0) {
> +                panel.thickness = Math.max(units.gridUnit, panel.thickness + 
> 1);
> +            } else if (wheel.delta < 0) {

I think there's also a maximum size enforced (half of 
`screenToFollow.geometry`), it's somewhat hidden in the complex 
`onPositionChanged` code

> SizeHandle.qml:129
> +            } else {
> +                return
> +            }

Missing semicolon here and below, also can it ever get 0 anyway?

REPOSITORY
  R119 Plasma Desktop

REVISION DETAIL
  https://phabricator.kde.org/D6392

To: Zren, #plasma
Cc: broulik, plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, 
jensreuterberg, abetts, sebas, apol, mart, lukas

Reply via email to