#include "addtimelineclipcommand.h"
-AddTimelineClipCommand::AddTimelineClipCommand(CustomTrackView *view, QDomElement xml, int clipId, int track, int startpos, QRectF rect, int duration, bool doIt)
- : m_view(view), m_xml(xml), m_clipId(clipId), m_clipTrack(track), m_clipPos(startpos), m_clipRect(rect), m_clipDuration(duration), m_doIt(doIt) {
- setText(i18n("Add timeline clip"));
+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"));
}
// virtual
void AddTimelineClipCommand::undo()
{
-// kDebug()<<"---- undoing action";
- m_doIt = true;
- if (m_doIt) m_view->deleteClip(m_clipTrack, m_clipPos, m_clipRect);
+ 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);
}
// virtual
void AddTimelineClipCommand::redo()
{
- //kDebug()<<"---- redoing action";
- if (m_doIt) m_view->addClip(m_xml, m_clipId, m_clipTrack, m_clipPos, m_clipRect, m_clipDuration);
+ 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;
}