76 lines
2.4 KiB
C++
76 lines
2.4 KiB
C++
/*
|
|
This file is part of Mitsuba, a physically based rendering system.
|
|
|
|
Copyright (c) 2007-2011 by Wenzel Jakob and others.
|
|
|
|
Mitsuba is free software; you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License Version 3
|
|
as published by the Free Software Foundation.
|
|
|
|
Mitsuba is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#include "ui_updatedlg.h"
|
|
#include "updatedlg.h"
|
|
|
|
UpdateDialog::UpdateDialog(QWidget *parent, const Version &local,
|
|
const Version &remote) : QDialog(parent),
|
|
ui(new Ui::UpdateDialog) {
|
|
ui->setupUi(this);
|
|
m_remoteVersion = remote.toString().c_str();
|
|
ui->versionLabel->setText(QApplication::translate("UpdateDialog",
|
|
"Version %1 has been released (you are using %2). Would you like to visit the download page?",
|
|
0, QApplication::UnicodeUTF8).arg(m_remoteVersion).arg(local.toString().c_str()));
|
|
ui->changeView->setHtml("Loading change log ..");
|
|
m_networkManager = new QNetworkAccessManager(this);
|
|
connect(m_networkManager, SIGNAL(finished(QNetworkReply *)),
|
|
this, SLOT(onNetworkFinished(QNetworkReply *)));
|
|
m_networkReply = m_networkManager->get(QNetworkRequest(QUrl("http://www.mitsuba-renderer.org/changelog.html")));
|
|
}
|
|
|
|
void UpdateDialog::onNetworkFinished(QNetworkReply *reply) {
|
|
if (reply->error() == QNetworkReply::NoError)
|
|
ui->changeView->setHtml(QString(reply->readAll()));
|
|
else
|
|
ui->changeView->setHtml("Unable to load the change log!");
|
|
m_networkReply = NULL;
|
|
}
|
|
|
|
UpdateDialog::~UpdateDialog() {
|
|
if (m_networkReply)
|
|
m_networkReply->abort();
|
|
delete ui;
|
|
}
|
|
|
|
void UpdateDialog::on_skipButton_clicked() {
|
|
QSettings settings("mitsuba-renderer.org", "qtgui");
|
|
settings.setValue("ignoredVersion", m_remoteVersion);
|
|
accept();
|
|
}
|
|
|
|
void UpdateDialog::on_remindButton_clicked() {
|
|
accept();
|
|
}
|
|
|
|
void UpdateDialog::on_downloadButton_clicked() {
|
|
QDesktopServices::openUrl(QUrl("http://www.mitsuba-renderer.org/download.html"));
|
|
accept();
|
|
}
|
|
|
|
void UpdateDialog::changeEvent(QEvent *e) {
|
|
QDialog::changeEvent(e);
|
|
switch (e->type()) {
|
|
case QEvent::LanguageChange:
|
|
ui->retranslateUi(this);
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
}
|