commit 0937ea78016f6f5ba0be8367eb28cae62090cde5
Author: phantomjinx <p.g.richard...@phantomjinx.co.uk>
Date:   Sat Oct 30 23:27:02 2010 +0100

    Add select-all context menu item to track display

 plugins/track_display/display_tracks.c             |    6 ++++++
 plugins/track_display/display_tracks.h             |    1 +
 plugins/track_display/track_display_context_menu.c |   11 +++++++++++
 3 files changed, 18 insertions(+), 0 deletions(-)
---
diff --git a/plugins/track_display/display_tracks.c 
b/plugins/track_display/display_tracks.c
index 1025656..452ff6e 100644
--- a/plugins/track_display/display_tracks.c
+++ b/plugins/track_display/display_tracks.c
@@ -1260,6 +1260,12 @@ tm_get_selected_tracks(void) {
     return (result);
 }
 
+void tm_select_all_tracks(void) {
+    GtkTreeSelection *ts = NULL;
+    ts = gtk_tree_view_get_selection(GTK_TREE_VIEW(track_treeview));
+    gtk_tree_selection_select_all(ts);
+}
+
 /* used by tm_get_all_tracks */
 static gboolean on_all_tracks_list_foreach(GtkTreeModel *tm, GtkTreePath *tp, 
GtkTreeIter *i, gpointer data) {
     on_tracks_list_foreach(tm, tp, i, data);
diff --git a/plugins/track_display/display_tracks.h 
b/plugins/track_display/display_tracks.h
index f87d09b..349e3a2 100644
--- a/plugins/track_display/display_tracks.h
+++ b/plugins/track_display/display_tracks.h
@@ -42,6 +42,7 @@ void tm_update_default_sizes (void);
 void tm_store_col_order (void);
 void tm_show_preferred_columns(void);
 GList *tm_get_selected_tracks(void);
+void tm_select_all_tracks(void);
 
 void display_show_hide_searchbar(void);
 
diff --git a/plugins/track_display/track_display_context_menu.c 
b/plugins/track_display/track_display_context_menu.c
index e512c6f..a7638d5 100644
--- a/plugins/track_display/track_display_context_menu.c
+++ b/plugins/track_display/track_display_context_menu.c
@@ -42,6 +42,15 @@
 #include "display_tracks.h"
 #include "track_display_context_menu.h"
 
+/* Select All */
+static void select_all(GtkMenuItem *mi, gpointer data) {
+    tm_select_all_tracks();
+}
+
+static GtkWidget *add_select_all(GtkWidget *menu) {
+    return hookup_menu_item(menu, _("Select All"), GTK_STOCK_SELECT_ALL, 
G_CALLBACK (select_all), NULL);
+}
+
 static void context_menu_delete_tracks_head(GtkMenuItem *mi, gpointer data) {
     DeleteAction deleteaction = GPOINTER_TO_INT (data);
     delete_track_head(deleteaction);
@@ -189,6 +198,8 @@ void tm_context_menu_init(void) {
     add_separator(menu);
     add_update_tracks_from_file(menu);
     add_edit_track_details(menu);
+    add_separator(menu);
+    add_select_all(menu);
 
     /*
      * button should be button 0 as per the docs because we're calling

------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to