X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Faddeffectcommand.cpp;h=2aa5b8e7ce197a8a8d2407b9189e47b904a18dd8;hb=c6032c1c3f29018ee84aa3078f8d2b7e858497ae;hp=b374e3646ac53f76f1bd927f7f0b26b053a26e5a;hpb=7b8c484e305eaf8f6d31dc0c47bf861cc2b51cc2;p=kdenlive diff --git a/src/addeffectcommand.cpp b/src/addeffectcommand.cpp index b374e364..2aa5b8e7 100644 --- a/src/addeffectcommand.cpp +++ b/src/addeffectcommand.cpp @@ -17,30 +17,42 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ -#include #include "addeffectcommand.h" +#include "customtrackview.h" + +#include -AddEffectCommand::AddEffectCommand(CustomTrackView *view, const int track, GenTime pos, const QString &tag, QMap args, bool doIt) - : m_view(view), m_track(track), m_pos(pos), m_tag(tag), m_args(args), m_doIt(doIt) { - if (doIt) setText(i18n("Add effect")); - else setText(i18n("Delete effect")); - } +AddEffectCommand::AddEffectCommand(CustomTrackView *view, const int track, GenTime pos, QDomElement effect, bool doIt, QUndoCommand * parent) : + QUndoCommand(parent), + m_view(view), + m_track(track), + m_effect(effect.cloneNode().toElement()), + m_pos(pos), + m_doIt(doIt) +{ + QString effectName; + QDomNode namenode = m_effect.elementsByTagName("name").item(0); + if (!namenode.isNull()) effectName = i18n(namenode.toElement().text().toUtf8().data()); + else effectName = i18n("effect"); + if (doIt) setText(i18n("Add %1", effectName)); + else setText(i18n("Delete %1", effectName)); +} -// virtual +// virtual void AddEffectCommand::undo() { -kDebug()<<"---- undoing action"; - if (m_doIt) m_view->deleteEffect(m_track, m_pos, m_tag); - else m_view->addEffect(m_track, m_pos, m_tag, m_args); + kDebug() << "---- undoing action"; + if (m_doIt) m_view->deleteEffect(m_track, m_pos, m_effect); + else m_view->addEffect(m_track, m_pos, m_effect); } -// virtual +// virtual void AddEffectCommand::redo() { -kDebug()<<"---- redoing action"; - if (m_doIt) m_view->addEffect(m_track, m_pos, m_tag, m_args); - else m_view->deleteEffect(m_track, m_pos, m_tag); + kDebug() << "---- redoing action"; + if (m_doIt) m_view->addEffect(m_track, m_pos, m_effect); + else m_view->deleteEffect(m_track, m_pos, m_effect); } -#include "addeffectcommand.moc" +