SetType( type );
}
-wxDataFormat::wxDataFormat( const wxChar *id )
-{
- PrepareFormats();
- SetId( id );
-}
-
wxDataFormat::wxDataFormat( const wxString &id )
{
PrepareFormats();
m_type = wxDF_PRIVATE;
}
-void wxDataFormat::SetId( const wxChar *id )
+void wxDataFormat::SetId( const wxString& id )
{
PrepareFormats();
m_type = wxDF_PRIVATE;
- wxString tmp( id );
- m_format = gdk_atom_intern( (const char*) tmp.ToAscii(), FALSE );
+ m_format = gdk_atom_intern( id.ToAscii(), FALSE );
}
void wxDataFormat::PrepareFormats()
lenPrefix += 2;
}
- AddFile(wxURI::Unescape(filename.c_str() + lenPrefix));
+ // It would probably be nicer to use a GTK or Glib
+ // function to unescape the 8-bit strings pointed to
+ // by buf, but this does the same in wx code.
+ wxString filename_unicode = wxURI::Unescape(filename.c_str() + lenPrefix);
+ wxCharBuffer filename_8bit = wxConvISO8859_1.cWX2MB( filename_unicode );
+ filename_unicode = wxConvFileName->cMB2WX( filename_8bit );
+ AddFile( filename_unicode );
filename.Empty();
}
else if ( !filename.empty() )
}
else
{
+ // The string is in ISO-8859-1 according to XDND spec
filename += *p;
}
}