X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=shell%2Fev-daemon.c;h=fa9d506db83ee6b3e32ca7451583952a8df17908;hb=e769474337c9a6ffdaed2327056e8de2f7ca9ee4;hp=cc60ab183cde011840a0dde5490adadf3b8b5ae8;hpb=34c1e36b4db59733b34beca77e617fb5ebf5a1f1;p=evince.git diff --git a/shell/ev-daemon.c b/shell/ev-daemon.c index cc60ab18..fa9d506d 100644 --- a/shell/ev-daemon.c +++ b/shell/ev-daemon.c @@ -1,4 +1,4 @@ -/* ev-metadata.c +/* ev-daemon.c * this file is part of evince, a gnome document viewer * * Copyright (C) 2009 Carlos Garcia Campos @@ -114,101 +114,6 @@ ev_daemon_maybe_start_killtimer (gpointer data) data); } -static gboolean -convert_metadata (const gchar *metadata) -{ - GFile *file; - char *argv[3]; - gint exit_status; - GFileAttributeInfoList *namespaces; - gboolean supported = FALSE; - GError *error = NULL; - gboolean retval; - - /* If metadata is not supported for a local file - * is likely because and old gvfs version is running. - */ - file = g_file_new_for_path (metadata); - namespaces = g_file_query_writable_namespaces (file, NULL, NULL); - if (namespaces) { - gint i; - - for (i = 0; i < namespaces->n_infos; i++) { - if (strcmp (namespaces->infos[i].name, "metadata") == 0) { - supported = TRUE; - break; - } - } - g_file_attribute_info_list_unref (namespaces); - } - if (!supported) { - g_warning ("GVFS metadata not supported. " - "Evince will run without metadata support.\n"); - g_object_unref (file); - return FALSE; - } - g_object_unref (file); - - argv[0] = g_build_filename (LIBEXECDIR, "evince-convert-metadata", NULL); - argv[1] = (char *) metadata; - argv[2] = NULL; - - retval = g_spawn_sync (NULL /* wd */, argv, NULL /* env */, - 0, NULL, NULL, NULL, NULL, - &exit_status, &error); - g_free (argv[0]); - - if (!retval) { - g_printerr ("Error migrating metadata: %s\n", error->message); - g_error_free (error); - } - - return retval && WIFEXITED (exit_status) && WEXITSTATUS (exit_status) == 0; -} - -static void -ev_migrate_metadata (void) -{ - gchar *updated; - gchar *metadata; - gchar *dot_dir; - const gchar *userdir; - - userdir = g_getenv ("GNOME22_USER_DIR"); - if (userdir) { - dot_dir = g_build_filename (userdir, "evince", NULL); - } else { - dot_dir = g_build_filename (g_get_home_dir (), - ".gnome2", - "evince", - NULL); - } - - updated = g_build_filename (dot_dir, "migrated-to-gvfs", NULL); - if (g_file_test (updated, G_FILE_TEST_EXISTS)) { - /* Already migrated */ - g_free (updated); - g_free (dot_dir); - return; - } - - metadata = g_build_filename (dot_dir, "ev-metadata.xml", NULL); - if (g_file_test (metadata, G_FILE_TEST_EXISTS)) { - if (convert_metadata (metadata)) { - gint fd; - - fd = g_creat (updated, 0600); - if (fd != -1) { - close (fd); - } - } - } - - g_free (dot_dir); - g_free (updated); - g_free (metadata); -} - static gboolean spawn_evince (const gchar *uri) { @@ -495,8 +400,6 @@ name_acquired_cb (GDBusConnection *connection, const gchar *name, gpointer user_data) { - ev_migrate_metadata (); - ev_daemon_maybe_start_killtimer (user_data); }