[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