diff src/collect-table.c @ 1535:760f585d9fa0

Implement random sort method for collections This patch allows to randomize the collections. (Closes: #2497413) https://sourceforge.net/tracker/?func=detail&aid=2497413&group_id=222125&atid=1054683
author mow
date Fri, 10 Apr 2009 13:44:37 +0000
parents 24a12aa0cb54
children 58a5d1e01e33
line wrap: on
line diff
--- a/src/collect-table.c	Fri Apr 10 10:18:42 2009 +0000
+++ b/src/collect-table.c	Fri Apr 10 13:44:37 2009 +0000
@@ -720,6 +720,17 @@
 	collection_set_sort_method(ct->cd, type);
 }
 
+static void collection_table_popup_randomize_cb(GtkWidget *widget, gpointer data)
+{
+	CollectTable *ct;
+
+	ct = submenu_item_get_data(widget);
+
+	if (!ct) return;
+
+	collection_randomize(ct->cd);
+}
+
 static void collection_table_popup_view_new_cb(GtkWidget *widget, gpointer data)
 {
 	CollectTable *ct = data;
@@ -902,7 +913,13 @@
 				G_CALLBACK(collection_table_popup_copy_path_cb), ct);
 	menu_item_add_divider(menu);
 
-	submenu_add_sort(menu, G_CALLBACK(collection_table_popup_sort_cb), ct, FALSE, TRUE, FALSE, 0);
+	submenu = submenu_add_sort(NULL, G_CALLBACK(collection_table_popup_sort_cb), ct, FALSE, TRUE, FALSE, 0);
+	menu_item_add_divider(submenu);
+	menu_item_add(submenu, _("Randomize"),
+			G_CALLBACK(collection_table_popup_randomize_cb), ct);
+	item = menu_item_add(menu, _("_Sort"), NULL, NULL);
+	gtk_menu_item_set_submenu(GTK_MENU_ITEM(item), submenu);
+
 	menu_item_add_check(menu, _("Show filename _text"), ct->show_text,
 			G_CALLBACK(collection_table_popup_show_names_cb), ct);
 	menu_item_add_divider(menu);