Always use UTF-8 for GTK+ strings.

Strings returned and accepted by GTK+ functions always use UTF-8 independently
of the current locale and of the file name encoding we use. So use UTF-8
instead of wxConvFileName everywhere where we deal with GTK+ directly.

Closes #11743.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2010-02-25 00:03:35 +00:00
parent b42468496c
commit b74d7c8525
4 changed files with 10 additions and 13 deletions

View File

@@ -172,7 +172,7 @@ void wxDirDialog::SetPath(const wxString& dir)
wxString wxDirDialog::GetPath() const wxString wxDirDialog::GetPath() const
{ {
wxGtkString str(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget))); wxGtkString str(gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(m_widget)));
return wxString(str, *wxConvFileName); return wxString::FromUTF8(str);
} }
#endif // wxUSE_DIRDLG #endif // wxUSE_DIRDLG

View File

@@ -47,7 +47,7 @@ wxString wxGtkFileChooser::GetPath() const
wxString string; wxString string;
if (str.c_str() != NULL) if (str.c_str() != NULL)
string = wxConvFileName->cMB2WX(str); string = wxString::FromUTF8(str);
return string; return string;
} }
@@ -70,7 +70,7 @@ void wxGtkFileChooser::GetPaths( wxArrayString& paths ) const
GSList *gpaths = gpathsi; GSList *gpaths = gpathsi;
while ( gpathsi ) while ( gpathsi )
{ {
wxString file( wxConvFileName->cMB2WX( ( gchar* ) gpathsi->data ) ); wxString file(wxString::FromUTF8(static_cast<gchar *>(gpathsi->data)));
paths.Add( file ); paths.Add( file );
g_free( gpathsi->data ); g_free( gpathsi->data );
gpathsi = gpathsi->next; gpathsi = gpathsi->next;
@@ -84,24 +84,21 @@ void wxGtkFileChooser::GetPaths( wxArrayString& paths ) const
bool wxGtkFileChooser::SetPath( const wxString& path ) bool wxGtkFileChooser::SetPath( const wxString& path )
{ {
if ( path.empty() ) return true; if ( path.empty() )
return true;
return gtk_file_chooser_set_filename( m_widget, return gtk_file_chooser_set_filename( m_widget, path.utf8_str() );
wxConvFileName->cWX2MB( path.c_str() ) );
} }
bool wxGtkFileChooser::SetDirectory( const wxString& dir ) bool wxGtkFileChooser::SetDirectory( const wxString& dir )
{ {
const gboolean b = return gtk_file_chooser_set_current_folder( m_widget, dir.utf8_str() ) != 0;
gtk_file_chooser_set_current_folder( m_widget,
wxConvFileName->cWX2MB( dir.c_str() ) );
return b != 0;
} }
wxString wxGtkFileChooser::GetDirectory() const wxString wxGtkFileChooser::GetDirectory() const
{ {
const wxGtkString str( gtk_file_chooser_get_current_folder( m_widget ) ); const wxGtkString str( gtk_file_chooser_get_current_folder( m_widget ) );
return wxString( str, *wxConvFileName ); return wxString::FromUTF8(str);
} }
wxString wxGtkFileChooser::GetFilename() const wxString wxGtkFileChooser::GetFilename() const

View File

@@ -51,7 +51,7 @@ static void gtk_filedialog_ok_callback(GtkWidget *widget, wxFileDialog *dialog)
msg.Printf( msg.Printf(
_("File '%s' already exists, do you really want to overwrite it?"), _("File '%s' already exists, do you really want to overwrite it?"),
wxString(filename, *wxConvFileName)); wxString::FromUTF8(filename));
wxMessageDialog dlg(dialog, msg, _("Confirm"), wxMessageDialog dlg(dialog, msg, _("Confirm"),
wxYES_NO | wxICON_QUESTION); wxYES_NO | wxICON_QUESTION);

View File

@@ -151,7 +151,7 @@ wxString wxHyperlinkCtrl::GetURL() const
if ( UseNative() ) if ( UseNative() )
{ {
const gchar *str = gtk_link_button_get_uri(GTK_LINK_BUTTON(m_widget)); const gchar *str = gtk_link_button_get_uri(GTK_LINK_BUTTON(m_widget));
return wxString(str, *wxConvFileName); return wxString::FromUTF8(str);
} }
return wxGenericHyperlinkCtrl::GetURL(); return wxGenericHyperlinkCtrl::GetURL();