summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2007-10-26 10:03:35 +0000
committerAlexander Larsson <alexl@src.gnome.org>2007-10-26 10:03:35 +0000
commitcdf172a6638a0fe4c5de48e47131386e287d9fea (patch)
tree404f58abccb8ffe2c03e1253459e82800c3d7961
parent8a7ddbd4b7c268ccba9252a084029eb765a0b552 (diff)
downloadgvfs-cdf172a6638a0fe4c5de48e47131386e287d9fea.tar.gz
Don't show not user visible mounts
2007-10-26 Alexander Larsson <alexl@redhat.com> * client/gdaemonvolumemonitor.c: Don't show not user visible mounts * daemon/mount.c: Don't give fuse mounts for non visible mounts (as they don't get mounted) * daemon/gvfsbackendsmbbrowse.c: * daemon/gvfsbackendtrash.c: Mark as not user visible svn path=/trunk/; revision=997
-rw-r--r--ChangeLog13
-rw-r--r--client/gdaemonvolumemonitor.c21
-rw-r--r--daemon/gvfsbackendsmbbrowse.c1
-rw-r--r--daemon/gvfsbackendtrash.c1
-rw-r--r--daemon/mount.c2
5 files changed, 32 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index ea58d7b1..799a7cd3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2007-10-26 Alexander Larsson <alexl@redhat.com>
+ * client/gdaemonvolumemonitor.c:
+ Don't show not user visible mounts
+
+ * daemon/mount.c:
+ Don't give fuse mounts for non visible mounts
+ (as they don't get mounted)
+
+ * daemon/gvfsbackendsmbbrowse.c:
+ * daemon/gvfsbackendtrash.c:
+ Mark as not user visible
+
+2007-10-26 Alexander Larsson <alexl@redhat.com>
+
* common/gvfsdaemonprotocol.h:
Add registerFuse call
diff --git a/client/gdaemonvolumemonitor.c b/client/gdaemonvolumemonitor.c
index 48cfcb7c..c08231de 100644
--- a/client/gdaemonvolumemonitor.c
+++ b/client/gdaemonvolumemonitor.c
@@ -72,9 +72,13 @@ mount_added (GDaemonVolumeMonitor *daemon_monitor, GMountInfo *mount_info)
return;
}
- volume = g_daemon_volume_new (G_VOLUME_MONITOR (daemon_monitor), g_mount_info_dup (mount_info));
- daemon_monitor->volumes = g_list_prepend (daemon_monitor->volumes, volume);
- g_signal_emit_by_name (daemon_monitor, "volume_mounted", volume);
+
+ if (mount_info->user_visible)
+ {
+ volume = g_daemon_volume_new (G_VOLUME_MONITOR (daemon_monitor), g_mount_info_dup (mount_info));
+ daemon_monitor->volumes = g_list_prepend (daemon_monitor->volumes, volume);
+ g_signal_emit_by_name (daemon_monitor, "volume_mounted", volume);
+ }
}
static void
@@ -99,6 +103,7 @@ g_daemon_volume_monitor_init (GDaemonVolumeMonitor *daemon_monitor)
{
GList *mounts, *l;
GDaemonVolume *volume;
+ GMountInfo *info;
daemon_monitor->mount_tracker = g_mount_tracker_new (_g_daemon_vfs_get_async_bus ());
@@ -111,8 +116,14 @@ g_daemon_volume_monitor_init (GDaemonVolumeMonitor *daemon_monitor)
mounts = g_mount_tracker_list_mounts (daemon_monitor->mount_tracker);
for (l = mounts; l != NULL; l = l->next) {
- volume = g_daemon_volume_new (G_VOLUME_MONITOR (daemon_monitor), l->data);
- daemon_monitor->volumes = g_list_prepend (daemon_monitor->volumes, volume);
+ info = l->data;
+ if (info->user_visible)
+ {
+ volume = g_daemon_volume_new (G_VOLUME_MONITOR (daemon_monitor), info);
+ daemon_monitor->volumes = g_list_prepend (daemon_monitor->volumes, volume);
+ }
+ else
+ g_mount_info_free (info);
}
g_list_free (mounts);
diff --git a/daemon/gvfsbackendsmbbrowse.c b/daemon/gvfsbackendsmbbrowse.c
index e911dd53..2295ab32 100644
--- a/daemon/gvfsbackendsmbbrowse.c
+++ b/daemon/gvfsbackendsmbbrowse.c
@@ -674,6 +674,7 @@ do_mount (GVfsBackend *backend,
g_free (display_name);
if (icon)
g_vfs_backend_set_icon_name (backend, icon);
+ g_vfs_backend_set_user_visible (backend, FALSE);
g_vfs_backend_set_mount_spec (backend, browse_mount_spec);
g_mount_spec_unref (browse_mount_spec);
diff --git a/daemon/gvfsbackendtrash.c b/daemon/gvfsbackendtrash.c
index 62867e9e..bfc22d07 100644
--- a/daemon/gvfsbackendtrash.c
+++ b/daemon/gvfsbackendtrash.c
@@ -576,6 +576,7 @@ g_vfs_backend_trash_init (GVfsBackendTrash *trash_backend)
g_vfs_backend_set_display_name (backend, _("Trashcan"));
g_vfs_backend_set_icon_name (backend, "user-trash");
+ g_vfs_backend_set_user_visible (backend, FALSE);
mount_spec = g_mount_spec_new ("trash");
g_vfs_backend_set_mount_spec (backend, mount_spec);
diff --git a/daemon/mount.c b/daemon/mount.c
index 8bc295d3..3e97f8a8 100644
--- a/daemon/mount.c
+++ b/daemon/mount.c
@@ -171,7 +171,7 @@ vfs_mount_to_dbus (VfsMount *mount,
fuse_mountpoint = NULL;
- if (fuse_availible)
+ if (fuse_availible && mount->user_visible)
{
char *fs_name;