]> git.sesse.net Git - kdenlive/blobdiff - src/moveclipcommand.cpp
First steps to implement 3 points editing (Using v to insert-overwrite)
[kdenlive] / src / moveclipcommand.cpp
index e0f04325bdbc9489935ab1a7fd16655de5e7b15b..659c09faad669e31687fc9f1ad0a0f6dbeb88828 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
+
 #include "moveclipcommand.h"
+#include "customtrackview.h"
+
+#include <KLocale>
 
-MoveClipCommand::MoveClipCommand(CustomTrackView *view, const QPointF startPos, const QPointF endPos, bool doIt)
-         : m_view(view), m_startPos(startPos), m_endPos(endPos), m_doIt(doIt) {
-           setText(i18n("Move clip"));
-        }
+MoveClipCommand::MoveClipCommand(CustomTrackView *view, const ItemInfo start, const ItemInfo end, bool doIt, QUndoCommand * parent) :
+        QUndoCommand(parent),
+        m_view(view),
+        m_startPos(start),
+        m_endPos(end),
+        m_doIt(doIt)
+{
+    setText(i18n("Move 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 MoveClipCommand::undo()
 {
 // kDebug()<<"----  undoing action";
-  m_doIt = true;
-  if (m_doIt) m_view->moveClip(m_endPos, m_startPos);
+    m_doIt = true;
+    m_view->moveClip(m_endPos, m_startPos, m_refresh);
 }
-// virtual 
+// virtual
 void MoveClipCommand::redo()
 {
-kDebug()<<"----  redoing action";
-  if (m_doIt) m_view->moveClip(m_startPos, m_endPos);
-  m_doIt = true;
+    //kDebug() << "----  redoing action";
+    if (m_doIt)
+        m_view->moveClip(m_startPos, m_endPos, m_refresh);
+    m_doIt = true;
 }
 
-#include "moveclipcommand.moc"