All Classes Namespaces Functions Variables Enumerations Properties Pages
checkupdatesdialog.h
1 /*
2 
3 Pencil2D - Traditional Animation Software
4 Copyright (C) 2005-2007 Patrick Corrieri & Pascal Naidon
5 Copyright (C) 2012-2020 Matthew Chiawen Chang
6 
7 This program is free software; you can redistribute it and/or
8 modify it under the terms of the GNU General Public License
9 as published by the Free Software Foundation; version 2 of the License.
10 
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15 
16 */
17 
18 #ifndef CHECKUPDATESDIALOG_H
19 #define CHECKUPDATESDIALOG_H
20 
21 #include <QDialog>
22 
24 class QNetworkReply;
25 class QPushButton;
26 class QLabel;
27 class QProgressBar;
28 
29 
31 {
32  Q_OBJECT
33 
34 public:
37 
38  void startChecking();
39 
40 private:
41  void regularBuildCheck();
42  void nightlyBuildCheck();
43  void networkErrorHappened();
44  void networkResponseIsEmpty();
45  void invalidReleaseXml();
46 
47  void networkRequestFinished(QNetworkReply* reply);
48  bool compareVersion(QString currentVersion, QString latestVersion);
49  QString getVersionNumberFromXml(QString xml);
50 
51  void gotoDownloadPage();
52  void closeDialog();
53 
54  QNetworkAccessManager* mNetworkManager = nullptr;
55  QProgressBar* mProgressBar = nullptr;
56  QLabel* mTitleLabel = nullptr;
57  QLabel* mDetailLabel = nullptr;
58  QPushButton* mDownloadButton = nullptr;
59  QPushButton* mCloseButton = nullptr;
60 };
61 
62 #endif // CHECKUPDATESDIALOG_H
Q_OBJECTQ_OBJECT