checking if internet is available before trying to check for an update. This resolve the shutdown after a minute error on mac os x and windows

preferencesAboutTextFull
Claudio Valerio 13 years ago
parent f6684fc7ea
commit 3d9cd22bd2
  1. 22
      src/core/UBApplicationController.cpp
  2. 3
      src/core/UBApplicationController.h
  3. 1
      src/network/UBNetworkAccessManager.cpp

@ -49,6 +49,8 @@
#include "podcast/UBPodcastController.h" #include "podcast/UBPodcastController.h"
#include "network/UBNetworkAccessManager.h"
#include "ui_mainWindow.h" #include "ui_mainWindow.h"
#ifdef Q_WS_MAC #ifdef Q_WS_MAC
@ -70,6 +72,7 @@ UBApplicationController::UBApplicationController(UBBoardView *pControlView, UBBo
, mAutomaticCheckForUpdates(false) , mAutomaticCheckForUpdates(false)
, mCheckingForUpdates(false) , mCheckingForUpdates(false)
, mIsShowingDesktop(false) , mIsShowingDesktop(false)
, mHttp(0)
{ {
mDisplayManager = new UBDisplayManager(this); mDisplayManager = new UBDisplayManager(this);
@ -121,6 +124,7 @@ UBApplicationController::~UBApplicationController()
delete mBlackScene; delete mBlackScene;
delete mMirror; delete mMirror;
if (mFtp) delete mFtp; if (mFtp) delete mFtp;
if (mHttp) delete mHttp;
} }
@ -499,18 +503,30 @@ void UBApplicationController::showSankoreEditor()
emit mainModeChanged(mMainMode); emit mainModeChanged(mMainMode);
} }
void UBApplicationController::runCheckUpdate(int id, bool error)
void UBApplicationController::checkUpdate()
{ {
if(!error){
if(mFtp!=NULL) if(mFtp!=NULL)
delete mFtp; delete mFtp;
mFtp = new QFtp(this); mFtp = new QFtp(this);
connect(mFtp, SIGNAL(commandFinished(int,bool)), this, SLOT(ftpCommandFinished(int,bool))); connect(mFtp, SIGNAL(commandFinished(int,bool)), this, SLOT(ftpCommandFinished(int,bool)));
mFtp->connectToHost("91.121.248.138",21); mFtp->connectToHost("91.121.248.138",21);
mFtp->login("anonymous", "anonymous"); mFtp->login("anonymous", "anonymous");
mFtp->get("update.json",0); mFtp->get("update.json",0);
} }
}
void UBApplicationController::checkUpdate()
{
//TODO change this when upgrade the qt version
// networkAccessible : NetworkAccessibility not yet available
if(mHttp)
delete mHttp;
QUrl url("http://www.google.com");
mHttp = new QHttp(url.host());
connect(mHttp, SIGNAL(requestFinished(int,bool)), this, SLOT(runCheckUpdate(int,bool)));
mHttp->get(url.path());
}
void UBApplicationController::ftpCommandFinished(int id, bool error) void UBApplicationController::ftpCommandFinished(int id, bool error)
{ {

@ -30,6 +30,7 @@ class UBVersion;
class UBSoftwareUpdate; class UBSoftwareUpdate;
class QNetworkAccessManager; class QNetworkAccessManager;
class QNetworkReply; class QNetworkReply;
class QHttp;
class UBApplicationController : public QObject class UBApplicationController : public QObject
@ -135,6 +136,7 @@ class UBApplicationController : public QObject
private slots: private slots:
void ftpCommandFinished(int id, bool error); void ftpCommandFinished(int id, bool error);
void runCheckUpdate(int id, bool error);
protected: protected:
@ -171,6 +173,7 @@ class UBApplicationController : public QObject
QNetworkAccessManager *networkAccessManager; QNetworkAccessManager *networkAccessManager;
void downloadJsonFinished(QString updateString); void downloadJsonFinished(QString updateString);
QHttp* mHttp;
}; };
#endif /* UBAPPLICATIONCONTROLLER_H_ */ #endif /* UBAPPLICATIONCONTROLLER_H_ */

@ -173,4 +173,3 @@ void UBNetworkAccessManager::sslErrors(QNetworkReply *reply, const QList<QSslErr
} }
} }
} }

Loading…
Cancel
Save