Corregido check new version para evitar lag (ahora s?)

This commit is contained in:
Luis Ángel San Martín 2013-03-10 20:56:11 +01:00
parent cefcd7d313
commit 3378b58d61
2 changed files with 38 additions and 4 deletions

View File

@ -10,6 +10,8 @@
#include "shortcuts_dialog.h"
#include "width_slider.h"
#include <ctime>
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);

View File

@ -4,6 +4,12 @@
#include <QtGlobal>
#include <QStringList>
#include <QNetworkAccessManager>
#include <QEventLoop>
#include <QTimer>
#include <QNetworkRequest>
#include <QNetworkReply>
#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)
{