X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fediteffectcommand.cpp;h=9bbebc748651bf0efb4652c8098db84ab33a8861;hb=ead7176d2ab818ec3a1275aeca2b2fc0c1ea1276;hp=679cf75bfa3ed4aa5f3ddb889fc54294ab4ef0f6;hpb=46b03bc5e15ae8c6cece41ef3850cdb91afbba25;p=kdenlive diff --git a/src/editeffectcommand.cpp b/src/editeffectcommand.cpp index 679cf75b..9bbebc74 100644 --- a/src/editeffectcommand.cpp +++ b/src/editeffectcommand.cpp @@ -17,13 +17,22 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ -#include #include "editeffectcommand.h" +#include "customtrackview.h" + +#include -EditEffectCommand::EditEffectCommand(CustomTrackView *view, const int track, GenTime pos, QDomElement oldeffect, QDomElement effect, bool doIt) - : m_view(view), m_track(track), m_pos(pos), m_oldeffect(oldeffect), m_doIt(doIt) { - m_effect = effect.cloneNode().toElement(); +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) +{ QString effectName; QDomNode namenode = effect.elementsByTagName("name").item(0); if (!namenode.isNull()) effectName = i18n(namenode.toElement().text().toUtf8().data()); @@ -32,28 +41,31 @@ EditEffectCommand::EditEffectCommand(CustomTrackView *view, const int track, Gen } // virtual -int EditEffectCommand::id() const { +int EditEffectCommand::id() const +{ return 1; } // virtual -bool EditEffectCommand::mergeWith(const QUndoCommand * other) { +bool EditEffectCommand::mergeWith(const QUndoCommand * other) +{ if (other->id() != id()) return false; if (m_track != static_cast(other)->m_track) return false; if (m_pos != static_cast(other)->m_pos) return false; - m_effect = static_cast(other)->m_effect; + m_effect = static_cast(other)->m_effect.cloneNode().toElement(); return true; } // virtual -void EditEffectCommand::undo() { - kDebug() << "---- undoing action"; - m_view->updateEffect(m_track, m_pos, m_oldeffect); +void EditEffectCommand::undo() +{ + m_view->updateEffect(m_track, m_pos, m_oldeffect, m_stackPos, false); } // virtual -void EditEffectCommand::redo() { - kDebug() << "---- redoing action"; - m_view->updateEffect(m_track, m_pos, m_effect); +void EditEffectCommand::redo() +{ + m_view->updateEffect(m_track, m_pos, m_effect, m_stackPos, m_doIt); + m_doIt = false; } -#include "editeffectcommand.moc" +