[gtk/wip/muktupavels/issue-1962-master] placessidebar: present FUSE-reachable network shares
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/muktupavels/issue-1962-master] placessidebar: present FUSE-reachable network shares
- Date: Tue, 14 Jan 2020 15:52:03 +0000 (UTC)
commit 6d8199bdc29e6265122624c4eba75eecd0edb8cc
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Tue Jan 14 17:50:25 2020 +0200
placessidebar: present FUSE-reachable network shares
Followup for https://gitlab.gnome.org/GNOME/gtk/commit/279b81d20211
https://gitlab.gnome.org/GNOME/gtk/issues/1962
gtk/gtkplacessidebar.c | 59 ++++++++++++++++++++++++++++++++++----------------
1 file changed, 40 insertions(+), 19 deletions(-)
---
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index 82c6ddad83..d4879bdaa3 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -902,6 +902,20 @@ is_external_volume (GVolume *volume)
return is_external;
}
+static gboolean
+is_local (GFile *file)
+{
+ gchar *path;
+
+ path = g_file_get_path (file);
+ if (path == NULL)
+ return FALSE;
+
+ g_free (path);
+
+ return TRUE;
+}
+
static void
update_trash_icon (GtkPlacesSidebar *sidebar)
{
@@ -1411,7 +1425,7 @@ update_places (GtkPlacesSidebar *sidebar)
if (_gtk_bookmarks_manager_get_is_builtin (sidebar->bookmarks_manager, root))
continue;
- if (sidebar->local_only && !is_native)
+ if (sidebar->local_only && !is_native && !is_local (root))
continue;
clos = g_slice_new (BookmarkQueryClosure);
@@ -1469,28 +1483,35 @@ update_places (GtkPlacesSidebar *sidebar)
g_free (tooltip);
}
}
+ }
- network_mounts = g_list_reverse (network_mounts);
- for (l = network_mounts; l != NULL; l = l->next)
- {
- char *mount_uri;
+ network_mounts = g_list_reverse (network_mounts);
+ for (l = network_mounts; l != NULL; l = l->next)
+ {
+ char *mount_uri;
- mount = l->data;
- root = g_mount_get_default_location (mount);
- start_icon = g_mount_get_symbolic_icon (mount);
- mount_uri = g_file_get_uri (root);
- name = g_mount_get_name (mount);
- tooltip = g_file_get_parse_name (root);
- add_place (sidebar, PLACES_MOUNTED_VOLUME,
- SECTION_MOUNTS,
- name, start_icon, NULL, mount_uri,
- NULL, NULL, mount, NULL, 0, tooltip);
+ mount = l->data;
+ root = g_mount_get_default_location (mount);
+
+ if (sidebar->local_only && !is_local (root))
+ {
g_object_unref (root);
- g_object_unref (start_icon);
- g_free (name);
- g_free (mount_uri);
- g_free (tooltip);
+ continue;
}
+
+ start_icon = g_mount_get_symbolic_icon (mount);
+ mount_uri = g_file_get_uri (root);
+ name = g_mount_get_name (mount);
+ tooltip = g_file_get_parse_name (root);
+ add_place (sidebar, PLACES_MOUNTED_VOLUME,
+ SECTION_MOUNTS,
+ name, start_icon, NULL, mount_uri,
+ NULL, NULL, mount, NULL, 0, tooltip);
+ g_object_unref (root);
+ g_object_unref (start_icon);
+ g_free (name);
+ g_free (mount_uri);
+ g_free (tooltip);
}
g_list_free_full (network_volumes, g_object_unref);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]