author | spiralman <spiralman> | 2002-08-03 03:25:31 (UTC) |
---|---|---|
committer | spiralman <spiralman> | 2002-08-03 03:25:31 (UTC) |
commit | 7d4b246bc728b73e9d38e110619222dd89c1fd1c (patch) (unidiff) | |
tree | 7e6fbb8bbb106967993fa786a917fccde43970f3 /noncore | |
parent | 4005263f7c64a631f4df9aeece83321ba818160d (diff) | |
download | opie-7d4b246bc728b73e9d38e110619222dd89c1fd1c.zip opie-7d4b246bc728b73e9d38e110619222dd89c1fd1c.tar.gz opie-7d4b246bc728b73e9d38e110619222dd89c1fd1c.tar.bz2 |
fixed relative links (except from forward and back buttons), added initial image code (not working), changes to chunked encoding (still not working, might be a qsocket issue)
-rw-r--r-- | noncore/net/ubrowser/httpcomm.cpp | 37 | ||||
-rw-r--r-- | noncore/net/ubrowser/httpcomm.h | 6 | ||||
-rw-r--r-- | noncore/net/ubrowser/httpfactory.cpp | 21 | ||||
-rw-r--r-- | noncore/net/ubrowser/httpfactory.h | 1 |
4 files changed, 54 insertions, 11 deletions
diff --git a/noncore/net/ubrowser/httpcomm.cpp b/noncore/net/ubrowser/httpcomm.cpp index 3c14053..4f189ce 100644 --- a/noncore/net/ubrowser/httpcomm.cpp +++ b/noncore/net/ubrowser/httpcomm.cpp | |||
@@ -30,30 +30,32 @@ HttpComm::HttpComm(QSocket *newSocket, QTextBrowser *newBrowser):QObject() | |||
30 | bRead = 0; | 30 | bRead = 0; |
31 | chunked=false; | 31 | chunked=false; |
32 | lengthset=false; | 32 | lengthset=false; |
33 | 33 | ||
34 | browser=newBrowser; | 34 | browser=newBrowser; |
35 | } | 35 | } |
36 | 36 | ||
37 | void HttpComm::setUp(QString *newName) | 37 | void HttpComm::setUp(QString *newName) |
38 | { | 38 | { |
39 | name = newName; | 39 | name = newName; |
40 | } | 40 | } |
41 | 41 | ||
42 | void HttpComm::setStuff(QString newHost, QString newPortS, QString newFile, QTextDrag *newText) | 42 | void HttpComm::setStuff(QString newHost, QString newPortS, QString newFile, QTextDrag *newText, QImageDrag *newImage, bool newIsImage) |
43 | { | 43 | { |
44 | host = newHost; | 44 | host = newHost; |
45 | portS = newPortS; | 45 | portS = newPortS; |
46 | file = newFile; | 46 | file = newFile; |
47 | text = newText; | 47 | text = newText; |
48 | isImage = newIsImage; | ||
49 | image = newImage; | ||
48 | } | 50 | } |
49 | 51 | ||
50 | void HttpComm::hostFound() | 52 | void HttpComm::hostFound() |
51 | { | 53 | { |
52 | printf("HttpComm::hostFound: host found\n"); | 54 | printf("HttpComm::hostFound: host found\n"); |
53 | } | 55 | } |
54 | 56 | ||
55 | void HttpComm::connected() | 57 | void HttpComm::connected() |
56 | { | 58 | { |
57 | QString request("GET " + file + " HTTP/1.1\r\nHost: " + host + ':' + portS + "\r\nConnection: close\r\n\r\n"); | 59 | QString request("GET " + file + " HTTP/1.1\r\nHost: " + host + ':' + portS + "\r\nConnection: close\r\n\r\n"); |
58 | //QString request("GET " + file + " HTTP/1.0\r\n\r\n"); | 60 | //QString request("GET " + file + " HTTP/1.0\r\n\r\n"); |
59 | printf("HttpComm::data: bytes written: %d\n", socket->writeBlock(request.latin1(), request.length()) ); | 61 | printf("HttpComm::data: bytes written: %d\n", socket->writeBlock(request.latin1(), request.length()) ); |
@@ -61,30 +63,33 @@ void HttpComm::connected() | |||
61 | 63 | ||
62 | headerRead=false; | 64 | headerRead=false; |
63 | bRead=0; | 65 | bRead=0; |
64 | length = 0; | 66 | length = 0; |
65 | header=""; | 67 | header=""; |
66 | body=""; | 68 | body=""; |
67 | chunked=false; | 69 | chunked=false; |
68 | lengthset=false; | 70 | lengthset=false; |
69 | } | 71 | } |
70 | 72 | ||
71 | void HttpComm::incoming() | 73 | void HttpComm::incoming() |
72 | { | 74 | { |
73 | int ba=socket->bytesAvailable(), i=0, j=0, semi=0; | 75 | int ba=socket->size(), i=0, j=0, semi=0; |
74 | char *tempString = new char [ba]; | 76 | char *tempString = new char [ba]; |
77 | int br = socket->readBlock(tempString, ba); | ||
78 | socket->flush(); | ||
75 | bool nextChunk=false; | 79 | bool nextChunk=false; |
76 | bool done=false; | 80 | bool done=false; |
77 | socket->readBlock(tempString, ba); | ||
78 | printf("HttpComm::incoming: ba: %d\n", ba); | 81 | printf("HttpComm::incoming: ba: %d\n", ba); |
82 | printf("HttpComm::incoming: bytes read from socket: %d\n", br); | ||
83 | //printf("HttpComm::incoming: tempString length: %d\n"); | ||
79 | QString sclength; | 84 | QString sclength; |
80 | 85 | ||
81 | if(headerRead == false) | 86 | if(headerRead == false) |
82 | { | 87 | { |
83 | for(i=0; i<ba; i++) | 88 | for(i=0; i<ba; i++) |
84 | { | 89 | { |
85 | if(tempString[i] != '\r') | 90 | if(tempString[i] != '\r') |
86 | { | 91 | { |
87 | if(tempString[i] == '\n' && header[header.length()-1] == '\n') | 92 | if(tempString[i] == '\n' && header[header.length()-1] == '\n') |
88 | { | 93 | { |
89 | j=i; | 94 | j=i; |
90 | headerRead = true; | 95 | headerRead = true; |
@@ -123,24 +128,25 @@ void HttpComm::incoming() | |||
123 | // printf("bRead2: %d\n", bRead); | 128 | // printf("bRead2: %d\n", bRead); |
124 | } | 129 | } |
125 | 130 | ||
126 | if(bRead >= length) | 131 | if(bRead >= length) |
127 | { | 132 | { |
128 | printf("HttpComm::incoming: finished reading body\n"); | 133 | printf("HttpComm::incoming: finished reading body\n"); |
129 | processBody(); | 134 | processBody(); |
130 | socket->close(); | 135 | socket->close(); |
131 | } | 136 | } |
132 | } | 137 | } |
133 | else | 138 | else |
134 | { | 139 | { |
140 | int startclength=0; | ||
135 | QString tempQString = tempString; | 141 | QString tempQString = tempString; |
136 | //remove the http header, if one exists | 142 | //remove the http header, if one exists |
137 | if(j != 0) | 143 | if(j != 0) |
138 | { | 144 | { |
139 | tempQString.remove(0, j+1); | 145 | tempQString.remove(0, j+1); |
140 | printf("HttpComm::incoming: removing http header. Result: \n%s", tempQString.latin1()); | 146 | printf("HttpComm::incoming: removing http header. Result: \n%s", tempQString.latin1()); |
141 | } | 147 | } |
142 | while(!done) | 148 | while(!done) |
143 | { | 149 | { |
144 | switch(status) | 150 | switch(status) |
145 | { | 151 | { |
146 | //case 0=need to read chunk length | 152 | //case 0=need to read chunk length |
@@ -179,38 +185,43 @@ void HttpComm::incoming() | |||
179 | case 1: | 185 | case 1: |
180 | //the current data extends beyond the end of the chunk | 186 | //the current data extends beyond the end of the chunk |
181 | if(bRead + tempQString.length() > clength) | 187 | if(bRead + tempQString.length() > clength) |
182 | { | 188 | { |
183 | QString newTQstring = tempQString; | 189 | QString newTQstring = tempQString; |
184 | newTQstring.truncate(clength-bRead); | 190 | newTQstring.truncate(clength-bRead); |
185 | bRead+=newTQstring.length(); | 191 | bRead+=newTQstring.length(); |
186 | body+=newTQstring; | 192 | body+=newTQstring; |
187 | printf("HttpComm::incoming: start new body piece 1: \n"); | 193 | printf("HttpComm::incoming: start new body piece 1: \n"); |
188 | printf("%s", newTQstring.latin1() ); | 194 | printf("%s", newTQstring.latin1() ); |
189 | printf("HttpComm::incoming: end new body piece 1.\n"); | 195 | printf("HttpComm::incoming: end new body piece 1.\n"); |
190 | status=0; | 196 | status=0; |
191 | tempQString = tempQString.remove(0, clength); | 197 | tempQString = tempQString.remove(0, newTQstring.length()); |
198 | startclength = tempQString.find('\n'); | ||
199 | printf("HttpComm::incoming: startclength: %d\n", startclength); | ||
200 | tempQString = tempQString.remove(0, startclength+1); | ||
192 | done=false; | 201 | done=false; |
193 | // break; | 202 | // break; |
194 | } | 203 | } |
195 | //the chunk extends beyond the current data; | 204 | //the chunk extends beyond the current data; |
196 | else | 205 | else |
197 | { | 206 | { |
198 | if(tempQString.length() <= ba) | 207 | if(tempQString.length() <= ba) |
199 | { | 208 | { |
209 | printf("HttpComm::incoming: not truncating tempQString\n"); | ||
200 | body+=tempQString; | 210 | body+=tempQString; |
201 | bRead+=tempQString.length(); | 211 | bRead+=tempQString.length(); |
202 | } | 212 | } |
203 | else | 213 | else |
204 | { | 214 | { |
215 | printf("HttpComm::incoming: truncating tempQString\n"); | ||
205 | tempQString.truncate(ba); | 216 | tempQString.truncate(ba); |
206 | body+=tempQString; | 217 | body+=tempQString; |
207 | bRead+=tempQString.length(); | 218 | bRead+=tempQString.length(); |
208 | } | 219 | } |
209 | printf("HttpComm::incoming: start new body piece 2: \n"); | 220 | printf("HttpComm::incoming: start new body piece 2: \n"); |
210 | printf("%s", tempQString.latin1() ); | 221 | printf("%s", tempQString.latin1() ); |
211 | printf("HttpComm::incoming: end new body piece 2.\n"); | 222 | printf("HttpComm::incoming: end new body piece 2.\n"); |
212 | done=true; | 223 | done=true; |
213 | status=2; | 224 | status=2; |
214 | // break; | 225 | // break; |
215 | } | 226 | } |
216 | break; | 227 | break; |
@@ -218,38 +229,43 @@ void HttpComm::incoming() | |||
218 | case 2: | 229 | case 2: |
219 | //the current data extends beyond the end of the chunk | 230 | //the current data extends beyond the end of the chunk |
220 | if(bRead + tempQString.length() > clength) | 231 | if(bRead + tempQString.length() > clength) |
221 | { | 232 | { |
222 | QString newTQstring = tempQString; | 233 | QString newTQstring = tempQString; |
223 | newTQstring.truncate(clength-bRead); | 234 | newTQstring.truncate(clength-bRead); |
224 | bRead+=newTQstring.length(); | 235 | bRead+=newTQstring.length(); |
225 | body+=newTQstring; | 236 | body+=newTQstring; |
226 | printf("HttpComm::incoming: start new body piece 3: \n"); | 237 | printf("HttpComm::incoming: start new body piece 3: \n"); |
227 | printf("%s", newTQstring.latin1() ); | 238 | printf("%s", newTQstring.latin1() ); |
228 | printf("HttpComm::incoming: end new body piece 3.\n"); | 239 | printf("HttpComm::incoming: end new body piece 3.\n"); |
229 | status=0; | 240 | status=0; |
230 | tempQString = tempQString.remove(0, clength); | 241 | tempQString = tempQString.remove(0, newTQstring.length()); |
242 | startclength = tempQString.find('\n'); | ||
243 | printf("HttpComm::incoming: startclength, tempQString length: %d %d\n", startclength, tempQString.length()); | ||
244 | tempQString = tempQString.remove(0, startclength+1); | ||
231 | done=false; | 245 | done=false; |
232 | // break; | 246 | // break; |
233 | } | 247 | } |
234 | //the chunk extends beyond the current data; | 248 | //the chunk extends beyond the current data; |
235 | else | 249 | else |
236 | { | 250 | { |
237 | if(tempQString.length() <= ba) | 251 | if(tempQString.length() <= ba) |
238 | { | 252 | { |
253 | printf("HttpComm::incoming: not truncating tempQString\n"); | ||
239 | body+=tempQString; | 254 | body+=tempQString; |
240 | bRead+=tempQString.length(); | 255 | bRead+=tempQString.length(); |
241 | } | 256 | } |
242 | else | 257 | else |
243 | { | 258 | { |
259 | printf("HttpComm::incoming: truncating tempQString\n"); | ||
244 | tempQString.truncate(ba); | 260 | tempQString.truncate(ba); |
245 | body+=tempQString; | 261 | body+=tempQString; |
246 | bRead+=tempQString.length(); | 262 | bRead+=tempQString.length(); |
247 | } | 263 | } |
248 | printf("HttpComm::incoming: start new body piece 4: \n"); | 264 | printf("HttpComm::incoming: start new body piece 4: \n"); |
249 | printf("%s", tempQString.latin1() ); | 265 | printf("%s", tempQString.latin1() ); |
250 | printf("HttpComm::incoming: end new body piece 4.\n"); | 266 | printf("HttpComm::incoming: end new body piece 4.\n"); |
251 | done=true; | 267 | done=true; |
252 | status=2; | 268 | status=2; |
253 | // break; | 269 | // break; |
254 | } | 270 | } |
255 | break; | 271 | break; |
@@ -299,19 +315,28 @@ void HttpComm::parseHeader() | |||
299 | 315 | ||
300 | void HttpComm::processBody() | 316 | void HttpComm::processBody() |
301 | { | 317 | { |
302 | printf("HttpComm::processBody: processing body\n"); | 318 | printf("HttpComm::processBody: processing body\n"); |
303 | //printf("HttpComm::processBody: start body\n\n"); | 319 | //printf("HttpComm::processBody: start body\n\n"); |
304 | //printf("%s", body.latin1()); | 320 | //printf("%s", body.latin1()); |
305 | //printf("HttpComm::processBody: end body\n"); | 321 | //printf("HttpComm::processBody: end body\n"); |
306 | 322 | ||
307 | int lastSlash = file.findRev('/'); | 323 | int lastSlash = file.findRev('/'); |
308 | 324 | ||
309 | QString end = file; | 325 | QString end = file; |
310 | end.truncate(lastSlash+1); | 326 | end.truncate(lastSlash+1); |
311 | QString context("http://"+host+':'+portS+end); | 327 | QString context = "http://"+host+':'+portS+end; |
312 | printf("HttpComm::processBody: context: %s\n", context.latin1() ); | 328 | printf("HttpComm::processBody: context: %s\n", context.latin1() ); |
313 | 329 | ||
330 | if(!isImage) | ||
331 | { | ||
314 | browser->setTextFormat(RichText); | 332 | browser->setTextFormat(RichText); |
315 | browser->mimeSourceFactory()->setFilePath(context); | 333 | browser->mimeSourceFactory()->setFilePath(context); |
316 | browser->setText(body, context); | 334 | browser->setText(body, context); |
317 | } | 335 | } |
336 | else | ||
337 | { | ||
338 | QImage tempImage(body.latin1()); | ||
339 | image->setImage(tempImage); | ||
340 | browser->update(); | ||
341 | } | ||
342 | } | ||
diff --git a/noncore/net/ubrowser/httpcomm.h b/noncore/net/ubrowser/httpcomm.h index c20fe72..d6f63fc 100644 --- a/noncore/net/ubrowser/httpcomm.h +++ b/noncore/net/ubrowser/httpcomm.h | |||
@@ -11,47 +11,51 @@ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
11 | Public License for more details. | 11 | Public License for more details. |
12 | 12 | ||
13 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free | 13 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free |
14 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 14 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include <qobject.h> | 17 | #include <qobject.h> |
18 | #include <qstring.h> | 18 | #include <qstring.h> |
19 | #include <qsocket.h> | 19 | #include <qsocket.h> |
20 | #include <qstringlist.h> | 20 | #include <qstringlist.h> |
21 | #include <qdragobject.h> | 21 | #include <qdragobject.h> |
22 | #include <qtextbrowser.h> | 22 | #include <qtextbrowser.h> |
23 | #include <qcstring.h> | ||
24 | #include <qimage.h> | ||
23 | 25 | ||
24 | #include <stdio.h> | 26 | #include <stdio.h> |
25 | 27 | ||
26 | class HttpComm : public QObject | 28 | class HttpComm : public QObject |
27 | { | 29 | { |
28 | Q_OBJECT | 30 | Q_OBJECT |
29 | public: | 31 | public: |
30 | HttpComm(QSocket *newSocket, QTextBrowser *newBrowser); | 32 | HttpComm(QSocket *newSocket, QTextBrowser *newBrowser); |
31 | void setUp(QString *newName); | 33 | void setUp(QString *newName); |
32 | void setStuff(QString newHost, QString newPortS, QString newFile, QTextDrag *newText); | 34 | void setStuff(QString newHost, QString newPortS, QString newFile, QTextDrag *newText, QImageDrag *newImage, bool newIsImage); |
33 | void parseHeader(); | 35 | void parseHeader(); |
34 | void processBody(); | 36 | void processBody(); |
35 | public slots: | 37 | public slots: |
36 | void hostFound(); | 38 | void hostFound(); |
37 | void connected(); | 39 | void connected(); |
38 | void connectionClosed(); | 40 | void connectionClosed(); |
39 | void incoming(); | 41 | void incoming(); |
40 | private: | 42 | private: |
41 | QString *name; | 43 | QString *name; |
42 | QSocket *socket; | 44 | QSocket *socket; |
43 | QString host; | 45 | QString host; |
44 | QString portS; | 46 | QString portS; |
45 | QString file; | 47 | QString file; |
46 | bool headerRead; | 48 | bool headerRead; |
47 | QString header; | 49 | QString header; |
48 | QString body; | 50 | QString body; |
49 | unsigned int length; | 51 | unsigned int length; |
50 | unsigned int bRead; | 52 | unsigned int bRead; |
51 | QTextDrag *text; | 53 | QTextDrag *text; |
54 | QImageDrag *image; | ||
52 | QTextBrowser *browser; | 55 | QTextBrowser *browser; |
53 | bool chunked; | 56 | bool chunked; |
54 | bool lengthset; | 57 | bool lengthset; |
55 | unsigned int clength; | 58 | unsigned int clength; |
56 | int status; | 59 | int status; |
60 | bool isImage; | ||
57 | }; | 61 | }; |
diff --git a/noncore/net/ubrowser/httpfactory.cpp b/noncore/net/ubrowser/httpfactory.cpp index 92718fb..50a3c9a 100644 --- a/noncore/net/ubrowser/httpfactory.cpp +++ b/noncore/net/ubrowser/httpfactory.cpp | |||
@@ -13,49 +13,51 @@ Public License for more details. | |||
13 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free | 13 | You should have received a copy of the GNU General Public License along with this program; if not, write to the Free |
14 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 14 | Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #include "httpfactory.h" | 17 | #include "httpfactory.h" |
18 | 18 | ||
19 | HttpFactory::HttpFactory(QTextBrowser *newBrowser):QMimeSourceFactory() | 19 | HttpFactory::HttpFactory(QTextBrowser *newBrowser):QMimeSourceFactory() |
20 | { | 20 | { |
21 | socket = new QSocket; | 21 | socket = new QSocket; |
22 | text = new QTextDrag; | 22 | text = new QTextDrag; |
23 | browser=newBrowser; | 23 | browser=newBrowser; |
24 | comm = new HttpComm(socket, browser); | 24 | comm = new HttpComm(socket, browser); |
25 | image = new QImageDrag; | ||
25 | } | 26 | } |
26 | 27 | ||
27 | const QMimeSource * HttpFactory::data(const QString &abs_name) const | 28 | const QMimeSource * HttpFactory::data(const QString &abs_name) const |
28 | { | 29 | { |
29 | printf("HttpFactory::data: using absolute data func\n"); | 30 | printf("HttpFactory::data: using absolute data func\n"); |
30 | 31 | ||
31 | int port=80, addrEnd, portSep; | 32 | int port=80, addrEnd, portSep; |
32 | QString host, file, portS, name, tempString; | 33 | QString host, file, portS, name, tempString; |
33 | bool done=false; | 34 | bool done=false, isImage=false; |
34 | 35 | ||
35 | comm->setUp((QString *)&abs_name); | 36 | comm->setUp((QString *)&abs_name); |
36 | 37 | ||
37 | name = abs_name; | 38 | name = abs_name; |
38 | //name = name.lower(); | 39 | //name = name.lower(); |
39 | name = name.stripWhiteSpace(); | 40 | name = name.stripWhiteSpace(); |
40 | 41 | ||
41 | printf("%s\n", name.latin1()); | 42 | printf("%s\n", name.latin1()); |
42 | 43 | ||
43 | if(name.startsWith("http://")) | 44 | if(name.startsWith("http://")) |
44 | { | 45 | { |
45 | name = name.remove(0, 7); | 46 | name = name.remove(0, 7); |
46 | } | 47 | } |
47 | else | 48 | else |
48 | { | 49 | { |
49 | return 0; | 50 | name.prepend(browser->context()); |
51 | name = name.remove(0, 7); | ||
50 | } | 52 | } |
51 | 53 | ||
52 | addrEnd = name.find('/'); | 54 | addrEnd = name.find('/'); |
53 | if(addrEnd == -1) | 55 | if(addrEnd == -1) |
54 | { | 56 | { |
55 | name += '/'; | 57 | name += '/'; |
56 | addrEnd = name.length()-1; | 58 | addrEnd = name.length()-1; |
57 | } | 59 | } |
58 | 60 | ||
59 | host = name; | 61 | host = name; |
60 | file = name; | 62 | file = name; |
61 | 63 | ||
@@ -69,32 +71,43 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const | |||
69 | host.truncate(portSep); | 71 | host.truncate(portSep); |
70 | portS.remove(0, portSep+1); | 72 | portS.remove(0, portSep+1); |
71 | port = portS.toInt(); | 73 | port = portS.toInt(); |
72 | } | 74 | } |
73 | 75 | ||
74 | printf("%s %s %d\n", host.latin1(), file.latin1(), port); | 76 | printf("%s %s %d\n", host.latin1(), file.latin1(), port); |
75 | 77 | ||
76 | if(port == 80) | 78 | if(port == 80) |
77 | { | 79 | { |
78 | portS="80"; | 80 | portS="80"; |
79 | } | 81 | } |
80 | 82 | ||
81 | comm->setStuff(host, portS, file, text); | 83 | if(file.find(".png", file.length()-4) != -1 || file.find(".gif", file.length()-4) != -1 || file.find(".jpg", file.length()-4) != -1) |
84 | { | ||
85 | isImage=true; | ||
86 | } | ||
87 | |||
88 | comm->setStuff(host, portS, file, text, image, isImage); | ||
82 | 89 | ||
83 | socket->connectToHost(host, port); | 90 | socket->connectToHost(host, port); |
84 | 91 | ||
92 | if(!image) | ||
93 | { | ||
85 | text->setText(""); | 94 | text->setText(""); |
86 | |||
87 | return text; | 95 | return text; |
88 | } | 96 | } |
97 | else | ||
98 | { | ||
99 | return image; | ||
100 | } | ||
101 | } | ||
89 | 102 | ||
90 | const QMimeSource * HttpFactory::data(const QString &abs_or_rel_name, const QString & context) const | 103 | const QMimeSource * HttpFactory::data(const QString &abs_or_rel_name, const QString & context) const |
91 | { | 104 | { |
92 | printf("HttpFactory::data: using relative data func\n"); | 105 | printf("HttpFactory::data: using relative data func\n"); |
93 | 106 | ||
94 | if(abs_or_rel_name.startsWith(context)) | 107 | if(abs_or_rel_name.startsWith(context)) |
95 | { | 108 | { |
96 | return data(abs_or_rel_name); | 109 | return data(abs_or_rel_name); |
97 | } | 110 | } |
98 | else | 111 | else |
99 | { | 112 | { |
100 | return data(context + abs_or_rel_name); | 113 | return data(context + abs_or_rel_name); |
diff --git a/noncore/net/ubrowser/httpfactory.h b/noncore/net/ubrowser/httpfactory.h index bb7615b..1802f56 100644 --- a/noncore/net/ubrowser/httpfactory.h +++ b/noncore/net/ubrowser/httpfactory.h | |||
@@ -25,14 +25,15 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |||
25 | #include "httpcomm.h" | 25 | #include "httpcomm.h" |
26 | 26 | ||
27 | class HttpFactory : public QMimeSourceFactory | 27 | class HttpFactory : public QMimeSourceFactory |
28 | { | 28 | { |
29 | public: | 29 | public: |
30 | HttpFactory(QTextBrowser *newBrowser); | 30 | HttpFactory(QTextBrowser *newBrowser); |
31 | const QMimeSource * data(const QString &abs_name) const; | 31 | const QMimeSource * data(const QString &abs_name) const; |
32 | const QMimeSource * data(const QString &abs_or_rel_name, const QString & context) const; | 32 | const QMimeSource * data(const QString &abs_or_rel_name, const QString & context) const; |
33 | private: | 33 | private: |
34 | QSocket *socket; | 34 | QSocket *socket; |
35 | HttpComm *comm; | 35 | HttpComm *comm; |
36 | QTextDrag *text; | 36 | QTextDrag *text; |
37 | QImageDrag *image; | ||
37 | QTextBrowser *browser; | 38 | QTextBrowser *browser; |
38 | }; | 39 | }; |