diff --git a/YACReader/main_window_viewer.cpp b/YACReader/main_window_viewer.cpp index 332e79e0..8680fe5a 100644 --- a/YACReader/main_window_viewer.cpp +++ b/YACReader/main_window_viewer.cpp @@ -10,6 +10,8 @@ #include "shortcuts_dialog.h" #include "width_slider.h" +#include + MainWindowViewer::MainWindowViewer() :QMainWindow(),fullscreen(false),toolbars(true),alwaysOnTop(false),currentDirectory("."),currentDirectoryImgDest(".") { @@ -93,8 +95,13 @@ void MainWindowViewer::setupUI() connect(versionChecker,SIGNAL(newVersionDetected()), this,SLOT(newVersion())); - - versionChecker->get(); //TODO + + QTimer * tT = new QTimer; + + tT->setSingleShot(true); + connect(tT, SIGNAL(timeout()), versionChecker, SLOT(get())); + //versionChecker->get(); //TODÓ + tT->start(100); viewer->setFocusPolicy(Qt::StrongFocus); diff --git a/common/check_new_version.cpp b/common/check_new_version.cpp index e83a4633..675c6c47 100644 --- a/common/check_new_version.cpp +++ b/common/check_new_version.cpp @@ -4,6 +4,12 @@ #include #include +#include +#include +#include +#include +#include + #define PREVIOUS_VERSION "5.0.0" HttpVersionChecker::HttpVersionChecker() @@ -29,14 +35,35 @@ void HttpVersionChecker::get() void HttpVersionChecker::run() { - QUrl url("http://code.google.com/p/yacreader/downloads/list"); + QNetworkAccessManager manager; + QEventLoop q; + QTimer tT; + + tT.setSingleShot(true); + connect(&tT, SIGNAL(timeout()), &q, SLOT(quit())); + connect(&manager, SIGNAL(finished(QNetworkReply*)),&q, SLOT(quit())); + QNetworkReply *reply = manager.get(QNetworkRequest( + QUrl("http://code.google.com/p/yacreader/downloads/list"))); + + tT.start(5000); // 5s timeout + q.exec(); + + if(tT.isActive()){ + // download complete + checkNewVersion(reply->readAll()); + tT.stop(); + } else { + // timeout + } + + /*QUrl url("http://code.google.com/p/yacreader/downloads/list"); QHttp::ConnectionMode mode = QHttp::ConnectionModeHttp; http->setHost(url.host(), mode, url.port() == -1 ? 0 : url.port()); QByteArray path = QUrl::toPercentEncoding(url.path(), "!$&'()*+,;=:@/"); if (path.isEmpty()) path = "/"; httpGetId = http->get(path, 0); - exec(); + exec();*/ } void HttpVersionChecker::readResponseHeader(const QHttpResponseHeader &responseHeader) {