]> git.sesse.net Git - kdenlive/commitdiff
Fix small bugs in DVD Wizard transcoding workflow
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 9 Nov 2012 07:42:03 +0000 (08:42 +0100)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Fri, 9 Nov 2012 07:42:03 +0000 (08:42 +0100)
src/cliptranscode.cpp
src/cliptranscode.h
src/dvdwizardvob.cpp
src/widgets/dvdwizardvob_ui.ui

index 22df000d209574253f7c8af1deb2f03dc41f722c..1215248a145fff4159d2de2cdfb0bfce145fb773 100644 (file)
@@ -101,7 +101,6 @@ ClipTranscode::ClipTranscode(KUrl::List urls, const QString &params, const QStri
     ffmpeg_params->setMaximumHeight(QFontMetrics(font()).lineSpacing() * 5);
 
     adjustSize();
-    if (m_automaticMode) slotStartTransCode();
 }
 
 ClipTranscode::~ClipTranscode()
@@ -144,7 +143,15 @@ void ClipTranscode::slotStartTransCode()
     QString s_url = source_url->url().path();
     parameters << "-i" << s_url;
     if (QFile::exists(destination + extension)) {
-        if (KMessageBox::questionYesNo(this, i18n("File %1 already exists.\nDo you want to overwrite it?", destination + extension)) == KMessageBox::No) return;
+        if (KMessageBox::questionYesNo(this, i18n("File %1 already exists.\nDo you want to overwrite it?", destination + extension)) == KMessageBox::No) {
+           // Abort operation
+           if (m_automaticMode) {
+               // inform caller that we aborted
+               emit transcodedClip(source_url->url(), KUrl());
+               close();
+           }
+           return;
+       }
         parameters << "-y";
     }
 
index 05d0841ce40a81b0224ff4a304018a818d41d8f3..3b707ed7e86afad7ce1e3699bbeb367b862c79e3 100644 (file)
@@ -40,10 +40,12 @@ public:
     ClipTranscode(KUrl::List urls, const QString &params, const QStringList &postParams, const QString &description, bool automaticMode = false, QWidget * parent = 0);
     ~ClipTranscode();
 
+public slots:
+void slotStartTransCode();
+
 
 private slots:
     void slotShowTranscodeInfo();
-    void slotStartTransCode();
     void slotTranscodeFinished(int exitCode, QProcess::ExitStatus exitStatus);
     void slotUpdateParams(int ix = -1);
 
index 9cdfd8d0e06d4b1be4762464b53ebc245e104de3..24921e4116ec89c035526b8d94ce1504d6fb74c5 100644 (file)
@@ -123,7 +123,7 @@ DvdWizardVob::DvdWizardVob(QWidget *parent) :
     m_warnMessage->setCloseButtonVisible(false);
     m_warnMessage->addAction(m_transcodeAction);
     QGridLayout *s =  static_cast <QGridLayout*> (layout());
-    s->addWidget(m_warnMessage, 3, 0, 1, -1);
+    s->addWidget(m_warnMessage, 2, 0, 1, -1);
     m_warnMessage->hide();
     m_view.button_transcode->setHidden(true);
 #else
@@ -532,13 +532,20 @@ void DvdWizardVob::slotTranscodeFiles()
            }
            ClipTranscode *d = new ClipTranscode(KUrl::List () << KUrl(item->text(0)), params.section(';', 0, 0), postParams, i18n("Transcoding to DVD format"), true, this);
            connect(d, SIGNAL(transcodedClip(KUrl,KUrl)), this, SLOT(slotTranscodedClip(KUrl, KUrl)));
+           d->slotStartTransCode();
            d->show();
+           
        }
     }
 }
 
 void DvdWizardVob::slotTranscodedClip(KUrl src, KUrl transcoded)
 {
+    if (transcoded.isEmpty()) {
+       // Transcoding canceled or failed
+       m_transcodeAction->setEnabled(true);
+       return;
+    }
     int max = m_vobList->topLevelItemCount();
     for (int i = 0; i < max; i++) {
         QTreeWidgetItem *item = m_vobList->topLevelItem(i);
index 515605daeaab704d98776fe19d8954c8a6989e94..65540369d8153573d65f921db635d6f531dcb8b5 100644 (file)
@@ -6,73 +6,32 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>459</width>
-    <height>255</height>
+    <width>463</width>
+    <height>275</height>
    </rect>
   </property>
   <layout class="QGridLayout" name="gridLayout_2">
    <property name="margin">
     <number>0</number>
    </property>
-   <item row="3" column="2">
-    <widget class="QPushButton" name="button_delete">
-     <property name="text">
-      <string>Remove file</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="5">
-    <widget class="QCheckBox" name="use_intro">
-     <property name="text">
-      <string>Use first movie as intro</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="0" colspan="9">
+   <item row="4" column="0" colspan="10">
     <widget class="QGroupBox" name="size_box">
      <property name="title">
       <string/>
      </property>
     </widget>
    </item>
-   <item row="0" column="0" colspan="2">
-    <widget class="QLabel" name="label">
-     <property name="text">
-      <string>DVD format</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="6">
-    <spacer name="horizontalSpacer">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>244</width>
-       <height>20</height>
-      </size>
-     </property>
-    </spacer>
+   <item row="0" column="2" colspan="8">
+    <widget class="KComboBox" name="dvd_profile"/>
    </item>
-   <item row="3" column="7">
+   <item row="3" column="8">
     <widget class="QToolButton" name="button_transcode">
      <property name="text">
       <string>...</string>
      </property>
     </widget>
    </item>
-   <item row="0" column="2" colspan="7">
-    <widget class="KComboBox" name="dvd_profile"/>
-   </item>
-   <item row="3" column="1">
-    <widget class="QPushButton" name="button_add">
-     <property name="text">
-      <string>Add movie file</string>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="0" colspan="9">
+   <item row="5" column="0" colspan="10">
     <widget class="QLabel" name="error_message">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
      </property>
     </widget>
    </item>
-   <item row="1" column="0" colspan="8">
+   <item row="3" column="6">
+    <widget class="QCheckBox" name="use_intro">
+     <property name="text">
+      <string>Use first movie as intro</string>
+     </property>
+    </widget>
+   </item>
+   <item row="1" column="0" colspan="9">
     <widget class="QFrame" name="list_frame">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
      </property>
     </widget>
    </item>
-   <item row="3" column="3">
-    <widget class="QToolButton" name="button_up">
+   <item row="3" column="2">
+    <widget class="QPushButton" name="button_delete">
      <property name="text">
-      <string>...</string>
+      <string>Remove file</string>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="1">
+    <widget class="QPushButton" name="button_add">
+     <property name="text">
+      <string>Add movie file</string>
+     </property>
+    </widget>
+   </item>
+   <item row="0" column="0" colspan="2">
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string>DVD format</string>
      </property>
     </widget>
    </item>
      </property>
     </widget>
    </item>
+   <item row="3" column="3">
+    <widget class="QToolButton" name="button_up">
+     <property name="text">
+      <string>...</string>
+     </property>
+    </widget>
+   </item>
+   <item row="3" column="5">
+    <spacer name="horizontalSpacer">
+     <property name="orientation">
+      <enum>Qt::Horizontal</enum>
+     </property>
+     <property name="sizeHint" stdset="0">
+      <size>
+       <width>244</width>
+       <height>20</height>
+      </size>
+     </property>
+    </spacer>
+   </item>
   </layout>
  </widget>
  <customwidgets>