]> git.sesse.net Git - kdenlive/blobdiff - src/customtrackview.cpp
http://www.kdenlive.org/mantis/view.php?id=1414Disabling Home/End keys for z index...
[kdenlive] / src / customtrackview.cpp
index 849311378fd6841a856df84678128c962085477b..f6ea43dba3606155a3e6bc9fc66a664e81cd75c6 100644 (file)
@@ -1498,11 +1498,6 @@ void CustomTrackView::addEffect(int track, GenTime pos, QDomElement effect)
             return;
         }
         EffectsParameterList params = clip->addEffect(effect);
-        if (effect.attribute("disabled") == "1") {
-            // Effect is disabled, don't add it to MLT playlist
-            if (clip->isSelected()) emit clipItemSelected(clip);
-            return;
-        }
         if (!m_document->renderer()->mltAddEffect(track, pos, params))
             emit displayMessage(i18n("Problem adding effect to clip"), ErrorMessage);
         if (clip->isSelected()) emit clipItemSelected(clip);
@@ -1523,8 +1518,8 @@ void CustomTrackView::deleteEffect(int track, GenTime pos, QDomElement effect)
             return;
         }
     }
-    if (!m_document->renderer()->mltRemoveEffect(track, pos, index, true) && effect.attribute("disabled") != "1") {
-        kDebug() << "// ERROR REMOV EFFECT: " << index << ", DISABLE: " << effect.attribute("disabled");
+    if (!m_document->renderer()->mltRemoveEffect(track, pos, index, true)) {
+        kDebug() << "// ERROR REMOV EFFECT: " << index << ", DISABLE: " << effect.attribute("disable");
         emit displayMessage(i18n("Problem deleting effect"), ErrorMessage);
         return;
     }
@@ -1655,7 +1650,7 @@ void CustomTrackView::updateEffect(int track, GenTime pos, QDomElement insertedE
     if (clip) {
         // Special case: speed effect
         if (effect.attribute("id") == "speed") {
-            if (effect.attribute("disabled") == "1") doChangeClipSpeed(clip->info(), clip->speedIndependantInfo(), 1.0, clip->speed(), 1, clip->baseClip()->getId());
+            if (effect.attribute("disable") == "1") doChangeClipSpeed(clip->info(), clip->speedIndependantInfo(), 1.0, clip->speed(), 1, clip->baseClip()->getId());
             else {
                 double speed = EffectsList::parameter(effect, "speed").toDouble() / 100.0;
                 int strobe = EffectsList::parameter(effect, "strobe").toInt();
@@ -1680,11 +1675,7 @@ void CustomTrackView::updateEffect(int track, GenTime pos, QDomElement insertedE
             clip->initEffect(effect);
             effectParams = clip->getEffectArgs(effect);
         }
-        if (effectParams.paramValue("disabled") == "1") {
-            if (m_document->renderer()->mltRemoveEffect(track, pos, effectParams.paramValue("kdenlive_ix"), false)) {
-                kDebug() << "//////  DISABLING EFFECT: " << ix << ", CURRENTLA: " << clip->selectedEffectIndex();
-            } else emit displayMessage(i18n("Problem deleting effect"), ErrorMessage);
-        } else if (!m_document->renderer()->mltEditEffect(m_document->tracksCount() - clip->track(), clip->startPos(), effectParams))
+        if (!m_document->renderer()->mltEditEffect(m_document->tracksCount() - clip->track(), clip->startPos(), effectParams))
             emit displayMessage(i18n("Problem editing effect"), ErrorMessage);
 
         clip->setEffectAt(ix, effect);
@@ -1731,7 +1722,7 @@ void CustomTrackView::slotChangeEffectState(ClipItem *clip, int effectPos, bool
     QDomElement effect = clip->effectAt(effectPos);
     QDomElement oldEffect = effect.cloneNode().toElement();
 
-    effect.setAttribute("disabled", (int) disable);
+    effect.setAttribute("disable", (int) disable);
     EditEffectCommand *command = new EditEffectCommand(this, m_document->tracksCount() - clip->track(), clip->startPos(), oldEffect, effect, effectPos, true);
     m_commandStack->push(command);
     setDocumentModified();;
@@ -2198,7 +2189,9 @@ void CustomTrackView::adjustTimelineClips(EDITMODE mode, ClipItem *item, ItemInf
                         dupInfo.cropStart += diff;
                         dupInfo.cropDuration = clipInfo.endPos - info.startPos;
                         new RazorClipCommand(this, clipInfo, info.startPos, false, command);
-                        ClipItem *dup = cutClip(clipInfo, info.startPos, true, false);
+                        // Commented out; variable dup unused. --granjow
+                        //ClipItem *dup = cutClip(clipInfo, info.startPos, true, false);
+                        cutClip(clipInfo, info.startPos, true, false);
                     }
                 }
                 // TODO: add insertspacecommand
@@ -4766,6 +4759,20 @@ void CustomTrackView::pasteClipEffects()
     paste->setText("Paste effects");
 
     QList<QGraphicsItem *> clips = scene()->selectedItems();
+
+    // expand groups
+    for (int i = 0; i < clips.count(); ++i) {
+       if (clips.at(i)->type() == GROUPWIDGET) {
+           QList<QGraphicsItem *> children = clips.at(i)->childItems();
+           for (int j = 0; j < children.count(); j++) {
+               if (children.at(j)->type() == AVWIDGET && !clips.contains(children.at(j))) {
+                   clips.append(children.at(j));
+               }
+           }
+       }
+    }
+
+
     for (int i = 0; i < clips.count(); ++i) {
         if (clips.at(i)->type() == AVWIDGET) {
             ClipItem *item = static_cast < ClipItem *>(clips.at(i));
@@ -4778,12 +4785,15 @@ void CustomTrackView::pasteClipEffects()
             }
         }
     }
-    m_commandStack->push(paste);
+    if (paste->childCount() > 0) m_commandStack->push(paste);
+    else delete paste;
 
-    // adjust effects (fades, ...)
+    // adjust effects (fades, ...)
     for (int i = 0; i < clips.count(); ++i) {
-        ClipItem *item = static_cast < ClipItem *>(clips.at(i));
-        updatePositionEffects(item, item->info());
+       if (clips.at(i)->type() == AVWIDGET) {
+           ClipItem *item = static_cast < ClipItem *>(clips.at(i));
+           updatePositionEffects(item, item->info());
+       }
     }
 }