{
const QMimeData *mimeData = event->mimeData();
foreach( QUrl url, mimeData->urls() ) {
- QString s = url.toString();
+ QString s = toNativeSeparators( url.toString() );
if( s.length() > 0 ) {
playlist_Add( THEPL, qtu(s), NULL,
PLAYLIST_APPEND, PLAYLIST_END, true, false );
if( THEMIM->getIM()->hasInput() )
{
if( input_AddSubtitles( THEMIM->getInput(),
- qtu( mimeData->urls()[0].toString() ),
+ qtu( toNativeSeparators(
+ mimeData->urls()[0].toLocalFile() ) ),
true ) )
{
event->acceptProposedAction();
bool first = true;
foreach( QUrl url, mimeData->urls() )
{
- QString s = url.toLocalFile();
+ QString s = toNativeSeparators( url.toLocalFile() );
+
if( s.length() > 0 ) {
playlist_Add( THEPL, qtu(s), NULL,
PLAYLIST_APPEND | (first ? PLAYLIST_GO:0),
PLEventType = 200
};
+
+#include <QString>
+/* Replace separators on Windows because Qt is always using / */
+static inline QString toNativeSeparators( QString s )
+{
+#ifdef WIN32
+ for (int i=0; i<(int)s.length(); i++)
+ {
+ if (s[i] == QLatin1Char('/'))
+ s[i] = QLatin1Char('\\');
+ }
+#endif
+ return s;
+}
+
static const int DialogEvent_Type = QEvent::User + DialogEventType + 1;
//static const int PLUndockEvent_Type = QEvent::User + DialogEventType + 2;
//static const int PLDockEvent_Type = QEvent::User + DialogEventType + 3;