blob: caad7cfa1e5d904e10e7893745fc983cdcece59f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#pragma once
#include <QtNetwork>
#include <QDialog>
#include "ui_software-update.h"
extern "C" const char* const opentrack_version;
struct update_query final
{
explicit update_query(QWidget* parent) : parent(parent), qnam(parent) {}
QWidget* parent;
QNetworkReply* r = nullptr;
QNetworkAccessManager qnam;
QByteArray buf;
bool abort = false;
void on_finished();
void on_ready() { buf.append(r->readAll()); }
void maybe_show_dialog();
};
class update_dialog : public QDialog
{
Q_OBJECT
friend struct 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);
};
|