]> Pileus Git - ~andy/gtk/commitdiff
Print files to Documents directory by default
authorMarek Kasik <mkasik@redhat.com>
Wed, 10 Nov 2010 09:48:17 +0000 (10:48 +0100)
committerMarek Kasik <mkasik@redhat.com>
Wed, 10 Nov 2010 09:48:17 +0000 (10:48 +0100)
Set default directory to G_USER_DIRECTORY_DOCUMENTS
when printing to file backend and fallback to the current
directory when it is not available (#633896).

modules/printbackends/file/gtkprintbackendfile.c

index 27cc0a4e98ef9e63d61e1a2451dc887291143f89..79023c96824d7efb6647b3900aaa92ac58a37d37 100644 (file)
@@ -253,13 +253,21 @@ output_file_from_settings (GtkPrintSettings *settings,
 
       if (locale_name != NULL)
         {
-         gchar *current_dir = g_get_current_dir ();
-          path = g_build_filename (current_dir, locale_name, NULL);
-          g_free (locale_name);
+          const gchar *document_dir = g_get_user_special_dir (G_USER_DIRECTORY_DOCUMENTS);
+          
+          if (document_dir == NULL)
+            {
+              gchar *current_dir = g_get_current_dir ();
+              path = g_build_filename (current_dir, locale_name, NULL);
+              g_free (current_dir);
+            }
+          else
+            path = g_build_filename (document_dir, locale_name, NULL);
 
           uri = g_filename_to_uri (path, NULL, NULL);
+
+          g_free (locale_name);
           g_free (path);
-         g_free (current_dir);
        }
     }