Index: src/fe-gnome/preferences.c
===================================================================
--- src/fe-gnome/preferences.c	(revision 2727)
+++ src/fe-gnome/preferences.c	(working copy)
@@ -177,47 +177,16 @@
 gchar *
 get_save_directory(void)
 {
-	char *dir;
-	if (0 == strlen (prefs.dccdir)) {
-		dir = NULL;
-	} else {
-		dir = g_strdup (prefs.dccdir);
-	}
+	/* Bug 415345 – Should add the default Downloads folder to the filechoosers 
+	 * g_get_user_special_dir - supported with glib 2.14 and above  
+	 */
 
-	/* Starts with ~/ ? */
-	if (dir != NULL && dir[0] == '~' && dir[1] == '/') {
-		dir = g_build_filename (g_get_home_dir (),
-		                        dir + 2, NULL);
-	}
-
-	/* Try ~/Desktop/Downloads */
-	if (dir == NULL || strlen (dir) == 0 ||
-	    g_file_test (dir, G_FILE_TEST_IS_DIR) == FALSE) {
-		const char *translated_folder;
-		char *converted;
-
-		g_free (dir);
-		/* The name of the default downloads folder,
-		 * Needs to be the same as Epiphany's */
-		translated_folder = _("Downloads");
-
-		converted = g_filename_from_utf8 (translated_folder, -1, NULL,
-		                                   NULL, NULL);
-		dir = g_build_filename (g_get_home_dir (), "Desktop",
-		                        converted, NULL);
-		g_free (converted);
-	}
-
-	/* Try ~/Desktop */
-	if (g_file_test (dir, G_FILE_TEST_IS_DIR) == FALSE) {
-		g_free (dir);
-		dir = g_build_filename (g_get_home_dir (), "Desktop", NULL);
-	}
-
-	/* Try ~/ */
-	if (g_file_test (dir, G_FILE_TEST_IS_DIR) == FALSE) {
-		g_free (dir);
-		dir = g_strdup (g_get_home_dir ());
-	}
+	/* Try download dir */
+	char dir;	
+	char *str = g_get_user_special_dir (G_USER_DIRECTORY_DOWNLOAD);
+	if (!str) str = g_get_user_special_dir( G_USER_DIRECTORY_DESKTOP );
+	if (!str) str = g_get_home_dir ();
+	
+	dir = g_strdup (str);
 	return dir;
 }
