more refactoring and timeline rewriting

This commit is contained in:
itsmattkc
2019-03-31 14:14:37 +11:00
parent f40b744dd4
commit 8989333e99
17 changed files with 621 additions and 498 deletions
+4 -16
View File
@@ -354,20 +354,6 @@ bool Project::IsProjectWidget(QObject *child)
return (child == tree_view || child == icon_view);
}
bool delete_clips_in_clipboard_with_media(ComboAction* ca, Media* m) {
int delete_count = 0;
if (clipboard_type == CLIPBOARD_TYPE_CLIP) {
for (int i=0;i<clipboard.size();i++) {
ClipPtr c = std::static_pointer_cast<Clip>(clipboard.at(i));
if (c->media() == m) {
ca->append(new RemoveClipsFromClipboard(i-delete_count));
delete_count++;
}
}
}
return (delete_count > 0);
}
void Project::delete_selected_media() {
ComboAction* ca = new ComboAction();
QModelIndexList selected_items = get_current_selected();
@@ -455,7 +441,7 @@ void Project::delete_selected_media() {
}
}
if (confirm_delete) {
delete_clips_in_clipboard_with_media(ca, item);
olive::clipboard.DeleteClipsWithMedia(ca, item);
}
}
}
@@ -600,7 +586,9 @@ void Project::delete_clips_using_selected_media() {
}
for (int j=0;j<items.size();j++) {
Media* m = item_to_media(items.at(j));
if (delete_clips_in_clipboard_with_media(ca, m)) deleted = true;
if (olive::clipboard.DeleteClipsWithMedia(ca, m)) {
deleted = true;
}
}
if (deleted) {
olive::UndoStack.push(ca);