X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Faddtransitioncommand.cpp;h=c8acc6dc8aa30ae13a58752a3dfda588e47289f0;hb=ec42e400f6e604f682903cfdfb16581cc8b34378;hp=e1293f762b98095a7bdeaf32c463201b0fcbadde;hpb=d1362904f5f62baf9d9e2717201e8523cefa8030;p=kdenlive diff --git a/src/addtransitioncommand.cpp b/src/addtransitioncommand.cpp index e1293f76..c8acc6dc 100644 --- a/src/addtransitioncommand.cpp +++ b/src/addtransitioncommand.cpp @@ -14,27 +14,45 @@ * (at your option) any later version. * * * ***************************************************************************/ -#include + #include "addtransitioncommand.h" #include "customtrackview.h" -AddTransitionCommand::AddTransitionCommand(CustomTrackView *view, ItemInfo info, int transitiontrack, QDomElement params, bool doIt) : m_view(view), m_info(info), m_track(transitiontrack), m_params(params), m_doIt(doIt) { - if (m_doIt) setText(i18n("Add transition to clip")); - else setText(i18n("Delete transition from clip")); +#include + +AddTransitionCommand::AddTransitionCommand(CustomTrackView *view, ItemInfo info, int transitiontrack, QDomElement params, bool remove, bool doIt, QUndoCommand * parent) : + QUndoCommand(parent), + m_view(view), + m_info(info), + m_params(params), + m_track(transitiontrack), + m_doIt(doIt), + m_remove(remove) +{ + if (m_remove) setText(i18n("Delete transition from clip")); + else setText(i18n("Add transition to clip")); + if (parent) { + // command has a parent, so there are several operations ongoing, do not refresh monitor + m_refresh = false; + } else m_refresh = true; } // virtual -void AddTransitionCommand::undo() { - if (m_doIt) m_view->deleteTransition(m_info, m_track, m_params); - else m_view->addTransition(m_info, m_track, m_params); +void AddTransitionCommand::undo() +{ + if (m_remove) m_view->addTransition(m_info, m_track, m_params, m_refresh); + else m_view->deleteTransition(m_info, m_track, m_params, m_refresh); } // virtual -void AddTransitionCommand::redo() { - if (m_doIt) m_view->addTransition(m_info, m_track, m_params); - else m_view->deleteTransition(m_info, m_track, m_params); +void AddTransitionCommand::redo() +{ + if (m_doIt) { + if (m_remove) m_view->deleteTransition(m_info, m_track, m_params, m_refresh); + else m_view->addTransition(m_info, m_track, m_params, m_refresh); + } m_doIt = true; } -#include "addtimelineclipcommand.moc" +