vlc | branch: master | Adrien Maglo <[email protected]> | Mon May 13 14:15:17 2019 +0200| [5a4280ab4a440dc691eb7834e8181c36eb756dd0] | committer: Thomas Guillem
qml: sections of MusicTrackListDisplay are set by the sorting criteria Signed-off-by: Thomas Guillem <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=5a4280ab4a440dc691eb7834e8181c36eb756dd0 --- .../gui/qt/components/mediacenter/mlalbumtrackmodel.cpp | 15 ++++++++++++--- modules/gui/qt/qml/mediacenter/MusicTrackListDisplay.qml | 13 ++++++++++++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/modules/gui/qt/components/mediacenter/mlalbumtrackmodel.cpp b/modules/gui/qt/components/mediacenter/mlalbumtrackmodel.cpp index 7ef567aeef..788b656b0e 100644 --- a/modules/gui/qt/components/mediacenter/mlalbumtrackmodel.cpp +++ b/modules/gui/qt/components/mediacenter/mlalbumtrackmodel.cpp @@ -29,7 +29,10 @@ enum Role { TRACK_DURATION, TRACK_ALBUM, TRACK_ARTIST, - TRACK_FIRST_SYMBOL, + + TRACK_TITLE_FIRST_SYMBOL, + TRACK_ALBUM_FIRST_SYMBOL, + TRACK_ARTIST_FIRST_SYMBOL, }; } @@ -77,8 +80,12 @@ QVariant MLAlbumTrackModel::data(const QModelIndex &index, int role) const return QVariant::fromValue( ml_track->getAlbumTitle() ); case TRACK_ARTIST: return QVariant::fromValue( ml_track->getArtist() ); - case TRACK_FIRST_SYMBOL: + case TRACK_TITLE_FIRST_SYMBOL: return QVariant::fromValue( getFirstSymbol( ml_track->getTitle() ) ); + case TRACK_ALBUM_FIRST_SYMBOL: + return QVariant::fromValue( getFirstSymbol( ml_track->getAlbumTitle() ) ); + case TRACK_ARTIST_FIRST_SYMBOL: + return QVariant::fromValue( getFirstSymbol( ml_track->getArtist() ) ); default : return QVariant(); } @@ -95,7 +102,9 @@ QHash<int, QByteArray> MLAlbumTrackModel::roleNames() const { TRACK_DURATION, "duration" }, { TRACK_ALBUM, "album_title"}, { TRACK_ARTIST, "main_artist"}, - { TRACK_FIRST_SYMBOL, "first_symbol"}, + { TRACK_TITLE_FIRST_SYMBOL, "title_first_symbol"}, + { TRACK_ALBUM_FIRST_SYMBOL, "album_title_first_symbol"}, + { TRACK_ARTIST_FIRST_SYMBOL, "main_artist_first_symbol"}, }; } diff --git a/modules/gui/qt/qml/mediacenter/MusicTrackListDisplay.qml b/modules/gui/qt/qml/mediacenter/MusicTrackListDisplay.qml index a33c0659f2..46701a4755 100644 --- a/modules/gui/qt/qml/mediacenter/MusicTrackListDisplay.qml +++ b/modules/gui/qt/qml/mediacenter/MusicTrackListDisplay.qml @@ -37,13 +37,24 @@ Utils.KeyNavigableTableView { ListElement{ criteria: "disc_number"; width:0.05; text: qsTr("Disc"); showSection: "" } } - section.property: "first_symbol" + section.property: "title_first_symbol" headerColor: VLCStyle.colors.bg model: MLAlbumTrackModel { id: rootmodel ml: medialib + onSortCriteriaChanged: { + switch (rootmodel.sortCriteria) { + case "title": + case "album_title": + case "main_artist": + section.property = rootmodel.sortCriteria + "_first_symbol" + break; + default: + section.property = "" + } + } } property alias parentId: rootmodel.parentId _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
