[vlc-commits] [Git][videolan/vlc][master] 2 commits: qml: do not delay implicit height of footer drag accessories anymore

Steve Lhomme (@robUx4) gitlab at videolan.org
Fri Nov 14 06:06:33 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
6ea1fce1 by Fatih Uzunoglu at 2025-11-14T05:43:46+00:00
qml: do not delay implicit height of footer drag accessories anymore

The binding was made delayed to fix a binding loop, which was
not symptomatic. This delay causes the scroll bar to appear
intermittently.

I no longer get the warning without the delay, so it seems
safe to get rid of the delay. Besides, there seems no apparent
reason to have a binding loop here, footer's (y) position
should not depend on footer's height to cause a binding loop.

- - - - -
1dd7f9d1 by Fatih Uzunoglu at 2025-11-14T05:43:46+00:00
qml: get rid of the opacity behavior/animation in `ScrollBarExt`

The important animation here is the size animation, opacity
animation is something that is not really important.

We do not want to animate the opacity at initialization. In
other cases, we often enable the behavior when the component
completes, so that at initialization opacity change is not
animated. Since the animation is not important, we can just
get rid of it instead.

- - - - -


3 changed files:

- modules/gui/qt/dialogs/toolbar/qml/EditorDNDView.qml
- modules/gui/qt/widgets/qml/ListViewExt.qml
- modules/gui/qt/widgets/qml/ScrollBarExt.qml


Changes:

=====================================
modules/gui/qt/dialogs/toolbar/qml/EditorDNDView.qml
=====================================
@@ -118,11 +118,7 @@ ListView {
 
     footer: Item {
         implicitHeight: playerBtnDND.height
-
-        Binding on implicitWidth {
-            delayed: true
-            value: Math.max(implicitHeight, playerBtnDND.width - x)
-        }
+        implicitWidth: Math.max(implicitHeight, playerBtnDND.width - x)
 
         property alias dropVisible: footerDropArea.containsDrag
 


=====================================
modules/gui/qt/widgets/qml/ListViewExt.qml
=====================================
@@ -223,11 +223,7 @@ ListView {
             id: footerItem
 
             implicitWidth: root.contentWidth
-
-            Binding on implicitHeight {
-                delayed: true
-                value: Math.max(VLCStyle.icon_normal, root.height - y - (root.headerItem?.height ?? 0))
-            }
+            implicitHeight: Math.max(VLCStyle.icon_normal, root.height - y - (root.headerItem?.height ?? 0))
 
             property alias firstItemIndicatorVisible: firstItemIndicator.visible
 


=====================================
modules/gui/qt/widgets/qml/ScrollBarExt.qml
=====================================
@@ -53,23 +53,11 @@ T.ScrollBar {
         hovered: true
     }
 
-    component DefaultBehavior : Behavior {
-        // WARNING: Qt bug: OpacityAnimator is bugged
-        NumberAnimation {
-            easing.type: Easing.OutSine
-            duration: VLCStyle.duration_veryShort
-        }
-    }
-
     background: Rectangle {
         color: theme.bg.primary
         radius: (control.horizontal ? height : width) / 2
 
-        opacity: (control._shown && control.interacting) ? 1.0 : 0.0
-
-        visible: (opacity > 0.0)
-
-        DefaultBehavior on opacity { }
+        visible: (control._shown && control.interacting)
     }
 
     contentItem: Rectangle {
@@ -79,11 +67,7 @@ T.ScrollBar {
         radius: (control.horizontal ? height : width) / 2
         color: theme.fg.secondary
 
-        visible: (opacity > 0.0)
-
-        opacity: control._shown ? 1.0 : 0.0
-
-        DefaultBehavior on opacity { }
+        visible: control._shown
 
         component SizeBehavior : Behavior {
             NumberAnimation {



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/53e20e13e02561dfcc796943015efc6b2a236f33...1dd7f9d121a7a4647168907599a5f4383539b122

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/53e20e13e02561dfcc796943015efc6b2a236f33...1dd7f9d121a7a4647168907599a5f4383539b122
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list