From 5befd0666aef0b96e3e4bd41ed704ccaa3ace5d5 Mon Sep 17 00:00:00 2001 From: ConfuSomu Date: Mon, 10 Jul 2023 13:27:34 +0200 Subject: Implement basic multithreading support A few CPU heavy operations, which are opening an archive and displaying a selected Activity, have been moved to another thread to avoid having long-running operations on the main thread. --- src/mainwindow.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/mainwindow.h') diff --git a/src/mainwindow.h b/src/mainwindow.h index f1de2d7..abf9acc 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -3,6 +3,8 @@ #include #include #include +#include +#include #include "archive_parser.h" #include "types.h" @@ -47,6 +49,12 @@ private: void reset_view_filters(); void relist_statuses(); void open_file(const QString &filename); + void archive_thread_watcher_done(); + + void finish_listWidget_itemActivated(const QString& status_info); + void finish_open_file(const Archive::InitError& parse_error); + + QString open_file_filename; Ui::MainWindow *ui; @@ -54,6 +62,7 @@ private: bool view_filters_changed = false; Archive *data_archive = nullptr; + QFutureWatcher> archive_thread_watcher; QLocale locale_context; }; -- cgit v1.2.3-54-g00ecf