QSimpleUpdater/Example/example.cpp
Alex Spataru 23999faf4e Added developer documentation links in readme file
- Added developer documentation links in read me
- Added aytostyle scripts
2015-01-25 17:27:18 -06:00

90 lines
3.1 KiB
C++

#include "example.h"
#include "ui_example.h"
int main (int argc, char *argv[])
{
QApplication app (argc, argv);
app.setApplicationName ("QSimpleUpdater Example");
// Create the dialog and show it
Example example;
example.show();
// Run the app
return app.exec();
}
Example::Example (QWidget *parent) : QDialog (parent), ui (new Ui::Example)
{
// Create and configure the user interface
ui->setupUi (this);
ui->versionLineEdit->setText ("0.1");
ui->versionLineEdit->setPlaceholderText ("0.1");
ui->changelogTextEdit->setPlainText ("Click the \"Check for updates\" button to download the change log");
// Close the dialog when the close button is clicked
connect (ui->closeButton, SIGNAL (clicked()), this, SLOT (close()));
// Check for updates when the updates button is clicked
connect (ui->updatesButton, SIGNAL (clicked()), this, SLOT (checkForUpdates()));
// Initialize the updater
updater = new QSimpleUpdater (this);
// When the updater finishes checking for updates, show a message box
// and show the change log of the latest version
connect (updater, SIGNAL (checkingFinished()), this, SLOT (onCheckingFinished()));
}
Example::~Example()
{
delete ui;
}
void Example::checkForUpdates()
{
// Disable the check for updates button while the updater
// is checking for updates
ui->updatesButton->setEnabled (false);
ui->updatesButton->setText ("Checking for updates...");
// If the user changed the text of the versionLineEdit, then change the
// application version in the updater too
if (!ui->versionLineEdit->text().isEmpty())
updater->setApplicationVersion (ui->versionLineEdit->text());
// If the versionLineEdit is empty, then set the application version
// to "0.1"
else
updater->setApplicationVersion ("0.1");
// Tell the updater where we should download the changelog, note that
// the changelog can be any file you want,
// such as an HTML page or (as in this example), a text file
updater->setChangelogUrl ("https://raw.githubusercontent.com/alex-97/"
"QSimpleUpdater/Files-for-example-project/changelog.txt");
// Tell the updater where we can find the file that tells us the latest version
// of the application
updater->setReferenceUrl ("https://raw.githubusercontent.com/alex-97/"
"QSimpleUpdater/Files-for-example-project/current_version.txt");
// Tell the updater where to download the update, its recommended to use direct links
updater->setDownloadUrl ("https://codeload.github.com/alex-97/QSimpleUpdater/zip/master");
// Show the progress dialog and show messages when checking is finished
updater->setSilent (false);
updater->setShowNewestVersionMessage (true);
// Finally, check for updates...
updater->checkForUpdates();
}
void Example::onCheckingFinished()
{
// Enable the updatesButton and change its text to let the user know
// that he/she can check for updates again
ui->updatesButton->setEnabled (true);
ui->updatesButton->setText ("Check for updates");
}