From 435971c623083905ce44f8ee7042551eaa3ec2c3 Mon Sep 17 00:00:00 2001 From: itsmattkc <34096995+itsmattkc@users.noreply.github.com> Date: Wed, 9 Nov 2022 14:11:46 -0800 Subject: [PATCH] core: don't add autorecoveries projects to recent projects --- app/core.cpp | 14 ++++++++------ app/core.h | 17 +++++++++++------ 2 files changed, 19 insertions(+), 12 deletions(-) diff --git a/app/core.cpp b/app/core.cpp index b66087d48..26a8d68dc 100644 --- a/app/core.cpp +++ b/app/core.cpp @@ -468,7 +468,7 @@ void Core::CreateNewSequence() } } -void Core::AddOpenProject(Project* p) +void Core::AddOpenProject(Project* p, bool add_to_recents) { // Ensure project is not open at the moment foreach (Project* already_open, open_projects_) { @@ -487,12 +487,14 @@ void Core::AddOpenProject(Project* p) connect(p, &Project::ModifiedChanged, this, &Core::ProjectWasModified); open_projects_.append(p); - PushRecentlyOpenedProject(p->filename()); + if (!p->filename().isEmpty() && add_to_recents) { + PushRecentlyOpenedProject(p->filename()); + } emit ProjectOpened(p); } -bool Core::AddOpenProjectFromTask(Task *task) +bool Core::AddOpenProjectFromTask(Task *task, bool add_to_recents) { ProjectLoadBaseTask* load_task = static_cast(task); @@ -500,7 +502,7 @@ bool Core::AddOpenProjectFromTask(Task *task) Project* project = load_task->GetLoadedProject(); if (ValidateFootageInLoadedProject(project, project->GetSavedURL())) { - AddOpenProject(project); + AddOpenProject(project, add_to_recents); main_window_->LoadLayout(project->GetLayoutInfo()); return true; @@ -723,7 +725,7 @@ void Core::OpenStartupProject() void Core::AddRecoveryProjectFromTask(Task *task) { - if (AddOpenProjectFromTask(task)) { + if (AddOpenProjectFromTask(task, false)) { ProjectLoadBaseTask* load_task = static_cast(task); Project* project = load_task->GetLoadedProject(); @@ -1417,7 +1419,7 @@ void Core::OpenProjectInternal(const QString &filename, bool recovery_project) if (recovery_project) { connect(task_dialog, &TaskDialog::TaskSucceeded, this, &Core::AddRecoveryProjectFromTask); } else { - connect(task_dialog, &TaskDialog::TaskSucceeded, this, &Core::AddOpenProjectFromTask); + connect(task_dialog, &TaskDialog::TaskSucceeded, this, &Core::AddOpenProjectFromTaskAndAddToRecents); } task_dialog->open(); diff --git a/app/core.h b/app/core.h index cc161d87f..297db9a47 100644 --- a/app/core.h +++ b/app/core.h @@ -568,6 +568,13 @@ private: void SaveRecentProjectsList(); + /** + * @brief Adds a project to the "open projects" list + */ + void AddOpenProject(olive::Project* p, bool add_to_recents = false); + + bool AddOpenProjectFromTask(Task* task, bool add_to_recents); + /** * @brief Internal main window object */ @@ -650,12 +657,10 @@ private slots: void ProjectSaveSucceeded(Task *task); - /** - * @brief Adds a project to the "open projects" list - */ - void AddOpenProject(olive::Project* p); - - bool AddOpenProjectFromTask(Task* task); + bool AddOpenProjectFromTaskAndAddToRecents(Task* task) + { + return AddOpenProjectFromTask(task, true); + } void ImportTaskComplete(Task *task);