84 explicit CFrmUpdater(QVector<QUrl> urls = QVector<QUrl>(), QWidget *parent =
nullptr);
87 int SetVersion(
const QString &szVersion);
94 int SetTitle(QImage icon = QImage(),
const QString &szTitle = QString());
101 int GenerateUpdateXml();
103 int GenerateUpdateXml(QCommandLineParser &parser);
109 int GenerateUpdateJson();
117 int GenerateUpdateJson(QCommandLineParser &parser);
124 int SetInstallAutoStartup(
bool bAutoStart =
true);
128 void slotDownloadError(
int nErr,
const QString szError);
129 void slotDownloadFileFinished(
const QString szFile);
130 void slotDownloadProgress(qint64 bytesReceived, qint64 bytesTotal);
133 void slotButtonClickd(
int id);
135 void slotDownloadFile();
136 virtual void slotCheckConfigFile();
137 void slotDownloadSetupFile();
139 void slotStateFinished();
141 void on_pbOK_clicked();
142 void on_pbClose_clicked();
143 void slotShowWindow(QSystemTrayIcon::ActivationReason reason);
148 void sigDownLoadRedire();
152 int CompareVersion(
const QString &newVersion,
const QString ¤tVersion);
153 int InitStateMachine();
155 int CheckRedirectConfigFile();
156 int CheckUpdateConfigFile();
157 bool CheckPrompt(
const QString &szVersion);
158 QString InstallScript(
const QString szDownLoadFile,
159 const QString szApplicationName);
163 bool m_InstallAutoStartupType;
165 QSystemTrayIcon m_TrayIcon;
167 QButtonGroup m_ButtonGroup;
169 QString m_szCurrentVersion;
171 QFile m_DownloadFile;
173 QVector<QUrl> m_Urls;
175 QSharedPointer<RabbitCommon::CDownload> m_Download;
178 QStateMachine* m_StateMachine;
179 QState *m_pStateDownloadSetupFile;
181 enum class CONFIG_TYPE{
189 QString szMinUpdateVersion;
190 QString szInfomation;
198 QString szSystemMinVersion;
199 QString szArchitecture;
200 QString szArchitectureMinVersion;
208 QString szMinUpdateVersion;
209 QVector<CONFIG_FILE> files;
214 QVector<CONFIG_FILE> files;
219 int GetRedirectFromFile(
const QString& szFile, QVector<CONFIG_REDIRECT> &conf);
220 int GetConfigFromFile(
const QString& szFile,
CONFIG_INFO &conf);
221 int GetConfigFromCommandLine(QCommandLineParser &parser,
225 int GenerateUpdateXmlFile(
const QString &szFile,
228 int GenerateJsonFile(
const QString &szFile,
234 virtual void showEvent(QShowEvent *event)
override;
236 void on_cbPrompt_clicked(
bool checked);
237 void on_cbHomePage_clicked(
bool checked);
239#if defined(HAVE_TEST)