[Xfce4-commits] <gigolo:master> Display bookmark name in the connection list if the connection has a bookmark

Enrico Tröger noreply at xfce.org
Sat Nov 5 20:02:01 CET 2011


Updating branch refs/heads/master
         to 9c168aecd44bb33e79d228a24e94d1e7bc9ae625 (commit)
       from 0e53ec5c0e6202a3eebfe8f986cdff845c6e37e3 (commit)

commit 9c168aecd44bb33e79d228a24e94d1e7bc9ae625
Author: Enrico Tröger <enrico at xfce.org>
Date:   Thu Oct 27 23:19:54 2011 +0200

    Display bookmark name in the connection list if the connection has a bookmark

 src/backendgvfs.c |   26 ++++++++++++++++++++------
 1 files changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/backendgvfs.c b/src/backendgvfs.c
index 0513210..98d75fa 100644
--- a/src/backendgvfs.c
+++ b/src/backendgvfs.c
@@ -218,6 +218,7 @@ static gchar *get_tooltip_text(GigoloBackendGVFS *backend, gpointer ref, gint re
 		case GIGOLO_WINDOW_REF_TYPE_MOUNT:
 		{
 			gchar *uri, *name, *clean_uri;
+			const gchar *bookmark_name = _("No bookmark");
 			GigoloBookmark *b;
 			GigoloSettings *settings;
 
@@ -231,10 +232,12 @@ static gchar *get_tooltip_text(GigoloBackendGVFS *backend, gpointer ref, gint re
 				const gchar *folder = gigolo_bookmark_get_folder(b);
 				if (NZV(folder))
 					setptr(clean_uri, g_build_filename(clean_uri, folder, NULL));
+				bookmark_name = gigolo_bookmark_get_name(b);
 			}
 
 			result = g_strdup_printf(
-				_("<b>%s</b>\n\nURI: %s\nConnected: Yes\nService Type: %s"), name, clean_uri, type);
+				_("<b>%s</b>\n\nURI: %s\nConnected: Yes\nService Type: %s\nBookmark: %s"),
+					name, clean_uri, type, bookmark_name);
 
 			g_free(clean_uri);
 			g_free(uri);
@@ -265,9 +268,11 @@ static void mount_volume_changed_cb(GVolumeMonitor *vm, G_GNUC_UNUSED GMount *mn
 	GVolume *volume;
 	GIcon *icon;
 	GtkTreeIter iter;
-	gchar *vol_name, *scheme, *uri, *tooltip_text;
+	gchar *vol_name, *mount_name, *display_name, *scheme, *uri, *tooltip_text;
 	const gchar *scheme_name;
 	GigoloBackendGVFSPrivate *priv = GIGOLO_BACKEND_GVFS_GET_PRIVATE(backend);
+	GigoloBookmark *bookmark;
+	GigoloSettings *settings = gigolo_window_get_settings(GIGOLO_WINDOW(priv->parent));
 
 	gtk_list_store_clear(priv->store);
 
@@ -275,13 +280,14 @@ static void mount_volume_changed_cb(GVolumeMonitor *vm, G_GNUC_UNUSED GMount *mn
 	mounts = g_volume_monitor_get_mounts(vm);
 	for (item = mounts; item != NULL; item = g_list_next(item))
 	{
+		display_name = NULL;
 		mount = G_MOUNT(item->data);
-		vol_name = g_mount_get_name(mount);
+		mount_name = g_mount_get_name(mount);
 		file = g_mount_get_root(mount);
 		scheme = g_file_get_uri_scheme(file);
 		if (gigolo_str_equal(scheme, "burn"))
 		{	/* ignore empty CDs which are listed as mounted to burn:// */
-			g_free(vol_name);
+			g_free(mount_name);
 			g_free(scheme);
 			g_object_unref(file);
 			continue;
@@ -291,9 +297,16 @@ static void mount_volume_changed_cb(GVolumeMonitor *vm, G_GNUC_UNUSED GMount *mn
 		icon = g_mount_get_icon(mount);
 		tooltip_text = get_tooltip_text(backend, mount, GIGOLO_WINDOW_REF_TYPE_MOUNT, scheme_name);
 
+		bookmark = gigolo_settings_get_bookmark_by_uri(settings, uri);
+		if (bookmark != NULL)
+		{
+			display_name = g_strdup_printf("%s (%s)",
+				gigolo_bookmark_get_name(bookmark), mount_name);
+		}
+
 		gtk_list_store_insert_with_values(priv->store, &iter, -1,
 				GIGOLO_WINDOW_COL_IS_MOUNTED, TRUE,
-				GIGOLO_WINDOW_COL_NAME, vol_name,
+				GIGOLO_WINDOW_COL_NAME, display_name ? display_name : mount_name,
 				GIGOLO_WINDOW_COL_SCHEME, scheme_name,
 				GIGOLO_WINDOW_COL_REF, mount,
 				GIGOLO_WINDOW_COL_REF_TYPE, GIGOLO_WINDOW_REF_TYPE_MOUNT,
@@ -301,7 +314,8 @@ static void mount_volume_changed_cb(GVolumeMonitor *vm, G_GNUC_UNUSED GMount *mn
 				GIGOLO_WINDOW_COL_ICON_NAME, "folder-remote",
 				GIGOLO_WINDOW_COL_TOOLTIP, tooltip_text,
 				-1);
-		g_free(vol_name);
+		g_free(mount_name);
+		g_free(display_name);
 		g_free(scheme);
 		g_free(uri);
 		g_free(tooltip_text);


More information about the Xfce4-commits mailing list