From: Bulat Z. <bul...@gm...> - 2008-06-19 17:01:29
|
Hello all functions fileChooserSetFilename and fileChooserGetFilename use UTF-8 filename encoding instead of built-in GHC Unicode support reported on mingw ghc 6.6.1 with gtk2hs 0.9.11.3 (last official release) -- Best regards, Bulat mailto:Bul...@gm... |
From: Duncan C. <dun...@wo...> - 2008-06-19 20:59:33
|
On Thu, 2008-06-19 at 21:01 +0400, Bulat Ziganshin wrote: > Hello all > > functions fileChooserSetFilename and fileChooserGetFilename use UTF-8 > filename encoding instead of built-in GHC Unicode support > > reported on mingw ghc 6.6.1 with gtk2hs 0.9.11.3 (last official release) Good point. Here's a patch. I've also sent a darcs patch to the -devel list. Duncan Thu Jun 19 21:51:21 BST 2008 Duncan Coutts <du...@ha...> * Use UTF8 filenames on windows for file selector On Windows, gtk_file_chooser_set/get_filename always use UTF8 so we should encode/decode as such. Reported by Bulat Ziganshin. diff -rN -u old-gtk2hs/gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp new-gtk2hs/gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp --- old-gtk2hs/gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp 2008-06-19 22:03:27.000000000 +0100 +++ new-gtk2hs/gtk/Graphics/UI/Gtk/Selectors/FileChooser.chs.pp 2008-06-19 22:03:27.000000000 +0100 @@ -364,11 +364,13 @@ fileChooserGetFilename self = #if defined (WIN32) && GTK_CHECK_VERSION(2,6,0) {# call gtk_file_chooser_get_filename_utf8 #} + (toFileChooser self) + >>= maybePeek readUTF8String #else {# call gtk_file_chooser_get_filename #} -#endif (toFileChooser self) >>= maybePeek readCString +#endif -- | Sets @filename@ as the current filename for the file chooser, by changing -- to the file's parent folder and actually selecting the file in list. If the @@ -403,10 +405,11 @@ -- file was selected successfully, @False@ otherwise. fileChooserSetFilename self filename = liftM toBool $ - withCString filename $ \filenamePtr -> #if defined (WIN32) && GTK_CHECK_VERSION(2,6,0) + withUTF8String filename $ \filenamePtr -> {# call gtk_file_chooser_set_filename_utf8 #} #else + withCString filename $ \filenamePtr -> {# call gtk_file_chooser_set_filename #} #endif (toFileChooser self) |