commit ff36716a74a099b4f6d6365acf1b1003a2608c8d
Author: phantomjinx <p.g.richard...@phantomjinx.co.uk>
Date:   Wed Sep 15 21:15:47 2010 +0100

    Playlist display context toolbar added
    
    * glade removed and no need to gtkbuilder xml either
    
    * playlist_display_toolbar.xml
     * Lists actions for context toolbar
    
    * Icon added to view window

 .gitignore                                         |    2 +-
 plugins/playlist_display/Makefile.am               |   70 +++++++++++++-
 plugins/playlist_display/display_playlists.c       |   51 +++++++++-
 plugins/playlist_display/display_playlists.h       |    4 +-
 plugins/playlist_display/playlist_display.glade    |    5 -
 plugins/playlist_display/playlist_display.ui       |   33 +------
 .../playlist_display/playlist_display_toolbar.xml  |   31 ++++++
 plugins/playlist_display/plugin.c                  |  100 ++++++++++----------
 plugins/playlist_display/plugin.h                  |   11 ++-
 9 files changed, 207 insertions(+), 100 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 085179e..ececc45 100644
--- a/.gitignore
+++ b/.gitignore
@@ -80,7 +80,7 @@ cscope.out
 /data/glade/track_display.glade
 /data/glade/repository_editor.glade
 /data/glade/cover_display.glade
-/data/glade/playlist_display.glade
+/data/glade/playlist_display_toolbar.xml
 /data/glade/core_prefs.xml
 /data/glade/photo_editor.glade
 /data/glade/media_player.glade
diff --git a/plugins/playlist_display/Makefile.am 
b/plugins/playlist_display/Makefile.am
index c9b0db9..2195c33 100644
--- a/plugins/playlist_display/Makefile.am
+++ b/plugins/playlist_display/Makefile.am
@@ -6,9 +6,13 @@ plugin_file = $(plugin_name).plugin
 playlist_display_uidir = $(gtkpod_ui_dir)
 playlist_display_ui_DATA = $(plugin_name).ui
 
-# Plugin Glade file
+# Plugin Glade file - No glade/xml file
 playlist_display_gladedir = $(gtkpod_glade_dir)
-playlist_display_glade_DATA =  $(plugin_name).glade
+playlist_display_glade_DATA =
+
+# Plugin Toolbar file
+playlist_display_toolbardir = $(gtkpod_glade_dir)
+playlist_display_toolbar_DATA =  $(plugin_name)_toolbar.xml
 
 # Plugin Icon file
 playlist_display_pixmapsdir = $(gtkpod_image_dir)
@@ -19,7 +23,23 @@ playlist_display_plugin_DATA = $(plugin_file)
 
 SUBDIRS = icons
 
-include ../plugins.mk
+# Plugin description file
+plugin_in_files = $(plugin_file)
+
+# Include paths
+AM_CPPFLAGS = \
+    -DPACKAGE_LOCALE_DIR=\""$(prefix)/$(DATADIRNAME)/locale"\" \
+    -DGTKPOD_DATA_DIR=\"$(gtkpod_data_dir)\" \
+    -DGTKPOD_PLUGIN_DIR=\"$(gtkpod_plugin_dir)\" \
+    -DGTKPOD_IMAGE_DIR=\"$(gtkpod_image_dir)\" \
+    -DGTKPOD_GLADE_DIR=\"$(gtkpod_glade_dir)\" \
+    -DGTKPOD_UI_DIR=\"$(gtkpod_ui_dir)\" \
+    -DPACKAGE_DATA_DIR=\"$(datadir)\" \
+    -DPACKAGE_SRC_DIR=\"$(srcdir)\" \
+    $(GTKPOD_CFLAGS)
+
+# Where to install the plugin
+plugindir = $(gtkpod_plugin_dir)
 
 # The plugin
 plugin_LTLIBRARIES = libplaylist_display.la
@@ -42,4 +62,48 @@ EXTRA_DIST = \
        $(playlist_display_plugin_DATA) \
        $(playlist_display_ui_DATA) \
        $(playlist_display_glade_DATA) \
+       $(playlist_display_toolbar_DATA) \
        $(playlist_display_pixmaps_DATA)
