Read the legacy bookmarks file

Signed-off-by: Federico Mena Quintero <federico@gnome.org>
This commit is contained in:
Federico Mena Quintero 2012-09-03 20:52:27 -05:00
parent 163beca279
commit 36969380b3

View File

@ -40,7 +40,7 @@ _gtk_bookmark_free (GtkBookmark *bookmark)
} }
static GFile * static GFile *
get_bookmarks_file (void) get_legacy_bookmarks_file (void)
{ {
GFile *file; GFile *file;
gchar *filename; gchar *filename;
@ -52,6 +52,19 @@ get_bookmarks_file (void)
return file; return file;
} }
static GFile *
get_bookmarks_file (void)
{
GFile *file;
gchar *filename;
filename = g_build_filename (g_get_user_config_dir (), "gtk-3.0", "bookmarks", NULL);
file = g_file_new_for_path (filename);
g_free (filename);
return file;
}
static GSList * static GSList *
read_bookmarks (GFile *file) read_bookmarks (GFile *file)
{ {
@ -189,6 +202,17 @@ _gtk_bookmarks_manager_new (GtkBookmarksChangedFunc changed_func, gpointer chang
bookmarks_file = get_bookmarks_file (); bookmarks_file = get_bookmarks_file ();
manager->bookmarks = read_bookmarks (bookmarks_file); manager->bookmarks = read_bookmarks (bookmarks_file);
if (!priv->bookmarks)
{
GFile *legacy_bookmarks_file;
/* Read the legacy one and write it to the new one */
legacy_bookmarks_file = get_legacy_bookmarks_file ();
priv->bookmarks = read_bookmarks (legacy_bookmarks_file);
save_bookmarks (bookmarks_file, priv->bookmarks);
g_object_unref (legacy_bookmarks_file);
}
error = NULL; error = NULL;
manager->bookmarks_monitor = g_file_monitor_file (bookmarks_file, manager->bookmarks_monitor = g_file_monitor_file (bookmarks_file,