From 3f6cc178188a28e551755219bfa0a441ad8cfdcf Mon Sep 17 00:00:00 2001 From: Rachel Powers <508861+Ryex@users.noreply.github.com> Date: Fri, 11 Nov 2022 15:45:40 -0700 Subject: properly handle a currently running hashing task Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com> --- launcher/ui/dialogs/BlockedModsDialog.h | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'launcher/ui/dialogs/BlockedModsDialog.h') diff --git a/launcher/ui/dialogs/BlockedModsDialog.h b/launcher/ui/dialogs/BlockedModsDialog.h index d683c54d..ee1e6a09 100644 --- a/launcher/ui/dialogs/BlockedModsDialog.h +++ b/launcher/ui/dialogs/BlockedModsDialog.h @@ -39,9 +39,11 @@ protected: private: Ui::BlockedModsDialog *ui; - QList &mods; - QFileSystemWatcher watcher; - shared_qobject_ptr hashing_task; + QList &m_mods; + QFileSystemWatcher m_watcher; + shared_qobject_ptr m_hashing_task; + QSet m_pending_hash_paths; + bool m_rehash_pending; void openAll(); void addDownloadFolder(); @@ -49,10 +51,13 @@ private: void directoryChanged(QString path); void setupWatch(); void scanPaths(); - void scanPath(QString path); + void scanPath(QString path, bool start_task); void addHashTask(QString path); + void buildHashTask(QString path); void checkMatchHash(QString hash, QString path); void validateMatchedMods(); + void runHashTask(); + void hashTaskFinished(); bool checkValidPath(QString path); bool allModsMatched(); -- cgit