]> git.sesse.net Git - kdenlive/blobdiff - src/projectlist.cpp
Export project info (list of clips) to text file
[kdenlive] / src / projectlist.cpp
index e422639ada7d709941ad863cec90dac706d7cb2b..f61a4560d437ce374d8fb66d520ff0c07cb03a8f 100644 (file)
@@ -249,12 +249,15 @@ void ProjectList::editClipSelection(QList<QTreeWidgetItem *> list)
     // Gather all common properties
     QMap <QString, QString> commonproperties;
     QList <DocClipBase *> clipList;
-    commonproperties.insert("force_aspect_ratio", "-");
+    commonproperties.insert("force_aspect_num", "-");
+    commonproperties.insert("force_aspect_den", "-");
     commonproperties.insert("force_fps", "-");
     commonproperties.insert("force_progressive", "-");
     commonproperties.insert("threads", "-");
     commonproperties.insert("video_index", "-");
     commonproperties.insert("audio_index", "-");
+    commonproperties.insert("force_colorspace", "-");
+    commonproperties.insert("full_luma", "-");
 
     bool allowDurationChange = true;
     int commonDuration = -1;
@@ -587,11 +590,17 @@ void ProjectList::slotUpdateClipProperties(const QString &id, QMap <QString, QSt
     ProjectItem *item = getItemById(id);
     if (item) {
         slotUpdateClipProperties(item, properties);
-        if (properties.contains("out") || properties.contains("force_fps")) {
+        if (properties.contains("out") || properties.contains("force_fps") || properties.contains("resource")) {
             slotReloadClip(id);
-        } else if (properties.contains("colour") || properties.contains("resource") || properties.contains("xmldata") || properties.contains("force_aspect_ratio") || properties.contains("templatetext")) {
+        } else if (properties.contains("colour") ||
+                   properties.contains("xmldata") ||
+                   properties.contains("force_aspect_num") ||
+                   properties.contains("force_aspect_den") ||
+                   properties.contains("templatetext")) {
             slotRefreshClipThumbnail(item);
             emit refreshClip();
+        } else if (properties.contains("full_luma") || properties.contains("force_colorspace")) {
+            emit refreshClip();
         }
     }
 }
@@ -1100,9 +1109,10 @@ void ProjectList::slotAddClip(const QList <QUrl> givenList, const QString &group
             if (fileName.at(fileName.size() - 1).isDigit()) {
                 KFileItem item(KFileItem::Unknown, KFileItem::Unknown, url);
                 if (item.mimetype().startsWith("image")) {
-                    int count = 0;
                     // import as sequence if we found more than one image in the sequence
-                    QString pattern = SlideshowClip::selectedPath(url.path(), false, QString(), &count);
+                    QStringList list;
+                    QString pattern = SlideshowClip::selectedPath(url.path(), false, QString(), &list);
+                    int count = list.count();
                     if (count > 1) {
                         delete d;
                         QStringList groupInfo = getGroup();
@@ -1238,7 +1248,7 @@ void ProjectList::slotAddTitleTemplateClip()
 
     if (!templateFiles.isEmpty())
         dia_ui.buttonBox->button(QDialogButtonBox::Ok)->setFocus();
-    dia_ui.template_list->fileDialog()->setFilter("*.kdenlivetitle");
+    dia_ui.template_list->fileDialog()->setFilter("application/x-kdenlivetitle");
     //warning: setting base directory doesn't work??
     KUrl startDir(path);
     dia_ui.template_list->fileDialog()->setUrl(startDir);
@@ -1837,33 +1847,32 @@ void ProjectList::slotForceProcessing(const QString &id)
 void ProjectList::slotAddOrUpdateSequence(const QString frameName)
 {
     QString fileName = KUrl(frameName).fileName().section('_', 0, -2);
-    int count;
-    QString pattern = SlideshowClip::selectedPath(frameName, false, QString(), &count);
+    QStringList list;
+    QString pattern = SlideshowClip::selectedPath(frameName, false, QString(), &list);
+    int count = list.count();
     if (count > 1) {
-         const QList <DocClipBase *> existing = m_doc->clipManager()->getClipByResource(pattern);
-       if (!existing.isEmpty()) {
-           // Sequence already exists, update
-           QString id = existing.at(0)->getId();
-           ProjectItem *item = getItemById(id);
+        const QList <DocClipBase *> existing = m_doc->clipManager()->getClipByResource(pattern);
+        if (!existing.isEmpty()) {
+            // Sequence already exists, update
+            QString id = existing.at(0)->getId();
+            //ProjectItem *item = getItemById(id);
             QMap <QString, QString> oldprops;
             QMap <QString, QString> newprops;
-           int ttl = existing.at(0)->getProperty("ttl").toInt();
+            int ttl = existing.at(0)->getProperty("ttl").toInt();
             oldprops["out"] = existing.at(0)->getProperty("out");
             newprops["out"] = QString::number(ttl * count - 1);
-           slotUpdateClipProperties(id, newprops);
+            slotUpdateClipProperties(id, newprops);
             EditClipCommand *command = new EditClipCommand(this, id, oldprops, newprops, false);
             m_commandStack->push(command);
-       }
-       else {
-           // Create sequence
-           QStringList groupInfo = getGroup();
-           m_doc->slotCreateSlideshowClipFile(fileName, pattern, count, m_timecode.reformatSeparators(KdenliveSettings::sequence_duration()),
-                                                           false, false, false,
-                                                           m_timecode.getTimecodeFromFrames(int(ceil(m_timecode.fps()))), QString(), 0,
-                                                           QString(), groupInfo.at(0), groupInfo.at(1));
-       }
-    }
-    else emit displayMessage(i18n("Sequence not found"), -2);
+        } else {
+            // Create sequence
+            QStringList groupInfo = getGroup();
+            m_doc->slotCreateSlideshowClipFile(fileName, pattern, count, m_timecode.reformatSeparators(KdenliveSettings::sequence_duration()),
+                                               false, false, false,
+                                               m_timecode.getTimecodeFromFrames(int(ceil(m_timecode.fps()))), QString(), 0,
+                                               QString(), groupInfo.at(0), groupInfo.at(1));
+        }
+    } else emit displayMessage(i18n("Sequence not found"), -2);
 }
 
 #include "projectlist.moc"