]> git.sesse.net Git - kdenlive/blobdiff - src/clipmanager.cpp
Fix regression introduced by document validation changes (document profile was not...
[kdenlive] / src / clipmanager.cpp
index 496e89d548ddca0a713a65719df7c903009f7dae..afac6ef5c1d57000e0e1d78c2078bbc3ed5758d5 100644 (file)
@@ -35,6 +35,7 @@
 #include <QGraphicsItemGroup>
 
 ClipManager::ClipManager(KdenliveDoc *doc) :
+        QObject(),
         m_audioThumbsQueue(),
         m_doc(doc),
         m_audioThumbsEnabled(false),
@@ -143,12 +144,10 @@ void ClipManager::addClip(DocClipBase *clip)
 
 void ClipManager::slotDeleteClip(const QString &clipId)
 {
-    for (int i = 0; i < m_clipList.count(); i++) {
-        if (m_clipList.at(i)->getId() == clipId) {
-            AddClipCommand *command = new AddClipCommand(m_doc, m_clipList.at(i)->toXML(), clipId, false);
-            m_doc->commandStack()->push(command);
-            break;
-        }
+    DocClipBase *clip = getClipById(clipId);
+    if (clip) {
+        AddClipCommand *command = new AddClipCommand(m_doc, clip->toXML(), clipId, false);
+        m_doc->commandStack()->push(command);
     }
 }
 
@@ -156,9 +155,7 @@ void ClipManager::deleteClip(const QString &clipId)
 {
     for (int i = 0; i < m_clipList.count(); i++) {
         if (m_clipList.at(i)->getId() == clipId) {
-            DocClipBase *clip = m_clipList.takeAt(i);
-            delete clip;
-            clip = NULL;
+            delete m_clipList.takeAt(i);
             break;
         }
     }
@@ -184,8 +181,11 @@ DocClipBase *ClipManager::getClipById(QString clipId)
 
 DocClipBase *ClipManager::getClipByResource(QString resource)
 {
+    QString clipResource;
     for (int i = 0; i < m_clipList.count(); i++) {
-        if (m_clipList.at(i)->getProperty("resource") == resource) {
+        clipResource = m_clipList.at(i)->getProperty("resource");
+        if (clipResource.isEmpty()) clipResource = m_clipList.at(i)->getProperty("colour");
+        if (clipResource == resource) {
             return m_clipList.at(i);
         }
     }
@@ -335,7 +335,7 @@ void ClipManager::slotAddTextClipFile(const QString titleName, const QString ima
     QDomElement prod = doc.createElement("producer");
     doc.appendChild(prod);
     prod.setAttribute("resource", imagePath);
-    prod.setAttribute("titlename", titleName);
+    prod.setAttribute("name", titleName);
     prod.setAttribute("xmldata", xml);
     uint id = m_clipIdCounter++;
     prod.setAttribute("id", QString::number(id));