summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Persch <chpe@cvs.gnome.org>2004-10-02 14:23:18 +0000
committerChristian Persch <chpe@src.gnome.org>2004-10-02 14:23:18 +0000
commitb9bf149030bb5d3f141b1a05c6ac34a807b355a4 (patch)
tree4a629ddb6008bbde6861ca485a26df5a7f867b06
parent3ecbea1e22f2544b4f0e62bd23bb510f8730b53d (diff)
downloadepiphany-b9bf149030bb5d3f141b1a05c6ac34a807b355a4.tar.gz
Recognise "Desktop" special downloads directory. Fixes bug #152926.
2004-10-02 Christian Persch <chpe@cvs.gnome.org> * embed/mozilla/MozDownload.cpp: * lib/ephy-file-helpers.c: (ephy_file_downloads_dir), (ephy_file_desktop_dir): * lib/ephy-file-helpers.h: * src/prefs-dialog.c: (get_download_button_label): Recognise "Desktop" special downloads directory. Fixes bug #152926.
-rw-r--r--ChangeLog10
-rw-r--r--doc/reference/tmpl/ephy-embed.sgml2
-rw-r--r--embed/mozilla/MozDownload.cpp5
-rw-r--r--lib/ephy-file-helpers.c25
-rw-r--r--lib/ephy-file-helpers.h2
-rw-r--r--src/prefs-dialog.c4
6 files changed, 41 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index faf7cbacd..1c7439873 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2004-10-02 Christian Persch <chpe@cvs.gnome.org>
+
+ * embed/mozilla/MozDownload.cpp:
+ * lib/ephy-file-helpers.c: (ephy_file_downloads_dir),
+ (ephy_file_desktop_dir):
+ * lib/ephy-file-helpers.h:
+ * src/prefs-dialog.c: (get_download_button_label):
+
+ Recognise "Desktop" special downloads directory. Fixes bug #152926.
+
2004-09-30 Christian Persch <chpe@cvs.gnome.org>
* configure.in:
diff --git a/doc/reference/tmpl/ephy-embed.sgml b/doc/reference/tmpl/ephy-embed.sgml
index 05984ca0b..1f1e296b7 100644
--- a/doc/reference/tmpl/ephy-embed.sgml
+++ b/doc/reference/tmpl/ephy-embed.sgml
@@ -150,6 +150,8 @@ be done by casting).
@:
@:
@:
+@:
+@:
@:
<!-- ##### SIGNAL EphyEmbed::ge-security-change ##### -->
diff --git a/embed/mozilla/MozDownload.cpp b/embed/mozilla/MozDownload.cpp
index 975b852ca..4e26b7347 100644
--- a/embed/mozilla/MozDownload.cpp
+++ b/embed/mozilla/MozDownload.cpp
@@ -590,6 +590,11 @@ GetFilePath (const char *filename)
g_free (download_dir);
download_dir = ephy_file_downloads_dir ();
}
+ else if (download_dir && strcmp (download_dir, "Desktop") == 0)
+ {
+ g_free (download_dir);
+ download_dir = ephy_file_desktop_dir ();
+ }
else if (download_dir)
{
char *converted_dp;
diff --git a/lib/ephy-file-helpers.c b/lib/ephy-file-helpers.c
index 138d8719f..49f4c487d 100644
--- a/lib/ephy-file-helpers.c
+++ b/lib/ephy-file-helpers.c
@@ -72,8 +72,7 @@ char *
ephy_file_downloads_dir (void)
{
const char *translated_folder;
- char *converted, *downloads_dir;
- gboolean desktop_is_home;
+ char *desktop_dir, *converted, *downloads_dir;
/* The name of the default downloads folder */
translated_folder = _("Downloads");
@@ -81,21 +80,33 @@ ephy_file_downloads_dir (void)
converted = g_filename_from_utf8 (translated_folder, -1, NULL,
NULL, NULL);
+ desktop_dir = ephy_file_desktop_dir ();
+ downloads_dir = g_build_filename (desktop_dir, converted, NULL);
+
+ g_free (desktop_dir);
+ g_free (converted);
+
+ return downloads_dir;
+}
+
+char *
+ephy_file_desktop_dir (void)
+{
+ char *downloads_dir;
+ gboolean desktop_is_home;
+
desktop_is_home = eel_gconf_get_boolean (CONF_DESKTOP_IS_HOME_DIR);
if (desktop_is_home)
{
- downloads_dir = g_build_filename
- (g_get_home_dir (), converted, NULL);
+ downloads_dir = g_strdup (g_get_home_dir ());
}
else
{
downloads_dir = g_build_filename
- (g_get_home_dir (), "Desktop", converted, NULL);
+ (g_get_home_dir (), "Desktop", NULL);
}
- g_free (converted);
-
return downloads_dir;
}
diff --git a/lib/ephy-file-helpers.h b/lib/ephy-file-helpers.h
index bfb7e1b6c..6beb2951a 100644
--- a/lib/ephy-file-helpers.h
+++ b/lib/ephy-file-helpers.h
@@ -35,6 +35,8 @@ void ephy_file_helpers_shutdown (void);
char *ephy_file_downloads_dir (void);
+char *ephy_file_desktop_dir (void);
+
const char *ephy_file_tmp_dir (void);
char *ephy_file_tmp_filename (const char *base,
diff --git a/src/prefs-dialog.c b/src/prefs-dialog.c
index 560989675..eac0c3fe6 100644
--- a/src/prefs-dialog.c
+++ b/src/prefs-dialog.c
@@ -1113,6 +1113,10 @@ get_download_button_label ()
{
label = g_strdup (_("Desktop"));
}
+ else if (g_utf8_collate (key, "Desktop") == 0)
+ {
+ label = g_strdup (_("Desktop"));
+ }
else
{
label = g_strdup (key);