Quit app before updating
Show a message box prompting the user to quit the application before applying the update
This commit is contained in:
parent
34e331b2ac
commit
7b0444263e
@ -2,7 +2,7 @@
|
|||||||
PREFACE
|
PREFACE
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
Many websites today use the HTTPS protocol, which means that you will need SSL in order to communicate with them. If your project needs to access such a webiste (for example GitHub), you will need to carefully read the following information in order to ensure that QSimpleUpdater works with those websites (both in your machine and in the final users' machine).
|
Many websites today use the HTTPS protocol, which means that you will need SSL in order to communicate with them. If your project needs to access such a webiste (for example GitHub), you will need to carefully read the following information in order to ensure that QSimpleUpdater works with those websites (both in your machine and in the final users' machine).
|
||||||
|
|
||||||
This readme guide is extremely important for any developer wishing to deploy his or her applications under the Windows platform, because the application will depend on the libraries provided by QSimpleUpdater.
|
This readme guide is extremely important for any developer wishing to deploy his or her applications under the Windows platform, because the application will depend on the libraries provided by QSimpleUpdater.
|
||||||
|
|
||||||
@ -10,7 +10,7 @@ This readme guide is extremely important for any developer wishing to deploy his
|
|||||||
LINUX
|
LINUX
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
Make sure that you have installed the following libraries in your system:
|
Make sure that you have installed the following libraries in your system:
|
||||||
|
|
||||||
- lssl
|
- lssl
|
||||||
- lcrypto
|
- lcrypto
|
||||||
@ -19,13 +19,13 @@ This readme guide is extremely important for any developer wishing to deploy his
|
|||||||
MAC OSX
|
MAC OSX
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
The libraries required by QSimpleUpdater are the same as Linux, however, these libraries are installed by default in most Mac OS X installations.
|
The libraries required by QSimpleUpdater are the same as Linux, however, these libraries are installed by default in most Mac OS X installations.
|
||||||
|
|
||||||
--------------
|
--------------
|
||||||
WINDOWS
|
WINDOWS
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
QSimpleUpdater makes use of the OpenSSL-Win32 project, make sure that you deploy the following DLLs allong your application (the DLLs are provided with the source of QSimpleUpdater):
|
QSimpleUpdater makes use of the OpenSSL-Win32 project, make sure that you deploy the following DLLs allong your application (the DLLs are provided with the source of QSimpleUpdater):
|
||||||
|
|
||||||
- dependencies/OpenSSL-Win32/bin/libeay32.dll
|
- dependencies/OpenSSL-Win32/bin/libeay32.dll
|
||||||
- dependencies/OpenSSL-Win32/bin/ssleay32.dll
|
- dependencies/OpenSSL-Win32/bin/ssleay32.dll
|
@ -24,6 +24,11 @@ DownloadDialog::DownloadDialog (QWidget *parent)
|
|||||||
|
|
||||||
// Connect SIGNALS/SLOTS
|
// Connect SIGNALS/SLOTS
|
||||||
connect (ui->stopButton, SIGNAL (clicked()), this, SLOT (cancelDownload()));
|
connect (ui->stopButton, SIGNAL (clicked()), this, SLOT (cancelDownload()));
|
||||||
|
connect (ui->openButton, SIGNAL (clicked()), this, SLOT (installUpdate()));
|
||||||
|
|
||||||
|
// Configure open button
|
||||||
|
ui->openButton->setEnabled(false);
|
||||||
|
ui->openButton->setVisible(false);
|
||||||
|
|
||||||
// Initialize the network access manager
|
// Initialize the network access manager
|
||||||
m_manager = new QNetworkAccessManager (this);
|
m_manager = new QNetworkAccessManager (this);
|
||||||
@ -61,6 +66,28 @@ void DownloadDialog::beginDownload (const QUrl& url) {
|
|||||||
showNormal();
|
showNormal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DownloadDialog::installUpdate(void) {
|
||||||
|
QMessageBox msg;
|
||||||
|
msg.setIcon(QMessageBox::Question);
|
||||||
|
msg.setText("<b>" +
|
||||||
|
tr("To apply the update(s), you must first quit %1")
|
||||||
|
.arg(qApp->applicationName()) +
|
||||||
|
"</b>");
|
||||||
|
msg.setInformativeText(tr("Do you want to quit %1 now?").arg(qApp->applicationName()));
|
||||||
|
msg.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
|
||||||
|
|
||||||
|
if (msg.exec() == QMessageBox::Yes) {
|
||||||
|
openDownload();
|
||||||
|
qApp->closeAllWindows();
|
||||||
|
}
|
||||||
|
|
||||||
|
else {
|
||||||
|
ui->openButton->setEnabled(true);
|
||||||
|
ui->openButton->setVisible(true);
|
||||||
|
ui->timeLabel->setText (tr ("Click the \"Open\" button to apply the update"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void DownloadDialog::openDownload(void) {
|
void DownloadDialog::openDownload(void) {
|
||||||
if (!m_path.isEmpty()) {
|
if (!m_path.isEmpty()) {
|
||||||
QString url = m_path;
|
QString url = m_path;
|
||||||
@ -110,7 +137,7 @@ void DownloadDialog::downloadFinished(void) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
file.close();
|
file.close();
|
||||||
openDownload();
|
installUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@ public:
|
|||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void openDownload(void);
|
void openDownload(void);
|
||||||
|
void installUpdate(void);
|
||||||
void cancelDownload(void);
|
void cancelDownload(void);
|
||||||
void downloadFinished(void);
|
void downloadFinished(void);
|
||||||
void updateProgress (qint64 received, qint64 total);
|
void updateProgress (qint64 received, qint64 total);
|
||||||
|
@ -185,6 +185,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="openButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Open</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QPushButton" name="stopButton">
|
<widget class="QPushButton" name="stopButton">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
|
Loading…
x
Reference in New Issue
Block a user