+
+all-local: create-plugin-links create-ui-link create-toolbar-link
+
+# Creating symbolic links in plugin root directory
+create-plugin-links:
+       echo "Creating plugin links"
+       if [ ! -e ../$(plugin_lib) ]; then \
+               ln -s `pwd`/.libs/$(plugin_lib) ../$(plugin_lib); \
+       fi; \
+       if [ ! -e ../$(plugin_file) ]; then \
+               ln -s `pwd`/$(plugin_file) ../$(plugin_file); \
+       fi;
+
+# Creating symbolic link to ui file in installed ui directory
+create-ui-link:
+       if [ ! -e ../../data/ui/$(plugin_name).ui ]; then \
+               ln -s `pwd`/$(plugin_name).ui ../../data/ui/$(plugin_name).ui; \
+       fi;
+
+create-toolbar-link:
+       if  [ -e `pwd`/$(plugin_name)_toolbar.xml ]; then \
+               if  [ ! -e ../../data/glade/$(plugin_name)_toolbar.xml ]; then \
+                       ln -s `pwd`/$(plugin_name)_toolbar.xml 
../../data/glade/$(plugin_name)_toolbar.xml; \
+               fi; \
+       fi;
+
+# Clean up the links and files created purely for dev  [ing
+clean-local: clean-plugin-files clean-ui-dir clean-glade-dir
+
+clean-plugin-files:
+       if [ -h ../$(plugin_file) ]; then \
+               rm -f ../$(plugin_lib) ../$(plugin_file); \
+       fi;
+
+clean-ui-dir:
+       if [ -h ../../data/ui/$(plugin_name).ui ]; then \
+               rm -f ../../data/ui/$(plugin_name).ui; \
+       fi;
+
+clean-glade-dir:
+       if  [ -h ../../data/glade/$(plugin_name)_toolbar.xml ]; then \
+               rm -f ../../data/glade/$(plugin_name)_toolbar.xml; \
+       fi;
diff --git a/plugins/playlist_display/display_playlists.c 
b/plugins/playlist_display/display_playlists.c
index 81ddb94..e792fdd 100644
--- a/plugins/playlist_display/display_playlists.c
+++ b/plugins/playlist_display/display_playlists.c
@@ -41,6 +41,7 @@
 #include "playlist_display_actions.h"
 #include "playlist_display_context_menu.h"
 #include "libgtkpod/gp_private.h"
+#include "libgtkpod/directories.h"
 #include "libgtkpod/file.h"
 #include "libgtkpod/misc.h"
 #include "libgtkpod/misc_track.h"
@@ -54,6 +55,10 @@
 #define gdk_drag_context_get_suggested_action(x) ((x)->suggested_action)
 #endif
 
+/* Container containing both toolbar and view */
+static GtkWidget *playlist_viewport = NULL;
+/* pointer to the playlist display's toolbar */
+static GtkToolbar *playlist_toolbar = NULL;
 /* pointer to the treeview for the playlist display */
 static GtkTreeView *playlist_treeview = NULL;
 /* flag set if selection changes to be ignored temporarily */
@@ -74,6 +79,7 @@ static GtkTargetEntry pm_drop_types[] =
         { "text/plain", 0, DND_TEXT_PLAIN },
         { "STRING", 0, DND_TEXT_PLAIN } };
 
+static void pm_create_treeview(void);
 static void pm_rows_reordered(void);
 static GtkTreePath *pm_get_path_for_itdb(Itdb_iTunesDB *itdb);
 static GtkTreePath *pm_get_path_for_playlist(Playlist *pl);
@@ -1876,15 +1882,17 @@ static void pm_add_columns(void) {
 }
 
 /* Free the playlist listview */
