]> git.sesse.net Git - vlc/commitdiff
Hopefully correct tokenization of open strings
authorClément Stenac <zorglub@videolan.org>
Sat, 23 Dec 2006 15:40:20 +0000 (15:40 +0000)
committerClément Stenac <zorglub@videolan.org>
Sat, 23 Dec 2006 15:40:20 +0000 (15:40 +0000)
modules/gui/qt4/components/open.cpp
modules/gui/qt4/dialogs/open.cpp

index c205627d9f8437dacc8c78013fd0b90beaf5a0e1..154b0edf4f06a480e87788eaf161287b040b693e 100644 (file)
@@ -59,13 +59,8 @@ void FileOpenPanel::browseFile()
     QString fileString = "";
     QStringList files = browse( qtr("Open File") );
     foreach( QString file, files) {
-        if( file.contains(" ") ) {
-            fileString += "\"" + file + "\"";
-        } else {
-            fileString += file;
-        }
+        fileString += "\"" + file + "\" ";
     }
-
     ui.fileInput->setEditText( fileString );
     ui.fileInput->addItem( fileString );
     if ( ui.fileInput->count() > 8 ) ui.fileInput->removeItem(0);
index 5e1410ff9225381100deb77a386ee7e3cbdb7bce..bf572dc10643455d4443e87415e18046003aa39c 100644 (file)
@@ -23,6 +23,7 @@
 #include <QTabWidget>
 #include <QGridLayout>
 #include <QFileDialog>
+#include <QRegExp>
 
 #include "dialogs/open.hpp"
 #include "components/open.hpp"
@@ -107,11 +108,14 @@ void OpenDialog::ok()
 {
     this->toggleVisible();
     mrl = ui.advancedLineInput->text();
-    QStringList tempMRL = mrl.split(" ");
+    QStringList tempMRL = mrl.split( QRegExp("\"\\s+\""),
+                                     QString::SkipEmptyParts );
     if( !isModal() )
     {
         for( size_t i = 0 ; i< tempMRL.size(); i++ )
         {
+             QString mrli = tempMRL[i].remove( QRegExp( "^\"" ) ).
+                                       remove( QRegExp( "\"\\s+$" ) );
              const char * psz_utf8 = qtu( tempMRL[i] );
              /* Play the first one, parse and enqueue the other ones */
              playlist_Add( THEPL, psz_utf8, NULL,