aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorConfuSomu2023-11-27 20:34:50 -0500
committerConfuSomu2023-11-27 20:47:53 -0500
commitf890dd8c22cae9e90d55b763f1d896b25975aeab (patch)
tree73db0a45e54e98468d916f42a4f3ab3acc1f5949
parentd12ac245778c295cf606671021e6aa66bcfc0d80 (diff)
downloadActorViewer-f890dd8c22cae9e90d55b763f1d896b25975aeab.tar
ActorViewer-f890dd8c22cae9e90d55b763f1d896b25975aeab.tar.gz
ActorViewer-f890dd8c22cae9e90d55b763f1d896b25975aeab.zip
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
-rw-r--r--src/archive/base_archive.h2
-rw-r--r--src/archive/mastodon.cpp2
-rw-r--r--src/archive/mastodon.h2
-rw-r--r--src/mainwindow.cpp15
-rw-r--r--src/mainwindow.h5
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<QString, InitError> 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<QString, MastodonArchive::InitError> 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<QString, InitError> 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<std::variant<QString, Archive::InitError>>::finished, this, &MainWindow::archive_thread_watcher_done);
+ connect(&archive_thread_watcher, &QFutureWatcher<Archive::InitError>::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<QString, Archive::InitError> result = archive_thread_watcher.result();
-
- // For MainWindow::on_listWidget_itemActivated
- if (std::get_if<Archive::InitError>(&result)) {
- // For MainWindow::open_file
- if (const Archive::InitError* parse_error = std::get_if<Archive::InitError>(&result))
- finish_open_file(*parse_error);
- } else if (not std::get_if<QString>(&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 <QListWidgetItem>
#include <QLocale>
#include <QFutureWatcher>
-#include <variant>
#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<QString, Archive::InitError> 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<std::variant<QString, Archive::InitError>> archive_thread_watcher;
+ QFutureWatcher<Archive::InitError> archive_thread_watcher;
QLocale locale_context;
};