-void pm_destroy_treeview(void) {
-    if (GTK_IS_WIDGET(playlist_treeview)) {
-        gtk_widget_destroy(GTK_WIDGET(playlist_treeview));
+void pm_destroy_playlist_view(void) {
+    if (GTK_IS_WIDGET(playlist_viewport)) {
+        gtk_widget_destroy(GTK_WIDGET(playlist_viewport));
     }
+    playlist_viewport = NULL;
+    playlist_toolbar = NULL;
     playlist_treeview = NULL;
 }
 
 /* Create playlist listview */
-GtkTreeView* pm_create_treeview(void) {
+static void pm_create_treeview(void) {
     GtkTreeStore *model;
     GtkTreeSelection *selection;
     GtkWidget *tree;
@@ -1892,7 +1900,7 @@ GtkTreeView* pm_create_treeview(void) {
     /* destroy old treeview */
     if (playlist_treeview) {
         model = GTK_TREE_STORE (gtk_tree_view_get_model(playlist_treeview));
-        g_return_val_if_fail (model, NULL);
+        g_return_if_fail (model);
         g_object_unref(model);
         gtk_widget_destroy(GTK_WIDGET (playlist_treeview));
         playlist_treeview = NULL;
@@ -1969,8 +1977,39 @@ GtkTreeView* pm_create_treeview(void) {
             NULL);
     g_signal_connect (G_OBJECT (playlist_treeview), "button-press-event",
             G_CALLBACK (pm_button_press), model);
+}
+
+static void pm_create_toolbar(GtkActionGroup *action_group) {
+    GtkUIManager *mgr;
+
+    mgr = gtk_ui_manager_new();
+
+    gtk_ui_manager_insert_action_group(mgr, action_group, 0);
+
+    gchar *toolbar_path = g_build_filename(get_glade_dir(), 
"playlist_display_toolbar.xml", NULL);
+    gtk_ui_manager_add_ui_from_file(mgr, toolbar_path, NULL);
+
+    playlist_toolbar = GTK_TOOLBAR(gtk_ui_manager_get_widget(mgr, 
"/PlaylistToolbar"));
+    gtk_toolbar_set_style(playlist_toolbar, GTK_TOOLBAR_ICONS);
+    gtk_toolbar_set_icon_size(playlist_toolbar, GTK_ICON_SIZE_SMALL_TOOLBAR);
+
+}
+
+GtkWidget *pm_create_playlist_view(GtkActionGroup *action_group) {
+    GtkBox *vbox;
+
+    vbox = GTK_BOX(gtk_vbox_new (FALSE, 0));
+
+    pm_create_toolbar(action_group);
+    gtk_box_pack_start(vbox, GTK_WIDGET(playlist_toolbar), FALSE, TRUE, 0);
+
+    pm_create_treeview();
+    gtk_box_pack_start(vbox, GTK_WIDGET(playlist_treeview), TRUE, TRUE, 0);
+
+    playlist_viewport = gtk_viewport_new (0, 0);
+    gtk_container_add (GTK_CONTAINER(playlist_viewport), GTK_WIDGET(vbox));
 
-    return playlist_treeview;
+    return playlist_viewport;
 }
 
 Playlist* pm_get_selected_playlist(void) {
diff --git a/plugins/playlist_display/display_playlists.h 
b/plugins/playlist_display/display_playlists.h
index 07a0c88..2bfe5a9 100644
--- a/plugins/playlist_display/display_playlists.h
+++ b/plugins/playlist_display/display_playlists.h
@@ -46,8 +46,8 @@ typedef enum  {
   PM_NUM_COLUMNS
 } PM_column_type;
 
-GtkTreeView* pm_create_treeview (void);
-void pm_destroy_treeview(void);
+GtkWidget *pm_create_playlist_view(GtkActionGroup *action_group);
+void pm_destroy_playlist_view(void);
 void pm_select_playlist(Playlist *playlist);
 void pm_set_selected_playlist(Playlist *pl);
 void pm_remove_all_playlists (gboolean clear_sort);
diff --git a/plugins/playlist_display/playlist_display.ui 
b/plugins/playlist_display/playlist_display.ui
index 90ad4a1..f987cc3 100644
--- a/plugins/playlist_display/playlist_display.ui
+++ b/plugins/playlist_display/playlist_display.ui
@@ -27,7 +27,7 @@
                                        <menuitem name="Selected Playlist 
including Tracks from Device" action="ActionDeleteSelectedPlaylistIncDev" />
                                </menu>
                                <separator/>
-                               <menu name="Playlist Menu" 
action="NewPlaylistMenu">
+                               <menu name="Playlist Menu" 
action="ActionNewPlaylistMenu">
                                        <menuitem name="Empty Playlist" 
action="ActionNewEmptyPlaylist"/> <!-- on_new_playlist1_activate" --> <!-- 
playlist -->
                     <menuitem name="Smart Playlist" 
action="ActionNewSmartPlaylist"/> <!-- on_smart_playlist_activate" -->
                     <menuitem name="Random Playlist from Displayed Tracks" 
action="ActionNewRandomPlaylist"/> <!-- on_random_playlist_activate -->
@@ -52,35 +52,4 @@
             </placeholder>
                </menu>
        </menubar>
-       <toolbar name="ToolbarMain">
-               <placeholder name="PlaceholderMusicToolbar">
-                       <toolitem name="Load iPod(s)" action="ActionLoadiPod" />
-                       <toolitem name="Save Changes" 
action="ActionSaveChanges" />
-                       <toolitem name="Add Files" action="ActionAddFiles" />
-                       <toolitem name="Add Directory" 
action="ActionAddDirectory" />
-                       <toolitem name="Add Playlist" 
action="ActionAddPlaylist" />
-                       <toolitem name="New Playlist" 
action="ActionNewPlaylist">
-                               <menu name="Playlist Menu" 
action="NewPlaylistMenu">
-                                       <menuitem name="Empty Playlist" 
action="ActionNewEmptyPlaylist"/> <!-- on_new_playlist1_activate" --> <!-- 
playlist -->
-                    <menuitem name="Smart Playlist" 
action="ActionNewSmartPlaylist"/> <!-- on_smart_playlist_activate" -->
-                    <menuitem name="Random Playlist from Displayed Tracks" 
action="ActionNewRandomPlaylist"/> <!-- on_random_playlist_activate -->
-                    <menuitem name="Containing Displayed Tracks" 
action="ActionNewContainingDisplayedPlaylist"/> <!-- 
on_pl_containing_displayed_tracks_activate -->          
-                    <menuitem name="Containing Selected Tracks" 
action="ActionNewContainingSelectedPlaylist"/> <!-- 
on_pl_containing_selected_tracks_activate -->
-                    <menuitem name="Best Rated Tracks" 
action="ActionNewBestRatedPlaylist"/> <!-- 
on_most_rated_tracks_playlist_s1_activate -->        
-                    <menuitem name="Tracks Most Often Listened To" 
action="ActionNewTracksMostOftenPlaylist"/> <!-- 
on_most_listened_tracks1_activate -->
-                    <menuitem name="Most Recently Played Tracks" 
action="ActionNewMostRecentPlayledPlaylist"/> <!-- 
on_most_recent_played_tracks_activate -->
-                    <menuitem name="All Tracks Played Since Last Time" 
action="ActionNewAllPlayedSinceLastTimePlaylist"/> <!-- 
on_played_since_last_time1_activate -->
-                    <menuitem name="All Tracks Never Listened To" 
action="ActionNewAllNeverListenedPlaylist"/> <!-- 
on_all_tracks_never_listened_to1_activate -->        
-                    <menuitem name="All Tracks not Listed in any Playlist" 
action="ActionAllNeverListedPlaylist"/> <!-- 
on_all_tracks_not_listed_in_any_playlist1_activate -->
-                    <separator/>
-                    <menuitem name="One for each Artist" 
action="ActionNewOnePerArtistPlaylist"/> <!-- on_pl_for_each_artist_activate -->
-                    <menuitem name="One for each Album" 
action="ActionNewOnePerAlbumPlaylist"/> <!-- on_pl_for_each_album_activate -->
-                    <menuitem name="One for each Genre" 
action="ActionNewOnePerGenrePlaylist"/> <!-- on_pl_for_each_genre_activate -->  
      
-                    <menuitem name="One for each Composer" 
action="ActionNewOnePreComposerPlaylist"/> <!-- 
on_pl_for_each_composer_activate -->
-                    <menuitem name="One for each Year" 
action="ActionNewOnePerYearPlaylist"/> <!-- on_pl_for_each_year_activate -->
-                    <menuitem name="One for each Rating" 
action="ActionNewOnePerRatingPlaylist"/> <!-- on_pl_for_each_rating_activate -->
-                               </menu>
-                       </toolitem>
-               </placeholder>
-       </toolbar>
 </ui>
diff --git a/plugins/playlist_display/playlist_display_toolbar.xml 
b/plugins/playlist_display/playlist_display_toolbar.xml
new file mode 100644
index 0000000..35f6216
--- /dev/null
+++ b/plugins/playlist_display/playlist_display_toolbar.xml
@@ -0,0 +1,31 @@
+<ui>
+       <toolbar name="PlaylistToolbar">
+               <toolitem name="Load iPod(s)" action="ActionLoadiPod" />
+               <toolitem name="Save Changes" action="ActionSaveChanges" />
+               <toolitem name="Add Files" action="ActionAddFiles" />
+               <toolitem name="Add Directory" action="ActionAddDirectory" />
+               <toolitem name="Add Playlist" action="ActionAddPlaylist" />
+               <toolitem name="New Playlist" action="ActionNewPlaylist">
+                       <menu name="Playlist Menu" 
action="ActionNewPlaylistMenu">
+                               <menuitem name="Empty Playlist" 
action="ActionNewEmptyPlaylist"/> <!-- on_new_playlist1_activate" --> <!-- 
playlist -->
+                   <menuitem name="Smart Playlist" 
action="ActionNewSmartPlaylist"/> <!-- on_smart_playlist_activate" -->
+                   <menuitem name="Random Playlist from Displayed Tracks" 
action="ActionNewRandomPlaylist"/> <!-- on_random_playlist_activate -->
+                   <menuitem name="Containing Displayed Tracks" 
action="ActionNewContainingDisplayedPlaylist"/> <!-- 
on_pl_containing_displayed_tracks_activate -->          
+                   <menuitem name="Containing Selected Tracks" 
action="ActionNewContainingSelectedPlaylist"/> <!-- 
on_pl_containing_selected_tracks_activate -->
+                   <menuitem name="Best Rated Tracks" 
action="ActionNewBestRatedPlaylist"/> <!-- 
on_most_rated_tracks_playlist_s1_activate -->        
+                   <menuitem name="Tracks Most Often Listened To" 
action="ActionNewTracksMostOftenPlaylist"/> <!-- 
on_most_listened_tracks1_activate -->
+                   <menuitem name="Most Recently Played Tracks" 
action="ActionNewMostRecentPlayledPlaylist"/> <!-- 
on_most_recent_played_tracks_activate -->
+                   <menuitem name="All Tracks Played Since Last Time" 
action="ActionNewAllPlayedSinceLastTimePlaylist"/> <!-- 
on_played_since_last_time1_activate -->
+                   <menuitem name="All Tracks Never Listened To" 
action="ActionNewAllNeverListenedPlaylist"/> <!-- 
on_all_tracks_never_listened_to1_activate -->        
+                   <menuitem name="All Tracks not Listed in any Playlist" 
action="ActionAllNeverListedPlaylist"/> <!-- 
on_all_tracks_not_listed_in_any_playlist1_activate -->
+                   <separator/>
+                   <menuitem name="One for each Artist" 
action="ActionNewOnePerArtistPlaylist"/> <!-- on_pl_for_each_artist_activate -->
+                   <menuitem name="One for each Album" 
action="ActionNewOnePerAlbumPlaylist"/> <!-- on_pl_for_each_album_activate -->
+                   <menuitem name="One for each Genre" 
action="ActionNewOnePerGenrePlaylist"/> <!-- on_pl_for_each_genre_activate -->  
      
+                   <menuitem name="One for each Composer" 
action="ActionNewOnePreComposerPlaylist"/> <!-- 
on_pl_for_each_composer_activate -->
+                   <menuitem name="One for each Year" 
action="ActionNewOnePerYearPlaylist"/> <!-- on_pl_for_each_year_activate -->
+                   <menuitem name="One for each Rating" 
action="ActionNewOnePerRatingPlaylist"/> <!-- on_pl_for_each_rating_activate -->
+                       </menu>
+               </toolitem>
+       </toolbar>
+</ui>
\ No newline at end of file
diff --git a/plugins/playlist_display/plugin.c 
b/plugins/playlist_display/plugin.c
index c58b174..b10188d 100644
--- a/plugins/playlist_display/plugin.c
+++ b/plugins/playlist_display/plugin.c
@@ -49,43 +49,43 @@ static gpointer parent_class;
 static GtkActionEntry playlist_actions[] =
     {
         {
-            "ActionLoadiPod", /* Action name */
+            ACTION_LOAD_IPOD, /* Action name */
             PLAYLIST_DISPLAY_READ_ICON_STOCK_ID, /* Stock icon */
             N_("_Load iPod(s)"), /* Display label */
             NULL, /* short-cut */
-            NULL, /* Tooltip */
+            N_("Load all currently listed ipods"), /* Tooltip */
             G_CALLBACK (on_load_ipods_mi) /* callback */
         },
         {
-            "ActionSaveChanges", /* Action name */
+            ACTION_SAVE_CHANGES, /* Action name */
             PLAYLIST_DISPLAY_SYNC_ICON_STOCK_ID, /* Stock icon */
             N_("_Save Changes"), /* Display label */
             NULL, /* short-cut */
-            NULL, /* Tooltip */
+            N_("Save all changes"), /* Tooltip */
             G_CALLBACK (on_save_changes) /* callback */
         },
         {
-            "ActionAddFiles", /* Action name */
+            ACTION_ADD_FILES, /* Action name */
             PLAYLIST_DISPLAY_ADD_FILES_ICON_STOCK_ID, /* Stock icon */
             N_("Add _Files"), /* Display label */
             NULL, /* short-cut */
-            NULL, /* Tooltip */
+            N_("Add files to selected ipod"), /* Tooltip */
             G_CALLBACK (on_create_add_files) /* callback */
         },
         {
-            "ActionAddDirectory", /* Action name */
+            ACTION_ADD_DIRECTORY, /* Action name */
             PLAYLIST_DISPLAY_ADD_DIRS_ICON_STOCK_ID, /* Stock icon */
             N_("Add Fol_der"), /* Display label */
             NULL, /* short-cut */
-            NULL, /* Tooltip */
+            N_("Add folder contents to selected ipod"), /* Tooltip */
             G_CALLBACK (on_create_add_directory) /* callback */
         },
         {
-            "ActionAddPlaylist", /* Action name */
+            ACTION_ADD_PLAYLIST, /* Action name */
             PLAYLIST_DISPLAY_ADD_PLAYLISTS_ICON_STOCK_ID, /* Stock icon */
             N_("Add _Playlist"), /* Display label */
             NULL, /* short-cut */
-            NULL, /* Tooltip */
+            N_("Add playlist to selected ipod"), /* Tooltip */
             G_CALLBACK (on_create_add_playlists) /* callback */
         },
         {
@@ -97,144 +97,144 @@ static GtkActionEntry playlist_actions[] =
             G_CALLBACK (on_sync_playlist_with_dirs)
         },
         {
-            "NewPlaylistMenu",
+            ACTION_NEW_PLAYLIST_MENU,
             NULL,
             N_("_New Playlist Menu")
         },
         {
             "ActionNewEmptyPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("Empty Playlist"),
             NULL,
-            NULL,
+            N_("Create an empty playlist"),
             G_CALLBACK (on_new_playlist_activate)
         },
         {
             "ActionNewSmartPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("Smart Playlist"),
             NULL,
-            NULL,
+            N_("Create a new smart playlist"),
             G_CALLBACK (on_smart_playlist_activate)
         },
         {
             "ActionNewRandomPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("Random Playlist from Displayed Tracks"),
             NULL,
-            NULL,
+            N_("Create a random playlist from the displayed tracks"),
             G_CALLBACK (on_random_playlist_activate)
         },
         {
             "ActionNewContainingDisplayedPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("Containing Displayed Tracks"),
             NULL,
-            NULL,
+            N_("Create a playlist containing the displayed tracks"),
             G_CALLBACK (on_pl_containing_displayed_tracks_activate)
         },
         {
             "ActionNewContainingSelectedPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("Containing Selected Tracks"),
             NULL,
-            NULL,
+            N_("Create a playlist containing the selected tracks"),
             G_CALLBACK (on_pl_containing_selected_tracks_activate)
         },
         {
             "ActionNewBestRatedPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("Best Rated Tracks"),
             NULL,
-            NULL,
+            N_("Create a playlist containing the best rated tracks"),
             G_CALLBACK (on_most_rated_tracks_playlist_s1_activate)
         },
         {
             "ActionNewTracksMostOftenPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("Tracks Most Often Listened To"),
             NULL,
-            NULL,
+            N_("Create a playlist containing the tracks most often listened 
to"),
             G_CALLBACK (on_most_listened_tracks1_activate)
         },
         {
             "ActionNewMostRecentPlayledPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("Most Recently Played Tracks"),
             NULL,
-            NULL,
+            N_("Create a playlist containing the most recently played tracks"),
             G_CALLBACK (on_most_recent_played_tracks_activate)
         },
         {
             "ActionNewAllPlayedSinceLastTimePlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("All Tracks Played Since Last Time"),
             NULL,
-            NULL,
+            N_("Create a playlist containing all tracks played since last 
time"),
             G_CALLBACK (on_played_since_last_time1_activate)
         },
         {
             "ActionNewAllNeverListenedPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("All Tracks Never Listened To"),
             NULL,
-            NULL,
+            N_("Create a playlist of all tracks never listened to"),
             G_CALLBACK (on_all_tracks_never_listened_to1_activate)
         },
         {
             "ActionAllNeverListedPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("All Tracks not Listed in any Playlist"),
             NULL,
-            NULL,
+            N_("Create a playlist of tracks not list in any other playlist"),
             G_CALLBACK (on_all_tracks_not_listed_in_any_playlist1_activate)
         },
         {
             "ActionNewOnePerArtistPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("One for each Artist"),
             NULL,
-            NULL,
+            N_("Create a playlist for each artist"),
             G_CALLBACK (on_pl_for_each_artist_activate)
         },
         {
             "ActionNewOnePerAlbumPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("One for each Album"),
             NULL,
-            NULL,
+            N_("Create a playlist for each album"),
             G_CALLBACK (on_pl_for_each_album_activate)
         },
         {
             "ActionNewOnePerGenrePlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("One for each Genre"),
             NULL,
-            NULL,
+            N_("Create a playlist for each genre"),
             G_CALLBACK (on_pl_for_each_genre_activate)
         },
         {
             "ActionNewOnePreComposerPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("One for each Composer"),
             NULL,
-            NULL,
+            N_("Create a playlist for each composer"),
             G_CALLBACK (on_pl_for_each_composer_activate)
         },
         {
             "ActionNewOnePerYearPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("One for each Year"),
             NULL,
-            NULL,
+            N_("Create a playlist for each year"),
             G_CALLBACK (on_pl_for_each_year_activate)
         },
         {
             "ActionNewOnePerRatingPlaylist",
-            NULL,
+            GTK_STOCK_NEW,
             N_("One for each Rating"),
             NULL,
-            NULL,
+            N_("Create a playlist for each rating"),
             G_CALLBACK (on_pl_for_each_rating_activate)
         },
         {
@@ -312,10 +312,10 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
 
     /* Add our playlist_actions */
     action_group
-            = anjuta_ui_add_action_group_entries(ui, 
"ActionGroupPlaylistDisplay", _("Playlist Display"), playlist_actions, 
G_N_ELEMENTS (playlist_actions), GETTEXT_PACKAGE, TRUE, plugin);
+        = anjuta_ui_add_action_group_entries(ui, "ActionGroupPlaylistDisplay", 
_("Playlist Display"), playlist_actions, G_N_ELEMENTS (playlist_actions), 
GETTEXT_PACKAGE, TRUE, plugin);
     playlist_display_plugin->action_group = action_group;
 
-    new_playlist_action = tool_menu_action_new ("ActionNewPlaylist", _("New 
Playlist"), NULL, GTK_STOCK_NEW);
+    new_playlist_action = tool_menu_action_new (ACTION_NEW_PLAYLIST, _("New 
Playlist"), N_("Create a new playlist for the selected ipod"), GTK_STOCK_NEW);
     g_signal_connect(new_playlist_action, "activate", 
G_CALLBACK(on_new_playlist_activate), NULL);
     gtk_action_group_add_action (playlist_display_plugin->action_group, 
GTK_ACTION (new_playlist_action));
 
@@ -330,7 +330,7 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
     gtk_scrolled_window_set_shadow_type(GTK_SCROLLED_WINDOW 
(playlist_display_plugin->pl_window), GTK_SHADOW_IN);
     gtk_widget_set_size_request(playlist_display_plugin->pl_window, 250, -1);
 
-    playlist_display_plugin->playlist_view = pm_create_treeview();
+    playlist_display_plugin->playlist_view = 
pm_create_playlist_view(action_group);
 
     g_signal_connect (gtkpod_app, SIGNAL_PLAYLIST_SELECTED, G_CALLBACK 
(playlist_display_select_playlist_cb), NULL);
     g_signal_connect (gtkpod_app, SIGNAL_PLAYLIST_ADDED, G_CALLBACK 
(playlist_display_playlist_added_cb), NULL);
@@ -344,7 +344,7 @@ static gboolean activate_plugin(AnjutaPlugin *plugin) {
 
     gtk_container_add(GTK_CONTAINER (playlist_display_plugin->pl_window), 
GTK_WIDGET (playlist_display_plugin->playlist_view));
     gtk_widget_show_all(playlist_display_plugin->pl_window);
-    anjuta_shell_add_widget(plugin->shell, playlist_display_plugin->pl_window, 
"PlaylistDisplayPlugin", "iPod Repositories", GTK_STOCK_OPEN, 
ANJUTA_SHELL_PLACEMENT_LEFT, NULL);
+    anjuta_shell_add_widget(plugin->shell, playlist_display_plugin->pl_window, 
"PlaylistDisplayPlugin", "  iPod Repositories", 
PLAYLIST_DISPLAY_PLAYLIST_ICON_STOCK_ID, ANJUTA_SHELL_PLACEMENT_LEFT, NULL);
 
     return TRUE; /* FALSE if activation failed */
 }
@@ -367,7 +367,7 @@ static gboolean deactivate_plugin(AnjutaPlugin *plugin) {
     g_signal_handlers_disconnect_by_func (plugin->shell, G_CALLBACK 
(playlist_display_itdb_data_changed_cb), plugin);
 
     /* Destroy the treeview */
-    pm_destroy_treeview();
+    pm_destroy_playlist_view();
     playlist_display_plugin->playlist_view = NULL;
 
     /* Unmerge UI */
diff --git a/plugins/playlist_display/plugin.h 
b/plugins/playlist_display/plugin.h
index dfae2ef..a0ae212 100644
--- a/plugins/playlist_display/plugin.h
+++ b/plugins/playlist_display/plugin.h
@@ -44,13 +44,22 @@
 #define PLAYLIST_DISPLAY_ADD_PLAYLISTS_ICON_STOCK_ID 
"playlist_display-add-playlists-icon"
 #define PLAYLIST_DISPLAY_SYNC_ICON_STOCK_ID "playlist_display-sync-icon"
 
+/* Action IDs */
+#define ACTION_LOAD_IPOD "ActionLoadiPod"
+#define ACTION_SAVE_CHANGES "ActionSaveChanges"
+#define ACTION_ADD_FILES "ActionAddFiles"
+#define ACTION_ADD_DIRECTORY "ActionAddDirectory"
+#define ACTION_ADD_PLAYLIST "ActionAddPlaylist"
+#define ACTION_NEW_PLAYLIST "ActionNewPlaylist"
+#define ACTION_NEW_PLAYLIST_MENU "ActionNewPlaylistMenu"
+
 typedef struct _PlaylistDisplayPlugin PlaylistDisplayPlugin;
 typedef struct _PlaylistDisplayPluginClass PlaylistDisplayPluginClass;
 
 struct _PlaylistDisplayPlugin {
     AnjutaPlugin parent;
-    GtkTreeView *playlist_view;
     GtkWidget *pl_window;
+    GtkWidget *playlist_view;
     gint uiid;
     GtkActionGroup *action_group;
 };

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
gtkpod-cvs2 mailing list
gtkpod-cvs2@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2

Reply via email to