made pasting effects undoable
This commit is contained in:
@@ -76,7 +76,7 @@ void EffectControls::menu_select(QAction* q) {
|
||||
ca->append(new AddTransitionCommand(c, NULL, NULL, meta, TA_CLOSING_TRANSITION, 30));
|
||||
}
|
||||
} else {
|
||||
ca->append(new AddEffectCommand(c, meta));
|
||||
ca->append(new AddEffectCommand(c, NULL, meta));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+3
-4
@@ -80,7 +80,7 @@ void update_effect_controls() {
|
||||
}
|
||||
}
|
||||
|
||||
bool same = (selected_clips.size() == panel_effect_controls->selected_clips.size());
|
||||
bool same = (selected_clips.size() == panel_effect_controls->selected_clips.size());
|
||||
if (same) {
|
||||
for (int i=0;i<selected_clips.size();i++) {
|
||||
if (selected_clips.at(i) != panel_effect_controls->selected_clips.at(i)) {
|
||||
@@ -97,9 +97,8 @@ void update_effect_controls() {
|
||||
}
|
||||
|
||||
void update_ui(bool modified) {
|
||||
if (modified) {
|
||||
// panel_sequence_viewer->reset_all_audio();
|
||||
update_effect_controls();
|
||||
if (modified) {
|
||||
update_effect_controls();
|
||||
}
|
||||
panel_effect_controls->update_keyframes();
|
||||
panel_timeline->repaint_timeline();
|
||||
|
||||
+10
-1
@@ -973,17 +973,26 @@ void Timeline::paste(bool insert) {
|
||||
panel_sequence_viewer->seek(paste_end);
|
||||
}
|
||||
} else if (clipboard_type == CLIPBOARD_TYPE_EFFECT) {
|
||||
ComboAction* ca = new ComboAction();
|
||||
bool push = false;
|
||||
for (int i=0;i<sequence->clips.size();i++) {
|
||||
Clip* c = sequence->clips.at(i);
|
||||
if (c != NULL && is_clip_selected(c, true)) {
|
||||
for (int j=0;j<clipboard.size();j++) {
|
||||
Effect* e = static_cast<Effect*>(clipboard.at(j));
|
||||
if ((c->track < 0) == (e->meta->subtype == EFFECT_TYPE_VIDEO)) {
|
||||
c->effects.append(e->copy(c));
|
||||
ca->append(new AddEffectCommand(c, e->copy(c), NULL));
|
||||
push = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (push) {
|
||||
ca->appendPost(new ReloadEffectsCommand());
|
||||
undo_stack.push(ca);
|
||||
} else {
|
||||
delete ca;
|
||||
}
|
||||
update_ui(true);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user