[vlc-devel] [PATCH 05/55] qt: add sort(key) function to PlaylistControllerModel

Fatih Uzunoglu fuzun54 at outlook.com
Thu Jan 7 21:36:18 UTC 2021


---
 .../gui/qt/playlist/playlist_controller.cpp    | 18 ++++++++++++++++++
 .../gui/qt/playlist/playlist_controller.hpp    |  1 +
 2 files changed, 19 insertions(+)

diff --git a/modules/gui/qt/playlist/playlist_controller.cpp b/modules/gui/qt/playlist/playlist_controller.cpp
index 6d9932e49d..ab2a81d0d8 100644
--- a/modules/gui/qt/playlist/playlist_controller.cpp
+++ b/modules/gui/qt/playlist/playlist_controller.cpp
@@ -465,6 +465,24 @@ void PlaylistControllerModel::sort(PlaylistControllerModel::SortKey key, Playlis
     sort();
 }
 
+void PlaylistControllerModel::sort(PlaylistControllerModel::SortKey key)
+{
+    if (key == SortKey::SORT_KEY_NONE)
+        return;
+
+    if (getSortKey() != key)
+    {
+        setSortOrder(SortOrder::SORT_ORDER_ASC);
+        setSortKey(key);
+    }
+    else
+    {
+        switchSortOrder();
+    }
+
+    sort();
+}
+
 void PlaylistControllerModel::sort(void)
 {
     Q_D(PlaylistControllerModel);
diff --git a/modules/gui/qt/playlist/playlist_controller.hpp b/modules/gui/qt/playlist/playlist_controller.hpp
index 775c65a316..d285eded3d 100644
--- a/modules/gui/qt/playlist/playlist_controller.hpp
+++ b/modules/gui/qt/playlist/playlist_controller.hpp
@@ -112,6 +112,7 @@ public:
     void sort(const QVector<vlc_playlist_sort_criterion> &);
 
     Q_INVOKABLE void sort(SortKey key, SortOrder order);
+    Q_INVOKABLE void sort(SortKey key);
     Q_INVOKABLE void sort(void);
 
     Q_INVOKABLE void explore(const PlaylistItem& pItem);
-- 
2.27.0



More information about the vlc-devel mailing list