]> git.sesse.net Git - vlc/commitdiff
* modules/gui/wxwidgets: fixed build when wxWidgets isn't compiled with unicode support.
authorGildas Bazin <gbazin@videolan.org>
Sun, 9 Oct 2005 16:36:17 +0000 (16:36 +0000)
committerGildas Bazin <gbazin@videolan.org>
Sun, 9 Oct 2005 16:36:17 +0000 (16:36 +0000)
modules/gui/wxwidgets/dialogs.cpp
modules/gui/wxwidgets/interface.cpp
modules/gui/wxwidgets/open.cpp
modules/gui/wxwidgets/wxwidgets.h

index bd8308cd2b77dd74da0ed55ebcd07b9113d79aee..23e9c1b74e05d0eac3e8bf87140a70f52b8fc9f6 100644 (file)
@@ -406,7 +406,7 @@ void DialogsProvider::OnOpenFileSimple( wxCommandEvent& event )
 
         for( size_t i = 0; i < paths.GetCount(); i++ )
         {
-            char *psz_utf8 = FromUTF32( paths[i].wc_str() );
+            char *psz_utf8 = wxFromLocale( paths[i] );
             if( event.GetInt() )
                 playlist_Add( p_playlist, psz_utf8, psz_utf8,
                               PLAYLIST_APPEND | (i ? 0 : PLAYLIST_GO),
@@ -414,7 +414,7 @@ void DialogsProvider::OnOpenFileSimple( wxCommandEvent& event )
             else
                 playlist_Add( p_playlist, psz_utf8, psz_utf8,
                               PLAYLIST_APPEND, PLAYLIST_END );
-            free( psz_utf8 );
+            wxLocaleFree( psz_utf8 );
         }
     }
 
@@ -437,11 +437,11 @@ void DialogsProvider::OnOpenDirectory( wxCommandEvent& event )
     if( p_dir_dialog && p_dir_dialog->ShowModal() == wxID_OK )
     {
         wxString path = p_dir_dialog->GetPath();
-        char *psz_utf8 = FromUTF32( path.wc_str() );
+        char *psz_utf8 = wxFromLocale( path );
         playlist_Add( p_playlist, psz_utf8, psz_utf8,
                       PLAYLIST_APPEND | (event.GetInt() ? PLAYLIST_GO : 0),
                       PLAYLIST_END );
-        free( psz_utf8 );
+        wxLocaleFree( psz_utf8 );
     }
 
     vlc_object_release( p_playlist );
index 6f61bc65b95dc4b77a062b104785dacf77565ff4..29961f520ac569dcf24fc482083e5d68a6c22361 100644 (file)
@@ -1418,11 +1418,11 @@ bool DragAndDrop::OnDropFiles( wxCoord, wxCoord,
 
     for( size_t i = 0; i < filenames.GetCount(); i++ )
     {
-        char *psz_utf8 = FromUTF32( filenames[i].wc_str() );
+        char *psz_utf8 = wxFromLocale( filenames[i] );
         playlist_Add( p_playlist, psz_utf8, psz_utf8,
                       PLAYLIST_APPEND | ((i | b_enqueue) ? 0 : PLAYLIST_GO),
                       PLAYLIST_END );
-        free( psz_utf8 );
+        wxLocaleFree( psz_utf8 );
     }
 
     vlc_object_release( p_playlist );
index 09d10ffc02bf95b39f861f1c40aef77ac9af76bc..42adea124e0233aaab6b7d860b0875102c5016ec 100644 (file)
@@ -1148,17 +1148,17 @@ void OpenDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
         playlist_item_t *p_item;
         char *psz_utf8;
 
-        psz_utf8 = FromUTF32( mrl[i].wc_str() );
+        psz_utf8 = wxFromLocale( mrl[i] );
         p_item = playlist_ItemNew( p_intf, psz_utf8, psz_utf8 );
-        free( psz_utf8 );
+        wxLocaleFree( psz_utf8 );
 
         /* Insert options */
         while( i + 1 < (int)mrl.GetCount() &&
-               ((const char *)mrl[i + 1].wc_str())[0] == ':' )
+               ((const char *)mrl[i + 1].mb_str())[0] == ':' )
         {
-            psz_utf8 = FromUTF32( mrl[i + 1].wc_str() );
+            psz_utf8 = wxFromLocale( mrl[i + 1] );
             playlist_ItemAddOption( p_item, psz_utf8 );
-            free( psz_utf8 );
+            wxLocaleFree( psz_utf8 );
             i++;
         }
 
@@ -1167,9 +1167,9 @@ void OpenDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
         {
             for( int j = 0; j < (int)subsfile_mrl.GetCount(); j++ )
             {
-                psz_utf8 = FromUTF32( subsfile_mrl[j].wc_str() );
+                psz_utf8 = wxFromLocale( subsfile_mrl[j] );
                 playlist_ItemAddOption( p_item, psz_utf8 );
-                free( psz_utf8 );
+                wxLocaleFree( psz_utf8 );
             }
         }
 
@@ -1178,9 +1178,9 @@ void OpenDialog::OnOk( wxCommandEvent& WXUNUSED(event) )
         {
             for( int j = 0; j < (int)sout_mrl.GetCount(); j++ )
             {
-                psz_utf8 = FromUTF32( sout_mrl[j].wc_str() );
+                psz_utf8 = wxFromLocale( sout_mrl[j] );
                 playlist_ItemAddOption( p_item, psz_utf8 );
-                free( psz_utf8 );
+                wxLocaleFree( psz_utf8 );
             }
         }
 
index b9150341b33c80e599e298985edf38822fc5820e..7c0726cd86818491616d6b3ba84c9990800d2088 100644 (file)
@@ -36,7 +36,6 @@
 
 #include <list>
 
-#define wxUSE_UNICODE 1
 #include <wx/wxprec.h>
 #include <wx/wx.h>
 
@@ -64,15 +63,31 @@ DECLARE_LOCAL_EVENT_TYPE( wxEVT_INTF, 1 );
 
 /* wxU is used to convert ansi/utf8 strings to unicode strings (wchar_t) */
 #if defined( ENABLE_NLS )
+#if wxUSE_UNICODE
 #   define wxU(utf8) wxString(utf8, wxConvUTF8)
+#else
+#   define wxU(utf8) wxString(wxConvUTF8.cMB2WC(utf8), *wxConvCurrent)
+#endif
 #else // ENABLE_NLS
+#if wxUSE_UNICODE
 #   define wxU(ansi) wxString(ansi, wxConvLocal)
+#else
+#   define wxU(ansi) (ansi)
+#endif
 #endif
 
 /* wxL2U (locale to unicode) is used to convert ansi strings to unicode
  * strings (wchar_t) */
 #define wxL2U(ansi) wxU(ansi)
 
+#if wxUSE_UNICODE
+#   define wxFromLocale(wxstring) FromUTF32(wxstring.wc_str())
+#   define wxLocaleFree(string) free(string)
+#else
+#   define wxFromLocale(wxstring) FromLocale(wxstring.mb_str())
+#   define wxLocaleFree(string) LocaleFree(string)
+#endif
+
 #define WRAPCOUNT 80
 
 #define OPEN_NORMAL 0