From f890dd8c22cae9e90d55b763f1d896b25975aeab Mon Sep 17 00:00:00 2001 From: ConfuSomu Date: Mon, 27 Nov 2023 20:34:50 -0500 Subject: Remove variants from QtConcurrent in main window The std::variants weren't used and were making the code more complex to no advantage. All code that would have benefited from variants has already been moved to QThreads elsewhere --- src/archive/base_archive.h | 2 +- src/archive/mastodon.cpp | 2 +- src/archive/mastodon.h | 2 +- src/mainwindow.cpp | 15 +++++---------- src/mainwindow.h | 5 ++--- 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/archive/base_archive.h b/src/archive/base_archive.h index 7d52cd5..bf43306 100644 --- a/src/archive/base_archive.h +++ b/src/archive/base_archive.h @@ -29,7 +29,7 @@ public: }; virtual ~Archive() {}; - virtual std::variant init() = 0; + virtual InitError init() = 0; static Archive* create_archive(ArchiveType archive_type, const QString& main_filename); diff --git a/src/archive/mastodon.cpp b/src/archive/mastodon.cpp index 50253c6..781f928 100644 --- a/src/archive/mastodon.cpp +++ b/src/archive/mastodon.cpp @@ -19,7 +19,7 @@ MastodonArchive::MastodonArchive(const QString& filename) : Archive(filename) {} -std::variant MastodonArchive::init() { +MastodonArchive::InitError MastodonArchive::init() { QFile outbox_file(main_filename); if (!outbox_file.open(QIODevice::ReadOnly | QIODevice::Text)) diff --git a/src/archive/mastodon.h b/src/archive/mastodon.h index 0d57d7a..75bc7ec 100644 --- a/src/archive/mastodon.h +++ b/src/archive/mastodon.h @@ -15,7 +15,7 @@ class MastodonArchive : public Archive { public: MastodonArchive(const QString& filename); ~MastodonArchive(); - std::variant init(); + InitError init(); void update_status_list(ViewStatusTypes allowed_types, QListWidget *parent); APActivity* get_activity(ArchiveItemRef index, Hinting_t hinting = {}); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 82f4b37..12a71b8 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -25,7 +25,7 @@ MainWindow::MainWindow(QWidget *parent) connect(ui->buttonCopy, &QPushButton::clicked, ui->actionCopy_status, &QAction::trigger); connect(ui->buttonRandom, &QPushButton::clicked, ui->actionRandom_status, &QAction::trigger); connect(ui->buttonSearch, &QPushButton::clicked, ui->actionFind, &QAction::trigger); - connect(&archive_thread_watcher, &QFutureWatcher>::finished, this, &MainWindow::archive_thread_watcher_done); + connect(&archive_thread_watcher, &QFutureWatcher::finished, this, &MainWindow::archive_thread_watcher_done); } MainWindow::~MainWindow() @@ -281,13 +281,8 @@ void MainWindow::finish_open_file(const Archive::InitError& parse_error) { } void MainWindow::archive_thread_watcher_done() { - std::variant result = archive_thread_watcher.result(); - - // For MainWindow::on_listWidget_itemActivated - if (std::get_if(&result)) { - // For MainWindow::open_file - if (const Archive::InitError* parse_error = std::get_if(&result)) - finish_open_file(*parse_error); - } else if (not std::get_if(&result)) - qDebug() << "What, the variant is weird"; + Archive::InitError result = archive_thread_watcher.result(); + + if (result) + finish_open_file(result); } diff --git a/src/mainwindow.h b/src/mainwindow.h index 22f5b29..7e46cec 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -4,7 +4,6 @@ #include #include #include -#include #include "archive/base_archive.h" #include "src/list_item.h" @@ -65,7 +64,7 @@ private: void open_file(const QString &filename); void archive_thread_watcher_done(); - std::variant start_listWidget_itemActivated(StatusListItem* status); + Archive::InitError start_listWidget_itemActivated(StatusListItem* status); void finish_open_file(const Archive::InitError& parse_error); void settingsDialog_done(int result); @@ -81,7 +80,7 @@ private: bool view_filters_changed = false; Archive *data_archive = nullptr; - QFutureWatcher> archive_thread_watcher; + QFutureWatcher archive_thread_watcher; QLocale locale_context; }; -- cgit v1.2.3-54-g00ecf