[Xfce4-commits] [xfce/thunar] 01/01: Add support for the GTK 3 bookmarks file (bug #10627)
noreply at xfce.org
noreply at xfce.org
Fri Jul 25 15:23:22 CEST 2014
This is an automated email from the git hooks/post-receive script.
jannis pushed a commit to branch master
in repository xfce/thunar.
commit 6a63d7bd8ff0d937cb30f112c3fd080a5a107053
Author: Alistair Buxton <a.j.buxton at gmail.com>
Date: Wed Mar 12 20:20:05 2014 +0000
Add support for the GTK 3 bookmarks file (bug #10627)
The changes ensure that the config directory exists before attempting to
write bookmarks. It falls back to the old location to support both GTK 2
and 3.
---
thunar/thunar-gio-extensions.c | 2 +-
thunar/thunar-shortcuts-model.c | 17 +++++++++++++++++
thunar/thunar-util.c | 10 +++++++++-
3 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/thunar/thunar-gio-extensions.c b/thunar/thunar-gio-extensions.c
index 1b9026a..369c1f4 100644
--- a/thunar/thunar-gio-extensions.c
+++ b/thunar/thunar-gio-extensions.c
@@ -77,7 +77,7 @@ thunar_g_file_new_for_bookmarks (void)
gchar *filename;
GFile *bookmarks;
- filename = g_build_filename (xfce_get_homedir (), ".gtk-bookmarks", NULL);
+ filename = g_build_filename (g_get_user_config_dir (), "gtk-3.0", "bookmarks", NULL);
bookmarks = g_file_new_for_path (filename);
g_free (filename);
diff --git a/thunar/thunar-shortcuts-model.c b/thunar/thunar-shortcuts-model.c
index ab4c74d..c215c54 100644
--- a/thunar/thunar-shortcuts-model.c
+++ b/thunar/thunar-shortcuts-model.c
@@ -1364,6 +1364,7 @@ thunar_shortcuts_model_save (ThunarShortcutsModel *model)
gchar *uri;
GList *lp;
GError *err = NULL;
+ GFile *parent = NULL;
_thunar_return_if_fail (THUNAR_IS_SHORTCUTS_MODEL (model));
@@ -1389,6 +1390,22 @@ thunar_shortcuts_model_save (ThunarShortcutsModel *model)
}
}
+ /* create folder if it does not exist */
+ parent = g_file_get_parent (model->bookmarks_file);
+ if (!g_file_make_directory_with_parents (parent, NULL, &err))
+ {
+ if (g_error_matches (err, G_IO_ERROR, G_IO_ERROR_EXISTS))
+ {
+ g_clear_error (&err);
+ }
+ else
+ {
+ g_warning ("Failed to create bookmarks folder: %s", err->message);
+ g_error_free (err);
+ }
+ }
+ g_clear_object (&parent);
+
/* write data to the disk */
bookmarks_path = g_file_get_path (model->bookmarks_file);
if (!g_file_set_contents (bookmarks_path, contents->str, contents->len, &err))
diff --git a/thunar/thunar-util.c b/thunar/thunar-util.c
index 22ffcce..3cb764e 100644
--- a/thunar/thunar-util.c
+++ b/thunar/thunar-util.c
@@ -196,6 +196,15 @@ thunar_util_load_bookmarks (GFile *bookmarks_file,
/* append the GTK+ bookmarks (if any) */
fp = fopen (bookmarks_path, "r");
+ g_free (bookmarks_path);
+
+ if (G_UNLIKELY (fp == NULL))
+ {
+ bookmarks_path = g_build_filename (g_get_home_dir (), ".gtk-bookmarks", NULL);
+ fp = fopen(bookmarks_path, "r");
+ g_free(bookmarks_path);
+ }
+
if (G_LIKELY (fp != NULL))
{
while (fgets (line, sizeof (line), fp) != NULL)
@@ -231,7 +240,6 @@ thunar_util_load_bookmarks (GFile *bookmarks_file,
fclose (fp);
}
- g_free (bookmarks_path);
}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list