summaryrefslogtreecommitdiff
path: root/plugins/gtkui/callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/gtkui/callbacks.c')
-rw-r--r--plugins/gtkui/callbacks.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/plugins/gtkui/callbacks.c b/plugins/gtkui/callbacks.c
index 3005bc27..be18328c 100644
--- a/plugins/gtkui/callbacks.c
+++ b/plugins/gtkui/callbacks.c
@@ -1154,7 +1154,7 @@ on_sort_by_title_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%t", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%t", DDB_SORT_ASCENDING);
deadbeef->plt_unref (plt);
DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
@@ -1168,7 +1168,7 @@ on_sort_by_track_nr_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%n", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%n", DDB_SORT_ASCENDING);
deadbeef->plt_unref (plt);
DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
@@ -1182,7 +1182,7 @@ on_sort_by_album_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%b", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%b", DDB_SORT_ASCENDING);
deadbeef->plt_unref (plt);
DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
@@ -1196,7 +1196,7 @@ on_sort_by_artist_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%a", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%a", DDB_SORT_ASCENDING);
deadbeef->plt_unref (plt);
DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
@@ -1210,7 +1210,22 @@ on_sort_by_date_activate (GtkMenuItem *menuitem,
gpointer user_data)
{
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, "%y", 1);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, "%y", DDB_SORT_ASCENDING);
+ deadbeef->plt_unref (plt);
+
+ DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
+ ddb_listview_clear_sort (pl);
+ ddb_listview_refresh (pl, DDB_REFRESH_LIST | DDB_LIST_CHANGED);
+}
+
+
+void
+on_sort_by_random_activate (GtkMenuItem *menuitem,
+ gpointer user_data)
+{
+ ddb_playlist_t *plt = deadbeef->plt_get_curr ();
+ deadbeef->plt_sort (plt, PL_MAIN, -1, NULL, DDB_SORT_RANDOM);
+
deadbeef->plt_unref (plt);
DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));
@@ -1246,7 +1261,7 @@ on_sort_by_custom_activate (GtkMenuItem *menuitem,
deadbeef->conf_set_str ("gtkui.sortby_fmt", fmt);
ddb_playlist_t *plt = deadbeef->plt_get_curr ();
- deadbeef->plt_sort (plt, PL_MAIN, -1, fmt, order == 0 ? 1 : 0);
+ deadbeef->plt_sort (plt, PL_MAIN, -1, fmt, order == 0 ? DDB_SORT_ASCENDING : DDB_SORT_DESCENDING);
deadbeef->plt_unref (plt);
DdbListview *pl = DDB_LISTVIEW (lookup_widget (mainwin, "playlist"));