]> git.sesse.net Git - kdenlive/blobdiff - src/renderwidget.cpp
#882 fixed (I guess, need to test). Renderer dialog now asks whether a filename exten...
[kdenlive] / src / renderwidget.cpp
index 652cfb3cbb6c3545598be51df315a9583877e9aa..84ab9f6c77e4e7d63a53072e017b8edc6fdae45d 100644 (file)
@@ -248,7 +248,10 @@ void RenderWidget::setGuides(QDomElement guidesxml, double duration)
 void RenderWidget::slotUpdateButtons(KUrl url)
 {
     if (m_view.out_file->url().isEmpty()) m_view.buttonStart->setEnabled(false);
-    else m_view.buttonStart->setEnabled(true);
+    else {
+               updateButtons(); // This also checks whether the selected format is available
+               //m_view.buttonStart->setEnabled(true);
+       }
     if (url != 0) {
         QListWidgetItem *item = m_view.size_list->currentItem();
         QString extension = item->data(ExtensionRole).toString();
@@ -264,7 +267,8 @@ void RenderWidget::slotUpdateButtons(KUrl url)
 void RenderWidget::slotUpdateButtons()
 {
     if (m_view.out_file->url().isEmpty()) m_view.buttonStart->setEnabled(false);
-    else m_view.buttonStart->setEnabled(true);
+    else updateButtons(); // This also checks whether the selected format is available
+       //else m_view.buttonStart->setEnabled(true);
 }
 
 void RenderWidget::slotSaveProfile()
@@ -572,8 +576,18 @@ void RenderWidget::slotExport(bool scriptExport)
     QListWidgetItem *item = m_view.size_list->currentItem();
     if (!item) return;
 
-    const QString dest = m_view.out_file->url().path();
+    QString dest = m_view.out_file->url().path();
     if (dest.isEmpty()) return;
+       
+       // Check whether target file has an extension.
+       // If not, ask whether extension should be added or not.
+       QString extension = item->data(ExtensionRole).toString();
+       if (!dest.endsWith(extension)) {
+               if (KMessageBox::questionYesNo(this, i18n("File has no extension. Add extension (%1)?", extension)) == KMessageBox::Yes) {
+                       dest.append("." + extension);
+               }
+       }
+       
     QFile f(dest);
     if (f.exists()) {
         if (KMessageBox::warningYesNo(this, i18n("Output file already exists. Do you want to overwrite it?")) != KMessageBox::Yes)
@@ -900,8 +914,12 @@ KUrl RenderWidget::filenameWithExtension(KUrl url, QString extension)
 }
 
 
+/**
+ * Called when a new format or size has been selected.
+ */
 void RenderWidget::refreshParams()
 {
+       // Format not available (e.g. codec not installed); Disable start button
     QListWidgetItem *item = m_view.size_list->currentItem();
     if (!item || item->isHidden()) {
         m_view.advanced_params->clear();