fast drag mode honours follow_edits labels/plugins/keyframes
[goodguy/cinelerra.git] / cinelerra-5.1 / cinelerra / mwindowedit.C
index 9711719aea4164ec700e5d67f92866ec3715529c..7a6cbeb4eb2aa981bd7e197b8b2388bff4e5db48 100644 (file)
@@ -1135,13 +1135,16 @@ void MWindow::move_edits(ArrayList<Edit*> *edits,
 {
        undo->update_undo_before();
 
-       edl->tracks->move_edits(edits,
-               track,
-               position,
+       EDL *clip = selected_edits_to_clip(1, 0, 0,
+               edl->session->labels_follow_edits,
+               edl->session->autos_follow_edits,
+               edl->session->plugins_follow_edits);
+       edl->delete_edits(edits, 0);
+       paste_edits(clip, track, position, behaviour, 1,
                edl->session->labels_follow_edits,
-               edl->session->plugins_follow_edits,
                edl->session->autos_follow_edits,
-               behaviour);
+               edl->session->plugins_follow_edits);
+       edl->tracks->clear_selected_edits();
 
        save_backup();
        undo->update_undo_after(_("move edit"), LOAD_ALL);
@@ -1264,14 +1267,17 @@ void MWindow::paste_clipboard(Track *first_track, double position, int overwrite
        clip->remove_user();
 }
 
-void MWindow::move_group(EDL *group, Track *first_track, double position)
+void MWindow::move_group(EDL *group, Track *first_track, double position, int overwrite)
 {
        undo->update_undo_before();
 
        ArrayList<Edit *>edits;
        edl->tracks->get_selected_edits(&edits);
        edl->delete_edits(&edits, 0);
-       paste_edits(group, first_track, position, 1, 1, 1, 1, 1);
+       paste_edits(group, first_track, position, overwrite, 1,
+               edl->session->labels_follow_edits,
+               edl->session->plugins_follow_edits,
+               edl->session->autos_follow_edits);
 // big debate over whether to do this, must either clear selected, or no tweaking
 //     edl->tracks->clear_selected_edits();