diff options
-rw-r--r-- | src/archive/base_archive.h | 2 | ||||
-rw-r--r-- | src/archive/mastodon.cpp | 2 | ||||
-rw-r--r-- | src/archive/mastodon.h | 2 | ||||
-rw-r--r-- | src/mainwindow.cpp | 15 | ||||
-rw-r--r-- | 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<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; }; |