fixed #125
This commit is contained in:
@@ -1488,3 +1488,20 @@ void SetBool::undo() {
|
||||
void SetBool::redo() {
|
||||
*boolean = new_setting;
|
||||
}
|
||||
|
||||
SetSelectionsCommand::SetSelectionsCommand(Sequence* s) :
|
||||
seq(s),
|
||||
done(true)
|
||||
{}
|
||||
|
||||
void SetSelectionsCommand::undo() {
|
||||
sequence->selections = old_data;
|
||||
done = false;
|
||||
}
|
||||
|
||||
void SetSelectionsCommand::redo() {
|
||||
if (!done) {
|
||||
sequence->selections = new_data;
|
||||
done = true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ struct Sequence;
|
||||
struct Media;
|
||||
|
||||
#include "project/marker.h"
|
||||
#include "project/selection.h"
|
||||
|
||||
#include <QUndoStack>
|
||||
#include <QUndoCommand>
|
||||
@@ -524,4 +525,16 @@ private:
|
||||
bool new_setting;
|
||||
};
|
||||
|
||||
class SetSelectionsCommand : public QUndoCommand {
|
||||
public:
|
||||
SetSelectionsCommand(Sequence *s);
|
||||
void undo();
|
||||
void redo();
|
||||
QVector<Selection> old_data;
|
||||
QVector<Selection> new_data;
|
||||
private:
|
||||
Sequence* seq;
|
||||
bool done;
|
||||
};
|
||||
|
||||
#endif // UNDO_H
|
||||
|
||||
Reference in New Issue
Block a user