diff options
author | Stanislaw Halik <sthalik@misaki.pl> | 2023-02-27 14:26:43 +0100 |
---|---|---|
committer | Stanislaw Halik <sthalik@misaki.pl> | 2023-02-27 15:46:03 +0100 |
commit | b05464749c618b83167e23f8b7046c1d29cbd9a3 (patch) | |
tree | 737854fac27c84595a53d97dce7ddbee862f3574 /opentrack/software-update-dialog.hpp | |
parent | d7fb4b69ef543c8201b043424b9f24bfe8e050d1 (diff) |
opentrack: add back the updater
Diffstat (limited to 'opentrack/software-update-dialog.hpp')
-rw-r--r-- | opentrack/software-update-dialog.hpp | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/opentrack/software-update-dialog.hpp b/opentrack/software-update-dialog.hpp new file mode 100644 index 00000000..1e150e62 --- /dev/null +++ b/opentrack/software-update-dialog.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include <QtNetwork> +#include <QDialog> +#include <QTimer> +#include "ui_software-update.h" + +extern "C" const char* const opentrack_version; + +class update_query final : public QObject +{ + Q_OBJECT +public: + explicit update_query(QWidget* parent) : QObject{parent} {} + + QNetworkReply* r = nullptr; + QNetworkAccessManager qnam{this}; + QByteArray buf; + QTimer t{this}; + + void on_finished(); + void on_ready() { buf.append(r->readAll()); } + void maybe_show_dialog(); +}; + +class update_dialog : QDialog +{ + Q_OBJECT + friend class update_query; +private: + Ui::UpdateDialog ui; + update_query& q; + update_dialog(QWidget* parent, update_query& q, const QString& new_version); +}; |