2011-03-03 18:29:20 +01:00
/* ============================================================
* QupZilla - WebKit based browser
* Copyright ( C ) 2010 - 2011 nowrep
*
* This program is free software : you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation , either version 3 of the License , or
* ( at your option ) any later version .
*
* This program 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/>.
* = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = */
2011-03-02 16:57:41 +01:00
# include "updater.h"
# include "qupzilla.h"
# include "tabwidget.h"
2011-04-24 22:40:35 +02:00
# include "desktopnotificationsfactory.h"
2011-03-02 16:57:41 +01:00
2011-03-17 17:03:04 +01:00
Updater : : Updater ( QupZilla * mainClass , QObject * parent ) :
2011-03-02 16:57:41 +01:00
QObject ( parent )
, p_QupZilla ( mainClass )
{
# ifndef DEVELOPING
QTimer : : singleShot ( 60 * 1000 , this , SLOT ( start ( ) ) ) ; //Start checking after 1 minute
# endif
2011-04-24 22:40:35 +02:00
QTimer : : singleShot ( 1000 , this , SLOT ( start ( ) ) ) ;
2011-03-02 16:57:41 +01:00
}
void Updater : : start ( )
{
2011-03-03 22:52:15 +01:00
startDownloadingUpdateInfo ( QUrl ( QupZilla : : WWWADDRESS + " /update.php?v= " + QupZilla : : VERSION ) ) ;
2011-03-02 16:57:41 +01:00
}
void Updater : : startDownloadingUpdateInfo ( const QUrl & url )
{
QNetworkAccessManager * manager = new QNetworkAccessManager ( ) ;
QNetworkReply * reply ;
reply = manager - > get ( QNetworkRequest ( QUrl ( url ) ) ) ;
2011-03-17 17:03:04 +01:00
connect ( manager , SIGNAL ( finished ( QNetworkReply * ) ) , this , SLOT ( downCompleted ( QNetworkReply * ) ) ) ;
2011-03-02 16:57:41 +01:00
}
void Updater : : downCompleted ( QNetworkReply * reply )
{
QString html = QString ( reply - > readAll ( ) ) ;
if ( html . startsWith ( " Version: " ) ) {
html . remove ( " Version: " ) ;
2011-04-24 22:40:35 +02:00
if ( html ! = QupZilla : : VERSION )
mApp - > desktopNotifications ( ) - > notify ( QPixmap ( " :icons/qupzillaupdate.png " ) , tr ( " Update is available " ) , tr ( " Newer version of QupZilla is ready to download. " ) ) ;
2011-03-02 16:57:41 +01:00
2011-04-24 22:40:35 +02:00
}
2011-03-02 16:57:41 +01:00
reply - > manager ( ) - > deleteLater ( ) ;
}
Updater : : ~ Updater ( )
{
}