[vlc-devel] [PATCH 08/29] qml: refactor artist view from MusicArtistDisplay to separate component

Prince Gupta guptaprince8832 at gmail.com
Tue Aug 4 13:34:41 CEST 2020


---
 modules/gui/qt/Makefile.am                    |  1 +
 .../gui/qt/medialibrary/qml/MusicArtist.qml   | 50 +++++++++++++++++++
 .../medialibrary/qml/MusicArtistsDisplay.qml  | 22 ++------
 modules/gui/qt/vlc.qrc                        |  1 +
 4 files changed, 56 insertions(+), 18 deletions(-)
 create mode 100644 modules/gui/qt/medialibrary/qml/MusicArtist.qml

diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am
index b02cb7440d..4ecf090159 100644
--- a/modules/gui/qt/Makefile.am
+++ b/modules/gui/qt/Makefile.am
@@ -598,6 +598,7 @@ libqt_plugin_la_QML = \
 	gui/qt/medialibrary/qml/MusicAlbums.qml \
 	gui/qt/medialibrary/qml/MusicAlbumsDisplay.qml \
 	gui/qt/medialibrary/qml/MusicAlbumsGridExpandDelegate.qml \
+	gui/qt/medialibrary/qml/MusicArtist.qml \
 	gui/qt/medialibrary/qml/MusicArtistsDisplay.qml \
 	gui/qt/medialibrary/qml/MusicDisplay.qml \
 	gui/qt/medialibrary/qml/MusicGenres.qml \
diff --git a/modules/gui/qt/medialibrary/qml/MusicArtist.qml b/modules/gui/qt/medialibrary/qml/MusicArtist.qml
new file mode 100644
index 0000000000..32f0d87221
--- /dev/null
+++ b/modules/gui/qt/medialibrary/qml/MusicArtist.qml
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (C) 2020 VLC authors and VideoLAN
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * ( at your option ) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
+ *****************************************************************************/
+import QtQuick.Controls 2.4
+import QtQuick 2.11
+import QtQml.Models 2.2
+import QtQuick.Layouts 1.3
+
+import org.videolan.medialib 0.1
+
+import "qrc:///util/" as Util
+import "qrc:///widgets/" as Widgets
+import "qrc:///style/"
+
+MusicAlbums {
+    id: root
+
+    property var artist: ({})
+
+    gridViewMarginTop: 0
+    focus: true
+    navigationUpItem: headerItem
+
+    header: ArtistTopBanner {
+        id: artistBanner
+
+        width: root.width
+        artist: root.artist
+        navigationParent: root.navigationParent
+        navigationLeftItem: root.navigationLeftItem
+        navigationDown: function() {
+            artistBanner.focus = false
+            root.forceActiveFocus()
+        }
+    }
+}
diff --git a/modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml b/modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml
index 02e64bbde7..ba31973ef5 100644
--- a/modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml
+++ b/modules/gui/qt/medialibrary/qml/MusicArtistsDisplay.qml
@@ -162,33 +162,19 @@ Widgets.NavigableFocusScope {
 
         }
 
-
-        MusicAlbums {
+        MusicArtist {
             id: albumSubView
 
             height: parent.height
             width: parent.width * .75
-            gridViewMarginTop: 0
             focus: true
             parentId: root.artistId
             initialIndex: root.initialAlbumIndex
             navigationParent: root
-            navigationUpItem: albumSubView.headerItem
             navigationLeftItem: artistList
-
-            header: ArtistTopBanner {
-                id: artistBanner
-                width: albumSubView.width
-                artist: (artistList.currentIndex >= 0)
-                        ? artistModel.getDataAt(artistList.currentIndex)
-                        : ({})
-                navigationParent: root
-                navigationLeftItem: artistList
-                navigationDown: function() {
-                    artistBanner.focus = false
-                    view.forceActiveFocus()
-                }
-            }
+            artist: (artistList.currentIndex >= 0)
+                    ? artistModel.getDataAt(artistList.currentIndex)
+                    : ({})
 
             onCurrentIndexChanged: {
                 history.update(["mc", "music", "artists", {"initialIndex" : root.currentIndex, "initialAlbumIndex": albumSubView.currentIndex  }])
diff --git a/modules/gui/qt/vlc.qrc b/modules/gui/qt/vlc.qrc
index fb753306ec..51f3a61701 100644
--- a/modules/gui/qt/vlc.qrc
+++ b/modules/gui/qt/vlc.qrc
@@ -242,6 +242,7 @@
         <file alias="VideoDisplay.qml">medialibrary/qml/VideoDisplay.qml</file>
         <file alias="MusicAlbumsDisplay.qml">medialibrary/qml/MusicAlbumsDisplay.qml</file>
         <file alias="MusicAlbumsGridExpandDelegate.qml">medialibrary/qml/MusicAlbumsGridExpandDelegate.qml</file>
+        <file alias="MusicArtist.qml">medialibrary/qml/MusicArtist.qml</file>
         <file alias="MusicArtistsDisplay.qml">medialibrary/qml/MusicArtistsDisplay.qml</file>
         <file alias="MusicGenresDisplay.qml">medialibrary/qml/MusicGenresDisplay.qml</file>
         <file alias="MusicTracksDisplay.qml">medialibrary/qml/MusicTracksDisplay.qml</file>
-- 
2.25.1



More information about the vlc-devel mailing list