commit 11966fb32846c2c557cca86c1bc7e938d2a1c927 Author: phantomjinx <p.g.richard...@phantomjinx.co.uk> Date: Sat Oct 15 22:42:29 2011 +0100
Add multi-playlist support to context menu delete actions * playlist_display_context_menu.c * When multiple playlists are selected, allow the delete actions to delete all of them. .../playlist_display/playlist_display_actions.c | 9 +++-- .../playlist_display_context_menu.c | 30 ++++++++++++++++++- 2 files changed, 33 insertions(+), 6 deletions(-) --- diff --git a/plugins/playlist_display/playlist_display_actions.c b/plugins/playlist_display/playlist_display_actions.c index f8954b9..f153011 100644 --- a/plugins/playlist_display/playlist_display_actions.c +++ b/plugins/playlist_display/playlist_display_actions.c @@ -627,16 +627,17 @@ void on_pl_for_each_rating_activate(GtkAction *action, PlaylistDisplayPlugin* pl static void delete_selected_playlists(DeleteAction deleteaction) { GList *playlists = pm_get_selected_playlists(); + if (! playlists) { + message_sb_no_playlist_selected(); + return; + } + while (playlists) { Playlist *pl = playlists->data; if (pl) { gtkpod_set_current_playlist(pl); delete_playlist_head(deleteaction); } - else { - message_sb_no_playlist_selected(); - } - playlists = playlists->next; } } diff --git a/plugins/playlist_display/playlist_display_context_menu.c b/plugins/playlist_display/playlist_display_context_menu.c index 2e8adda..72b1bf5 100644 --- a/plugins/playlist_display/playlist_display_context_menu.c +++ b/plugins/playlist_display/playlist_display_context_menu.c @@ -47,12 +47,38 @@ static void context_menu_delete_playlist_head(GtkMenuItem *mi, gpointer data) { DeleteAction deleteaction = GPOINTER_TO_INT (data); - delete_playlist_head(deleteaction); + GList *playlists = pm_get_selected_playlists(); + if (! playlists) { + message_sb_no_playlist_selected(); + return; + } + + while (playlists) { + Playlist *pl = playlists->data; + if (pl) { + gtkpod_set_current_playlist(pl); + delete_playlist_head(deleteaction); + } + playlists = playlists->next; + } } void context_menu_delete_track_head(GtkMenuItem *mi, gpointer data) { DeleteAction deleteaction = GPOINTER_TO_INT (data); - delete_track_head(deleteaction); + GList *playlists = pm_get_selected_playlists(); + if (! playlists) { + message_sb_no_playlist_selected(); + return; + } + + while (playlists) { + Playlist *pl = playlists->data; + if (pl) { + gtkpod_set_current_playlist(pl); + delete_track_head(deleteaction); + } + playlists = playlists->next; + } } static GtkWidget *add_delete_all_tracks_from_ipod(GtkWidget *menu) { ------------------------------------------------------------------------------ All the data continuously generated in your IT infrastructure contains a definitive record of customers, application performance, security threats, fraudulent activity and more. Splunk takes this data and makes sense of it. Business sense. IT sense. Common sense. http://p.sf.net/sfu/splunk-d2d-oct _______________________________________________ gtkpod-cvs2 mailing list gtkpod-cvs2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2