[vlc-commits] [Git][videolan/vlc][master] 13 commits: qml/Helpers: Add the 'enforceFocus' function

Jean-Baptiste Kempf (@jbk) gitlab at videolan.org
Mon Sep 6 13:04:29 UTC 2021



Jean-Baptiste Kempf pushed to branch master at VideoLAN / VLC


Commits:
38075493 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/Helpers: Add the 'enforceFocus' function

- - - - -
c05ca873 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/KeyNavigableListView: Update focus implementation

- - - - -
0c1ac5b0 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/ExpandGridView: Update focus implementation

- - - - -
c63d972f by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/VideoGroupsDisplay: Passing focus reason when navigating between pages

- - - - -
63910424 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/VideoPlaylistsDisplay: Passing focus reason when navigating between pages

- - - - -
0b1f6b69 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/MusicArtists(s): Add focusReason to requestArtistAlbumView signal

- - - - -
28bbf095 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/MusicGenres(s): Add focusReason to showAlbumView signal

- - - - -
1eba71a1 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/MusicPlaylistsDisplay: Passing focus reason when navigating between pages

- - - - -
08a5af88 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/NetworkHomeDeviceListView: Add focusReason to browse signal

- - - - -
3df8427b by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/NetworkHomeDisplay: Add focusReason and slight refactor

- - - - -
d7188546 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/NetworkBrowseDisplay: Add focusReason to browse signal

- - - - -
700ca96d by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/NetworkBrowseDisplay: Fix navigation on the Table view

- - - - -
484909d5 by Benjamin Arnaud at 2021-09-06T12:52:10+00:00
qml/NetworkDisplay: Refactor and update focus implementation

- - - - -


15 changed files:

- modules/gui/qt/medialibrary/qml/MusicAllArtists.qml
- modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml
- modules/gui/qt/medialibrary/qml/MusicGenres.qml
- modules/gui/qt/medialibrary/qml/MusicGenresDisplay.qml
- modules/gui/qt/medialibrary/qml/MusicPlaylistsDisplay.qml
- modules/gui/qt/medialibrary/qml/VideoGroupsDisplay.qml
- modules/gui/qt/medialibrary/qml/VideoPlaylistsDisplay.qml
- modules/gui/qt/network/qml/NetworkBrowseDisplay.qml
- modules/gui/qt/network/qml/NetworkDisplay.qml
- modules/gui/qt/network/qml/NetworkHomeDeviceListView.qml
- modules/gui/qt/network/qml/NetworkHomeDisplay.qml
- modules/gui/qt/network/qml/ServicesHomeDisplay.qml
- modules/gui/qt/util/qml/Helpers.js
- modules/gui/qt/widgets/qml/ExpandGridView.qml
- modules/gui/qt/widgets/qml/KeyNavigableListView.qml


Changes:

