* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <KLocale>
#include "addtimelineclipcommand.h"
+#include "customtrackview.h"
+
+#include <KLocale>
-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"));
- }
+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_clipInfo(info),
+ m_effects(effects),
+ m_clipId(clipId),
+ m_xml(xml),
+ m_doIt(doIt),
+ m_remove(doRemove)
+{
+ 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
+// virtual
void AddTimelineClipCommand::undo()
{
- 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);
+ if (!m_remove) m_view->deleteClip(m_clipInfo, m_refresh);
+ else m_view->addClip(m_xml, m_clipId, m_clipInfo, m_effects, m_refresh);
}
-// virtual
+// virtual
void AddTimelineClipCommand::redo()
{
- 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;
+ if (m_doIt) {
+ if (!m_remove) m_view->addClip(m_xml, m_clipId, m_clipInfo, m_effects, m_refresh);
+ else m_view->deleteClip(m_clipInfo, m_refresh);
+ }
+ m_doIt = true;
}
-#include "addtimelineclipcommand.moc"
+