]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/app.cpp
adding support for wxCB_SORT
[wxWidgets.git] / src / gtk1 / app.cpp
index 6b9ddf198c6a8e4242d229ba5a38d8310704624d..c9f166377f5dc95300caf10205f7233323d08b04 100644 (file)
@@ -606,6 +606,32 @@ bool wxApp::Initialize(int& argc, wxChar **argv)
         wxConvCurrent = (wxMBConv*) NULL;
 #endif // wxUSE_WCHAR_T/!wxUSE_WCHAR_T
 
+#ifdef __WXGTK20__
+    // decide which conversion to use for the file names
+
+    // (1) this variable exists for the sole purpose of specifying the encoding
+    //     of the filenames for GTK+ programs, so use it if it is set
+    wxString encName(wxGetenv(_T("G_FILENAME_ENCODING")));
+    encName.MakeUpper();
+#if wxUSE_INTL        
+    if (encName.empty())
+    {
+        // (2) if a non default locale is set, assume that the user wants his
+        //     filenames in this locale too
+        encName = wxLocale::GetSystemEncodingName().Upper();
+        // (3) finally use UTF-8 by default
+        if (encName.empty() || encName == _T("US-ASCII"))
+            encName = _T("UTF-8");
+        wxSetEnv(_T("G_FILENAME_ENCODING"), encName);
+    }
+#else
+    if (encName.empty())
+        encName = _T("UTF-8");
+#endif // wxUSE_INTL
+    static wxConvBrokenFileNames fileconv(encName);
+    wxConvFileName = &fileconv;
+#endif // __WXGTK20__
+
 #if wxUSE_UNICODE
     // gtk_init() wants UTF-8, not wchar_t, so convert
     int i;