]> git.sesse.net Git - kdenlive/blobdiff - src/commands/editeffectcommand.cpp
Use QLatin1String
[kdenlive] / src / commands / editeffectcommand.cpp
index b6a98145f2c0ab8605a3a859edafd30e5e9519b6..d49691229b5e19eb58b2c26d71928ecc0af50236 100644 (file)
 
 #include "editeffectcommand.h"
 #include "customtrackview.h"
+#include <KDebug>
+#include <KLocalizedString>
 
-#include <KLocale>
-
-EditEffectCommand::EditEffectCommand(CustomTrackView *view, const int track, GenTime pos, QDomElement oldeffect, QDomElement effect, int stackPos, bool doIt, QUndoCommand *parent) :
-        QUndoCommand(parent),
-        m_view(view),
-        m_track(track),
-        m_oldeffect(oldeffect),
-        m_effect(effect),
-        m_pos(pos),
-        m_stackPos(stackPos),
-        m_doIt(doIt)
+EditEffectCommand::EditEffectCommand(CustomTrackView *view, const int track, const GenTime &pos, const QDomElement &oldeffect, const QDomElement &effect, int stackPos, bool refreshEffectStack, bool doIt, QUndoCommand *parent) :
+    QUndoCommand(parent),
+    m_view(view),
+    m_track(track),
+    m_oldeffect(oldeffect),
+    m_effect(effect),
+    m_pos(pos),
+    m_stackPos(stackPos),
+    m_doIt(doIt),
+    m_refreshEffectStack(refreshEffectStack)
 {
     QString effectName;
-    QDomElement namenode = effect.firstChildElement("name");
-    if (!namenode.isNull()) effectName = i18n(namenode.text().toUtf8().data());
-    else effectName = i18n("effect");
+    QDomElement namenode = effect.firstChildElement(QLatin1String("name"));
+    if (!namenode.isNull())
+        effectName = i18n(namenode.text().toUtf8().data());
+    else
+        effectName = i18n("effect");
     setText(i18n("Edit effect %1", effectName));
 }
 
@@ -49,9 +52,14 @@ int EditEffectCommand::id() const
 // virtual
 bool EditEffectCommand::mergeWith(const QUndoCommand * other)
 {
-    if (other->id() != id()) return false;
-    if (m_track != static_cast<const EditEffectCommand*>(other)->m_track) return false;
-    if (m_pos != static_cast<const EditEffectCommand*>(other)->m_pos) return false;
+    if (other->id() != id())
+        return false;
+    if (m_track != static_cast<const EditEffectCommand*>(other)->m_track)
+        return false;
+    if (m_stackPos != static_cast<const EditEffectCommand*>(other)->m_stackPos)
+        return false;
+    if (m_pos != static_cast<const EditEffectCommand*>(other)->m_pos)
+        return false;
     m_effect = static_cast<const EditEffectCommand*>(other)->m_effect.cloneNode().toElement();
     return true;
 }
@@ -59,13 +67,16 @@ bool EditEffectCommand::mergeWith(const QUndoCommand * other)
 // virtual
 void EditEffectCommand::undo()
 {
-    m_view->updateEffect(m_track, m_pos, m_oldeffect, m_stackPos, false);
+    m_view->updateEffect(m_track, m_pos, m_oldeffect, true);
 }
 // virtual
 void EditEffectCommand::redo()
 {
-    m_view->updateEffect(m_track, m_pos, m_effect, m_stackPos, m_doIt);
-    m_doIt = false;
+    if (m_doIt) {
+        m_view->updateEffect(m_track, m_pos, m_effect, m_refreshEffectStack);
+    }
+    m_doIt = true;
+    m_refreshEffectStack = true;
 }