vlc | branch: master | Fatih Uzunoglu <[email protected]> | Fri Oct 9 19:56:37 2020 +0300| [52b42e583caffbc9ee03286e6d388ed0a260326a] | committer: Pierre Lamot
qml: hide playlist overlay menu items according to model properties > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=52b42e583caffbc9ee03286e6d388ed0a260326a --- modules/gui/qt/playlist/qml/PlaylistListView.qml | 23 +++++++++++++++++++++++ modules/gui/qt/playlist/qml/PlaylistMenu.qml | 5 ++++- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/modules/gui/qt/playlist/qml/PlaylistListView.qml b/modules/gui/qt/playlist/qml/PlaylistListView.qml index 088a08e493..c99b5577f5 100644 --- a/modules/gui/qt/playlist/qml/PlaylistListView.qml +++ b/modules/gui/qt/playlist/qml/PlaylistListView.qml @@ -74,6 +74,9 @@ Widgets.NavigableFocusScope { leftPadding: root.leftPadding rightPadding: root.rightPadding + isPLEmpty: (root.plmodel.count === 0) + isItemNotSelected: (root.plmodel.selectedCount === 0) + //rootmenu Action { id:playAction; text: i18n.qtr("Play"); onTriggered: mainPlaylistController.goTo(root.plmodel.getSelection()[0], true); icon.source: "qrc:///toolbar/play_b.svg" } Action { id:streamAction; text: i18n.qtr("Stream"); onTriggered: dialogProvider.streamingDialog(root.plmodel.getSelection().map(function(i) { return root.plmodel.itemAt(i).url; }), false); icon.source: "qrc:/menu/stream.svg" } @@ -134,6 +137,26 @@ Widgets.NavigableFocusScope { deleteAction ] }, + "rootmenu_plempty" : { + title: i18n.qtr("Playlist"), + entries: [ + addFileAction, + addDirAction, + addAdvancedAction + ] + }, + "rootmenu_noselection" : { + title: i18n.qtr("Playlist"), + entries: [ + addFileAction, + addDirAction, + addAdvancedAction, + savePlAction, + clearAllAction, + sortAction, + selectTracksAction + ] + }, "sortmenu" :{ title: i18n.qtr("Sort Playlist"), entries: [ diff --git a/modules/gui/qt/playlist/qml/PlaylistMenu.qml b/modules/gui/qt/playlist/qml/PlaylistMenu.qml index 6f491f2b10..24ec66db57 100644 --- a/modules/gui/qt/playlist/qml/PlaylistMenu.qml +++ b/modules/gui/qt/playlist/qml/PlaylistMenu.qml @@ -34,6 +34,9 @@ Widgets.NavigableFocusScope { property int leftPadding: 0 property int rightPadding: 0 + property bool isPLEmpty: false + property bool isItemNotSelected: false + onActiveFocusChanged: { if (!activeFocus) { overlayMenu.close() @@ -46,7 +49,7 @@ Widgets.NavigableFocusScope { } function open() { - playlistMenu.currentModel = "rootmenu" + playlistMenu.currentModel = isPLEmpty ? "rootmenu_plempty" : (isItemNotSelected ? "rootmenu_noselection" : "rootmenu") playlistMenu.menuHierachy = [] overlayMenu.visible = true overlayMenu.forceActiveFocus() _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
