]> git.sesse.net Git - kdenlive/blobdiff - src/headertrack.cpp
Fix ungrouping and track effect drop
[kdenlive] / src / headertrack.cpp
index 2241ec9b552ce0bb0703c61f5d3fb8b9536c1bfa..86956b7fb204cec148821388cbfcef1fb11de3ed 100644 (file)
@@ -135,9 +135,19 @@ void HeaderTrack::dropEvent(QDropEvent * event)
     const QString effects = QString::fromUtf8(event->mimeData()->data("kdenlive/effectslist"));
     QDomDocument doc;
     doc.setContent(effects, true);
-    const QDomElement e = doc.documentElement();
+    QDomElement e = doc.documentElement();
+    if (e.tagName() == "list") {
+        // dropped an effect group
+        QDomNodeList effectlist = e.elementsByTagName("effect");
+        for (int i = 0; i < effectlist.count(); i++) {
+            effectlist.at(i).toElement().removeAttribute("kdenlive_ix");
+        }
+    } else {
+        // single effect dropped
+        e.removeAttribute("kdenlive_ix");
+    }
     emit selectTrack(m_index);
-    emit addTrackInfo(e, m_index);
+    emit addTrackEffect(e, m_index);
     /*if (scene() && !scene()->views().isEmpty()) {
         event->accept();
         CustomTrackView *view = (CustomTrackView *) scene()->views()[0];