diff options
author | Alexander Larsson <alexl@redhat.com> | 2004-10-28 14:00:38 +0000 |
---|---|---|
committer | Alexander Larsson <alexl@src.gnome.org> | 2004-10-28 14:00:38 +0000 |
commit | 1fd8052fa7d77b0b20eeaad5d8368947440db093 (patch) | |
tree | e0026f8dc28ec12f621a4b45ae5d4df86d1845a3 /src/nautilus-location-entry.c | |
parent | 14704c0966ac5c6d8ae65b0b62cd95d6fca8aa92 (diff) | |
download | nautilus-1fd8052fa7d77b0b20eeaad5d8368947440db093.tar.gz |
Use eel_get_filename_charset to handle the new filename charset env vars.
2004-10-28 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-file-utilities.c:
(nautilus_get_uri_shortname_for_display):
* libnautilus-private/nautilus-file-utilities.h:
* libnautilus-private/nautilus-file.c: (nautilus_file_rename),
(nautilus_file_get_display_name_nocopy):
* src/nautilus-location-entry.c: (try_to_expand_path):
Use eel_get_filename_charset to handle the new filename
charset env vars.
Diffstat (limited to 'src/nautilus-location-entry.c')
-rw-r--r-- | src/nautilus-location-entry.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/nautilus-location-entry.c b/src/nautilus-location-entry.c index 06bf1de48..b9b344942 100644 --- a/src/nautilus-location-entry.c +++ b/src/nautilus-location-entry.c @@ -162,6 +162,8 @@ try_to_expand_path (gpointer callback_data) GList *element; GnomeVFSURI *uri; GtkEditable *editable; + gboolean utf8_filenames; + const char *filename_charset; char *base_name_uri_escaped; char *base_name; @@ -240,6 +242,8 @@ try_to_expand_path (gpointer callback_data) return FALSE; } + utf8_filenames = eel_get_filename_charset (&filename_charset); + /* iterate through the directory, keeping the intersection of all the names that have the current basename as a prefix. */ expand_text = NULL; @@ -251,23 +255,23 @@ try_to_expand_path (gpointer callback_data) } else { expand_name = g_strdup (current_file_info->name); } - if (nautilus_have_broken_filenames()) { - expand_text = accumulate_name_locale (expand_text, expand_name); - } else { + if (utf8_filenames) { expand_text = accumulate_name_utf8 (expand_text, expand_name); + } else { + expand_text = accumulate_name_locale (expand_text, expand_name); } g_free (expand_name); } } - if (nautilus_have_broken_filenames ()) { + if (!utf8_filenames) { if (expand_text) { - expand_text_utf8 = g_locale_to_utf8 (expand_text, -1, NULL, NULL, NULL); + expand_text_utf8 = g_convert (expand_text, -1, "UTF-8", filename_charset, NULL, NULL, NULL); g_free (expand_text); expand_text = expand_text_utf8; } - base_name_utf8 = g_locale_to_utf8 (base_name, -1, NULL, NULL, NULL); + base_name_utf8 = g_convert (base_name, -1, "UTF-8", filename_charset, NULL, NULL, NULL); g_free (base_name); base_name = base_name_utf8; } |