From 9a78ffdfac441ddf372827ef2296cf28e8f0fd44 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 12 Jan 2019 12:04:41 +1100 Subject: [PATCH] fixed #306 --- io/loadthread.cpp | 12 ++++++++++-- panels/project.cpp | 9 ++++++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/io/loadthread.cpp b/io/loadthread.cpp index 06d0fc3c7..a65942c70 100644 --- a/io/loadthread.cpp +++ b/io/loadthread.cpp @@ -238,7 +238,11 @@ bool LoadThread::load_worker(QFile& f, QXmlStreamReader& stream, int type) { item->set_footage(m); - project_model.appendChild(find_loaded_folder_by_id(folder), item); + if (folder == 0) { + project_model.appendChild(NULL, item); + } else { + find_loaded_folder_by_id(folder)->appendChild(item); + } // analyze media to see if it's the same loaded_media_items.append(item); @@ -568,7 +572,11 @@ void LoadThread::run() { for (int i=0;itemp_id2; - project_model.appendChild(find_loaded_folder_by_id(parent), folder); + if (folder->temp_id2 == 0) { + project_model.appendChild(NULL, folder); + } else { + find_loaded_folder_by_id(parent)->appendChild(folder); + } } cont = load_worker(file, stream, MEDIA_TYPE_FOOTAGE); diff --git a/panels/project.cpp b/panels/project.cpp index 8742eecca..66d40039c 100644 --- a/panels/project.cpp +++ b/panels/project.cpp @@ -372,7 +372,11 @@ Media* Project::new_sequence(ComboAction *ca, Sequence *s, bool open, Media* par ca->append(new NewSequenceCommand(item, parent)); if (open) ca->append(new ChangeSequenceAction(s)); } else { - project_model.appendChild(NULL, item); + if (parent == project_model.get_root()) { + project_model.appendChild(parent, item); + } else { + parent->appendChild(item); + } if (open) set_sequence(s); } return item; @@ -868,7 +872,6 @@ void Project::load_project(bool autorecovery) { } void Project::save_folder(QXmlStreamWriter& stream, int type, bool set_ids_only, const QModelIndex& parent) { - bool root = (!parent.parent().isValid()); for (int i=0;itemp_id; + int folder = (m->parentItem() != NULL) ? m->parentItem()->temp_id : 0; if (type == MEDIA_TYPE_FOOTAGE) { Footage* f = m->to_footage(); f->save_id = media_id;