7 class Updater : public QObject {
11 /// Set a shared Updater instance
12 static void setInstance(Updater *value);
14 /// Get a shared updater instance, null by default
15 static Updater &instance();
17 Updater(QObject *parent = nullptr);
20 QPushButton *getButton();
31 Status getStatus() const { return status; }
32 // This should be protected
33 void setStatus(Status v);
35 QString getVersion() const { return version; }
36 // This should be protected
37 void setVersion(const QString &value) { version = value; }
39 QString getDisplayVersion() const { return displayVersion; }
40 // This should be protected
41 void setDisplayVersion(const QString &value) { displayVersion = value; }
43 virtual bool getImmediateInstallAndRelaunch() const { return immediateInstallAndRelaunch; }
44 virtual void setImmediateInstallAndRelaunch(bool value) { immediateInstallAndRelaunch = value; }
46 virtual bool getAutomaticDownload() const { return automaticDownload; }
47 virtual void setAutomaticDownload(bool value) { automaticDownload = value; }
49 virtual void checkAndShowUI() = 0;
50 virtual void checkAndMaybeShowUI() = 0;
51 virtual void checkWithoutUI() = 0;
54 virtual void update() = 0;
55 virtual void onUserAction();
58 void statusChanged(Status status);
59 void actionTextChanged(const QString &actionText);
62 QAction *action = nullptr;
63 QPushButton *button = nullptr;
64 QLabel *label = nullptr;
66 bool automaticDownload = true;
67 bool immediateInstallAndRelaunch = false;
68 Status status = Status::UpToDate;
70 QString displayVersion;