equal
deleted
inserted
replaced
1 #include <QNetworkAccessManager> |
1 #include <QNetworkAccessManager> |
2 #include <QNetworkRequest> |
2 #include <QNetworkRequest> |
3 #include <QNetworkReply> |
3 #include <QNetworkReply> |
4 #include <QDebug> |
4 #include <QDebug> |
|
5 #include <QUrl> |
5 |
6 |
6 #include "databrowser.h" |
7 #include "databrowser.h" |
7 |
8 |
8 const QNetworkRequest::Attribute typeAttribute = (QNetworkRequest::Attribute)(QNetworkRequest::User + 1); |
9 const QNetworkRequest::Attribute typeAttribute = (QNetworkRequest::Attribute)(QNetworkRequest::User + 1); |
9 const QNetworkRequest::Attribute urlAttribute = (QNetworkRequest::Attribute)(QNetworkRequest::User + 2); |
10 const QNetworkRequest::Attribute urlAttribute = (QNetworkRequest::Attribute)(QNetworkRequest::User + 2); |
17 |
18 |
18 QVariant DataBrowser::loadResource(int type, const QUrl & name) |
19 QVariant DataBrowser::loadResource(int type, const QUrl & name) |
19 { |
20 { |
20 if(type == QTextDocument::ImageResource || type == QTextDocument::StyleSheetResource) |
21 if(type == QTextDocument::ImageResource || type == QTextDocument::StyleSheetResource) |
21 { |
22 { |
22 if(resources.contains(name)) |
23 if(resources.contains(name.toString())) |
23 { |
24 { |
24 return resources.take(name); |
25 return resources.take(name.toString()); |
25 } |
26 } |
26 else |
27 else |
27 if(!requestedResources.contains(name)) |
28 if(!requestedResources.contains(name.toString())) |
28 { |
29 { |
29 qDebug() << "Requesting resource" << name.toString(); |
30 qDebug() << "Requesting resource" << name.toString(); |
30 requestedResources.insert(name); |
31 requestedResources.insert(name.toString()); |
31 |
32 |
32 QNetworkRequest newRequest(QUrl("http://www.hedgewars.org" + name.toString())); |
33 QNetworkRequest newRequest(QUrl("http://www.hedgewars.org" + name.toString())); |
33 newRequest.setAttribute(typeAttribute, type); |
34 newRequest.setAttribute(typeAttribute, type); |
34 newRequest.setAttribute(urlAttribute, name); |
35 newRequest.setAttribute(urlAttribute, name); |
35 |
36 |
47 |
48 |
48 if(reply) |
49 if(reply) |
49 { |
50 { |
50 int type = reply->request().attribute(typeAttribute).toInt(); |
51 int type = reply->request().attribute(typeAttribute).toInt(); |
51 QUrl url = reply->request().attribute(urlAttribute).toUrl(); |
52 QUrl url = reply->request().attribute(urlAttribute).toUrl(); |
52 resources.insert(url, reply->readAll()); |
53 resources.insert(url.toString(), reply->readAll()); |
53 document()->addResource(type, reply->request().url(), QVariant()); |
54 document()->addResource(type, reply->request().url(), QVariant()); |
54 update(); |
55 update(); |
55 } |
56 } |
56 } |
57 } |