diff options
| author | Stanislaw Halik <sthalik@misaki.pl> | 2022-05-08 19:59:35 +0200 |
|---|---|---|
| committer | Stanislaw Halik <sthalik@misaki.pl> | 2022-05-10 05:01:33 +0200 |
| commit | fa7261f124327ccac5212e7fed23cd21cc062fef (patch) | |
| tree | 0591a8d9d15b1ff241c5b4480072d397c23880c7 /opentrack/software-update-dialog.hpp | |
| parent | a6c4bab412e45c327c32e56fb77e235bbc9f9d84 (diff) | |
trackhat: run update check in the background
Diffstat (limited to 'opentrack/software-update-dialog.hpp')
| -rw-r--r-- | opentrack/software-update-dialog.hpp | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/opentrack/software-update-dialog.hpp b/opentrack/software-update-dialog.hpp index caad7cfa..1e150e62 100644 --- a/opentrack/software-update-dialog.hpp +++ b/opentrack/software-update-dialog.hpp @@ -2,35 +2,33 @@ #include <QtNetwork> #include <QDialog> +#include <QTimer> #include "ui_software-update.h" extern "C" const char* const opentrack_version; -struct update_query final +class update_query final : public QObject { - explicit update_query(QWidget* parent) : parent(parent), qnam(parent) {} + Q_OBJECT +public: + explicit update_query(QWidget* parent) : QObject{parent} {} - QWidget* parent; QNetworkReply* r = nullptr; - QNetworkAccessManager qnam; + QNetworkAccessManager qnam{this}; QByteArray buf; - bool abort = false; + QTimer t{this}; void on_finished(); void on_ready() { buf.append(r->readAll()); } void maybe_show_dialog(); }; -class update_dialog : public QDialog +class update_dialog : QDialog { Q_OBJECT - friend struct update_query; + friend class update_query; private: Ui::UpdateDialog ui; update_query& q; -private slots: - void close(QAbstractButton*) { QDialog::close(); } -public: update_dialog(QWidget* parent, update_query& q, const QString& new_version); }; - |
