diff options
author | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2022-11-11 15:45:40 -0700 |
---|---|---|
committer | Rachel Powers <508861+Ryex@users.noreply.github.com> | 2022-11-11 15:45:40 -0700 |
commit | 3f6cc178188a28e551755219bfa0a441ad8cfdcf (patch) | |
tree | 179f5d774bc43490275fba7a78b31ce8501a3ef4 /launcher/ui/dialogs/BlockedModsDialog.h | |
parent | 5909af9878d67f2900c92e8d1dd3eec7a53a840a (diff) | |
download | PrismLauncher-3f6cc178188a28e551755219bfa0a441ad8cfdcf.tar.gz PrismLauncher-3f6cc178188a28e551755219bfa0a441ad8cfdcf.tar.bz2 PrismLauncher-3f6cc178188a28e551755219bfa0a441ad8cfdcf.zip |
properly handle a currently running hashing task
Signed-off-by: Rachel Powers <508861+Ryex@users.noreply.github.com>
Diffstat (limited to 'launcher/ui/dialogs/BlockedModsDialog.h')
-rw-r--r-- | launcher/ui/dialogs/BlockedModsDialog.h | 13 |
1 files changed, 9 insertions, 4 deletions
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<BlockedMod> &mods; - QFileSystemWatcher watcher; - shared_qobject_ptr<ConcurrentTask> hashing_task; + QList<BlockedMod> &m_mods; + QFileSystemWatcher m_watcher; + shared_qobject_ptr<ConcurrentTask> m_hashing_task; + QSet<QString> 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(); |