]> www.fi.muni.cz Git - evince.git/commitdiff
Respect GNOME22_USER_DIR env variable
authorCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 25 Apr 2010 14:24:17 +0000 (16:24 +0200)
committerCarlos Garcia Campos <carlosgc@gnome.org>
Sun, 25 Apr 2010 14:24:17 +0000 (16:24 +0200)
Based on patch by Ray Strode. Fixes bug #613637.

shell/ev-application.c

index 0719deda8c7a0f6826b0b77bcf6a0967b7845ac1..497ce21b6258a711ffe3187b8ba96450b18fd686 100644 (file)
@@ -94,6 +94,8 @@ G_DEFINE_TYPE (EvApplication, ev_application, G_TYPE_OBJECT);
 #define APPLICATION_DBUS_INTERFACE   "org.gnome.evince.Application"
 #endif
 
+static const gchar *userdir = NULL;
+
 /**
  * ev_application_get_instance:
  *
@@ -813,9 +815,14 @@ ev_application_accel_map_save (EvApplication *application)
        gchar *tmp_filename;
        gint   fd;
 
-       accel_map_file = g_build_filename (g_get_home_dir (),
-                                          ".gnome2", "accels",
-                                          "evince", NULL);
+       if (userdir) {
+               accel_map_file = g_build_filename (userdir, "accels",
+                                                  "evince", NULL);
+       } else {
+               accel_map_file = g_build_filename (g_get_home_dir (),
+                                                  ".gnome2", "accels",
+                                                  "evince", NULL);
+       }
 
        tmp_filename = g_strdup_printf ("%s.XXXXXX", accel_map_file);
 
@@ -843,9 +850,15 @@ ev_application_accel_map_load (EvApplication *application)
 {
        gchar *accel_map_file;
 
-       accel_map_file = g_build_filename (g_get_home_dir (),
-                                          ".gnome2", "accels",
-                                          "evince", NULL);
+       if (userdir) {
+               accel_map_file = g_build_filename (userdir, "accels",
+                                                  "evince", NULL);
+       } else {
+               accel_map_file = g_build_filename (g_get_home_dir (),
+                                                  ".gnome2", "accels",
+                                                  "evince", NULL);
+       }
+
        gtk_accel_map_load (accel_map_file);
        g_free (accel_map_file);
 }
@@ -903,10 +916,14 @@ ev_application_init (EvApplication *ev_application)
 {
        GError *error = NULL;
 
-        ev_application->dot_dir = g_build_filename (g_get_home_dir (),
-                                                    ".gnome2",
-                                                    "evince",
-                                                    NULL);
+       userdir = g_getenv ("GNOME22_USER_DIR");
+       if (userdir)
+               ev_application->dot_dir = g_build_filename (userdir, "evince", NULL);
+       else
+               ev_application->dot_dir = g_build_filename (g_get_home_dir (),
+                                                           ".gnome2",
+                                                           "evince",
+                                                           NULL);
 
 #ifdef G_OS_WIN32
 {