[Goodies-commits] r2650 - in xfce4-places-plugin/branches/volumes: . panel-plugin

Diego Ongaro ongardie at xfce.org
Mon Apr 2 18:57:03 CEST 2007


Author: ongardie
Date: 2007-04-02 16:57:03 +0000 (Mon, 02 Apr 2007)
New Revision: 2650

Modified:
   xfce4-places-plugin/branches/volumes/ChangeLog
   xfce4-places-plugin/branches/volumes/panel-plugin/places.c
   xfce4-places-plugin/branches/volumes/panel-plugin/places.h
Log:
2007-04-02  Diego Ongaro  ongardie at gmail.com

 * places volumes branch: Added volumes as static items in menu (w/o updates)



Modified: xfce4-places-plugin/branches/volumes/ChangeLog
===================================================================
--- xfce4-places-plugin/branches/volumes/ChangeLog	2007-04-02 01:56:56 UTC (rev 2649)
+++ xfce4-places-plugin/branches/volumes/ChangeLog	2007-04-02 16:57:03 UTC (rev 2650)
@@ -1,3 +1,12 @@
+2007-04-02  Diego Ongaro  ongardie at gmail.com
+
+	* Added volumes as static items in menu (w/o updates)
+
+2007-04-01  Diego Ongaro  ongardie at gmail.com
+
+	* Branched to add volume support.
+	* Added Thunar VFS dependency.
+
 2007-03-25  Diego Ongaro  ongardie at gmail.com
 
 	* Fixed bug 3053 (Plugin doesn't launch thunar) by dropping "/usr/bin/"

Modified: xfce4-places-plugin/branches/volumes/panel-plugin/places.c
===================================================================
--- xfce4-places-plugin/branches/volumes/panel-plugin/places.c	2007-04-02 01:56:56 UTC (rev 2649)
+++ xfce4-places-plugin/branches/volumes/panel-plugin/places.c	2007-04-02 16:57:03 UTC (rev 2650)
@@ -52,51 +52,11 @@
 /********** Initialization **********/
 XFCE_PANEL_PLUGIN_REGISTER_EXTERNAL(places_construct);
 
-static void places_volumes_dev()
-{
-    thunar_vfs_init();
-
-    ThunarVfsVolume* volume;
-    ThunarVfsVolumeStatus status;
-    ThunarVfsPath* mount_point;
-    gchar* path;
-
-    ThunarVfsVolumeManager* volume_man = thunar_vfs_volume_manager_get_default();
-    const GList* volumes = thunar_vfs_volume_manager_get_volumes(volume_man);
-    
-    while(volumes){
-        volume = THUNAR_VFS_VOLUME(volumes->data);
-        DBG("Volume");
-        DBG("  Name: %s", thunar_vfs_volume_get_name(volume));
-        //DBG("  Kind: %d", thunar_vfs_volume_get_kind(volume));
-        
-        mount_point = thunar_vfs_volume_get_mount_point(volume);
-        path = thunar_vfs_path_dup_uri(mount_point);
-        DBG("  Path: %s", path);
-        g_free(path);
-
-        status = thunar_vfs_volume_get_status(volume);
-        DBG("  Mounted? %x", status & 1);
-        //DBG("  Mounted? %x", thunar_vfs_volume_is_mounted(volume));
-        DBG("  Present? %x", status & 2);
-        DBG("  Removable? %x", thunar_vfs_volume_is_removable(volume));
-        DBG("  Icon: %s", thunar_vfs_volume_lookup_icon_name(volume, gtk_icon_theme_get_default()));
-
-        volumes = volumes->next;
-    }
-    
-    g_object_unref(volume_man);
-
-    thunar_vfs_shutdown();
-}
-
 static void 
 places_construct(XfcePanelPlugin *plugin)
 {
     DBG ("Construct: %s", PLUGIN_NAME);
 
-    places_volumes_dev();
-
     PlacesData *pd = panel_slice_new0(PlacesData);
     pd->plugin = plugin;
     places_init_bookmarks(pd);
@@ -129,6 +89,9 @@
     pd->bookmarks_system = g_ptr_array_new();
     places_init_bookmarks_system(pd);
 
+    pd->bookmarks_volumes = g_ptr_array_new();
+    places_init_bookmarks_volumes(pd);
+
     pd->bookmarks_user_filename = g_build_filename(xfce_get_homedir(), ".gtk-bookmarks", NULL);
     pd->bookmarks_user_loaded = -1;
     pd->bookmarks_user = g_ptr_array_new();
@@ -163,6 +126,37 @@
 }
 
 static void
+places_init_bookmarks_volumes(PlacesData *pd)
+{
+    DBG("initializing");
+
+    thunar_vfs_init();
+
+    ThunarVfsVolume* volume;
+    ThunarVfsVolumeManager* volume_man = thunar_vfs_volume_manager_get_default();
+    const GList* volumes = thunar_vfs_volume_manager_get_volumes(volume_man);
+    
+    while(volumes){
+        volume = THUNAR_VFS_VOLUME(volumes->data);
+        
+        if(thunar_vfs_volume_is_mounted(volume)){ // is this the criteria Thunar uses?
+            g_ptr_array_add(pd->bookmarks_volumes, places_construct_BookmarkInfo(
+                        g_strdup(thunar_vfs_volume_get_name(volume)),
+                        thunar_vfs_path_dup_uri(thunar_vfs_volume_get_mount_point(volume)),
+                        g_strdup(thunar_vfs_volume_lookup_icon_name(volume, gtk_icon_theme_get_default()))));
+        }
+
+        volumes = volumes->next;
+    }
+    
+    g_object_unref(volume_man);
+
+    thunar_vfs_shutdown();
+  
+}
+
+
+static void
 places_init_bookmarks_user(PlacesData *pd)
 {
     DBG("initializing");
@@ -262,6 +256,8 @@
     
     places_init_panel_menu_system(pd);
     
+    places_init_panel_menu_volumes(pd);
+
     // separator
     gtk_menu_shell_append(GTK_MENU_SHELL(pd->panel_menu),
                           places_bookmark_info_to_gtk_menu_item(NULL));
@@ -292,6 +288,20 @@
 }
 
 static void
+places_init_panel_menu_volumes(PlacesData *pd)
+{
+    DBG("initializing");
+
+    int k;
+    for(k = 0; k < pd->bookmarks_volumes->len; k++){
+        BookmarkInfo *i = g_ptr_array_index(pd->bookmarks_volumes, k);
+        gtk_menu_shell_append(GTK_MENU_SHELL(pd->panel_menu), 
+                              places_bookmark_info_to_gtk_menu_item(i));
+     }
+}
+
+
+static void
 places_init_panel_menu_user(PlacesData *pd)
 {
     DBG("initializing");
@@ -557,7 +567,10 @@
     DBG ("Free data: %s", PLUGIN_NAME);
     g_assert(pd != NULL);
     
+    thunar_vfs_shutdown();
+
     g_ptr_array_free(pd->bookmarks_system, TRUE);
+    g_ptr_array_free(pd->bookmarks_volumes, TRUE);
     g_ptr_array_free(pd->bookmarks_user, TRUE);
     g_free(pd->bookmarks_user_filename);
 

Modified: xfce4-places-plugin/branches/volumes/panel-plugin/places.h
===================================================================
--- xfce4-places-plugin/branches/volumes/panel-plugin/places.h	2007-04-02 01:56:56 UTC (rev 2649)
+++ xfce4-places-plugin/branches/volumes/panel-plugin/places.h	2007-04-02 16:57:03 UTC (rev 2650)
@@ -35,6 +35,7 @@
 
   // bookmarks
   GPtrArray *bookmarks_system;
+  GPtrArray *bookmarks_volumes;
   GPtrArray *bookmarks_user;
   gchar     *bookmarks_user_filename;
   time_t     bookmarks_user_loaded;
@@ -54,10 +55,12 @@
 static void places_construct(XfcePanelPlugin*);
  static void places_init_bookmarks(PlacesData*);
   static void places_init_bookmarks_system(PlacesData*);
+  static void places_init_bookmarks_volumes(PlacesData*);
   static void places_init_bookmarks_user(PlacesData*);
  static void places_init_ui(PlacesData*);
   static void places_init_panel_menu(PlacesData*);
    static void places_init_panel_menu_system(PlacesData*);
+   static void places_init_panel_menu_volumes(PlacesData*);
    static void places_init_panel_menu_user(PlacesData*);
 
 




More information about the Goodies-commits mailing list