task: massively simplified task system

Made various changes and fixes to the task system:

- Tasks are built around QtConcurrent rather than QThread. Reduces
  code complexity significantly.
- Task error reporting is now streamlined in both TaskManager and
  TaskDialog.
- Moved ProjectImport/Save/LoadManager to the app/task folder
This commit is contained in:
itsmattkc
2020-05-19 02:44:32 +10:00
parent c4b0a53174
commit b9cd83eff1
49 changed files with 864 additions and 1332 deletions
+9 -2
View File
@@ -229,6 +229,11 @@ public:
*/
bool CloseAllProjects(bool auto_open_new);
/**
* @brief Runs a modal cache task on the currently active sequence
*/
void CacheActiveSequence(bool in_out_only);
public slots:
/**
* @brief Starts an open file dialog to load a project from file
@@ -477,14 +482,16 @@ private:
private slots:
void SaveAutorecovery();
void ProjectSaveSucceeded(OLIVE_NAMESPACE::ProjectPtr p);
void ProjectSaveSucceeded(Task *task);
/**
* @brief Adds a project to the "open projects" list
*/
void AddOpenProject(OLIVE_NAMESPACE::ProjectPtr p);
void ImportTaskComplete(QUndoCommand* command);
void AddOpenProjectFromTask(Task* task);
void ImportTaskComplete(Task *task);
bool ConfirmImageSequence(const QString &filename);