diff options
author | Tor Lillqvist <tml@iki.fi> | 2004-12-12 21:09:13 +0000 |
---|---|---|
committer | Tor Lillqvist <tml@src.gnome.org> | 2004-12-12 21:09:13 +0000 |
commit | f3da17053918abe78db5f75e7d008e4c84c09570 (patch) | |
tree | 8ec4255ddb86a9d13de0e6012246a64f4cc671e3 /gtk/gtkfilechooser.c | |
parent | f821217218c60a96cda40844fbef300b4b3d143b (diff) | |
download | gtk+-f3da17053918abe78db5f75e7d008e4c84c09570.tar.gz |
gtk/gtkaccelmap.[ch] gtk/gtkfilechooser.[ch] gtk/gtkfilesel.c
2004-12-12 Tor Lillqvist <tml@iki.fi>
* gtk/gtkaccelmap.[ch]
* gtk/gtkfilechooser.[ch]
* gtk/gtkfilesel.c
* gtk/gtkfilesystemwin32.c
* gtk/gtkiconfactory.[ch]
* gtk/gtkicontheme.[ch]
* gtk/gtkimage.[ch]
* gtk/gtkimmodule.c
* gtk/gtkmodules.c
* gtk/gtkrc.[ch]
* gtk/gtkuimanager.[ch]
* gtk/gtkwindow.[ch]
* gtk/updateiconcache.c
* gtk/gtk.symbols: Use gstdio wrappers. On Windows, convert
environment variables referring to pathnames from locale encoding
to UTF-8. As in GLib, in order to preserve Windows DLL ABI
stability, add binary compatibility versions of functions that
take file names as arguments, or return file names. Add a _utf8
suffix to the "real" such functions on Windows. The ABI
compatibility versions keep the old name.
* gtk/Makefile.am: Strip PRIVATE symbols from the GNU import
library.
* gtk/gtkiconcache.c (_gtk_icon_cache_new_for_path): Implement
file mapping on Win32.
* gtk/updateiconcache.c: Don't crash if invoked without
argument. Use binary mode when opening file.
* modules/engines/ms-windows/Theme/gtk-2.0/Makefile.am: Install
gtkrc in correct place, in <datadir>/themes/MS-Windows/gtk-2.0.
Diffstat (limited to 'gtk/gtkfilechooser.c')
-rw-r--r-- | gtk/gtkfilechooser.c | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/gtk/gtkfilechooser.c b/gtk/gtkfilechooser.c index 59fe7b1b9d..377838809a 100644 --- a/gtk/gtkfilechooser.c +++ b/gtk/gtkfilechooser.c @@ -1827,3 +1827,172 @@ gtk_file_chooser_get_show_hidden (GtkFileChooser *chooser) return show_hidden; } + +#ifdef G_OS_WIN32 + +/* DLL ABI stability backward compatibility versions */ + +#undef gtk_file_chooser_get_filename + +gchar * +gtk_file_chooser_get_filename (GtkFileChooser *chooser) +{ + gchar *utf8_filename = gtk_file_chooser_get_filename_utf8 (chooser); + gchar *retval = g_locale_from_utf8 (utf8_filename, -1, NULL, NULL, NULL); + + g_free (utf8_filename); + + return retval; +} + +#undef gtk_file_chooser_set_filename + +gboolean +gtk_file_chooser_set_filename (GtkFileChooser *chooser, + const gchar *filename) +{ + gchar *utf8_filename = g_locale_to_utf8 (filename, -1, NULL, NULL, NULL); + gboolean retval = gtk_file_chooser_set_filename_utf8 (chooser, utf8_filename); + + g_free (utf8_filename); + + return retval; +} + +#undef gtk_file_chooser_select_filename + +gboolean +gtk_file_chooser_select_filename (GtkFileChooser *chooser, + const gchar *filename) +{ + gchar *utf8_filename = g_locale_to_utf8 (filename, -1, NULL, NULL, NULL); + gboolean retval = gtk_file_chooser_select_filename_utf8 (chooser, utf8_filename); + + g_free (utf8_filename); + + return retval; +} + +#undef gtk_file_chooser_unselect_filename + +void +gtk_file_chooser_unselect_filename (GtkFileChooser *chooser, + const char *filename) +{ + gchar *utf8_filename = g_locale_to_utf8 (filename, -1, NULL, NULL, NULL); + + gtk_file_chooser_unselect_filename_utf8 (chooser, utf8_filename); + g_free (utf8_filename); +} + +#undef gtk_file_chooser_get_filenames + +GSList * +gtk_file_chooser_get_filenames (GtkFileChooser *chooser) +{ + GSList *list = gtk_file_chooser_get_filenames_utf8 (chooser); + GSList *rover = list; + + while (rover) + { + gchar *tem = (gchar *) rover->data; + rover->data = g_locale_from_utf8 ((gchar *) rover->data, -1, NULL, NULL, NULL); + g_free (tem); + rover = rover->next; + } + + return list; +} + +#undef gtk_file_chooser_set_current_folder + +gboolean +gtk_file_chooser_set_current_folder (GtkFileChooser *chooser, + const gchar *filename) +{ + gchar *utf8_filename = g_locale_to_utf8 (filename, -1, NULL, NULL, NULL); + gboolean retval = gtk_file_chooser_set_current_folder_utf8 (chooser, utf8_filename); + + g_free (utf8_filename); + + return retval; +} + +#undef gtk_file_chooser_get_current_folder + +gchar * +gtk_file_chooser_get_current_folder (GtkFileChooser *chooser) +{ + gchar *utf8_folder = gtk_file_chooser_get_current_folder_utf8 (chooser); + gchar *retval = g_locale_from_utf8 (utf8_folder, -1, NULL, NULL, NULL); + + g_free (utf8_folder); + + return retval; +} + +#undef gtk_file_chooser_get_preview_filename + +char * +gtk_file_chooser_get_preview_filename (GtkFileChooser *chooser) +{ + char *utf8_filename = gtk_file_chooser_get_preview_filename_utf8 (chooser); + char *retval = g_locale_from_utf8 (utf8_filename, -1, NULL, NULL, NULL); + + g_free (utf8_filename); + + return retval; +} + +#undef gtk_file_chooser_add_shortcut_folder + +gboolean +gtk_file_chooser_add_shortcut_folder (GtkFileChooser *chooser, + const char *folder, + GError **error) +{ + char *utf8_folder = g_locale_to_utf8 (folder, -1, NULL, NULL, NULL); + gboolean retval = + gtk_file_chooser_add_shortcut_folder_utf8 (chooser, utf8_folder, error); + + g_free (utf8_folder); + + return retval; +} + +#undef gtk_file_chooser_remove_shortcut_folder + +gboolean +gtk_file_chooser_remove_shortcut_folder (GtkFileChooser *chooser, + const char *folder, + GError **error) +{ + char *utf8_folder = g_locale_to_utf8 (folder, -1, NULL, NULL, NULL); + gboolean retval = + gtk_file_chooser_remove_shortcut_folder_utf8 (chooser, utf8_folder, error); + + g_free (utf8_folder); + + return retval; +} + +#undef gtk_file_chooser_list_shortcut_folders + +GSList * +gtk_file_chooser_list_shortcut_folders (GtkFileChooser *chooser) +{ + GSList *list = gtk_file_chooser_list_shortcut_folders_utf8 (chooser); + GSList *rover = list; + + while (rover) + { + gchar *tem = (gchar *) rover->data; + rover->data = g_locale_from_utf8 ((gchar *) rover->data, -1, NULL, NULL, NULL); + g_free (tem); + rover = rover->next; + } + + return list; +} + +#endif |