+ // sometimes the syntax is "file:filename", sometimes it's
+ // URL-like: "file://filename" - deal with both
+ if ( filename[lenPrefix] == _T('/') &&
+ filename[lenPrefix + 1] == _T('/') )
+ {
+ // skip the slashes
+ lenPrefix += 2;
+ }
+
+ // 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() )
+ {
+ wxLogDebug(_T("Unsupported URI \"%s\" in wxFileDataObject"),
+ filename.c_str());