@ -19,14 +19,7 @@
@@ -19,14 +19,7 @@
# include "src/net/updatecheck.h"
# include "src/persistence/settings.h"
# ifndef APPIMAGE_UPDATER_BRIDGE_ENABLED
# include <QNetworkAccessManager>
# else
# include <QApplication>
# include <QScreen>
# include <AppImageUpdaterBridge>
# include <AppImageUpdaterDialog>
# endif
# include <QDebug>
# include <QJsonDocument>
# include <QJsonObject>
@ -36,34 +29,16 @@
@@ -36,34 +29,16 @@
# include <QTimer>
# include <cassert>
# ifndef APPIMAGE_UPDATER_BRIDGE_ENABLED
namespace {
const QString versionUrl { QStringLiteral ( " https://api.github.com/repos/qTox/qTox/releases/latest " ) } ;
} // namespace
# else
using AppImageUpdaterBridge : : AppImageDeltaRevisioner ;
using AppImageUpdaterBridge : : AppImageUpdaterDialog ;
# endif
UpdateCheck : : UpdateCheck ( const Settings & settings )
: settings ( settings )
{
updateTimer . start ( 1000 * 60 * 60 * 24 /* 1 day */ ) ;
connect ( & updateTimer , & QTimer : : timeout , this , & UpdateCheck : : checkForUpdate ) ;
# ifndef APPIMAGE_UPDATER_BRIDGE_ENABLED
connect ( & manager , & QNetworkAccessManager : : finished , this , & UpdateCheck : : handleResponse ) ;
# else
connect ( & revisioner , & AppImageDeltaRevisioner : : updateAvailable , this , & UpdateCheck : : handleUpdate ) ;
connect ( & revisioner , & AppImageDeltaRevisioner : : error , this , & UpdateCheck : : updateCheckFailed ,
Qt : : DirectConnection ) ;
updateDialog . reset ( new AppImageUpdaterDialog ( QPixmap ( " :/img/icons/qtox.svg " ) ) ) ;
connect ( updateDialog . data ( ) , & AppImageUpdaterDialog : : quit , QApplication : : instance ( ) ,
& QApplication : : quit , Qt : : QueuedConnection ) ;
connect ( updateDialog . data ( ) , & AppImageUpdaterDialog : : canceled , this , & UpdateCheck : : handleUpdateEnd ) ;
connect ( updateDialog . data ( ) , & AppImageUpdaterDialog : : finished , this , & UpdateCheck : : handleUpdateEnd ) ;
connect ( updateDialog . data ( ) , & AppImageUpdaterDialog : : error , this , & UpdateCheck : : handleUpdateEnd ) ;
# endif
}
void UpdateCheck : : checkForUpdate ( )
@ -72,30 +47,11 @@ void UpdateCheck::checkForUpdate()
@@ -72,30 +47,11 @@ void UpdateCheck::checkForUpdate()
// still run the timer to check periodically incase setting changes
return ;
}
# ifndef APPIMAGE_UPDATER_BRIDGE_ENABLED
manager . setProxy ( settings . getProxy ( ) ) ;
QNetworkRequest request { versionUrl } ;
manager . get ( request ) ;
# else
revisioner . clear ( ) ;
revisioner . setProxy ( settings . getProxy ( ) ) ;
revisioner . checkForUpdate ( ) ;
# endif
}
# ifdef APPIMAGE_UPDATER_BRIDGE_ENABLED
void UpdateCheck : : initUpdate ( )
{
disconnect ( & revisioner , & AppImageDeltaRevisioner : : updateAvailable , this ,
& UpdateCheck : : handleUpdate ) ;
disconnect ( & revisioner , & AppImageDeltaRevisioner : : error , this , & UpdateCheck : : updateCheckFailed ) ;
updateDialog - > move ( QGuiApplication : : primaryScreen ( ) - > geometry ( ) . center ( )
- updateDialog - > rect ( ) . center ( ) ) ;
updateDialog - > init ( & revisioner ) ;
}
# endif
# ifndef APPIMAGE_UPDATER_BRIDGE_ENABLED
void UpdateCheck : : handleResponse ( QNetworkReply * reply )
{
assert ( reply ! = nullptr ) ;
@ -135,23 +91,3 @@ void UpdateCheck::handleResponse(QNetworkReply* reply)
@@ -135,23 +91,3 @@ void UpdateCheck::handleResponse(QNetworkReply* reply)
}
reply - > deleteLater ( ) ;
}
# else
void UpdateCheck : : handleUpdate ( bool aval )
{
if ( aval ) {
qInfo ( ) < < " Update available " ;
emit updateAvailable ( ) ;
return ;
}
qInfo ( ) < < " qTox is up to date " ;
emit upToDate ( ) ;
}
void UpdateCheck : : handleUpdateEnd ( )
{
connect ( & revisioner , & AppImageDeltaRevisioner : : error , this , & UpdateCheck : : updateCheckFailed ,
( Qt : : ConnectionType ) ( Qt : : DirectConnection | Qt : : UniqueConnection ) ) ;
connect ( & revisioner , & AppImageDeltaRevisioner : : updateAvailable , this ,
& UpdateCheck : : handleUpdate , Qt : : UniqueConnection ) ;
}
# endif // APPIMAGE_UPDATER_BRIDGE_ENABLED