]> git.sesse.net Git - kdenlive/blobdiff - src/addtimelineclipcommand.cpp
cleanup & fix crash on project saving with Qt 4.5:
[kdenlive] / src / addtimelineclipcommand.cpp
index b8ab71b0c18f6855d1f7714a9fc79b17a0de0418..939de38a3a7f2836ba9f926ad941f3ebe6b807e9 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
+#include <KLocale>
+
 #include "addtimelineclipcommand.h"
+#include "customtrackview.h"
 
-AddTimelineClipCommand::AddTimelineClipCommand(CustomTrackView *view, int clipType, QString clipName, int clipProducer, int maxDuration, QRectF rect, bool doIt)
-         : m_view(view), m_clipType(clipType), m_clipName(clipName), m_clipProducer(clipProducer), m_maxDuration(maxDuration), m_clipRect(rect), m_doIt(doIt) {
-           setText(i18n("Add timeline clip"));
-        }
+AddTimelineClipCommand::AddTimelineClipCommand(CustomTrackView *view, QDomElement xml, const QString &clipId, ItemInfo info, EffectsList effects, bool doIt, bool doRemove, QUndoCommand * parent) : QUndoCommand(parent), m_view(view), m_xml(xml), m_clipId(clipId), m_clipInfo(info), m_effects(effects),  m_doIt(doIt), m_remove(doRemove) {
+    if (!m_remove) setText(i18n("Add timeline clip"));
+    else setText(i18n("Delete timeline clip"));
+}
 
 
-// virtual 
-void AddTimelineClipCommand::undo()
-{
-// kDebug()<<"----  undoing action";
-  m_doIt = true;
-  if (m_doIt) m_view->deleteClip(m_clipRect);
+// virtual
+void AddTimelineClipCommand::undo() {
+    if (!m_remove) m_view->deleteClip(m_clipInfo);
+    else m_view->addClip(m_xml, m_clipId, m_clipInfo, m_effects);
 }
-// virtual 
-void AddTimelineClipCommand::redo()
-{
-  //kDebug()<<"----  redoing action";
-  if (m_doIt) m_view->addClip(m_clipType, m_clipName, m_clipProducer, m_maxDuration, m_clipRect);
-  m_doIt = true;
+// 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);
+    }
+    m_doIt = true;
 }
 
-#include "addtimelineclipcommand.moc"
+