[vlc-commits] [Git][videolan/vlc][master] 8 commits: qml: expose `interactive` in `BrowseDeviceView`

Steve Lhomme (@robUx4) gitlab at videolan.org
Fri Jun 6 14:08:48 UTC 2025



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
52bfd345 by Fatih Uzunoglu at 2025-06-06T13:46:37+00:00
qml: expose `interactive` in `BrowseDeviceView`

- - - - -
e3e2f012 by Fatih Uzunoglu at 2025-06-06T13:46:37+00:00
qml: disable `interactive` in `BrowseHomeDisplay` sub-flickables

Although this is technically a nested flickable situation, sub-
flickables are non-functional. We can disable flicking by setting
interactive to `false` in the sub-flickables.

- - - - -
d4c114ea by Fatih Uzunoglu at 2025-06-06T13:46:37+00:00
qml: do not consider vertical space at the end in content height of `ExpandGridView`

Spacing is only relevant between rows and columns. The last row or column should not
have spacing.

- - - - -
7e0f2c4d by Fatih Uzunoglu at 2025-06-06T13:46:37+00:00
qml: do not use negative spacing in `BrowseHomeDisplay`

- - - - -
c87750ea by Fatih Uzunoglu at 2025-06-06T13:46:37+00:00
qml: disable fading edge effect in `BrowseHomeDisplay`

- - - - -
465b5022 by Fatih Uzunoglu at 2025-06-06T13:46:37+00:00
qml: expose `reuseItems` in `BrowseDeviceView`

- - - - -
f7518c6d by Fatih Uzunoglu at 2025-06-06T13:46:37+00:00
qml: fix browse page getting completely unusable in grid mode

- - - - -
b1f3e4ef by Fatih Uzunoglu at 2025-06-06T13:46:37+00:00
qml: get rid of the vertical spacing workaround in `HomePage`

The change in 7e0ccf89 made this workaround obsolete.

- - - - -


4 changed files:

- modules/gui/qt/medialibrary/qml/HomePage.qml
- modules/gui/qt/network/qml/BrowseDeviceView.qml
- modules/gui/qt/network/qml/BrowseHomeDisplay.qml
- modules/gui/qt/widgets/qml/ExpandGridView.qml


Changes:

=====================================
modules/gui/qt/medialibrary/qml/HomePage.qml
=====================================
@@ -199,13 +199,6 @@ T.Page {
                 //        is true and items provided by the model change (#29084).
                 reuseItems: !MainCtx.gridView
 
-                onCurrentItemChanged: {
-                    if (currentItem instanceof Widgets.ExpandGridView) {
-                        // FIXME: ExpandGridView applies spacing at the end:
-                        currentItem.verticalSpacing = 0
-                    }
-                }
-
                 Navigation.parentItem: mediaRows
                 Navigation.downAction: function() {
                     if (favoritesRow.visible)
@@ -292,13 +285,6 @@ T.Page {
                 //        is true and items provided by the model change (#29084).
                 reuseItems: !MainCtx.gridView
 
-                onCurrentItemChanged: {
-                    if (currentItem instanceof Widgets.ExpandGridView) {
-                        // FIXME: ExpandGridView applies spacing at the end:
-                        currentItem.verticalSpacing = 0
-                    }
-                }
-
                 Navigation.parentItem: mediaRows
                 Navigation.upAction: function() {
                     if (continueWatchingRow.visible)
@@ -371,13 +357,6 @@ T.Page {
                 //        is true and items provided by the model change (#29084).
                 reuseItems: !MainCtx.gridView
 
-                onCurrentItemChanged: {
-                    if (currentItem instanceof Widgets.ExpandGridView) {
-                        // FIXME: ExpandGridView applies spacing at the end:
-                        currentItem.verticalSpacing = 0
-                    }
-                }
-
                 Navigation.parentItem: mediaRows
                 Navigation.upAction: function() {
                     if (favoritesRow.visible)


=====================================
modules/gui/qt/network/qml/BrowseDeviceView.qml
=====================================
@@ -77,6 +77,10 @@ FocusScope {
 
     property string title
 
+    property bool interactive: true
+
+    property bool reuseItems: true
+
     // Aliases
 
     property alias leftPadding: loader.anchors.leftMargin
@@ -197,6 +201,10 @@ FocusScope {
 
             selectionModel: modelSelect
 
+            interactive: root.interactive
+
+            reuseItems: root.reuseItems
+
             Navigation.parentItem: root
 
             Navigation.upItem: headerItem
@@ -301,6 +309,10 @@ FocusScope {
 
             selectionModel: modelSelect
 
+            interactive: root.interactive
+
+            reuseItems: root.reuseItems
+
             Navigation.parentItem: root
 
             Navigation.upItem: headerItem


=====================================
modules/gui/qt/network/qml/BrowseHomeDisplay.qml
=====================================
@@ -165,8 +165,7 @@ FocusScope {
             width: flickable.width
             height: implicitHeight
 
-            spacing: (MainCtx.gridView ? VLCStyle.gridView_spacing : VLCStyle.tableView_spacing) -
-                     VLCStyle.layoutTitle_top_padding
+            spacing: 0 // relied on the generous padding of ViewHeader instead
 
             Navigation.parentItem: root
 
@@ -273,6 +272,14 @@ FocusScope {
 
         visible: (model.count !== 0)
 
+        interactive: false
+
+        enableBeginningFade: false
+        enableEndFade: false
+
+        // FIXME: ExpandGridView makes this page completely unusable when `reuseItems` is set (#29084):
+        reuseItems: !MainCtx.gridView
+
         onBrowse: (tree, reason) => root.browse(tree, reason)
         onSeeAll: (reason) => root.seeAllDevices(title, model.sd_source, reason)
 


=====================================
modules/gui/qt/widgets/qml/ExpandGridView.qml
=====================================
@@ -166,7 +166,8 @@ FocusScope {
     }
 
     contentHeight: {
-        const size = getItemPos(_count - 1)[1] + rowHeight + _expandItemVerticalSpace
+        // the trailing row spacing should not be accounted when calculating the content height:
+        const size = getItemPos(_count - 1)[1] + rowHeight + _expandItemVerticalSpace - verticalSpacing
 
         // NOTE: topMargin and headerHeight are included in root.getItemPos.
         if (footerItem)



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/f71719de8b279affe628036f58ebe69b025aeffd...b1f3e4ef2833e2091aac6a34f8c5c4a996118d9e

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/f71719de8b279affe628036f58ebe69b025aeffd...b1f3e4ef2833e2091aac6a34f8c5c4a996118d9e
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