File indexing completed on 2024-05-19 16:43:50
0001 /*************************************************************************** 0002 * Copyright (C) 2015 by Renaud Guezennec * 0003 * https://rolisteam.org/contact * 0004 * * 0005 * rolisteam is free software; you can redistribute it and/or modify * 0006 * it under the terms of the GNU General Public License as published by * 0007 * the Free Software Foundation; either version 2 of the License, or * 0008 * (at your option) any later version. * 0009 * * 0010 * This program is distributed in the hope that it will be useful, * 0011 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 0012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 0013 * GNU General Public License for more details. * 0014 * * 0015 * You should have received a copy of the GNU General Public License * 0016 * along with this program; if not, write to the * 0017 * Free Software Foundation, Inc., * 0018 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 0019 ***************************************************************************/ 0020 #include "updaterwindow.h" 0021 #include <QFile> 0022 #include <QMessageBox> 0023 UpdaterWindow::UpdaterWindow(QWidget* parent) : QWidget(parent) 0024 { 0025 // Windows Options 0026 setFixedSize(258, 112); 0027 setWindowTitle("Updater"); 0028 0029 m_progressBar= new QProgressBar(this); 0030 m_progressBar->setValue(0); 0031 #ifdef HAVE_QT_NETWORK 0032 m_manager.reset(new QNetworkAccessManager()); 0033 reply= m_manager->get(QNetworkRequest(QUrl("http://site.fr/last/application.exe"))); 0034 connect(reply, SIGNAL(finished()), this, SLOT(save())); 0035 connect(reply, SIGNAL(downloadProgress(qint64, qint64)), this, SLOT(downloadProgess(qint64, qint64))); 0036 #endif 0037 } 0038 0039 void UpdaterWindow::downloadProgess(qint64 bytesReceived, qint64 bytesTotal) 0040 { 0041 if(bytesTotal != -1) 0042 { 0043 m_progressBar->setRange(0, bytesTotal); 0044 m_progressBar->setValue(bytesReceived); 0045 } 0046 } 0047 0048 void UpdaterWindow::save() 0049 { 0050 reply->deleteLater(); 0051 QFile lastversion("rolisteam.exe"); 0052 0053 if(lastversion.open(QIODevice::WriteOnly)) 0054 { 0055 lastversion.write(reply->readAll()); 0056 lastversion.close(); 0057 //QMessageBox::information(this, "", ""); 0058 } 0059 close(); 0060 }