diff -r 88cfcd9161d3 -r 42b256eca362 QTfrontend/databrowser.cpp --- a/QTfrontend/databrowser.cpp Fri Oct 28 17:41:39 2011 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,57 +0,0 @@ -#include -#include -#include -#include -#include - -#include "databrowser.h" - -const QNetworkRequest::Attribute typeAttribute = (QNetworkRequest::Attribute)(QNetworkRequest::User + 1); -const QNetworkRequest::Attribute urlAttribute = (QNetworkRequest::Attribute)(QNetworkRequest::User + 2); - -DataBrowser::DataBrowser(QWidget *parent) : - QTextBrowser(parent) -{ - - manager = new QNetworkAccessManager(this); -} - -QVariant DataBrowser::loadResource(int type, const QUrl & name) -{ - if(type == QTextDocument::ImageResource || type == QTextDocument::StyleSheetResource) - { - if(resources.contains(name.toString())) - { - return resources.take(name.toString()); - } - else - if(!requestedResources.contains(name.toString())) - { - qDebug() << "Requesting resource" << name.toString(); - requestedResources.insert(name.toString()); - - QNetworkRequest newRequest(QUrl("http://www.hedgewars.org" + name.toString())); - newRequest.setAttribute(typeAttribute, type); - newRequest.setAttribute(urlAttribute, name); - - QNetworkReply *reply = manager->get(newRequest); - connect(reply, SIGNAL(finished()), this, SLOT(resourceDownloaded())); - } - } - - return QVariant(); -} - -void DataBrowser::resourceDownloaded() -{ - QNetworkReply * reply = qobject_cast(sender()); - - if(reply) - { - int type = reply->request().attribute(typeAttribute).toInt(); - QUrl url = reply->request().attribute(urlAttribute).toUrl(); - resources.insert(url.toString(), reply->readAll()); - document()->addResource(type, reply->request().url(), QVariant()); - update(); - } -}