Olive
undo.h
Go to the documentation of this file.
1 /***
2 
3  Olive - Non-Linear Video Editor
4  Copyright (C) 2019 Olive Team
5 
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
10 
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  GNU General Public License for more details.
15 
16  You should have received a copy of the GNU General Public License
17  along with this program. If not, see <http://www.gnu.org/licenses/>.
18 
19 ***/
20 
21 #ifndef UNDO_H
22 #define UNDO_H
23 
25 #include "project/selection.h"
26 #include "project/effectfield.h"
27 
28 #include "ui/labelslider.h"
29 #include "ui/sourcetable.h"
30 
31 #include <QCheckBox>
32 #include <QUndoStack>
33 #include <QUndoCommand>
34 #include <QVector>
35 #include <QVariant>
36 #include <QModelIndex>
37 
38 namespace olive {
39 extern QUndoStack UndoStack;
40 }
41 
42 class OliveAction : public QUndoCommand {
43 public:
44  OliveAction(bool iset_window_modified = true);
45  virtual ~OliveAction() override;
46 
47  virtual void undo() override;
48  virtual void redo() override;
49 
50  virtual void doUndo() = 0;
51  virtual void doRedo() = 0;
52 private:
57 
62 };
63 
64 class MoveClipAction : public OliveAction {
65 public:
66  MoveClipAction(ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool irelative);
67  virtual void doUndo() override;
68  virtual void doRedo() override;
69 private:
71 
72  long old_in;
73  long old_out;
75  int old_track;
76 
77  long new_in;
78  long new_out;
80  int new_track;
81 
82  bool relative;
83 };
84 
85 class RippleAction : public OliveAction {
86 public:
87  RippleAction(SequencePtr is, long ipoint, long ilength, const QVector<int>& iignore);
88  virtual void doUndo() override;
89  virtual void doRedo() override;
90 private:
92  long point;
93  long length;
94  QVector<int> ignore;
96 };
97 
98 class DeleteClipAction : public OliveAction {
99 public:
100  DeleteClipAction(SequencePtr s, int clip);
101  virtual ~DeleteClipAction() override;
102  virtual void doUndo() override;
103  virtual void doRedo() override;
104 private:
107  int index;
108 
111 
112  QVector<int> linkClipIndex;
113  QVector<int> linkLinkIndex;
114 };
115 
117 public:
119  virtual void doUndo() override;
120  virtual void doRedo() override;
121 private:
124 };
125 
127 public:
128  AddEffectCommand(ClipPtr c, EffectPtr e, const EffectMeta* m, int insert_pos = -1);
129  virtual void doUndo() override;
130  virtual void doRedo() override;
131 private:
133  const EffectMeta* meta;
135  int pos;
136  bool done;
137 };
138 
140 public:
141  AddTransitionCommand(ClipPtr iopen, ClipPtr iclose, TransitionPtr copy, const EffectMeta* itransition, int ilength);
142  virtual void doUndo() override;
143  virtual void doRedo() override;
144 private:
149  int length_;
153 };
154 
156 public:
157  ModifyTransitionCommand(TransitionPtr t, long ilength);
158  virtual void doUndo() override;
159  virtual void doRedo() override;
160 private:
164 };
165 
167 public:
169  virtual void doUndo() override;
170  virtual void doRedo() override;
171 private:
175 };
176 
178 public:
179  SetTimelineInOutCommand(SequencePtr s, bool enabled, long in, long out);
180  virtual void doUndo() override;
181  virtual void doRedo() override;
182 private:
184 
186  long old_in;
187  long old_out;
188 
190  long new_in;
191  long new_out;
192 };
193 
195 public:
196  NewSequenceCommand(Media* s, Media* iparent);
197  virtual ~NewSequenceCommand() override;
198  virtual void doUndo() override;
199  virtual void doRedo() override;
200 private:
203  bool done;
204 };
205 
206 class AddMediaCommand : public OliveAction {
207 public:
208  AddMediaCommand(Media* iitem, Media* iparent);
209  virtual ~AddMediaCommand() override;
210  virtual void doUndo() override;
211  virtual void doRedo() override;
212 private:
215  bool done;
216 };
217 
219 public:
221  virtual ~DeleteMediaCommand() override;
222  virtual void doUndo() override;
223  virtual void doRedo() override;
224 private:
227  bool done;
228 };
229 
230 class AddClipCommand : public OliveAction {
231 public:
232  AddClipCommand(SequencePtr s, QVector<ClipPtr>& add);
233  virtual ~AddClipCommand() override;
234  virtual void doUndo() override;
235  virtual void doRedo() override;
236 private:
238  QVector<ClipPtr> clips;
240 };
241 
242 class LinkCommand : public OliveAction {
243 public:
244  LinkCommand();
245  virtual void doUndo() override;
246  virtual void doRedo() override;
248  QVector<int> clips;
249  bool link;
250 private:
251  QVector< QVector<int> > old_links;
252 };
253 
254 class CheckboxCommand : public OliveAction {
255 public:
256  CheckboxCommand(QCheckBox* b);
257  virtual ~CheckboxCommand() override;
258  virtual void doUndo() override;
259  virtual void doRedo() override;
260 private:
261  QCheckBox* box;
262  bool checked;
263  bool done;
264 };
265 
267 public:
268  ReplaceMediaCommand(Media*, QString);
269  virtual void doUndo() override;
270  virtual void doRedo() override;
271 private:
273  QString old_filename;
274  QString new_filename;
275  void replace(QString& filename);
276 };
277 
279 public:
280  ReplaceClipMediaCommand(Media *, Media *, bool);
281  virtual void doUndo() override;
282  virtual void doRedo() override;
283  QVector<ClipPtr> clips;
284 private:
288  QVector<int> old_clip_ins;
289  void replace(bool undo);
290 };
291 
293 public:
295  virtual ~EffectDeleteCommand() override;
296  virtual void doUndo() override;
297  virtual void doRedo() override;
298  QVector<ClipPtr> clips;
299  QVector<int> fx;
300 private:
301  bool done;
302  QVector<EffectPtr> deleted_objects;
303 };
304 
305 class MediaMove : public OliveAction {
306 public:
307  MediaMove();
308  QVector<Media*> items;
310  virtual void doUndo() override;
311  virtual void doRedo() override;
312 private:
313  QVector<Media*> froms;
314 };
315 
316 class MediaRename : public OliveAction {
317 public:
318  MediaRename(Media* iitem, QString to);
319  virtual void doUndo() override;
320  virtual void doRedo() override;
321 private:
323  QString from;
324  QString to;
325 };
326 
327 class KeyframeDelete : public OliveAction {
328 public:
329  KeyframeDelete(EffectField* ifield, int iindex);
330  virtual void doUndo() override;
331  virtual void doRedo() override;
332 private:
334  int index;
335  bool done;
337 };
338 
339 // a more modern version of the above, could probably replace it
340 // assumes the keyframe already exists
342 public:
343  KeyframeFieldSet(EffectField* ifield, int ii);
344  virtual void doUndo() override;
345  virtual void doRedo() override;
346 private:
348  int index;
350  bool done;
351 };
352 
353 class EffectFieldUndo : public OliveAction {
354 public:
356  virtual void doUndo() override;
357  virtual void doRedo() override;
358 private:
360  QVariant old_val;
361  QVariant new_val;
362  bool done;
363 };
364 
366 public:
368  virtual void doUndo() override;
369  virtual void doRedo() override;
370  QVector<ClipPtr> clips;
371 };
372 
373 class AddMarkerAction : public OliveAction {
374 public:
375  AddMarkerAction(QVector<Marker>* m, long t, QString n);
376  virtual void doUndo() override;
377  virtual void doRedo() override;
378 private:
379  QVector<Marker>* active_array;
380  long time;
381  QString name;
382  QString old_name;
383  int index;
384 };
385 
387 public:
388  MoveMarkerAction(Marker* m, long o, long n);
389  virtual void doUndo() override;
390  virtual void doRedo() override;
391 private:
393  long old_time;
394  long new_time;
395 };
396 
398 public:
399  DeleteMarkerAction(QVector<Marker>* m);
400  virtual void doUndo() override;
401  virtual void doRedo() override;
402  QVector<int> markers;
403 private:
404  QVector<Marker>* active_array;
405  QVector<Marker> copies;
406  bool sorted;
407 };
408 
409 class SetSpeedAction : public OliveAction {
410 public:
411  SetSpeedAction(ClipPtr c, double speed);
412  virtual void doUndo() override;
413  virtual void doRedo() override;
414 private:
416  double old_speed;
417  double new_speed;
418 };
419 
420 class SetBool : public OliveAction {
421 public:
422  SetBool(bool* b, bool setting);
423  virtual void doUndo() override;
424  virtual void doRedo() override;
425 private:
426  bool* boolean;
429 };
430 
432 public:
434  virtual void doUndo() override;
435  virtual void doRedo() override;
436  QVector<Selection> old_data;
437  QVector<Selection> new_data;
438 private:
440  bool done;
441 };
442 
444 public:
446  virtual void doUndo() override;
447  virtual void doRedo() override;
448  void update();
449 
450  QString name;
451  int width;
452  int height;
453  double frame_rate;
456 private:
459 
460  QString old_name;
466 };
467 
468 class SetInt : public OliveAction {
469 public:
470  SetInt(int* pointer, int new_value);
471  virtual void doUndo() override;
472  virtual void doRedo() override;
473 private:
474  int* p;
475  int oldval;
476  int newval;
477 };
478 
479 class SetLong : public OliveAction {
480 public:
481  SetLong(long* pointer, long old_value, long new_value);
482  virtual void doUndo() override;
483  virtual void doRedo() override;
484 private:
485  long* p;
486  long oldval;
487  long newval;
488 };
489 
490 class SetDouble : public OliveAction {
491 public:
492  SetDouble(double* pointer, double old_value, double new_value);
493  virtual void doUndo() override;
494  virtual void doRedo() override;
495 private:
496  double* p;
497  double oldval;
498  double newval;
499 };
500 
501 class SetString : public OliveAction {
502 public:
503  SetString(QString* pointer, QString new_value);
504  virtual void doUndo() override;
505  virtual void doRedo() override;
506 private:
507  QString* p;
508  QString oldval;
509  QString newval;
510 };
511 
513 public:
514  virtual void doUndo() override;
515  virtual void doRedo() override;
516 };
517 
519 public:
521  virtual void doUndo() override;
522  virtual void doRedo() override;
523 private:
525 };
526 
528 public:
530  virtual void doUndo() override;
531  virtual void doRedo() override;
533  int from;
534  int to;
535 };
536 
538 public:
539  RemoveClipsFromClipboard(int index);
540  virtual ~RemoveClipsFromClipboard() override;
541  virtual void doUndo() override;
542  virtual void doRedo() override;
543 private:
544  int pos;
546  bool done;
547 };
548 
550 public:
552  QVector<ClipPtr> clips;
553  QString new_name;
554  virtual void doUndo() override;
555  virtual void doRedo() override;
556 private:
557  QVector<QString> old_names;
558 };
559 
560 class SetPointer : public OliveAction {
561 public:
562  SetPointer(void** pointer, void* data);
563  virtual void doUndo() override;
564  virtual void doRedo() override;
565 private:
567  void** p;
568  void* new_data;
569  void* old_data;
570 };
571 
573 public:
574  virtual void doUndo() override;
575  virtual void doRedo() override;
576 };
577 
578 class SetQVariant : public OliveAction {
579 public:
580  SetQVariant(QVariant* itarget, const QVariant& iold, const QVariant& inew);
581  virtual void doUndo() override;
582  virtual void doRedo() override;
583 private:
584  QVariant* target;
585  QVariant old_val;
586  QVariant new_val;
587 };
588 
589 class SetKeyframing : public OliveAction {
590 public:
591  SetKeyframing(EffectRow* irow, bool ib);
592  virtual void doUndo() override;
593  virtual void doRedo() override;
594 private:
596  bool b;
597 };
598 
599 class RefreshClips : public OliveAction {
600 public:
601  RefreshClips(Media* m);
602  virtual void doUndo() override;
603  virtual void doRedo() override;
604 private:
606 };
607 
608 class UpdateViewer : public OliveAction {
609 public:
610  virtual void doUndo() override;
611  virtual void doRedo() override;
612 };
613 
614 class SetEffectData : public OliveAction {
615 public:
616  SetEffectData(EffectPtr e, const QByteArray &s);
617  virtual void doUndo() override;
618  virtual void doRedo() override;
619 private:
621  QByteArray data;
622  QByteArray old_data;
623 };
624 
625 #endif // UNDO_H
Definition: undo.h:527
EffectDeleteCommand()
Definition: undo.cpp:590
virtual void doUndo() override
Definition: undo.cpp:104
Definition: undo.h:305
Definition: undo.h:490
virtual ~AddMediaCommand() override
Definition: undo.cpp:356
virtual void doUndo() override
Definition: undo.cpp:385
QVector< ClipPtr > clips
Definition: undo.h:238
virtual void doRedo() override
Definition: undo.cpp:81
Definition: undo.h:266
MoveMarkerAction(Marker *m, long o, long n)
Definition: undo.cpp:740
Definition: undo.h:206
QVector< ClipPtr > clips
Definition: undo.h:298
virtual void doRedo() override
Definition: undo.cpp:909
virtual ~EffectDeleteCommand() override
Definition: undo.cpp:594
Definition: undo.h:501
virtual void doUndo() override
Definition: undo.cpp:789
long old_length_
Definition: undo.h:163
ClipPtr clip
Definition: undo.h:532
QByteArray data
Definition: undo.h:621
virtual void doUndo() override
Definition: undo.cpp:596
Media * parent
Definition: undo.h:226
Definition: undo.h:578
QVector< QString > old_names
Definition: undo.h:557
Definition: undo.h:166
virtual void doRedo() override
Definition: undo.cpp:211
virtual void doRedo() override
Definition: undo.cpp:810
virtual void doRedo() override
Definition: undo.cpp:294
SetAutoscaleAction()
Definition: undo.cpp:688
long new_time
Definition: undo.h:394
ClipPtr clip
Definition: undo.h:132
virtual void doUndo() override
Definition: undo.cpp:896
bool set_window_modified
Setting whether to change the windowModified state of MainWindow.
Definition: undo.h:56
const EffectMeta * meta
Definition: undo.h:133
void replace(QString &filename)
Definition: undo.cpp:512
virtual void doRedo() override
Definition: undo.cpp:606
double * p
Definition: undo.h:496
QVector< Media * > froms
Definition: undo.h:313
virtual void doRedo() override
Definition: undo.cpp:1030
TransitionPtr transition_to_copy_
Definition: undo.h:147
Definition: marker.h:32
Definition: undo.h:397
QString oldval
Definition: undo.h:508
QString newval
Definition: undo.h:509
Definition: undo.h:64
Definition: undo.h:409
bool old_setting
Definition: undo.h:427
ModifyTransitionCommand(TransitionPtr t, long ilength)
Definition: undo.cpp:284
int index
Definition: undo.h:107
ClipPtr clip
Definition: undo.h:70
bool * boolean
Definition: undo.h:426
int audio_layout
Definition: undo.h:455
virtual void doUndo() override
Definition: undo.cpp:1100
virtual void doUndo() override
Definition: undo.cpp:67
virtual void doUndo() override
Definition: undo.cpp:746
Definition: undo.h:537
Definition: undo.h:316
QVector< Marker > * active_array
Definition: undo.h:404
int index
Definition: undo.h:383
virtual void doRedo() override
Definition: undo.cpp:767
virtual void doRedo() override
Definition: undo.cpp:1138
MoveEffectCommand()
Definition: undo.cpp:925
QVector< ClipPtr > clips
Definition: undo.h:283
long old_in
Definition: undo.h:72
virtual void doUndo() override
Definition: undo.cpp:1040
ReplaceMediaCommand(Media *, QString)
Definition: undo.cpp:506
virtual void doUndo() override
Definition: undo.cpp:161
bool done
Definition: undo.h:440
virtual void doUndo() override
Definition: undo.cpp:533
SetBool(bool *b, bool setting)
Definition: undo.cpp:800
MediaRename(Media *iitem, QString to)
Definition: undo.cpp:639
Media * item
Definition: undo.h:322
QVector< Marker > * active_array
Definition: undo.h:379
Definition: undo.h:139
double old_speed
Definition: undo.h:416
long old_in
Definition: undo.h:186
int old_height
Definition: undo.h:462
QVariant new_val
Definition: undo.h:361
SequencePtr seq
Definition: undo.h:439
Definition: undo.h:126
RefreshClips(Media *m)
Definition: undo.cpp:1096
bool done
Definition: undo.h:546
virtual void doUndo() override
Definition: undo.cpp:1054
virtual void doUndo() override
Definition: undo.cpp:676
virtual ~AddClipCommand() override
Definition: undo.cpp:404
SetKeyframing(EffectRow *irow, bool ib)
Definition: undo.cpp:1083
Definition: undo.h:42
virtual void doUndo() override
Definition: undo.cpp:917
Definition: undo.h:608
long new_clip_in
Definition: undo.h:79
SequencePtr seq
Definition: undo.h:183
Definition: undo.h:386
virtual void doUndo() override
Definition: undo.cpp:406
virtual void doRedo()=0
The ComboAction class.
Definition: comboaction.h:19
bool done
Definition: undo.h:215
SetEffectData(EffectPtr e, const QByteArray &s)
Definition: undo.cpp:1127
EffectField * field
Definition: undo.h:333
virtual void doRedo() override
Definition: undo.cpp:1104
Media * item
Definition: undo.h:225
QVariant old_val
Definition: undo.h:360
virtual void doRedo() override
Definition: undo.cpp:650
Definition: undo.h:599
long old_out
Definition: undo.h:73
virtual void doUndo() override
Definition: undo.cpp:943
Media * old_media
Definition: undo.h:285
TransitionPtr transition_ref_
Definition: undo.h:172
Definition: undo.h:155
QCheckBox * box
Definition: undo.h:261
SequencePtr old_sequence
Definition: undo.h:122
virtual void doRedo() override
Definition: undo.cpp:901
OliveAction(bool iset_window_modified=true)
Definition: undo.cpp:1144
long old_clip_in
Definition: undo.h:74
TransitionPtr new_transition_ref_
Definition: undo.h:152
virtual void doRedo() override
Definition: undo.cpp:921
bool checked
Definition: undo.h:262
SequencePtr seq
Definition: undo.h:237
QString old_filename
Definition: undo.h:273
Definition: effect.h:50
DeleteClipAction(SequencePtr s, int clip)
Definition: undo.cpp:95
TransitionPtr transition_ref_
Definition: undo.h:161
Definition: undo.h:373
QString * p
Definition: undo.h:507
SetPointer(void **pointer, void *data)
Definition: undo.cpp:970
bool sorted
Definition: undo.h:406
virtual void doUndo() override
Definition: undo.cpp:999
SequencePtr seq
Definition: undo.h:458
long length
Definition: undo.h:93
long newval
Definition: undo.h:487
void update()
Definition: undo.cpp:862
virtual void doRedo() override
Definition: undo.cpp:824
EffectField * field
Definition: undo.h:359
QVector< int > ignore
Definition: undo.h:94
virtual void doRedo() override
Definition: undo.cpp:246
void * new_data
Definition: undo.h:568
int index
Definition: undo.h:348
virtual void undo() override
Definition: undo.cpp:1150
int width
Definition: undo.h:451
virtual void doUndo() override
Definition: undo.cpp:760
virtual void redo() override
Definition: undo.cpp:1158
virtual void doUndo() override
Definition: undo.cpp:975
Definition: undo.h:254
AddMediaCommand(Media *iitem, Media *iparent)
Definition: undo.cpp:350
virtual ~DeleteClipAction() override
Definition: undo.cpp:102
QUndoStack UndoStack
Definition: undo.cpp:49
Media * to
Definition: undo.h:309
virtual void doRedo() override
Definition: undo.cpp:368
int closing_transition
Definition: undo.h:110
virtual void doRedo() override
Definition: undo.cpp:1076
virtual void doRedo() override
Definition: undo.cpp:795
RemoveClipsFromClipboard(int index)
Definition: undo.cpp:936
virtual void doUndo() override
Definition: undo.cpp:145
virtual void doRedo() override
Definition: undo.cpp:698
virtual ~NewSequenceCommand() override
Definition: undo.cpp:334
Definition: undo.h:98
QVector< Media * > items
Definition: undo.h:308
virtual void doUndo() override
Definition: undo.cpp:927
bool preserve_clip_ins
Definition: undo.h:287
Definition: effectrow.h:37
Definition: debugdialog.h:39
bool done
Definition: undo.h:335
virtual void doUndo() override
Definition: undo.cpp:842
Media * new_media
Definition: undo.h:286
Media * parent
Definition: undo.h:214
Definition: undo.h:85
virtual ~DeleteMediaCommand() override
Definition: undo.cpp:379
bool done
Definition: undo.h:263
Definition: undo.h:278
Definition: media.h:42
virtual void doUndo() override
Definition: undo.cpp:1088
QVariant old_val
Definition: undo.h:585
virtual ~CheckboxCommand() override
Definition: undo.cpp:492
int old_track
Definition: undo.h:75
Media * media
Definition: undo.h:605
EffectRow * row
Definition: undo.h:595
virtual void doRedo() override
Definition: undo.cpp:988
virtual void doRedo() override
Definition: undo.cpp:539
AddClipCommand(SequencePtr s, QVector< ClipPtr > &add)
Definition: undo.cpp:398
std::shared_ptr< Clip > ClipPtr
Definition: cacher.h:28
virtual void doUndo() override
Definition: undo.cpp:659
int old_audio_layout
Definition: undo.h:465
virtual void doRedo() override
Definition: undo.cpp:948
bool done
Definition: undo.h:301
EffectPtr ref
Definition: undo.h:134
KeyframeDelete(EffectField *ifield, int iindex)
Definition: undo.cpp:654
bool old_window_modified
Cache previous window modified value to return to if the user undoes this action.
Definition: undo.h:61
QVariant new_val
Definition: undo.h:586
int new_track
Definition: undo.h:80
ClipPtr clip
Definition: undo.h:415
virtual void doRedo() override
Definition: undo.cpp:344
long new_in
Definition: undo.h:190
AddMarkerAction(QVector< Marker > *m, long t, QString n)
Definition: undo.cpp:705
SequencePtr s
Definition: undo.h:91
virtual void doUndo()=0
QVector< Selection > old_data
Definition: undo.h:436
Media * seq
Definition: undo.h:201
QVector< Marker > copies
Definition: undo.h:405
const EffectMeta * transition_meta_
Definition: undo.h:148
int from
Definition: undo.h:533
int to
Definition: undo.h:534
Definition: undo.h:353
Definition: undo.h:420
EffectKeyframe key
Definition: undo.h:349
virtual void doRedo() override
Definition: undo.cpp:932
int pos
Definition: undo.h:544
QVector< int > linkClipIndex
Definition: undo.h:112
DeleteMediaCommand(Media *i)
Definition: undo.cpp:374
Definition: undo.h:116
QString old_name
Definition: undo.h:460
Definition: undo.h:431
long new_out
Definition: undo.h:78
Definition: undo.h:292
MoveClipAction(ClipPtr c, long iin, long iout, long iclip_in, int itrack, bool irelative)
Definition: undo.cpp:51
bool b
Definition: undo.h:596
RippleAction(SequencePtr is, long ipoint, long ilength, const QVector< int > &iignore)
Definition: undo.cpp:992
int oldval
Definition: undo.h:475
virtual ~RemoveClipsFromClipboard() override
Definition: undo.cpp:941
QVector< ClipPtr > clips
Definition: undo.h:552
Definition: undo.h:572
SetTimelineInOutCommand(SequencePtr s, bool enabled, long in, long out)
Definition: undo.cpp:154
Definition: undo.h:177
SetInt(int *pointer, int new_value)
Definition: undo.cpp:875
DeleteMarkerAction(QVector< Marker > *m)
Definition: undo.cpp:755
QString new_filename
Definition: undo.h:274
bool done
Definition: undo.h:362
bool relative
Definition: undo.h:82
EffectKeyframe deleted_key
Definition: undo.h:336
virtual void doUndo() override
Definition: undo.cpp:338
long point
Definition: undo.h:92
Media * item
Definition: undo.h:524
double new_speed
Definition: undo.h:417
bool new_setting
Definition: undo.h:428
virtual void doUndo() override
Definition: undo.cpp:819
EffectFieldUndo(EffectField *field)
Definition: undo.cpp:668
Definition: undo.h:589
EditSequenceCommand(Media *i, SequencePtr s)
Definition: undo.cpp:831
virtual void doUndo() override
Definition: undo.cpp:494
double oldval
Definition: undo.h:497
virtual void doUndo() override
Definition: undo.cpp:1070
virtual void doUndo() override
Definition: undo.cpp:905
int height
Definition: undo.h:452
virtual void doUndo() override
Definition: undo.cpp:1025
QString from
Definition: undo.h:323
Media * item
Definition: undo.h:272
virtual void doRedo() override
Definition: undo.cpp:719
QVector< int > old_clip_ins
Definition: undo.h:288
bool done
Definition: undo.h:350
double frame_rate
Definition: undo.h:453
void replace(bool undo)
Definition: undo.cpp:549
bool new_enabled
Definition: undo.h:189
ClipPtr closed_clip_
Definition: undo.h:174
double old_frame_rate
Definition: undo.h:463
SetLong(long *pointer, long old_value, long new_value)
Definition: undo.cpp:1048
void * old_data
Definition: undo.h:569
CheckboxCommand(QCheckBox *b)
Definition: undo.cpp:486
KeyframeFieldSet(EffectField *ifield, int ii)
Definition: undo.cpp:1063
int link_offset_
Definition: undo.h:239
virtual void doRedo() override
Definition: undo.cpp:629
SetSelectionsCommand(SequencePtr s)
Definition: undo.cpp:814
virtual void doUndo() override
Definition: undo.cpp:1132
ChangeSequenceAction(SequencePtr s)
Definition: undo.cpp:141
virtual void doUndo() override
Definition: undo.cpp:645
Definition: keyframe.h:28
long * p
Definition: undo.h:485
virtual void doUndo() override
Definition: undo.cpp:806
virtual void doRedo() override
Definition: undo.cpp:682
QVariant * target
Definition: undo.h:584
virtual void doUndo() override
Definition: undo.cpp:236
Definition: undo.h:327
virtual void doRedo() override
Definition: undo.cpp:751
std::shared_ptr< Transition > TransitionPtr
Definition: transition.h:42
QVector< int > linkLinkIndex
Definition: undo.h:113
virtual void doUndo() override
Definition: undo.cpp:881
QString to
Definition: undo.h:324
virtual void doUndo() override
Definition: undo.cpp:622
int old_width
Definition: undo.h:461
long new_out
Definition: undo.h:191
QByteArray old_data
Definition: undo.h:622
SetQVariant(QVariant *itarget, const QVariant &iold, const QVariant &inew)
Definition: undo.cpp:1034
virtual void doRedo() override
Definition: undo.cpp:392
virtual void doUndo() override
Definition: undo.cpp:711
Marker * marker
Definition: undo.h:392
virtual void doRedo() override
Definition: undo.cpp:663
virtual void doRedo() override
Definition: undo.cpp:962
std::shared_ptr< Sequence > SequencePtr
Definition: clip.h:48
QVector< ClipPtr > clips
Definition: undo.h:370
Definition: undo.h:443
virtual void doRedo() override
Definition: undo.cpp:1123
virtual void doRedo() override
Definition: undo.cpp:149
Definition: undo.h:614
virtual void doUndo() override
Definition: undo.cpp:201
EffectPtr effect
Definition: undo.h:620
Definition: undo.h:194
Definition: undo.h:560
long old_time
Definition: undo.h:393
AddTransitionCommand(ClipPtr iopen, ClipPtr iclose, TransitionPtr copy, const EffectMeta *itransition, int ilength)
Definition: undo.cpp:223
virtual void doUndo() override
Definition: undo.cpp:690
virtual void doRedo() override
Definition: undo.cpp:175
SetString(QString *pointer, QString new_value)
Definition: undo.cpp:890
bool done
Definition: undo.h:227
Media * item
Definition: undo.h:213
QVector< int > markers
Definition: undo.h:402
long new_in
Definition: undo.h:77
int * p
Definition: undo.h:474
virtual ~OliveAction() override
Definition: undo.cpp:1148
bool old_changed
Definition: undo.h:566
TransitionPtr old_close_transition_
Definition: undo.h:151
virtual void doUndo() override
Definition: undo.cpp:956
AddEffectCommand(ClipPtr c, EffectPtr e, const EffectMeta *m, int insert_pos=-1)
Definition: undo.cpp:193
int length_
Definition: undo.h:149
long old_out
Definition: undo.h:187
int index
Definition: undo.h:334
virtual void doRedo() override
Definition: undo.cpp:116
virtual void doUndo() override
Definition: undo.cpp:984
Definition: undo.h:512
QString name
Definition: undo.h:450
bool old_enabled
Definition: undo.h:185
bool done
Definition: undo.h:136
virtual void doRedo() override
Definition: undo.cpp:852
Definition: undo.h:479
long new_length_
Definition: undo.h:162
void ** p
Definition: undo.h:567
TransitionPtr old_open_transition_
Definition: undo.h:150
DeleteTransitionCommand(TransitionPtr t)
Definition: undo.cpp:299
long time
Definition: undo.h:380
SetDouble(double *pointer, double old_value, double new_value)
Definition: undo.cpp:1019
RenameClipCommand()
Definition: undo.cpp:954
int audio_frequency
Definition: undo.h:454
ReplaceClipMediaCommand(Media *, Media *, bool)
Definition: undo.cpp:543
virtual void doUndo() override
Definition: undo.cpp:1119
Definition: undo.h:549
virtual void doUndo() override
Definition: undo.cpp:290
std::shared_ptr< Effect > EffectPtr
Definition: effect.h:48
virtual void doRedo() override
Definition: undo.cpp:1059
ClipPtr opened_clip_
Definition: undo.h:173
Definition: effectfield.h:43
MediaMove()
Definition: undo.cpp:620
Media * item
Definition: undo.h:457
double newval
Definition: undo.h:498
bool done
Definition: undo.h:203
Definition: undo.h:218
virtual void doRedo() override
Definition: undo.cpp:1044
SequencePtr new_sequence
Definition: undo.h:123
SetSpeedAction(ClipPtr c, double speed)
Definition: undo.cpp:783
virtual void doRedo() override
Definition: undo.cpp:1092
ClipPtr ref
Definition: undo.h:106
Definition: undo.h:230
virtual void doRedo() override
Definition: undo.cpp:1004
EffectField * field
Definition: undo.h:347
Definition: undo.h:365
ClipPtr close_
Definition: undo.h:146
ComboAction * ca
Definition: undo.h:95
Definition: undo.h:468
virtual void doRedo() override
Definition: undo.cpp:584
virtual void doRedo() override
Definition: undo.cpp:434
SequencePtr seq
Definition: undo.h:105
int newval
Definition: undo.h:476
int pos
Definition: undo.h:135
QString old_name
Definition: undo.h:382
virtual void doUndo() override
Definition: undo.cpp:303
virtual void doRedo() override
Definition: undo.cpp:886
long oldval
Definition: undo.h:486
Media * parent
Definition: undo.h:202
QString name
Definition: undo.h:381
QVector< EffectPtr > deleted_objects
Definition: undo.h:302
Definition: undo.h:341
virtual void doUndo() override
Definition: undo.cpp:580
ClipPtr clip
Definition: undo.h:545
QVector< Selection > new_data
Definition: undo.h:437
QString new_name
Definition: undo.h:553
virtual void doRedo() override
Definition: undo.cpp:500
int opening_transition
Definition: undo.h:109
UpdateFootageTooltip(Media *i)
Definition: undo.cpp:913
virtual void doUndo() override
Definition: undo.cpp:362
Definition: undo.h:518
NewSequenceCommand(Media *s, Media *iparent)
Definition: undo.cpp:326
int old_audio_frequency
Definition: undo.h:464
virtual void doRedo() override
Definition: undo.cpp:979
virtual void doRedo() override
Definition: undo.cpp:313
ClipPtr open_
Definition: undo.h:145
QVector< int > fx
Definition: undo.h:299