From 87cf70d13b9f2fb3014500d4718649df445a4574 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 2 Nov 2018 10:54:45 +1100 Subject: [PATCH] improved loading speed and corrected snapping bug --- panels/project.cpp | 23 ++++++++++++++++++++--- panels/project.h | 1 + panels/timeline.cpp | 2 +- 3 files changed, 22 insertions(+), 4 deletions(-) diff --git a/panels/project.cpp b/panels/project.cpp index 3b83b317a..41114e251 100644 --- a/panels/project.cpp +++ b/panels/project.cpp @@ -813,9 +813,8 @@ bool Project::load_worker(QFile& f, QXmlStreamReader& stream, int type) { } // analyze media to see if it's the same - start_preview_generator(item, m, true); - loaded_media.append(m); + loaded_media_items.append(item); } break; case MEDIA_TYPE_SEQUENCE: @@ -1090,12 +1089,26 @@ void Project::load_project() { // temp variables for loading loaded_folders.clear(); loaded_media.clear(); + loaded_media_items.clear(); loaded_clips.clear(); loaded_sequences.clear(); open_seq = NULL; + // get "element" count + int element_count = 0; + while (!stream.atEnd()) { + stream.readNextStartElement(); + if (stream.name() == "folder" + || stream.name() == "footage" + || stream.name() == "sequence" + || stream.name() == "clip" + || stream.name() == "effect") { + element_count++; + } + } + // find project file version - cont = load_worker(file, stream, LOAD_TYPE_VERSION); + cont = load_worker(file, stream, LOAD_TYPE_VERSION); // load folders first if (cont) { @@ -1147,6 +1160,10 @@ void Project::load_project() { update_ui(false); mainWindow->setWindowModified(false); + + for (int i=0;i loaded_folders; QVector loaded_media; + QVector loaded_media_items; QVector loaded_clips; QVector loaded_sequences; QTreeWidgetItem* find_loaded_folder_by_id(int id); diff --git a/panels/timeline.cpp b/panels/timeline.cpp index f3d59e2ce..2f9e4e7b7 100644 --- a/panels/timeline.cpp +++ b/panels/timeline.cpp @@ -388,7 +388,7 @@ bool Timeline::is_clip_selected(Clip* clip, bool containing) { } void Timeline::on_snappingButton_toggled(bool checked) { - //snapping = checked; + snapping = checked; } Clip* Timeline::split_clip(ComboAction* ca, int p, long frame) {