]> git.sesse.net Git - kdenlive/blobdiff - src/recmonitor.cpp
Revert "Drop support for KDE 4.3."
[kdenlive] / src / recmonitor.cpp
index a4708047d9d1553bb54f5227620d784b3a81c21c..a2b8906ab09d9e24079a1557720f4059a026b0a0 100644 (file)
@@ -830,7 +830,19 @@ void RecMonitor::manageCapturedFiles()
         KUrl url = KUrl(dir.filePath(name));
         if (KIO::NetAccess::exists(url, KIO::NetAccess::SourceSide, this)) {
             KFileItem file(KFileItem::Unknown, KFileItem::Unknown, url, true);
-            if (file.time(KFileItem::ModificationTime) > m_captureTime) capturedFiles.append(url);
+            if (file.time(KFileItem::ModificationTime) > m_captureTime) {
+                // The file was captured in the last batch
+                if (url.fileName().contains(':')) {
+                    // Several dvgrab options (--timecode,...) use : in the file name, which is
+                    // not supported by MLT, so rename them
+                    QString newUrl = url.directory(KUrl::AppendTrailingSlash) + url.fileName().replace(':', '_');
+                    if (QFile::rename(url.path(), newUrl)) {
+                        url = KUrl(newUrl);
+                    }
+                    
+                }
+                capturedFiles.append(url);
+            }
         }
     }
     kDebug() << "Found : " << capturedFiles.count() << " new capture files";
@@ -839,10 +851,7 @@ void RecMonitor::manageCapturedFiles()
     if (capturedFiles.count() > 0) {
         ManageCapturesDialog *d = new ManageCapturesDialog(capturedFiles, this);
         if (d->exec() == QDialog::Accepted) {
-            capturedFiles = d->importFiles();
-            foreach(const KUrl & url, capturedFiles) {
-                emit addProjectClip(url);
-            }
+            emit addProjectClipList(d->importFiles());
         }
         delete d;
     }