-rw-r--r-- | noncore/net/ubrowser/mainview.cpp | 9 | ||||
-rw-r--r-- | noncore/net/ubrowser/mainview.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/noncore/net/ubrowser/mainview.cpp b/noncore/net/ubrowser/mainview.cpp index 179fa6b..7931d1a 100644 --- a/noncore/net/ubrowser/mainview.cpp +++ b/noncore/net/ubrowser/mainview.cpp | |||
@@ -1,91 +1,100 @@ | |||
1 | /* | 1 | /* |
2 | Opie-uBrowser. a very small web browser, using on QTextBrowser for html display/parsing | 2 | Opie-uBrowser. a very small web browser, using on QTextBrowser for html display/parsing |
3 | Copyright (C) 2002 Thomas Stephens | 3 | Copyright (C) 2002 Thomas Stephens |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public | 5 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public |
6 | License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later | 6 | License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later |
7 | version. | 7 | version. |
8 | 8 | ||
9 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | 9 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the |
10 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | 10 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
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 | 17 | ||
18 | #include "mainview.h" | 18 | #include "mainview.h" |
19 | 19 | ||
20 | MainView::MainView(QWidget *parent, const char *name) : QMainWindow(parent, name) | 20 | MainView::MainView(QWidget *parent, const char *name) : QMainWindow(parent, name) |
21 | { | 21 | { |
22 | setIcon( Resource::loadPixmap( "remote" ) ); | 22 | setIcon( Resource::loadPixmap( "remote" ) ); |
23 | setCaption("uBrowser"); | 23 | setCaption("uBrowser"); |
24 | 24 | ||
25 | setToolBarsMovable( false ); | 25 | setToolBarsMovable( false ); |
26 | 26 | ||
27 | QPEToolBar *toolbar = new QPEToolBar(this, "toolbar"); | 27 | QPEToolBar *toolbar = new QPEToolBar(this, "toolbar"); |
28 | back = new QToolButton(Resource::loadPixmap("ubrowser/back"), 0, 0, 0, 0, toolbar, "back"); | 28 | back = new QToolButton(Resource::loadPixmap("ubrowser/back"), 0, 0, 0, 0, toolbar, "back"); |
29 | forward = new QToolButton(Resource::loadPixmap("ubrowser/forward"), 0, 0, 0, 0, toolbar, "forward"); | 29 | forward = new QToolButton(Resource::loadPixmap("ubrowser/forward"), 0, 0, 0, 0, toolbar, "forward"); |
30 | home = new QToolButton(Resource::loadPixmap("ubrowser/home"), 0, 0, 0, 0, toolbar, "home"); | 30 | home = new QToolButton(Resource::loadPixmap("ubrowser/home"), 0, 0, 0, 0, toolbar, "home"); |
31 | location = new QComboBox(true, toolbar, "location"); | 31 | location = new QComboBox(true, toolbar, "location"); |
32 | go = new QToolButton(Resource::loadPixmap("ubrowser/go"), 0, 0, 0, 0, toolbar, "go"); | 32 | go = new QToolButton(Resource::loadPixmap("ubrowser/go"), 0, 0, 0, 0, toolbar, "go"); |
33 | 33 | ||
34 | toolbar->setStretchableWidget(location); | 34 | toolbar->setStretchableWidget(location); |
35 | toolbar->setHorizontalStretchable(true); | 35 | toolbar->setHorizontalStretchable(true); |
36 | 36 | ||
37 | addToolBar(toolbar); | 37 | addToolBar(toolbar); |
38 | 38 | ||
39 | browser = new QTextBrowser(this, "browser"); | 39 | browser = new QTextBrowser(this, "browser"); |
40 | setCentralWidget(browser); | 40 | setCentralWidget(browser); |
41 | 41 | ||
42 | //make the button take you to the location | 42 | //make the button take you to the location |
43 | connect(go, SIGNAL(clicked()), this, SLOT(goClicked()) ); | 43 | connect(go, SIGNAL(clicked()), this, SLOT(goClicked()) ); |
44 | connect(location->lineEdit(), SIGNAL(returnPressed()), this, SLOT(goClicked()) ); | 44 | connect(location->lineEdit(), SIGNAL(returnPressed()), this, SLOT(goClicked()) ); |
45 | 45 | ||
46 | //make back, forward and home do their thing (isnt QTextBrowser great?) | 46 | //make back, forward and home do their thing (isnt QTextBrowser great?) |
47 | connect(back, SIGNAL(clicked()), browser, SLOT(backward()) ); | 47 | connect(back, SIGNAL(clicked()), browser, SLOT(backward()) ); |
48 | connect(forward, SIGNAL(clicked()), browser, SLOT(forward()) ); | 48 | connect(forward, SIGNAL(clicked()), browser, SLOT(forward()) ); |
49 | connect(home, SIGNAL(clicked()), browser, SLOT(home()) ); | 49 | connect(home, SIGNAL(clicked()), browser, SLOT(home()) ); |
50 | 50 | ||
51 | //make back and forward buttons be enabled, only when you can go back or forward (again, i love QTextBrowser) | 51 | //make back and forward buttons be enabled, only when you can go back or forward (again, i love QTextBrowser) |
52 | //this doesnt seem to work, but doesnt break anything either... | 52 | //this doesnt seem to work, but doesnt break anything either... |
53 | connect(browser, SIGNAL(backwardAvailable(bool)), back, SLOT(setOn(bool)) ); | 53 | connect(browser, SIGNAL(backwardAvailable(bool)), back, SLOT(setOn(bool)) ); |
54 | connect(browser, SIGNAL(forwardAvailable(bool)), forward, SLOT(setOn(bool)) ); | 54 | connect(browser, SIGNAL(forwardAvailable(bool)), forward, SLOT(setOn(bool)) ); |
55 | 55 | ||
56 | //notify me when the text of the browser has changed (like when the user clicks a link) | 56 | //notify me when the text of the browser has changed (like when the user clicks a link) |
57 | connect(browser, SIGNAL(textChanged()), this, SLOT(textChanged()) ); | 57 | connect(browser, SIGNAL(textChanged()), this, SLOT(textChanged()) ); |
58 | 58 | ||
59 | http = new HttpFactory(browser); | 59 | http = new HttpFactory(browser); |
60 | |||
61 | if( qApp->argc() > 1 ) | ||
62 | { | ||
63 | char **argv = qApp->argv(); | ||
64 | location->setEditText( argv[1] ); | ||
65 | goClicked(); | ||
66 | } | ||
60 | } | 67 | } |
61 | 68 | ||
62 | void MainView::goClicked() | 69 | void MainView::goClicked() |
63 | { | 70 | { |
71 | location->insertItem( location->currentText() ); | ||
72 | |||
64 | if(location->currentText().startsWith("http://") ) | 73 | if(location->currentText().startsWith("http://") ) |
65 | { | 74 | { |
66 | location->setEditText(location->currentText().lower()); | 75 | location->setEditText(location->currentText().lower()); |
67 | browser->setMimeSourceFactory(http); | 76 | browser->setMimeSourceFactory(http); |
68 | printf("MainView::goClicked: using http source factory\n"); | 77 | printf("MainView::goClicked: using http source factory\n"); |
69 | } | 78 | } |
70 | else | 79 | else |
71 | { | 80 | { |
72 | browser->setMimeSourceFactory(QMimeSourceFactory::defaultFactory()); | 81 | browser->setMimeSourceFactory(QMimeSourceFactory::defaultFactory()); |
73 | printf("MainView::goClicked: using default source factory\n"); | 82 | printf("MainView::goClicked: using default source factory\n"); |
74 | } | 83 | } |
75 | 84 | ||
76 | browser->setSource(location->currentText()); | 85 | browser->setSource(location->currentText()); |
77 | } | 86 | } |
78 | 87 | ||
79 | void MainView::textChanged() | 88 | void MainView::textChanged() |
80 | { | 89 | { |
81 | if(browser->documentTitle().isNull()) | 90 | if(browser->documentTitle().isNull()) |
82 | { | 91 | { |
83 | setCaption(browser->source() + " - uBrowser"); | 92 | setCaption(browser->source() + " - uBrowser"); |
84 | } | 93 | } |
85 | else | 94 | else |
86 | { | 95 | { |
87 | setCaption(browser->documentTitle() + " - uBrowser"); | 96 | setCaption(browser->documentTitle() + " - uBrowser"); |
88 | } | 97 | } |
89 | 98 | ||
90 | location->setEditText(browser->source()); | 99 | location->setEditText(browser->source()); |
91 | } | 100 | } |
diff --git a/noncore/net/ubrowser/mainview.h b/noncore/net/ubrowser/mainview.h index bd9d19c..c786eb9 100644 --- a/noncore/net/ubrowser/mainview.h +++ b/noncore/net/ubrowser/mainview.h | |||
@@ -1,48 +1,49 @@ | |||
1 | /* | 1 | /* |
2 | Opie-uBrowser. a very small web browser, using on QTextBrowser for html display/parsing | 2 | Opie-uBrowser. a very small web browser, using on QTextBrowser for html display/parsing |
3 | Copyright (C) 2002 Thomas Stephens | 3 | Copyright (C) 2002 Thomas Stephens |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public | 5 | This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public |
6 | License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later | 6 | License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later |
7 | version. | 7 | version. |
8 | 8 | ||
9 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the | 9 | This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the |
10 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General | 10 | implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General |
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 <qpe/resource.h> | 17 | #include <qpe/resource.h> |
18 | #include <qpe/qpetoolbar.h> | 18 | #include <qpe/qpetoolbar.h> |
19 | 19 | ||
20 | #include <qapplication.h> | ||
20 | #include <qmainwindow.h> | 21 | #include <qmainwindow.h> |
21 | #include <qwidget.h> | 22 | #include <qwidget.h> |
22 | #include <qtextbrowser.h> | 23 | #include <qtextbrowser.h> |
23 | #include <qtoolbutton.h> | 24 | #include <qtoolbutton.h> |
24 | #include <qcombobox.h> | 25 | #include <qcombobox.h> |
25 | #include <qlayout.h> | 26 | #include <qlayout.h> |
26 | #include <qlineedit.h> | 27 | #include <qlineedit.h> |
27 | 28 | ||
28 | #include <stdio.h> | 29 | #include <stdio.h> |
29 | 30 | ||
30 | #include "httpfactory.h" | 31 | #include "httpfactory.h" |
31 | 32 | ||
32 | class MainView : public QMainWindow | 33 | class MainView : public QMainWindow |
33 | { | 34 | { |
34 | Q_OBJECT | 35 | Q_OBJECT |
35 | public: | 36 | public: |
36 | MainView(QWidget *parent=0, const char *name=0); | 37 | MainView(QWidget *parent=0, const char *name=0); |
37 | public slots: | 38 | public slots: |
38 | void goClicked(); | 39 | void goClicked(); |
39 | void textChanged(); | 40 | void textChanged(); |
40 | private: | 41 | private: |
41 | QToolButton *back; | 42 | QToolButton *back; |
42 | QToolButton *forward; | 43 | QToolButton *forward; |
43 | QToolButton *home; | 44 | QToolButton *home; |
44 | QToolButton *go; | 45 | QToolButton *go; |
45 | QComboBox *location; | 46 | QComboBox *location; |
46 | QTextBrowser *browser; | 47 | QTextBrowser *browser; |
47 | HttpFactory *http; | 48 | HttpFactory *http; |
48 | }; | 49 | }; |