]> git.sesse.net Git - vlc/commitdiff
Qt: update DVD title/chapter syntax, add it for BD
authorRémi Denis-Courmont <remi@remlab.net>
Wed, 23 Nov 2011 17:32:08 +0000 (19:32 +0200)
committerRémi Denis-Courmont <remi@remlab.net>
Wed, 23 Nov 2011 17:32:08 +0000 (19:32 +0200)
modules/gui/qt4/components/open_panels.cpp

index cd75fb6224aa1b162b5e880aa18446e4595fc03c..daef241dce1ba3b36dcdf24bc275baf0885adbd2 100644 (file)
@@ -505,38 +505,40 @@ void DiscOpenPanel::updateMRL()
     else
         discPath = ui.deviceCombo->currentText();
 
-    /* CDDAX and VCDX not implemented. TODO ? No. */
+    /* MRL scheme */
     /* DVD */
     if( ui.dvdRadioButton->isChecked() ) {
         if( !ui.dvdsimple->isChecked() )
-            mrl = "dvd://" LOCALHOST + discPath;
+            mrl = "dvd://" LOCALHOST;
         else
             mrl = "dvdsimple://" LOCALHOST + discPath;
+    } else if ( ui.bdRadioButton->isChecked() )
+        mrl = "bluray://" LOCALHOST;
+    /* VCD */
+    else if ( ui.vcdRadioButton->isChecked() )
+        mrl = "vcd://" LOCALHOST;
+    /* CDDA */
+    else
+        mrl = "cdda://" LOCALHOST;
 
-        if ( ui.titleSpin->value() > 0 ) {
-            mrl += QString("@%1").arg( ui.titleSpin->value() );
-            if ( ui.chapterSpin->value() > 0 ) {
+    mrl += discPath;
+
+    /* Title/chapter encoded in MRL */
+    if( ui.titleSpin->value() > 0 ) {
+        if( ui.dvdRadioButton->isChecked() || ui.bdRadioButton->isChecked() ) {
+            mrl += QString("#%1").arg( ui.titleSpin->value() );
+            if ( ui.chapterSpin->value() > 0 )
                 mrl+= QString(":%1").arg( ui.chapterSpin->value() );
-            }
         }
-    } else if ( ui.bdRadioButton->isChecked() ) {
-        mrl = "bluray://" LOCALHOST + discPath;
-
-    /* VCD */
-    } else if ( ui.vcdRadioButton->isChecked() ) {
-        mrl = "vcd://" LOCALHOST + discPath;
-
-        if( ui.titleSpin->value() > 0 )
+        else if ( ui.vcdRadioButton->isChecked() )
             mrl += QString("@%1").arg( ui.titleSpin->value() );
-
-    /* CDDA */
-    } else {
-        mrl = "cdda://" LOCALHOST + discPath;
     }
+
     emit methodChanged( "disc-caching" );
 
     fileList << mrl; mrl = "";
 
+    /* Input item options */
     if ( ui.dvdRadioButton->isChecked() || ui.vcdRadioButton->isChecked() )
     {
         if ( ui.audioSpin->value() >= 0 ) {