[gtk/wip/muktupavels/webdav-gtk3] pathbar: show webdav directories
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/muktupavels/webdav-gtk3] pathbar: show webdav directories
- Date: Tue, 14 Jan 2020 17:23:43 +0000 (UTC)
commit 54bebe19b83d61588e58e1842d173793b1bb1b34
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Tue Jan 14 19:05:51 2020 +0200
pathbar: show webdav directories
Currently pathbar is not updated for webdav directories and shows
previous non-webdav location pathbar. The problem seems to be fact
that last(?) parent is not local file in which case
g_file_query_info_async returns "The specified location is not
mounted" error.
gtk/gtkpathbar.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
---
diff --git a/gtk/gtkpathbar.c b/gtk/gtkpathbar.c
index 99d5282888..9d1e497491 100644
--- a/gtk/gtkpathbar.c
+++ b/gtk/gtkpathbar.c
@@ -1729,6 +1729,20 @@ gtk_path_bar_set_file_finish (struct SetFileInfo *info,
g_free (info);
}
+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
gtk_path_bar_get_info_callback (GCancellable *cancellable,
GFileInfo *info,
@@ -1789,6 +1803,8 @@ gtk_path_bar_get_info_callback (GCancellable *cancellable,
}
file_info->parent_file = g_file_get_parent (file_info->file);
+ if (!is_local (file_info->parent_file))
+ g_clear_object (&file_info->parent_file);
/* Recurse asynchronously */
file_info->path_bar->priv->get_info_cancellable =
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]