X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Faddtimelineclipcommand.cpp;h=3a13ad54dc26844641b578695153a695a62e0379;hb=a23790875ee20326ba0fb9d30b7719979659c2cd;hp=3d3f66a972229638414b8b2ceff1869b0f75b033;hpb=3510284b258edff6a82442691cb2380fb4994922;p=kdenlive diff --git a/src/addtimelineclipcommand.cpp b/src/addtimelineclipcommand.cpp index 3d3f66a9..3a13ad54 100644 --- a/src/addtimelineclipcommand.cpp +++ b/src/addtimelineclipcommand.cpp @@ -17,31 +17,47 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ -#include #include "addtimelineclipcommand.h" +#include "customtrackview.h" + +#include -AddTimelineClipCommand::AddTimelineClipCommand(CustomTrackView *view, QDomElement xml, int clipId, int track, int startpos, QRectF rect, int duration, bool doIt, bool doRemove) - : m_view(view), m_xml(xml), m_clipId(clipId), m_clipTrack(track), m_clipPos(startpos), m_clipRect(rect), m_clipDuration(duration), m_doIt(doIt), m_remove(doRemove) { - if (!m_remove) setText(i18n("Add timeline clip")); - else setText(i18n("Delete timeline clip")); - } +AddTimelineClipCommand::AddTimelineClipCommand(CustomTrackView *view, QDomElement xml, const QString &clipId, ItemInfo info, EffectsList effects, bool overwrite, bool push, bool doIt, bool doRemove, QUndoCommand * parent) : + QUndoCommand(parent), + m_view(view), + m_clipInfo(info), + m_effects(effects), + m_clipId(clipId), + m_xml(xml), + m_doIt(doIt), + m_remove(doRemove), + m_overwrite(overwrite), + m_push(push) +{ + if (!m_remove) setText(i18n("Add timeline clip")); + else setText(i18n("Delete timeline 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 +// virtual void AddTimelineClipCommand::undo() { - if (!m_remove) m_view->deleteClip(m_clipTrack, m_clipPos, m_clipRect); - else m_view->addClip(m_xml, m_clipId, m_clipTrack, m_clipPos, m_clipRect, m_clipDuration); + if (!m_remove) m_view->deleteClip(m_clipInfo, m_refresh); + else m_view->addClip(m_xml, m_clipId, m_clipInfo, m_effects, m_overwrite, m_push, m_refresh); } -// virtual +// virtual void AddTimelineClipCommand::redo() { - if (m_doIt) { - if (!m_remove) m_view->addClip(m_xml, m_clipId, m_clipTrack, m_clipPos, m_clipRect, m_clipDuration); - else m_view->deleteClip(m_clipTrack, m_clipPos, m_clipRect); - } - m_doIt = true; + if (m_doIt) { + if (!m_remove) m_view->addClip(m_xml, m_clipId, m_clipInfo, m_effects, m_overwrite, m_push, m_refresh); + else m_view->deleteClip(m_clipInfo, m_refresh); + } + m_doIt = true; } -#include "addtimelineclipcommand.moc" +