summaryrefslogtreecommitdiff
path: root/noncore/net
authorspiralman <spiralman>2003-03-21 21:59:58 (UTC)
committer spiralman <spiralman>2003-03-21 21:59:58 (UTC)
commit07a03b603d964b07d2866e04f480014fadcf1570 (patch) (unidiff)
treebcc0b9c9a91855a21ec6dc777eb9ca803bf1b2f4 /noncore/net
parentd1d55108ecc8c913267122014aa2f139be947299 (diff)
downloadopie-07a03b603d964b07d2866e04f480014fadcf1570.zip
opie-07a03b603d964b07d2866e04f480014fadcf1570.tar.gz
opie-07a03b603d964b07d2866e04f480014fadcf1570.tar.bz2
fixed commandline argument reading, made ubrowser a "document-oriented application" (implemented setDocument, etc)
Diffstat (limited to 'noncore/net') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/ubrowser/httpfactory.cpp40
-rw-r--r--noncore/net/ubrowser/main.cpp4
-rw-r--r--noncore/net/ubrowser/mainview.cpp24
-rw-r--r--noncore/net/ubrowser/mainview.h2
4 files changed, 44 insertions, 26 deletions
diff --git a/noncore/net/ubrowser/httpfactory.cpp b/noncore/net/ubrowser/httpfactory.cpp
index 154d5d0..b57149f 100644
--- a/noncore/net/ubrowser/httpfactory.cpp
+++ b/noncore/net/ubrowser/httpfactory.cpp
@@ -39,7 +39,7 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const
39 //name = name.lower(); 39 //name = name.lower();
40 name = name.stripWhiteSpace(); 40 name = name.stripWhiteSpace();
41 41
42 printf("%s\n", name.latin1()); 42 //printf("%s\n", name.latin1());
43 43
44 if(name.startsWith("http://")) 44 if(name.startsWith("http://"))
45 { 45 {
@@ -73,7 +73,7 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const
73 port = portS.toInt(); 73 port = portS.toInt();
74 } 74 }
75 75
76 printf("%s %s %d\n", host.latin1(), file.latin1(), port); 76 //printf("%s %s %d\n", host.latin1(), file.latin1(), port);
77 77
78 if(port == 80) 78 if(port == 80)
79 { 79 {
@@ -107,7 +107,7 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const
107 } 107 }
108 108
109 QByteArray data; 109 QByteArray data;
110 printf( "HttpFactory::data: %s\n", inet_ntoa(*((struct in_addr *)serverInfo->h_addr )) ); 110 //printf( "HttpFactory::data: %s\n", inet_ntoa(*((struct in_addr *)serverInfo->h_addr )) );
111 111
112 QString request("GET " + file + " HTTP/1.1\r\nHost: " + host + ':' + portS + "\r\nConnection: close\r\n\r\n"); 112 QString request("GET " + file + " HTTP/1.1\r\nHost: " + host + ':' + portS + "\r\nConnection: close\r\n\r\n");
113 113
@@ -145,8 +145,8 @@ const QMimeSource * HttpFactory::data(const QString &abs_name) const
145 145
146 146
147 bytesSent = send( con, request.latin1(), request.length(), 0); 147 bytesSent = send( con, request.latin1(), request.length(), 0);
148 printf("HttpFactory::data: bytes written: %d out of: %d\n", bytesSent, request.length() ); 148 //printf("HttpFactory::data: bytes written: %d out of: %d\n", bytesSent, request.length() );
149 printf("HttpFactory::data: request sent:\n%s", request.latin1()); 149 //printf("HttpFactory::data: request sent:\n%s", request.latin1());
150 150
151 data = this->processResponse( con, isText ); 151 data = this->processResponse( con, isText );
152 152
@@ -216,48 +216,48 @@ const QByteArray HttpFactory::processResponse( int sockfd, bool &isText ) const
216 if( currentLine.contains( "Transfer-Encoding: chunked", false) >= 1 ) 216 if( currentLine.contains( "Transfer-Encoding: chunked", false) >= 1 )
217 { 217 {
218 chunked = true; 218 chunked = true;
219 printf( "HttpFactory::processResponse: chunked encoding\n" ); 219 // printf( "HttpFactory::processResponse: chunked encoding\n" );
220 } 220 }
221 221
222 if( currentLine.contains( "Content-Type: text", false ) >= 1 ) 222 if( currentLine.contains( "Content-Type: text", false ) >= 1 )
223 { 223 {
224 isText = true; 224 isText = true;
225 printf( "HttpFactory::processResponse: content type text\n" ); 225 // printf( "HttpFactory::processResponse: content type text\n" );
226 if( currentLine.contains( "html", false ) >= 1) 226 if( currentLine.contains( "html", false ) >= 1)
227 { 227 {
228 browser->setTextFormat(Qt::RichText); 228 browser->setTextFormat(Qt::RichText);
229 printf( "HttpFactory::processResponse: content type html\n" ); 229 // printf( "HttpFactory::processResponse: content type html\n" );
230 } 230 }
231 } 231 }
232 232
233 if( currentLine.contains( "Content-Type: image", false ) >= 1 ) 233 if( currentLine.contains( "Content-Type: image", false ) >= 1 )
234 { 234 {
235 isText = false; 235 isText = false;
236 printf( "HttpFactory::processResponse: content type image\n" ); 236 // printf( "HttpFactory::processResponse: content type image\n" );
237 } 237 }
238 238
239 if( currentLine.contains( "Content-Length", false ) >= 1 ) 239 if( currentLine.contains( "Content-Length", false ) >= 1 )
240 { 240 {
241 currentLine.remove( 0, 16 ); 241 currentLine.remove( 0, 16 );
242 dataLength = currentLine.toInt(); 242 dataLength = currentLine.toInt();
243 printf( "HttpFactory::processResponse: content length: %d\n", dataLength ); 243 // printf( "HttpFactory::processResponse: content length: %d\n", dataLength );
244 } 244 }
245 245
246 if( currentLine.contains( "404", false ) >= 1 ) 246 if( currentLine.contains( "404", false ) >= 1 )
247 { 247 {
248 printf( "HttpFactory::processResponse: 404 error\n" ); 248 // printf( "HttpFactory::processResponse: 404 error\n" );
249 return 0; 249 return 0;
250 } 250 }
251 251
252 currentLine = ""; 252 currentLine = "";
253 printf("HttpFactory::processResponse: reseting currentLine: %s\n", currentLine.latin1() ); 253 // printf("HttpFactory::processResponse: reseting currentLine: %s\n", currentLine.latin1() );
254 } 254 }
255 } 255 }
256} 256}
257 257
258const QByteArray HttpFactory::recieveNormal( int sockfd, int dataLen ) const 258const QByteArray HttpFactory::recieveNormal( int sockfd, int dataLen ) const
259{ 259{
260 printf( "HttpFactory::recieveNormal: recieving w/out chunked encoding\n" ); 260 //printf( "HttpFactory::recieveNormal: recieving w/out chunked encoding\n" );
261 261
262 QByteArray data( dataLen ); 262 QByteArray data( dataLen );
263 QByteArray temp( dataLen ); 263 QByteArray temp( dataLen );
@@ -283,13 +283,13 @@ const QByteArray HttpFactory::recieveNormal( int sockfd, int dataLen ) const
283 temp.fill('\0'); 283 temp.fill('\0');
284 } 284 }
285 285
286 printf( "HttpFactory::recieveNormal: end of data\n" ); 286 //printf( "HttpFactory::recieveNormal: end of data\n" );
287 return data; 287 return data;
288} 288}
289 289
290const QByteArray HttpFactory::recieveChunked( int sockfd ) const 290const QByteArray HttpFactory::recieveChunked( int sockfd ) const
291{ 291{
292 printf( "HttpFactory::recieveChunked: recieving data with chunked encoding\n" ); 292 //printf( "HttpFactory::recieveChunked: recieving data with chunked encoding\n" );
293 293
294 QByteArray data; 294 QByteArray data;
295 QByteArray temp( 1 ); 295 QByteArray temp( 1 );
@@ -306,9 +306,9 @@ const QByteArray HttpFactory::recieveChunked( int sockfd ) const
306 recv( sockfd, temp.data(), temp.size(), 0 ); 306 recv( sockfd, temp.data(), temp.size(), 0 );
307 } 307 }
308 308
309 printf( "HttpFactory::recieveChunked: cSizeS: %s\n", cSizeS.latin1() ); 309 //printf( "HttpFactory::recieveChunked: cSizeS: %s\n", cSizeS.latin1() );
310 cSize = cSizeS.toInt( 0, 16 ); 310 cSize = cSizeS.toInt( 0, 16 );
311 printf( "HttpFactory::recieveChunked: first chunk of size: %d\n", cSize ); 311 //printf( "HttpFactory::recieveChunked: first chunk of size: %d\n", cSize );
312 312
313 if( *(temp.data()) == ';' ) 313 if( *(temp.data()) == ';' )
314 { 314 {
@@ -355,9 +355,9 @@ const QByteArray HttpFactory::recieveChunked( int sockfd ) const
355 recv( sockfd, temp.data(), temp.size(), 0 ); 355 recv( sockfd, temp.data(), temp.size(), 0 );
356 } 356 }
357 357
358 printf( "HttpFactory::recieveChunked: cSizeS: %s\n", cSizeS.latin1() ); 358 // printf( "HttpFactory::recieveChunked: cSizeS: %s\n", cSizeS.latin1() );
359 cSize = cSizeS.toInt( 0, 16 ); 359 cSize = cSizeS.toInt( 0, 16 );
360 printf( "HttpFactory::recieveChunked: next chunk of size: %d\n", cSize ); 360 // printf( "HttpFactory::recieveChunked: next chunk of size: %d\n", cSize );
361 361
362 if( *(temp.data()) == ';' ) 362 if( *(temp.data()) == ';' )
363 { 363 {
@@ -371,6 +371,6 @@ const QByteArray HttpFactory::recieveChunked( int sockfd ) const
371 data.resize( data.size() + cSize ); 371 data.resize( data.size() + cSize );
372 } 372 }
373 373
374 printf( "HttpFactory::recieveChunked: end of data\n" ); 374 //printf( "HttpFactory::recieveChunked: end of data\n" );
375 return data; 375 return data;
376} 376}
diff --git a/noncore/net/ubrowser/main.cpp b/noncore/net/ubrowser/main.cpp
index fe0f243..e4a873d 100644
--- a/noncore/net/ubrowser/main.cpp
+++ b/noncore/net/ubrowser/main.cpp
@@ -23,7 +23,7 @@ int main( int argc, char **argv )
23 QPEApplication a( argc, argv ); 23 QPEApplication a( argc, argv );
24 MainView w; 24 MainView w;
25 25
26 a.setMainWidget( &w ); 26 //a.setMainWidget( &w );
27 w.showMaximized(); 27 a.showMainDocumentWidget( &w );
28 return a.exec(); 28 return a.exec();
29} 29}
diff --git a/noncore/net/ubrowser/mainview.cpp b/noncore/net/ubrowser/mainview.cpp
index d3f4c57..f68c5db 100644
--- a/noncore/net/ubrowser/mainview.cpp
+++ b/noncore/net/ubrowser/mainview.cpp
@@ -33,6 +33,7 @@ MainView::MainView(QWidget *parent, const char *name) : QMainWindow(parent, name
33 33
34 toolbar->setStretchableWidget(location); 34 toolbar->setStretchableWidget(location);
35 toolbar->setHorizontalStretchable(true); 35 toolbar->setHorizontalStretchable(true);
36 location->setAutoCompletion( true );
36 37
37 addToolBar(toolbar); 38 addToolBar(toolbar);
38 39
@@ -61,12 +62,19 @@ MainView::MainView(QWidget *parent, const char *name) : QMainWindow(parent, name
61 if( qApp->argc() > 1 ) 62 if( qApp->argc() > 1 )
62 { 63 {
63 char **argv = qApp->argv(); 64 char **argv = qApp->argv();
64 QString *argv1 = new QString( argv[1] ); 65 int i = 0;
65 if( !argv1->startsWith( "http://" ) && !argv1->startsWith( "/" ) ) 66 QString *openfile = new QString( argv[0] );
67 while( openfile->contains( "ubrowser" ) == 0 && i < qApp->argc() )
66 { 68 {
67 argv1->insert( 0, QDir::currentDirPath()+"/" ); 69 i++;
70 *openfile = argv[i];
68 } 71 }
69 location->setEditText( *argv1 ); 72 *openfile = argv[i+1];
73 if( !openfile->startsWith( "http://" ) && !openfile->startsWith( "/" ) )
74 {
75 openfile->insert( 0, QDir::currentDirPath()+"/" );
76 }
77 location->setEditText( *openfile );
70 goClicked(); 78 goClicked();
71 } 79 }
72} 80}
@@ -103,3 +111,11 @@ void MainView::textChanged()
103 111
104 location->setEditText(browser->source()); 112 location->setEditText(browser->source());
105} 113}
114
115void MainView::setDocument( const QString& applnk_filename )
116{
117 DocLnk *file = new DocLnk( applnk_filename );
118
119 location->setEditText( file->file() );
120 goClicked();
121}
diff --git a/noncore/net/ubrowser/mainview.h b/noncore/net/ubrowser/mainview.h
index 1a9b0db..20e2c70 100644
--- a/noncore/net/ubrowser/mainview.h
+++ b/noncore/net/ubrowser/mainview.h
@@ -16,6 +16,7 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 16
17#include <qpe/resource.h> 17#include <qpe/resource.h>
18#include <qpe/qpetoolbar.h> 18#include <qpe/qpetoolbar.h>
19#include <qpe/applnk.h>
19 20
20#include <qapplication.h> 21#include <qapplication.h>
21#include <qmainwindow.h> 22#include <qmainwindow.h>
@@ -39,6 +40,7 @@ public:
39public slots: 40public slots:
40 void goClicked(); 41 void goClicked();
41 void textChanged(); 42 void textChanged();
43 void setDocument( const QString& applnk_filename );
42private: 44private:
43 QToolButton *back; 45 QToolButton *back;
44 QToolButton *forward; 46 QToolButton *forward;