]> git.sesse.net Git - kdenlive/blobdiff - src/addtransitioncommand.cpp
Various fixes to improve general stability in Qt 4.5.2
[kdenlive] / src / addtransitioncommand.cpp
index 65bb145d0c87813aabbfa9817f624de6a90dbffa..c8acc6dc8aa30ae13a58752a3dfda588e47289f0 100644 (file)
  *   (at your option) any later version.                                   *
  *                                                                         *
  ***************************************************************************/
-#include <KLocale>
+
 
 #include "addtransitioncommand.h"
+#include "customtrackview.h"
 
-AddTransitionCommand::AddTransitionCommand(CustomTrackView *view, int track, QDomElement xml, GenTime pos, bool doIt) : m_view(view), m_track(track), m_xml(xml), m_pos(pos), m_doIt(doIt) {
-    if (m_doIt) setText(i18n("Add transition to clip"));
-    else setText(i18n("Delete transition from clip"));
+#include <KLocale>
+
+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_track, m_pos, m_xml);
-    else m_view->addTransition(m_track , m_pos, m_xml);
+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_track , m_pos, m_xml);
-    else m_view->deleteTransition(m_track, m_pos, m_xml);
+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"
+