#include <KLocale>
-EditEffectCommand::EditEffectCommand(CustomTrackView *view, const int track, GenTime pos, QDomElement oldeffect, QDomElement effect, int stackPos, bool doIt) :
+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)
{
- m_effect = effect.cloneNode().toElement();
QString effectName;
QDomNode namenode = effect.elementsByTagName("name").item(0);
if (!namenode.isNull()) effectName = i18n(namenode.toElement().text().toUtf8().data());
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;
- m_effect = static_cast<const EditEffectCommand*>(other)->m_effect;
+ m_effect = static_cast<const EditEffectCommand*>(other)->m_effect.cloneNode().toElement();
return true;
}
// virtual
void EditEffectCommand::undo()
{
- kDebug() << "---- undoing action";
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, m_stackPos, m_doIt);
m_doIt = false;
}