22 #include "models/multitrackmodel.h" 23 #include "docks/timelinedock.h" 24 #include "undohelper.h" 25 #include <QUndoCommand> 28 #include <MltTransition.h> 38 UndoIdTrimTransitionIn,
39 UndoIdTrimTransitionOut,
40 UndoIdAddTransitionByTrimIn,
41 UndoIdAddTransitionByTrimOut,
45 class AppendCommand :
public QUndoCommand
48 AppendCommand(MultitrackModel& model,
int trackIndex,
const QString& xml, QUndoCommand * parent = 0);
52 MultitrackModel& m_model;
55 UndoHelper m_undoHelper;
58 class InsertCommand :
public QUndoCommand
61 InsertCommand(MultitrackModel& model,
int trackIndex,
int position,
const QString &xml, QUndoCommand * parent = 0);
65 MultitrackModel& m_model;
69 QStringList m_oldTracks;
70 UndoHelper m_undoHelper;
73 class OverwriteCommand :
public QUndoCommand
76 OverwriteCommand(MultitrackModel& model,
int trackIndex,
int position,
const QString &xml, QUndoCommand * parent = 0);
80 MultitrackModel& m_model;
82 QString m_playlistXml;
85 UndoHelper m_undoHelper;
88 class LiftCommand :
public QUndoCommand
91 LiftCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
const QString &xml, QUndoCommand * parent = 0);
95 MultitrackModel& m_model;
99 UndoHelper m_undoHelper;
102 class RemoveCommand :
public QUndoCommand
105 RemoveCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
const QString &xml, QUndoCommand * parent = 0);
109 MultitrackModel& m_model;
113 UndoHelper m_undoHelper;
116 class NameTrackCommand :
public QUndoCommand
119 NameTrackCommand(MultitrackModel& model,
int trackIndex,
const QString& name, QUndoCommand * parent = 0);
123 MultitrackModel& m_model;
129 class MergeCommand :
public QUndoCommand
132 MergeCommand(MultitrackModel& model,
int trackIndex,
int clipIndex, QUndoCommand * parent = 0);
136 MultitrackModel& m_model;
139 UndoHelper m_undoHelper;
142 class MuteTrackCommand :
public QUndoCommand
145 MuteTrackCommand(MultitrackModel& model,
int trackIndex, QUndoCommand * parent = 0);
149 MultitrackModel& m_model;
154 class HideTrackCommand :
public QUndoCommand
157 HideTrackCommand(MultitrackModel& model,
int trackIndex, QUndoCommand * parent = 0);
161 MultitrackModel& m_model;
166 class CompositeTrackCommand :
public QUndoCommand
169 CompositeTrackCommand(MultitrackModel& model,
int trackIndex,
bool value, QUndoCommand * parent = 0);
173 MultitrackModel& m_model;
179 class LockTrackCommand :
public QUndoCommand
182 LockTrackCommand(MultitrackModel& model,
int trackIndex,
bool value, QUndoCommand * parent = 0);
186 MultitrackModel& m_model;
192 class MoveClipCommand :
public QUndoCommand
195 MoveClipCommand(MultitrackModel& model,
int fromTrackIndex,
int toTrackIndex,
int clipIndex,
int position, QUndoCommand * parent = 0);
199 MultitrackModel& m_model;
200 int m_fromTrackIndex;
205 UndoHelper m_undoHelper;
208 class TrimCommand :
public QUndoCommand
211 explicit TrimCommand(QUndoCommand *parent = 0) : QUndoCommand(parent) {}
212 void setUndoHelper(UndoHelper* helper) { m_undoHelper.reset(helper); }
215 QScopedPointer<UndoHelper> m_undoHelper;
218 class TrimClipInCommand :
public TrimCommand
221 TrimClipInCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int delta,
bool ripple,
bool redo =
true, QUndoCommand * parent = 0);
225 int id()
const {
return UndoIdTrimClipIn; }
226 bool mergeWith(
const QUndoCommand *other);
228 MultitrackModel& m_model;
236 class TrimClipOutCommand :
public TrimCommand
239 TrimClipOutCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int delta,
bool ripple,
bool redo =
true, QUndoCommand * parent = 0);
243 int id()
const {
return UndoIdTrimClipOut; }
244 bool mergeWith(
const QUndoCommand *other);
246 MultitrackModel& m_model;
254 class SplitCommand :
public QUndoCommand
257 SplitCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int position, QUndoCommand * parent = 0);
261 MultitrackModel& m_model;
267 class FadeInCommand :
public QUndoCommand
270 FadeInCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int duration, QUndoCommand * parent = 0);
274 int id()
const {
return UndoIdFadeIn; }
275 bool mergeWith(
const QUndoCommand *other);
277 MultitrackModel& m_model;
284 class FadeOutCommand :
public QUndoCommand
287 FadeOutCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int duration, QUndoCommand * parent = 0);
291 int id()
const {
return UndoIdFadeOut; }
292 bool mergeWith(
const QUndoCommand *other);
294 MultitrackModel& m_model;
301 class AddTransitionCommand :
public QUndoCommand
304 AddTransitionCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int position, QUndoCommand * parent = 0);
307 int getTransitionIndex()
const {
return m_transitionIndex; }
309 MultitrackModel& m_model;
313 int m_transitionIndex;
314 UndoHelper m_undoHelper;
317 class TrimTransitionInCommand :
public TrimCommand
320 TrimTransitionInCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int delta,
bool redo =
true, QUndoCommand * parent = 0);
324 int id()
const {
return UndoIdTrimTransitionIn; }
325 bool mergeWith(
const QUndoCommand *other);
327 MultitrackModel& m_model;
335 class TrimTransitionOutCommand :
public TrimCommand
338 TrimTransitionOutCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int delta,
bool redo =
true, QUndoCommand * parent = 0);
342 int id()
const {
return UndoIdTrimTransitionOut; }
343 bool mergeWith(
const QUndoCommand *other);
345 MultitrackModel& m_model;
353 class AddTransitionByTrimInCommand :
public TrimCommand
356 AddTransitionByTrimInCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int delta,
bool redo =
true, QUndoCommand * parent = 0);
360 int id()
const {
return UndoIdAddTransitionByTrimIn; }
361 bool mergeWith(
const QUndoCommand *other);
363 MultitrackModel& m_model;
371 class RemoveTransitionByTrimInCommand :
public TrimCommand
374 RemoveTransitionByTrimInCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int delta,
bool redo =
true, QUndoCommand * parent = 0);
378 MultitrackModel& m_model;
385 class RemoveTransitionByTrimOutCommand :
public TrimCommand
388 RemoveTransitionByTrimOutCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int delta,
bool redo =
true, QUndoCommand * parent = 0);
392 MultitrackModel& m_model;
399 class AddTransitionByTrimOutCommand :
public TrimCommand
402 AddTransitionByTrimOutCommand(MultitrackModel& model,
int trackIndex,
int clipIndex,
int delta,
bool redo =
true, QUndoCommand * parent = 0);
406 int id()
const {
return UndoIdAddTransitionByTrimOut; }
407 bool mergeWith(
const QUndoCommand *other);
409 MultitrackModel& m_model;
417 class AddTrackCommand:
public QUndoCommand
420 AddTrackCommand(MultitrackModel& model,
bool isVideo, QUndoCommand* parent = 0);
424 MultitrackModel& m_model;
429 class InsertTrackCommand :
public QUndoCommand
432 InsertTrackCommand(MultitrackModel& model,
int trackIndex, QUndoCommand* parent = 0);
436 MultitrackModel& m_model;
438 TrackType m_trackType;
441 class RemoveTrackCommand :
public QUndoCommand
444 RemoveTrackCommand(MultitrackModel& model,
int trackIndex, QUndoCommand* parent = 0);
448 MultitrackModel& m_model;
451 TrackType m_trackType;
455 class ChangeBlendModeCommand :
public QObject,
public QUndoCommand
459 ChangeBlendModeCommand(Mlt::Transition& transition,
const QString& propertyName,
const QString& mode, QUndoCommand* parent = 0);
463 void modeChanged(QString& mode);
465 Mlt::Transition m_transition;
466 QString m_propertyName;
471 class UpdateCommand :
public QUndoCommand
474 UpdateCommand(TimelineDock& timeline,
int trackIndex,
int clipIndex,
int position,
475 QUndoCommand * parent = 0);
476 void setXmlAfter(
const QString& xml) { m_xmlAfter = xml; }
480 TimelineDock& m_timeline;
486 UndoHelper m_undoHelper;
Definition: timelinecommands.cpp:25