nautilus r13711 - in trunk: . libnautilus-private



Author: alexl
Date: Fri Feb  8 13:09:06 2008
New Revision: 13711
URL: http://svn.gnome.org/viewvc/nautilus?rev=13711&view=rev

Log:
2008-02-08  Alexander Larsson  <alexl redhat com>

        * libnautilus-private/nautilus-desktop-link.c:
        (mount_changed_callback):
        (nautilus_desktop_link_new_from_mount):
	Handle changes of GMount objects



Modified:
   trunk/ChangeLog
   trunk/libnautilus-private/nautilus-desktop-link.c

Modified: trunk/libnautilus-private/nautilus-desktop-link.c
==============================================================================
--- trunk/libnautilus-private/nautilus-desktop-link.c	(original)
+++ trunk/libnautilus-private/nautilus-desktop-link.c	Fri Feb  8 13:09:06 2008
@@ -69,6 +69,24 @@
 }
 
 static void
+mount_changed_callback (GMount *mount, NautilusDesktopLink *link)
+{
+	g_free (link->details->display_name);
+	if (link->details->activation_location) {
+		g_object_unref (link->details->activation_location);
+	}
+	if (link->details->icon) {
+		g_object_unref (link->details->icon);
+	}
+	
+	link->details->display_name = g_mount_get_name (mount);
+	link->details->activation_location = g_mount_get_root (mount);
+	link->details->icon = g_mount_get_icon (mount);
+	
+	nautilus_desktop_link_changed (link);
+}
+
+static void
 trash_state_changed_callback (NautilusTrashMonitor *trash_monitor,
 			      gboolean state,
 			      gpointer callback_data)
@@ -245,6 +263,9 @@
 	link->details->activation_location = g_mount_get_root (mount);
 	link->details->icon = g_mount_get_icon (mount);
 	
+	g_signal_connect (mount, "changed",
+	                  G_CALLBACK (mount_changed_callback), link);
+	
 	create_icon_file (link);
 
 	return link;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]