]> git.sesse.net Git - kdenlive/commitdiff
Renderer dialog:
authorSimon A. Eugster <simon.eu@gmail.com>
Thu, 23 Jul 2009 10:13:09 +0000 (10:13 +0000)
committerSimon A. Eugster <simon.eu@gmail.com>
Thu, 23 Jul 2009 10:13:09 +0000 (10:13 +0000)
* Default name for videos is now translatable (instead of being untitled everywhere)
* If manually directory entered like /tmp/a/, path is extended with default filename instead of like /tmp/a/.avi
* Extension won't be changed to lowercase (e.g. if file with uppercase extension already exists) after selecting it and then selecting a different format (but with same file extension)
* Fixed renderer crashing when target directory doesn't exist <http://www.kdenlive.org/mantis/view.php?id=1051>

svn path=/trunk/kdenlive/; revision=3757

src/renderwidget.cpp

index 35a2e01708b8e1d72f8589f04b54c46ea0245cf3..e3c0c43eb3df9cf5d2aeb55f6a21143bac2014f6 100644 (file)
@@ -594,6 +594,10 @@ void RenderWidget::slotPrepareExport(bool scriptExport)
         KMessageBox::sorry(this, i18n("Cannot play video after rendering because the default video player application is not set.\nPlease define it in Kdenlive settings dialog."));
     QString chapterFile;
     if (m_view.create_chapter->isChecked()) chapterFile = m_view.out_file->url().path() + ".dvdchapter";
+
+    // mantisbt 1051
+    KStandardDirs::makeDir(m_view.out_file->url().path(KUrl::AddTrailingSlash));
+
     emit prepareRenderingData(scriptExport, m_view.render_zone->isChecked(), chapterFile);
 }
 
@@ -990,17 +994,24 @@ void RenderWidget::refreshView()
 
 KUrl RenderWidget::filenameWithExtension(KUrl url, QString extension)
 {
-    QString path;
-    if (!url.isEmpty()) {
-        path = url.path();
-        int pos = path.lastIndexOf('.') + 1;
-        if (pos == 0) path.append('.' + extension);
-        else path = path.left(pos) + extension;
+    QString directory = url.directory(KUrl::AppendTrailingSlash | KUrl::ObeyTrailingSlash);
+    QString filename = url.fileName(KUrl::ObeyTrailingSlash);
+    QString ext;
 
-    } else {
-        path = m_projectFolder + "untitled." + extension;
+    if (extension.at(0) == '.') ext = extension;
+    else ext = '.' + extension;
+
+    if (filename.isEmpty()) filename = i18n("untitled");
+
+    int pos = filename.lastIndexOf('.');
+    if (pos == 0) filename.append(ext);
+    else {
+        if (!filename.endsWith(ext, Qt::CaseInsensitive)) {
+            filename = filename.left(pos) + ext;
+        }
     }
-    return KUrl(path);
+
+    return KUrl(directory + filename);
 }