Olive
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
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 
24 #include <QCheckBox>
25 #include <QUndoStack>
26 #include <QUndoCommand>
27 #include <QVector>
28 #include <QVariant>
29 #include <QModelIndex>
30 
31 #include "comboaction.h"
32 
33 #include "timeline/marker.h"
34 #include "timeline/selection.h"
35 #include "effects/keyframe.h"
36 
37 class Clip;
38 using ClipPtr = std::shared_ptr<Clip>;
39 
40 class Sequence;
41 using SequencePtr = std::shared_ptr<Sequence>;
42 
43 class Media;
44 using MediaPtr = std::shared_ptr<Media>;
45 
46 class Effect;
47 using EffectPtr = std::shared_ptr<Effect>;
48 
49 class Transition;
50 using TransitionPtr = std::shared_ptr<Transition>;
51 
52 struct EffectMeta;
53 class EffectRow;
54 class EffectField;
55 
56 class OliveAction : public QUndoCommand {
57 public:
58  OliveAction(bool iset_window_modified = true);
59  virtual ~OliveAction() override;
60 
61  virtual void undo() override;
62  virtual void redo() override;
63 
64  virtual void doUndo() = 0;
65  virtual void doRedo() = 0;
66 private:
71 
76 };
77 
78 class MoveClipAction : public OliveAction {
79 public:
80  MoveClipAction(Clip* c, long iin, long iout, long iclip_in, int itrack, bool irelative);
81  virtual void doUndo() override;
82  virtual void doRedo() override;
83 private:
85 
86  long old_in;
87  long old_out;
89  int old_track;
90 
91  long new_in;
92  long new_out;
94  int new_track;
95 
96  bool relative;
97 };
98 
99 class RippleAction : public OliveAction {
100 public:
101  RippleAction(Sequence* is, long ipoint, long ilength, const QVector<int>& iignore);
102  virtual void doUndo() override;
103  virtual void doRedo() override;
104 private:
106  long point;
107  long length;
108  QVector<int> ignore;
110 };
111 
113 public:
114  DeleteClipAction(Sequence* s, int clip);
115  virtual ~DeleteClipAction() override;
116  virtual void doUndo() override;
117  virtual void doRedo() override;
118 private:
121  int index;
122 
125 
126  QVector<int> linkClipIndex;
127  QVector<int> linkLinkIndex;
128 };
129 
131 public:
133  virtual void doUndo() override;
134  virtual void doRedo() override;
135 private:
138 };
139 
141 public:
142  AddEffectCommand(Clip* c, EffectPtr e, const EffectMeta* m, int insert_pos = -1);
143  virtual void doUndo() override;
144  virtual void doRedo() override;
145 private:
147  const EffectMeta* meta;
149  int pos;
150  bool done;
151 };
152 
154 public:
155  AddTransitionCommand(Clip* iopen, Clip* iclose, TransitionPtr copy, const EffectMeta* itransition, int ilength);
156  virtual void doUndo() override;
157  virtual void doRedo() override;
158 private:
163  int length_;
167 };
168 
170 public:
171  ModifyTransitionCommand(TransitionPtr t, long ilength);
172  virtual void doUndo() override;
173  virtual void doRedo() override;
174 private:
178 };
179 
181 public:
183  virtual void doUndo() override;
184  virtual void doRedo() override;
185 private:
189 };
190 
192 public:
193  SetTimelineInOutCommand(Sequence* s, bool enabled, long in, long out);
194  virtual void doUndo() override;
195  virtual void doRedo() override;
196 private:
198 
200  long old_in;
201  long old_out;
202 
204  long new_in;
205  long new_out;
206 };
207 
208 class AddMediaCommand : public OliveAction {
209 public:
210  AddMediaCommand(MediaPtr iitem, Media* iparent);
211  virtual void doUndo() override;
212  virtual void doRedo() override;
213 private:
216  bool done_;
217 };
218 
220 public:
222  virtual void doUndo() override;
223  virtual void doRedo() override;
224 private:
227 };
228 
229 class AddClipCommand : public OliveAction {
230 public:
231  AddClipCommand(Sequence* s, QVector<ClipPtr>& add);
232  virtual ~AddClipCommand() override;
233  virtual void doUndo() override;
234  virtual void doRedo() override;
235 private:
237  QVector<ClipPtr> clips;
239 };
240 
241 class LinkCommand : public OliveAction {
242 public:
243  LinkCommand();
244  virtual void doUndo() override;
245  virtual void doRedo() override;
247  QVector<int> clips;
248  bool link;
249 private:
250  QVector< QVector<int> > old_links;
251 };
252 
253 class CheckboxCommand : public OliveAction {
254 public:
255  CheckboxCommand(QCheckBox* b);
256  virtual ~CheckboxCommand() override;
257  virtual void doUndo() override;
258  virtual void doRedo() override;
259 private:
260  QCheckBox* box;
261  bool checked;
262  bool done;
263 };
264 
266 public:
267  ReplaceMediaCommand(MediaPtr, QString);
268  virtual void doUndo() override;
269  virtual void doRedo() override;
270 private:
272  QString old_filename;
273  QString new_filename;
274  void replace(QString& filename);
275 };
276 
278 public:
279  ReplaceClipMediaCommand(Media *, Media *, bool);
280  virtual void doUndo() override;
281  virtual void doRedo() override;
282  QVector<ClipPtr> clips;
283 private:
287  QVector<int> old_clip_ins;
288  void replace(bool undo);
289 };
290 
292 public:
294  virtual void doUndo() override;
295  virtual void doRedo() override;
296 private:
300  int index_;
301 };
302 
303 class MediaMove : public OliveAction {
304 public:
305  MediaMove();
306  QVector<MediaPtr> items;
308  virtual void doUndo() override;
309  virtual void doRedo() override;
310 private:
311  QVector<Media*> froms;
312 };
313 
314 class MediaRename : public OliveAction {
315 public:
316  MediaRename(Media* iitem, QString to);
317  virtual void doUndo() override;
318  virtual void doRedo() override;
319 private:
321  QString from;
322  QString to;
323 };
324 
325 class KeyframeDelete : public OliveAction {
326 public:
327  KeyframeDelete(EffectField* ifield, int iindex);
328  virtual void doUndo() override;
329  virtual void doRedo() override;
330 private:
332  int index;
333  bool done;
335 };
336 
337 class KeyframeAdd : public OliveAction {
338 public:
339  KeyframeAdd(EffectField* ifield, int ii);
340  virtual void doUndo() override;
341  virtual void doRedo() override;
342 private:
344  int index;
346  bool done;
347 };
348 
354 };
355 
356 class SetClipProperty : public OliveAction {
357 public:
359  virtual void doUndo() override;
360  virtual void doRedo() override;
361  void AddSetting(QVector<Clip *> clips, bool setting);
362  void AddSetting(Clip *c, bool setting);
363 private:
365  QVector<Clip*> clips_;
366  QVector<bool> setting_;
367  QVector<bool> old_setting_;
368  void MainLoop(bool undo);
369 };
370 
371 class AddMarkerAction : public OliveAction {
372 public:
373  AddMarkerAction(QVector<Marker>* m, long t, QString n);
374  virtual void doUndo() override;
375  virtual void doRedo() override;
376 private:
377  QVector<Marker>* active_array;
378  long time;
379  QString name;
380  QString old_name;
381  int index;
382 };
383 
385 public:
386  MoveMarkerAction(Marker* m, long o, long n);
387  virtual void doUndo() override;
388  virtual void doRedo() override;
389 private:
391  long old_time;
392  long new_time;
393 };
394 
396 public:
397  DeleteMarkerAction(QVector<Marker>* m);
398  virtual void doUndo() override;
399  virtual void doRedo() override;
400  QVector<int> markers;
401 private:
402  QVector<Marker>* active_array;
403  QVector<Marker> copies;
404  bool sorted;
405 };
406 
407 class SetSpeedAction : public OliveAction {
408 public:
409  SetSpeedAction(Clip* c, double speed);
410  virtual void doUndo() override;
411  virtual void doRedo() override;
412 private:
414  double old_speed;
415  double new_speed;
416 };
417 
418 class SetBool : public OliveAction {
419 public:
420  SetBool(bool* b, bool setting);
421  virtual void doUndo() override;
422  virtual void doRedo() override;
423 private:
424  bool* boolean;
427 };
428 
430 public:
432  virtual void doUndo() override;
433  virtual void doRedo() override;
434  QVector<Selection> old_data;
435  QVector<Selection> new_data;
436 private:
438  bool done;
439 };
440 
442 public:
444  virtual void doUndo() override;
445  virtual void doRedo() override;
446  void update();
447 
448  QString name;
449  int width;
450  int height;
451  double frame_rate;
454 private:
457 
458  QString old_name;
464 };
465 
466 class SetInt : public OliveAction {
467 public:
468  SetInt(int* pointer, int new_value);
469  virtual void doUndo() override;
470  virtual void doRedo() override;
471 private:
472  int* p;
473  int oldval;
474  int newval;
475 };
476 
477 class SetLong : public OliveAction {
478 public:
479  SetLong(long* pointer, long old_value, long new_value);
480  virtual void doUndo() override;
481  virtual void doRedo() override;
482 private:
483  long* p;
484  long oldval;
485  long newval;
486 };
487 
488 class SetDouble : public OliveAction {
489 public:
490  SetDouble(double* pointer, double old_value, double new_value);
491  virtual void doUndo() override;
492  virtual void doRedo() override;
493 private:
494  double* p;
495  double oldval;
496  double newval;
497 };
498 
499 class SetString : public OliveAction {
500 public:
501  SetString(QString* pointer, QString new_value);
502  virtual void doUndo() override;
503  virtual void doRedo() override;
504 private:
505  QString* p;
506  QString oldval;
507  QString newval;
508 };
509 
511 public:
512  virtual void doUndo() override;
513  virtual void doRedo() override;
514 };
515 
517 public:
519  virtual void doUndo() override;
520  virtual void doRedo() override;
521 private:
523 };
524 
526 public:
528  virtual void doUndo() override;
529  virtual void doRedo() override;
531  int from;
532  int to;
533 };
534 
536 public:
537  RemoveClipsFromClipboard(int index);
538  virtual ~RemoveClipsFromClipboard() override;
539  virtual void doUndo() override;
540  virtual void doRedo() override;
541 private:
542  int pos;
544  bool done;
545 };
546 
548 public:
549  RenameClipCommand(Clip* clip, QString new_name);
550  virtual void doUndo() override;
551  virtual void doRedo() override;
552 private:
553  QString old_name_;
554  QString new_name_;
556 };
557 
558 class SetPointer : public OliveAction {
559 public:
560  SetPointer(void** pointer, void* data);
561  virtual void doUndo() override;
562  virtual void doRedo() override;
563 private:
565  void** p;
566  void* new_data;
567  void* old_data;
568 };
569 
571 public:
572  virtual void doUndo() override;
573  virtual void doRedo() override;
574 };
575 
576 class SetQVariant : public OliveAction {
577 public:
578  SetQVariant(QVariant* itarget, const QVariant& iold, const QVariant& inew);
579  virtual void doUndo() override;
580  virtual void doRedo() override;
581 private:
582  QVariant* target;
583  QVariant old_val;
584  QVariant new_val;
585 };
586 
587 class SetIsKeyframing : public OliveAction {
588 public:
589  SetIsKeyframing(EffectRow* irow, bool ib);
590  virtual void doUndo() override;
591  virtual void doRedo() override;
592 private:
594  bool b;
595 };
596 
597 class RefreshClips : public OliveAction {
598 public:
599  RefreshClips(Media* m);
600  virtual void doUndo() override;
601  virtual void doRedo() override;
602 private:
604 };
605 
606 class UpdateViewer : public OliveAction {
607 public:
608  virtual void doUndo() override;
609  virtual void doRedo() override;
610 };
611 
612 class SetEffectData : public OliveAction {
613 public:
614  SetEffectData(Effect* e, const QByteArray &s);
615  virtual void doUndo() override;
616  virtual void doRedo() override;
617 private:
619  QByteArray data;
620  QByteArray old_data;
621 };
622 
624 public:
626 
627  void SetNewKeyframes();
628 
629  virtual void doUndo() override;
630  virtual void doRedo() override;
631 
632 private:
634  QVector<EffectKeyframe> old_keys_;
635  QVector<EffectKeyframe> new_keys_;
638  bool done_;
639 };
640 
641 #endif // UNDO_H
virtual void doRedo() override
Definition: undo.cpp:388
Definition: undo.h:466
Clip * opened_clip_
Definition: undo.h:187
void replace(QString &filename)
Definition: undo.cpp:465
SetLong(long *pointer, long old_value, long new_value)
Definition: undo.cpp:1039
virtual void doRedo() override
Definition: undo.cpp:347
virtual void doRedo() override
Definition: undo.cpp:285
virtual void doRedo() override
Definition: undo.cpp:890
int pos
Definition: undo.h:542
Sequence * seq
Definition: undo.h:236
SequencePtr seq
Definition: undo.h:456
QVariant new_persistent_data_
Definition: undo.h:637
virtual void doRedo() override
Definition: undo.cpp:921
bool done
Definition: undo.h:438
virtual void doUndo() override
Definition: undo.cpp:771
ClipPtr ref
Definition: undo.h:120
KeyframeAdd(EffectField *ifield, int ii)
Definition: undo.cpp:1054
virtual void doRedo() override
Definition: undo.cpp:1020
bool new_setting
Definition: undo.h:426
virtual void doUndo()=0
Media * to
Definition: undo.h:307
int pos
Definition: undo.h:149
virtual void doRedo() override
Definition: undo.cpp:169
virtual void doUndo() override
Definition: undo.cpp:916
bool done
Definition: undo.h:262
virtual ~DeleteClipAction() override
Definition: undo.cpp:96
Media * parent
Definition: undo.h:215
Definition: undo.h:56
bool done_
Definition: undo.h:216
int old_width
Definition: undo.h:459
MediaPtr item
Definition: undo.h:225
virtual void doRedo() override
Definition: undo.cpp:910
virtual void doRedo() override
Definition: undo.cpp:682
int old_track
Definition: undo.h:89
virtual void doRedo() override
Definition: undo.cpp:993
int closing_transition
Definition: undo.h:124
virtual void doUndo() override
Definition: undo.cpp:1045
QVector< int > ignore
Definition: undo.h:108
virtual void doUndo() override
Definition: undo.cpp:1015
MediaMove()
Definition: undo.cpp:567
Clip * clip
Definition: undo.h:84
Clip * closed_clip_
Definition: undo.h:188
QString from
Definition: undo.h:321
virtual void doRedo() override
Definition: undo.cpp:330
virtual void doRedo() override
Definition: undo.cpp:1050
Clip * clip
Definition: undo.h:530
QVector< QVector< int > > old_links
Definition: undo.h:250
QVector< ClipPtr > clips
Definition: undo.h:237
virtual void doRedo() override
Definition: undo.cpp:110
ChangeSequenceAction(SequencePtr s)
Definition: undo.cpp:135
SetClipPropertyType
Definition: undo.h:349
virtual void doRedo() override
Definition: undo.cpp:610
void AddSetting(QVector< Clip * > clips, bool setting)
Definition: undo.cpp:618
QVector< Clip * > clips_
Definition: undo.h:365
virtual ~OliveAction() override
Definition: undo.cpp:1139
Definition: undo.h:535
EffectPtr deleted_obj_
Definition: undo.h:298
int index
Definition: undo.h:332
int link_offset_
Definition: undo.h:238
bool done
Definition: undo.h:346
virtual void doUndo() override
Definition: undo.cpp:359
long old_out
Definition: undo.h:87
Definition: undo.h:130
Definition: undo.h:384
QVector< int > old_clip_ins
Definition: undo.h:287
EffectField * field
Definition: undo.h:343
SetSpeedAction(Clip *c, double speed)
Definition: undo.cpp:765
long old_out
Definition: undo.h:201
QString old_filename
Definition: undo.h:272
virtual void doUndo() override
Definition: undo.cpp:343
QByteArray data
Definition: undo.h:619
bool set_window_modified
Setting whether to change the windowModified state of MainWindow.
Definition: undo.h:70
Definition: undo.h:351
QVector< Selection > old_data
Definition: undo.h:434
KeyframeDelete(EffectField *ifield, int iindex)
Definition: undo.cpp:600
Definition: undo.h:477
MediaRename(Media *iitem, QString to)
Definition: undo.cpp:585
Definition: undo.h:623
Clip * clip
Definition: undo.h:413
virtual void doUndo() override
Definition: undo.cpp:569
virtual void doUndo() override
Definition: undo.cpp:1031
const EffectMeta * meta
Definition: undo.h:147
Definition: undo.h:525
Media * item
Definition: undo.h:522
QString newval
Definition: undo.h:507
bool sorted
Definition: undo.h:404
virtual void doRedo() override
Definition: undo.cpp:1129
int oldval
Definition: undo.h:473
OliveAction(bool iset_window_modified=true)
Definition: undo.cpp:1135
Definition: undo.h:112
Definition: undo.h:510
EffectDeleteCommand(Effect *e)
Definition: undo.cpp:543
Definition: undo.h:499
virtual void doUndo() override
Definition: undo.cpp:1062
ComboAction * ca
Definition: undo.h:109
virtual void doUndo() override
Definition: undo.cpp:194
Definition: undo.h:407
SequencePtr old_sequence
Definition: undo.h:136
std::shared_ptr< Media > MediaPtr
Definition: media.h:43
long old_clip_in
Definition: undo.h:88
long old_time
Definition: undo.h:391
QCheckBox * box
Definition: undo.h:260
TransitionPtr old_open_transition_
Definition: undo.h:164
LinkCommand()
Definition: undo.cpp:406
Definition: undo.h:606
SetTimelineInOutCommand(Sequence *s, bool enabled, long in, long out)
Definition: undo.cpp:148
bool old_changed
Definition: undo.h:564
virtual void doUndo() override
Definition: undo.cpp:1110
double old_speed
Definition: undo.h:414
Definition: undo.h:337
int to
Definition: undo.h:532
int old_audio_frequency
Definition: undo.h:462
SetSelectionsCommand(Sequence *s)
Definition: undo.cpp:801
double oldval
Definition: undo.h:495
const EffectMeta * transition_meta_
Definition: undo.h:162
Definition: undo.h:429
int old_audio_layout
Definition: undo.h:463
QVariant old_persistent_data_
Definition: undo.h:636
int index_
Definition: undo.h:300
int index
Definition: undo.h:121
RippleAction(Sequence *is, long ipoint, long ilength, const QVector< int > &iignore)
Definition: undo.cpp:980
virtual void doUndo() override
Definition: undo.cpp:139
int new_track
Definition: undo.h:94
Definition: undo.h:265
virtual void doUndo() override
Definition: undo.cpp:894
virtual void doUndo() override
Definition: undo.cpp:591
CheckboxCommand(QCheckBox *b)
Definition: undo.cpp:439
virtual void doUndo() override
Definition: undo.cpp:410
std::shared_ptr< Clip > ClipPtr
Definition: clip.h:52
virtual void doRedo() override
Definition: undo.cpp:898
AddMediaCommand(MediaPtr iitem, Media *iparent)
Definition: undo.cpp:317
AddClipCommand(Sequence *s, QVector< ClipPtr > &add)
Definition: undo.cpp:351
virtual void doUndo() override
Definition: undo.cpp:693
Definition: undo.h:558
Effect * effect_
Definition: undo.h:297
virtual void doUndo() override
Definition: undo.cpp:98
int index
Definition: undo.h:344
RefreshClips(Media *m)
Definition: undo.cpp:1087
QVector< int > linkClipIndex
Definition: undo.h:126
Clip * parent_clip_
Definition: undo.h:299
void replace(bool undo)
Definition: undo.cpp:502
Clip * clip_
Definition: undo.h:555
AddEffectCommand(Clip *c, EffectPtr e, const EffectMeta *m, int insert_pos=-1)
Definition: undo.cpp:187
Definition: undo.h:291
virtual void doUndo() override
Definition: undo.cpp:963
virtual void doUndo() override
Definition: undo.cpp:829
SequencePtr new_sequence
Definition: undo.h:137
virtual ~AddClipCommand() override
Definition: undo.cpp:357
virtual void doUndo() override
Definition: undo.cpp:742
virtual void doRedo() override
Definition: undo.cpp:537
QVector< Selection > new_data
Definition: undo.h:435
virtual void doRedo() override
Definition: undo.cpp:779
virtual void doUndo() override
Definition: undo.cpp:281
long length
Definition: undo.h:107
Definition: undo.h:418
Clip * close_
Definition: undo.h:160
virtual void doRedo() override
Definition: undo.cpp:1184
long newval
Definition: undo.h:485
long new_in
Definition: undo.h:91
Definition: undo.h:350
int height
Definition: undo.h:450
virtual void doRedo() override
Definition: undo.cpp:75
UpdateFootageTooltip(Media *i)
Definition: undo.cpp:902
Definition: undo.h:356
bool done
Definition: undo.h:333
double newval
Definition: undo.h:496
bool checked
Definition: undo.h:261
QString name
Definition: undo.h:448
virtual void doUndo() override
Definition: undo.cpp:932
Definition: undo.h:153
Sequence * seq
Definition: undo.h:197
Definition: undo.h:612
ReplaceMediaCommand(MediaPtr, QString)
Definition: undo.cpp:459
virtual void doRedo() override
Definition: undo.cpp:1035
bool done
Definition: undo.h:150
QVector< int > markers
Definition: undo.h:400
QVariant new_val
Definition: undo.h:584
QVector< MediaPtr > items
Definition: undo.h:306
int opening_transition
Definition: undo.h:123
bool relative
Definition: undo.h:96
EffectPtr ref
Definition: undo.h:148
bool old_window_modified
Cache previous window modified value to return to if the user undoes this action. ...
Definition: undo.h:75
MoveClipAction(Clip *c, long iin, long iout, long iclip_in, int itrack, bool irelative)
Definition: undo.cpp:45
Definition: undo.h:99
QVector< EffectKeyframe > old_keys_
Definition: undo.h:634
Definition: clip.h:56
virtual void doRedo() override
Definition: undo.cpp:733
QVector< bool > setting_
Definition: undo.h:366
Media * item
Definition: undo.h:320
SetPointer(void **pointer, void *data)
Definition: undo.cpp:958
DeleteTransitionCommand(TransitionPtr t)
Definition: undo.cpp:290
SetBool(bool *b, bool setting)
Definition: undo.cpp:787
QVector< Media * > froms
Definition: undo.h:311
AddTransitionCommand(Clip *iopen, Clip *iclose, TransitionPtr copy, const EffectMeta *itransition, int ilength)
Definition: undo.cpp:214
ModifyTransitionCommand(TransitionPtr t, long ilength)
Definition: undo.cpp:275
QVector< Marker > * active_array
Definition: undo.h:402
QString old_name
Definition: undo.h:380
virtual void doRedo() override
Definition: undo.cpp:237
virtual void doRedo() override
Definition: undo.cpp:575
virtual void doRedo() override
Definition: undo.cpp:1095
virtual void doUndo() override
Definition: undo.cpp:325
MoveEffectCommand()
Definition: undo.cpp:914
virtual void doUndo() override
Definition: undo.cpp:728
Definition: undo.h:547
virtual void doRedo() override
Definition: undo.cpp:839
Sequence * seq
Definition: undo.h:119
Definition: undo.h:570
The ComboAction class.
Definition: comboaction.h:19
virtual void doRedo() override
Definition: undo.cpp:749
virtual void doUndo() override
Definition: undo.cpp:227
virtual void doUndo() override
Definition: undo.cpp:988
int index
Definition: undo.h:381
virtual void doUndo() override
Definition: undo.cpp:1079
KeyframeDataChange(EffectField *field)
Definition: undo.cpp:1163
QString new_name_
Definition: undo.h:554
bool link
Definition: undo.h:248
long old_in
Definition: undo.h:200
virtual void doRedo() override
Definition: undo.cpp:596
Definition: effect.h:52
int audio_frequency
Definition: undo.h:452
int * p
Definition: undo.h:472
void * new_data
Definition: undo.h:566
virtual void doUndo() override
Definition: undo.cpp:793
TransitionPtr old_close_transition_
Definition: undo.h:165
int from
Definition: undo.h:531
virtual void redo() override
Definition: undo.cpp:1149
Definition: media.h:45
Definition: undo.h:587
SetClipPropertyType type_
Definition: undo.h:364
virtual void doRedo() override
Definition: undo.cpp:875
SetDouble(double *pointer, double old_value, double new_value)
Definition: undo.cpp:1008
long time
Definition: undo.h:378
Media * media
Definition: undo.h:603
QString new_filename
Definition: undo.h:273
ReplaceClipMediaCommand(Media *, Media *, bool)
Definition: undo.cpp:496
virtual void doUndo() override
Definition: undo.cpp:533
Clip * clip
Definition: undo.h:146
virtual ~RemoveClipsFromClipboard() override
Definition: undo.cpp:930
QVector< Marker > copies
Definition: undo.h:403
long old_length_
Definition: undo.h:177
Definition: undo.h:253
QVector< int > clips
Definition: undo.h:247
Definition: undo.h:169
virtual void doRedo()=0
Definition: undo.h:395
std::shared_ptr< Transition > TransitionPtr
Definition: transition.h:42
long new_out
Definition: undo.h:205
long old_in
Definition: undo.h:86
EffectRow * row
Definition: undo.h:593
QVariant * target
Definition: undo.h:582
bool done
Definition: undo.h:544
bool preserve_clip_ins
Definition: undo.h:286
Clip * open_
Definition: undo.h:159
MediaPtr item
Definition: undo.h:214
AddMarkerAction(QVector< Marker > *m, long t, QString n)
Definition: undo.cpp:687
virtual void doUndo() override
Definition: undo.cpp:885
void SetNewKeyframes()
Definition: undo.cpp:1171
SetString(QString *pointer, QString new_value)
Definition: undo.cpp:879
virtual void doUndo() override
Definition: undo.cpp:606
SetClipProperty(SetClipPropertyType type)
Definition: undo.cpp:615
long new_length_
Definition: undo.h:176
virtual void doUndo() override
Definition: undo.cpp:972
virtual void doUndo() override
Definition: undo.cpp:1091
virtual void doUndo() override
Definition: undo.cpp:1123
Media * item
Definition: undo.h:455
QVector< int > linkLinkIndex
Definition: undo.h:127
bool new_enabled
Definition: undo.h:203
TransitionPtr transition_ref_
Definition: undo.h:186
Definition: undo.h:371
QString name
Definition: undo.h:379
long oldval
Definition: undo.h:484
Definition: undo.h:441
TransitionPtr transition_to_copy_
Definition: undo.h:161
virtual void doUndo() override
Definition: undo.cpp:870
Definition: undo.h:208
Definition: undo.h:576
The EffectField class.
Definition: effectfield.h:56
bool old_setting
Definition: undo.h:425
SetQVariant(QVariant *itarget, const QVariant &iold, const QVariant &inew)
Definition: undo.cpp:1024
EffectField * field
Definition: undo.h:331
SetEffectData(Effect *e, const QByteArray &s)
Definition: undo.cpp:1118
virtual void doUndo() override
Definition: undo.cpp:1177
void update()
Definition: undo.cpp:849
Definition: keyframe.h:28
QVector< ClipPtr > clips
Definition: undo.h:282
EffectField * field_
Definition: undo.h:633
QString old_name
Definition: undo.h:458
int newval
Definition: undo.h:474
ClipPtr clip
Definition: undo.h:543
virtual void doRedo() override
Definition: undo.cpp:553
void MainLoop(bool undo)
Definition: undo.cpp:649
virtual void doUndo() override
Definition: undo.cpp:155
virtual void doUndo() override
Definition: undo.cpp:447
Definition: transition.h:44
long new_clip_in
Definition: undo.h:93
virtual void doRedo() override
Definition: undo.cpp:1114
Definition: undo.h:219
virtual void doRedo() override
Definition: undo.cpp:422
Definition: undo.h:314
Marker * marker
Definition: undo.h:390
Definition: undo.h:140
bool done_
Definition: undo.h:638
Definition: undo.h:488
void * old_data
Definition: undo.h:567
double frame_rate
Definition: undo.h:451
QString to
Definition: undo.h:322
RemoveClipsFromClipboard(int index)
Definition: undo.cpp:925
SetInt(int *pointer, int new_value)
Definition: undo.cpp:864
int width
Definition: undo.h:449
virtual void doUndo() override
Definition: undo.cpp:950
virtual void doRedo() override
Definition: undo.cpp:954
bool * boolean
Definition: undo.h:424
double new_speed
Definition: undo.h:415
QVector< Marker > * active_array
Definition: undo.h:377
Definition: undo.h:325
Media * parent
Definition: undo.h:226
long new_time
Definition: undo.h:392
bool old_enabled
Definition: undo.h:199
Definition: undo.h:597
virtual void doRedo() override
Definition: undo.cpp:492
void ** p
Definition: undo.h:565
long * p
Definition: undo.h:483
virtual void doUndo() override
Definition: undo.cpp:486
virtual void doRedo() override
Definition: undo.cpp:701
Definition: undo.h:180
DeleteClipAction(Sequence *s, int clip)
Definition: undo.cpp:89
Effect * effect
Definition: undo.h:618
virtual void doRedo() override
Definition: undo.cpp:1067
RenameClipCommand(Clip *clip, QString new_name)
Definition: undo.cpp:943
double * p
Definition: undo.h:494
std::shared_ptr< Effect > EffectPtr
Definition: effect.h:50
virtual void doUndo() override
Definition: undo.cpp:806
MoveMarkerAction(Marker *m, long o, long n)
Definition: undo.cpp:722
QVector< EffectKeyframe > new_keys_
Definition: undo.h:635
Definition: marker.h:33
EffectKeyframe key
Definition: undo.h:345
QByteArray old_data
Definition: undo.h:620
QString * p
Definition: undo.h:505
int audio_layout
Definition: undo.h:453
QVariant old_val
Definition: undo.h:583
virtual void doRedo() override
Definition: undo.cpp:304
virtual void undo() override
Definition: undo.cpp:1141
virtual void doUndo() override
Definition: undo.cpp:906
long new_in
Definition: undo.h:204
virtual void doUndo() override
Definition: undo.cpp:676
virtual void doRedo() override
Definition: undo.cpp:143
Definition: sequence.h:31
virtual void doRedo() override
Definition: undo.cpp:453
TransitionPtr transition_ref_
Definition: undo.h:175
virtual void doRedo() override
Definition: undo.cpp:976
EffectKeyframe deleted_key
Definition: undo.h:334
QString oldval
Definition: undo.h:506
DeleteMarkerAction(QVector< Marker > *m)
Definition: undo.cpp:737
SetIsKeyframing(EffectRow *irow, bool ib)
Definition: undo.cpp:1074
virtual ~CheckboxCommand() override
Definition: undo.cpp:445
Sequence * s
Definition: undo.h:246
virtual void doRedo() override
Definition: undo.cpp:967
virtual void doRedo() override
Definition: undo.cpp:811
Definition: undo.h:353
virtual void doRedo() override
Definition: undo.cpp:203
Media * new_media
Definition: undo.h:285
Sequence * seq
Definition: undo.h:437
virtual void doUndo() override
Definition: undo.cpp:547
The EffectRow class.
Definition: effectrow.h:51
virtual void doUndo() override
Definition: undo.cpp:61
Definition: undo.h:303
virtual void doRedo() override
Definition: undo.cpp:797
virtual void doRedo() override
Definition: undo.cpp:1083
Definition: undo.h:241
TransitionPtr new_transition_ref_
Definition: undo.h:166
QVector< bool > old_setting_
Definition: undo.h:367
Sequence * s
Definition: undo.h:105
long point
Definition: undo.h:106
MediaPtr item
Definition: undo.h:271
int length_
Definition: undo.h:163
EditSequenceCommand(Media *i, SequencePtr s)
Definition: undo.cpp:818
DeleteMediaCommand(MediaPtr i)
Definition: undo.cpp:337
Definition: undo.h:78
QString old_name_
Definition: undo.h:553
Definition: undo.h:516
Definition: effect.h:136
long new_out
Definition: undo.h:92
std::shared_ptr< Sequence > SequencePtr
Definition: media.h:38
virtual void doUndo() override
Definition: undo.cpp:294
int old_height
Definition: undo.h:460
Media * old_media
Definition: undo.h:284
bool b
Definition: undo.h:594
virtual void doRedo() override
Definition: undo.cpp:937
Definition: undo.h:277
double old_frame_rate
Definition: undo.h:461
Definition: undo.h:191
Definition: undo.h:229