=====================================
modules/gui/qt/medialibrary/qml/MusicAllArtists.qml
=====================================
@@ -40,9 +40,7 @@ FocusScope {
 
     onInitialIndexChanged: resetFocus()
 
-    function requestArtistAlbumView() {
-        console.assert(false, "must be reimplemented")
-    }
+    signal requestArtistAlbumView(int reason)
 
     function resetFocus() {
         if (artistModel.count === 0)
@@ -137,7 +135,7 @@ FocusScope {
                     medialib.addAndPlay( artistModel.getIdsForIndexes( selectionModel.selectedIndexes ) )
                 } else {
                     _currentView.currentIndex = index
-                    requestArtistAlbumView()
+                    requestArtistAlbumView(Qt.TabFocusReason)
                     medialib.addAndPlay( artistModel.getIdForIndex(index) )
                 }
             }
@@ -171,7 +169,7 @@ FocusScope {
 
                 onItemClicked: artistGrid.leftClickOnItem(modifier, index)
 
-                onItemDoubleClicked: root.requestArtistAlbumView(model)
+                onItemDoubleClicked: root.requestArtistAlbumView(Qt.MouseFocusReason)
 
                 onContextMenuButtonClicked: {
                     artistGrid.rightClickOnItem(index)
@@ -206,7 +204,7 @@ FocusScope {
                 if (selection.length > 1) {
                     medialib.addAndPlay( artistModel.getIdsForIndexes( selection ) )
                 } else if ( selection.length === 1) {
-                    requestArtistAlbumView()
+                    requestArtistAlbumView(Qt.TabFocusReason)
                     medialib.addAndPlay( artistModel.getIdForIndex( selection[0] ) )
                 }
             }
@@ -216,9 +214,8 @@ FocusScope {
                 { criteria: "nb_tracks", width: VLCStyle.colWidth(1), text: i18n.qtr("Tracks") }
             ]
 
-            onItemDoubleClicked: {
-                root.requestArtistAlbumView(model)
-            }
+            onItemDoubleClicked: root.requestArtistAlbumView(Qt.MouseFocusReason)
+
             onContextMenuButtonClicked: contextMenu.popup(selectionModel.selectedIndexes, menuParent.mapToGlobal(0,0))
             onRightClick: contextMenu.popup(selectionModel.selectedIndexes, globalMousePos)
 


=====================================
modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml
=====================================
@@ -64,8 +64,11 @@ Widgets.PageLoader {
         MusicAllArtists {
             onCurrentIndexChanged: _updateArtistsAllHistory(currentIndex)
 
-            function requestArtistAlbumView() /* override */ {
-                history.push([ "mc", "music", "artists", "albums", { initialIndex: currentIndex } ])
+            onRequestArtistAlbumView: {
+                history.push(["mc", "music", "artists", "albums",
+                              { initialIndex: currentIndex } ]);
+
+                stackView.currentItem.setCurrentItemFocus(reason);
             }
         }
     }


=====================================
modules/gui/qt/medialibrary/qml/MusicGenres.qml
=====================================
@@ -39,6 +39,8 @@ FocusScope {
 
     property alias _currentView: view.currentItem
 
+    signal showAlbumView(variant id, string name, int reason)
+
     onInitialIndexChanged:  resetFocus()
 
     Component.onCompleted: loadView()
@@ -51,10 +53,6 @@ FocusScope {
         }
     }
 
-    function showAlbumView( m ) {
-        history.push([ "mc", "music", "genres", "albums", { parentId: m.id, genreName: m.name } ])
-    }
-
     function resetFocus() {
         if (genreModel.count === 0) {
             return
@@ -87,7 +85,8 @@ FocusScope {
             medialib.addAndPlay(model.getIdsForIndexes(selectionModel.selectedIndexes))
         } else if (selectionModel.selectedIndexes.length === 1) {
             var sel = selectionModel.selectedIndexes[0]
-            showAlbumView( genreModel.getDataAt(sel) )
+            var model = genreModel.getDataAt(sel)
+            showAlbumView(model.id, model.name, Qt.TabFocusReason)
         }
     }
 
@@ -172,7 +171,7 @@ FocusScope {
                 unselectedUnderlay: shadows.unselected
                 selectedUnderlay: shadows.selected
 
-                onItemDoubleClicked: root.showAlbumView(model)
+                onItemDoubleClicked: root.showAlbumView(model.id, model.name, Qt.MouseFocusReason)
                 onItemClicked: gridView_id.leftClickOnItem(modifier, item.index)
 
                 onPlayClicked: {
@@ -274,7 +273,7 @@ FocusScope {
             ]
 
             onItemDoubleClicked: {
-                root.showAlbumView(model)
+                root.showAlbumView(model.id, model.name, Qt.MouseFocusReason)
             }
 
             onContextMenuButtonClicked: contextMenu.popup(selectionModel.selectedIndexes, menuParent.mapToGlobal(0,0))


=====================================
modules/gui/qt/medialibrary/qml/MusicGenresDisplay.qml
=====================================
@@ -63,6 +63,13 @@ Widgets.PageLoader {
         /* List View */
         MusicGenres {
             onCurrentIndexChanged: _updateGenresAllHistory(currentIndex)
+
+            onShowAlbumView: {
+                history.push(["mc", "music", "genres", "albums",
+                             { parentId: id, genreName: name }]);
+
+                stackView.currentItem.setCurrentItemFocus(reason);
+            }
         }
     }
 


=====================================
modules/gui/qt/medialibrary/qml/MusicPlaylistsDisplay.qml
=====================================
@@ -96,8 +96,12 @@ Widgets.PageLoader {
 
             onCurrentIndexChanged: _updateHistoryList(currentIndex)
 
-            onShowList: history.push(["mc", "music", "playlists", "list",
-                                      { parentId: model.id, name: model.name }])
+            onShowList: {
+                history.push(["mc", "music", "playlists", "list",
+                             { parentId: model.id, name: model.name }]);
+
+                stackView.currentItem.setCurrentItemFocus(reason);
+            }
         }
     }
 


=====================================
modules/gui/qt/medialibrary/qml/VideoGroupsDisplay.qml
=====================================
@@ -96,8 +96,12 @@ Widgets.PageLoader {
 
             onCurrentIndexChanged: _updateHistoryAll(currentIndex)
 
-            onShowList: history.push(["mc", "video", "groups", "list",
-                                      { parentId: model.id, name: model.name }])
+            onShowList: {
+                history.push(["mc", "video", "groups", "list",
+                             { parentId: model.id, name: model.name }]);
+
+                stackView.currentItem.setCurrentItemFocus(reason);
+            }
         }
     }
 


=====================================
modules/gui/qt/medialibrary/qml/VideoPlaylistsDisplay.qml
=====================================
@@ -94,8 +94,12 @@ Widgets.PageLoader {
 
             onCurrentIndexChanged: _updateHistoryList(currentIndex)
 
-            onShowList: history.push(["mc", "video", "playlists", "list",
-                                      { parentId: model.id, name: model.name }])
+            onShowList: {
+                history.push(["mc", "video", "playlists", "list",
+                             { parentId: model.id, name: model.name }]);
+
+                stackView.currentItem.setCurrentItemFocus(reason);
+            }
         }
     }
 


=====================================
modules/gui/qt/network/qml/NetworkBrowseDisplay.qml
=====================================
@@ -33,8 +33,11 @@ FocusScope {
     property var providerModel
     property var contextMenu
     property var tree
-    onTreeChanged: providerModel.tree = tree
+
     readonly property var currentIndex: _currentView.currentIndex
+
+    readonly property bool isViewMultiView: true
+
     //the index to "go to" when the view is loaded
     property var initialIndex: 0
     property var sortModel: [
@@ -44,9 +47,13 @@ FocusScope {
 
     property alias _currentView: view.currentItem
 
-    function changeTree(new_tree) {
-        history.push(["mc", "network", { tree: new_tree }]);
-    }
+    signal browse(variant tree, int reason)
+
+    providerModel: modelMedia
+
+    contextMenu: NetworkMediaContextMenu { model: modelMedia }
+
+    onTreeChanged: providerModel.tree = tree
 
     function playSelected() {
         providerModel.addAndPlay(filterModel.mapIndexesToSource(selectionModel.selectedIndexes))
@@ -124,7 +131,7 @@ FocusScope {
             var data = filterModel.getDataAt(index)
             if (data.type === NetworkMediaModel.TYPE_DIRECTORY
                     || data.type === NetworkMediaModel.TYPE_NODE)  {
-                changeTree(data.tree)
+                browse(data.tree, Qt.TabFocusReason)
             } else {
                 playAt(index)
             }
@@ -204,7 +211,7 @@ FocusScope {
 
                 onItemDoubleClicked: {
                     if (model.type === NetworkMediaModel.TYPE_NODE || model.type === NetworkMediaModel.TYPE_DIRECTORY)
-                        changeTree(model.tree)
+                        browse(model.tree, Qt.MouseFocusReason)
                     else
                         playAt(index)
                 }
@@ -278,6 +285,7 @@ FocusScope {
                 height: layout.implicitHeight + VLCStyle.margin_large + VLCStyle.margin_small
 
                 Navigation.navigable: btn.visible
+                Navigation.parentItem: root
 
                 RowLayout {
                     id: layout


=====================================
modules/gui/qt/network/qml/NetworkDisplay.qml
=====================================
@@ -25,81 +25,95 @@ import org.videolan.vlc 0.1
 import "qrc:///widgets/" as Widgets
 import "qrc:///style/"
 
-// FIXME: We should refactor this to a PageLoader.
-FocusScope {
+Widgets.PageLoader {
     id: root
 
-    property var extraLocalActions: undefined
+    // Properties
+
+    property var sortModel
+    property var contentModel
     property bool isViewMultiView: true
+
     property var tree: undefined
-    onTreeChanged:  loadView()
-    Component.onCompleted: loadView()
 
-    property var contentModel
-    property var sortModel
+    property Component localMenuDelegate
 
-    property alias _currentView: view.currentItem
+    // Settings
 
-    //reset view
-    function loadDefaultView() {
-        root.tree = undefined
-    }
+    defaultPage: "home"
 
-    function setCurrentItemFocus(reason) {
-        _currentView.setCurrentItemFocus(reason);
-    }
+    pageModel: [{
+        name: "home",
+        url: "qrc:///network/NetworkHomeDisplay.qml"
+    }, {
+        name: "browse",
+        url: "qrc:///network/NetworkBrowseDisplay.qml"
+    }]
 
-    property Component localMenuDelegate
+    // Events
 
-    function loadView() {
-        var page = "";
-        var props = undefined;
-        if (root.tree === undefined) {
-            page ="qrc:///network/NetworkHomeDisplay.qml"
-            root.localMenuDelegate = null
-            isViewMultiView = false
+    onCurrentItemChanged: {
+        sortModel = currentItem.sortModel;
+        contentModel = currentItem.model;
+
+        isViewMultiView = (currentItem.isViewMultiView === undefined
+                           ||
+                           currentItem.isViewMultiView);
+
+        if (tree) {
+            if (view == "home")
+                localMenuDelegate = null;
+            else
+                localMenuDelegate = componentBar;
         } else {
-            page = "qrc:///network/NetworkBrowseDisplay.qml"
-            props = { providerModel: mediaModel, contextMenu: mediaContextMenu, tree: root.tree }
-            root.localMenuDelegate = addressBar
-            isViewMultiView = true
+            localMenuDelegate = null;
         }
-        view.replace(page, props)
+    }
 
-        extraLocalActions = _currentView.extraLocalActions
-        _currentView.Navigation.parentItem = root
+    // Functions
+    // PageLoader reimplementation
 
-        if (_currentView.model)
-            root.contentModel = _currentView.model
-        root.sortModel = _currentView.sortModel
+    // FIXME: Maybe this could be done with a 'guard' mechanism on the pageModel.
+    function loadView() {
+        if (tree)
+            stackView.loadView(pageModel, view, viewProperties);
+        else
+            stackView.loadView(pageModel, "home", viewProperties);
+
+        stackView.currentItem.Navigation.parentItem = root;
+
+        currentItemChanged(stackView.currentItem);
     }
 
-    Component {
-        id: addressBar
+    // Connections
 
-        NetworkAddressbar {
-            path: mediaModel.path
+    Connections {
+        target: stackView.currentItem
+
+        onBrowse: {
+            root.tree = tree;
+
+            history.push(["mc", "network", "browse", { tree: tree }]);
 
-            onHomeButtonClicked: history.push(["mc", "network"])
+            stackView.currentItem.setCurrentItemFocus(reason);
         }
     }
 
+    // Children
+
     NetworkMediaModel {
-        id: mediaModel
+        id: modelMedia
 
         ctx: mainctx
     }
 
-    NetworkMediaContextMenu {
-        id: mediaContextMenu
-
-        model: mediaModel
-    }
+    Component {
+        id: componentBar
 
-    Widgets.StackViewExt {
-        id: view
+        NetworkAddressbar {
+            path: modelMedia.path
 
-        anchors.fill:parent
-        focus: true
+            onHomeButtonClicked: history.push(["mc", "network", "home"])
+        }
     }
 }


=====================================
modules/gui/qt/network/qml/NetworkHomeDeviceListView.qml
=====================================
@@ -36,6 +36,9 @@ FocusScope {
     property int leftPadding: VLCStyle.margin_xlarge
 
     property int _currentIndex: -1
+
+    signal browse(variant tree, int reason)
+
     on_CurrentIndexChanged: {
         deviceListView.currentIndex = _currentIndex
     }
@@ -45,13 +48,14 @@ FocusScope {
     }
 
     function _actionAtIndex(index, model, selectionModel) {
-        var data = model.getDataAt(index)
+        var data = model.getDataAt(index);
+
         if (data.type === NetworkMediaModel.TYPE_DIRECTORY
-                || data.type === NetworkMediaModel.TYPE_NODE)  {
-            history.push(["mc", "network", { tree: data.tree }]);
-        } else {
-            model.addAndPlay( selectionModel.selectedIndexes )
-        }
+            ||
+            data.type === NetworkMediaModel.TYPE_NODE)
+            browse(data.tree, Qt.TabFocusReason);
+        else
+            model.addAndPlay( selectionModel.selectedIndexes);
     }
 
     onFocusChanged: {
@@ -110,10 +114,12 @@ FocusScope {
             onPlayClicked: deviceModel.addAndPlay( index )
 
             onItemDoubleClicked: {
-                if (model.type === NetworkMediaModel.TYPE_NODE || model.type === NetworkMediaModel.TYPE_DIRECTORY)
-                    history.push( ["mc", "network", { tree: model.tree } ])
+                if (model.type === NetworkMediaModel.TYPE_NODE
+                    ||
+                    model.type === NetworkMediaModel.TYPE_DIRECTORY)
+                    browse(model.tree, Qt.MouseFocusReason);
                 else
-                    deviceModel.addAndPlay( index )
+                    deviceModel.addAndPlay(index);
             }
         }
 


=====================================
modules/gui/qt/network/qml/NetworkHomeDisplay.qml
=====================================
@@ -31,6 +31,13 @@ FocusScope {
     id: topFocusScope
     focus: true
 
+    readonly property bool isViewMultiView: false
+
+    signal browse(variant tree, int reason)
+
+    Component.onCompleted: resetFocus()
+    onActiveFocusChanged: resetFocus()
+
     function setCurrentItemFocus(reason) {
         deviceSection.setCurrentItemFocus(reason);
     }
@@ -43,15 +50,6 @@ FocusScope {
         }
     }
 
-    function _actionAtIndex(index, model, selectionModel) {
-        if (selectionModel.items.get(index).model.type === NetworkMediaModel.TYPE_DIRECTORY
-                || selectionModel.items.get(index).model.type === NetworkMediaModel.TYPE_NODE)  {
-            history.push(["mc", "network", { tree: selectionModel.items.get(index).model.tree }]);
-        } else {
-            model.addAndPlay( selectionModel.selectedIndexes )
-        }
-    }
-
     Label {
         anchors.centerIn: parent
         visible: (deviceSection.model.count === 0 && lanSection.model.count === 0 )
@@ -89,6 +87,8 @@ FocusScope {
                 visible: deviceSection.model.count !== 0
                 onVisibleChanged: topFocusScope.resetFocus()
 
+                onBrowse: topFocusScope.browse(tree, reason)
+
                 Navigation.parentItem: topFocusScope
 
                 Navigation.downAction: function() {
@@ -122,6 +122,8 @@ FocusScope {
                 visible: lanSection.model.count !== 0
                 onVisibleChanged: topFocusScope.resetFocus()
 
+                onBrowse: topFocusScope.browse(tree, reason)
+
                 Navigation.parentItem: topFocusScope
 
                 Navigation.upAction: function() {
@@ -140,8 +142,6 @@ FocusScope {
 
     }
 
-    Component.onCompleted: resetFocus()
-    onActiveFocusChanged: resetFocus()
     function resetFocus() {
         var widgetlist = [deviceSection, lanSection]
         var i;


=====================================
modules/gui/qt/network/qml/ServicesHomeDisplay.qml
=====================================
@@ -67,17 +67,14 @@ Widgets.PageLoader {
                 path: [{display: deviceModel.name, tree: {}}]
 
                 onHomeButtonClicked: history.push(["mc", "discover", "services"])
-
-                function changeTree(new_tree) {
-                }
             }
 
             providerModel: deviceModel
             contextMenu: contextMenu
 
-            function changeTree(new_tree) {
-                history.push(["mc", "discover", "services", "source_browse", { tree: new_tree, "root_name": deviceModel.name, "source_name": source_name }]);
-            }
+            onBrowse: history.push(["mc", "discover", "services", "source_browse",
+                                    { tree: tree,
+                                      "root_name": deviceModel.name, "source_name": source_name }])
 
             NetworkDeviceModel {
                 id: deviceModel
@@ -118,9 +115,8 @@ Widgets.PageLoader {
                 }
             }
 
-            function changeTree(new_tree) {
-                history.push(["mc", "discover", "services", "source_browse", { tree: new_tree, "root": root_name }]);
-            }
+            onBrowse: history.push(["mc", "discover", "services", "source_browse",
+                                    { tree: tree, "root": root_name }])
 
             NetworkMediaModel {
                 id: mediaModel


=====================================
modules/gui/qt/util/qml/Helpers.js
=====================================
@@ -52,3 +52,10 @@ function get(dict, key, defaultValue) {
     var v = typeof dict !== "undefined" ? dict[key] : undefined
     return !v ? defaultValue : v
 }
+
+// NOTE: This allows us to force another 'reason' even when the item has activeFocus.
+function enforceFocus(item, reason) {
+    item.focus = false;
+
+    item.forceActiveFocus(reason);
+}


=====================================
modules/gui/qt/widgets/qml/ExpandGridView.qml
=====================================
@@ -20,6 +20,7 @@ import QtQuick.Controls 2.4
 import org.videolan.vlc 0.1
 
 import "qrc:///style/"
+import "qrc:///util/Helpers.js" as Helpers
 
 FocusScope {
     id: root
@@ -101,16 +102,20 @@ FocusScope {
     Accessible.role: Accessible.Table
 
     function setCurrentItemFocus(reason) {
-        if (!model || model.count === 0 || currentIndex === -1 || expandIndex !== -1)
-            return;
 
+        // NOTE: Saving the focus reason for later.
         _currentFocusReason = reason;
 
+        if (!model || model.count === 0 || currentIndex === -1 || expandIndex !== -1) {
+            // NOTE: By default we want the focus on the flickable.
+            flickable.forceActiveFocus(reason);
+
+            return;
+        }
+
         if (_containsItem(currentIndex))
-            _getItem(currentIndex).forceActiveFocus(reason);
+            Helpers.enforceFocus(_getItem(currentIndex), reason);
         else
-            // NOTE: By default we want the focus on the flickable. This is useful when no item is
-            //       instanciated.
             flickable.forceActiveFocus(reason);
 
         // NOTE: We make sure the current item is fully visible.


=====================================
modules/gui/qt/widgets/qml/KeyNavigableListView.qml
=====================================
@@ -20,6 +20,7 @@ import QtQuick.Controls 2.4
 import org.videolan.vlc 0.1
 
 import "qrc:///style/"
+import "qrc:///util/Helpers.js" as Helpers
 
 FocusScope {
     id: listview_id
@@ -38,6 +39,10 @@ FocusScope {
 
     property bool keyNavigationWraps : false
 
+    // Private
+
+    property int _currentFocusReason: Qt.OtherFocusReason
+
     // Aliases
 
     //forward view properties
@@ -97,18 +102,34 @@ FocusScope {
 
     Accessible.role: Accessible.List
 
+    // Events
+
+    onCurrentItemChanged: {
+        if (_currentFocusReason === Qt.OtherFocusReason)
+            return;
+
+        if (currentItem)
+            Helpers.enforceFocus(currentItem, _currentFocusReason);
+
+        _currentFocusReason = Qt.OtherFocusReason;
+    }
+
     // Functions
 
     function setCurrentItemFocus(reason) {
-        if (!model || model.count === 0)
+        if (!model || model.count === 0) {
+            // NOTE: Saving the focus reason for later.
+            _currentFocusReason = reason;
+
             return;
+        }
 
         if (currentIndex === -1)
             currentIndex = 0;
 
         positionViewAtIndex(currentIndex, ItemView.Contain);
 
-        currentItem.forceActiveFocus(reason);
+        Helpers.enforceFocus(currentItem, reason);
     }
 
     function nextPage() {



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/85e1eb7a50cb7e59bba3a3990af2f149cec5eac9...484909d5d5bf71976d59b5e7d0bdfde9fb2ca743

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/85e1eb7a50cb7e59bba3a3990af2f149cec5eac9...484909d5d5bf71976d59b5e7d0bdfde9fb2ca743
You're receiving this email because of your account on code.videolan.org.




More information about the vlc-commits mailing list