X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Faddtimelineclipcommand.cpp;h=3a13ad54dc26844641b578695153a695a62e0379;hb=e8d7fcdcf399fe74a40a14db5d989d774e6f1d09;hp=543ac23f24958a7c06d212b69bd992dc108a0c5c;hpb=193f15aae98916a602801266a9d881566320d6b6;p=kdenlive diff --git a/src/addtimelineclipcommand.cpp b/src/addtimelineclipcommand.cpp index 543ac23f..3a13ad54 100644 --- a/src/addtimelineclipcommand.cpp +++ b/src/addtimelineclipcommand.cpp @@ -23,7 +23,7 @@ #include -AddTimelineClipCommand::AddTimelineClipCommand(CustomTrackView *view, QDomElement xml, const QString &clipId, ItemInfo info, EffectsList effects, bool doIt, bool doRemove, QUndoCommand * parent) : +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), @@ -31,25 +31,31 @@ AddTimelineClipCommand::AddTimelineClipCommand(CustomTrackView *view, QDomElemen m_clipId(clipId), m_xml(xml), m_doIt(doIt), - m_remove(doRemove) + 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 void AddTimelineClipCommand::undo() { - if (!m_remove) m_view->deleteClip(m_clipInfo); - else m_view->addClip(m_xml, m_clipId, m_clipInfo, m_effects); + 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 void AddTimelineClipCommand::redo() { if (m_doIt) { - if (!m_remove) m_view->addClip(m_xml, m_clipId, m_clipInfo, m_effects); - else m_view->deleteClip(m_clipInfo); + 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; }