-rw-r--r-- | core/apps/helpbrowser/helpbrowser.cpp | 6 | ||||
-rw-r--r-- | core/apps/helpbrowser/pics/home.png | bin | 693 -> 0 bytes |
2 files changed, 3 insertions, 3 deletions
diff --git a/core/apps/helpbrowser/helpbrowser.cpp b/core/apps/helpbrowser/helpbrowser.cpp index e20d49b..48da7c6 100644 --- a/core/apps/helpbrowser/helpbrowser.cpp +++ b/core/apps/helpbrowser/helpbrowser.cpp | |||
@@ -1,228 +1,228 @@ | |||
1 | #/********************************************************************** | 1 | #/********************************************************************** |
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of Qtopia Environment. | 4 | ** This file is part of Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
9 | ** packaging of this file. | 9 | ** packaging of this file. |
10 | ** | 10 | ** |
11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE | 11 | ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE |
12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. | 12 | ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
13 | ** | 13 | ** |
14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 14 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
15 | ** | 15 | ** |
16 | ** Contact info@trolltech.com if any conditions of this licensing are | 16 | ** Contact info@trolltech.com if any conditions of this licensing are |
17 | ** not clear to you. | 17 | ** not clear to you. |
18 | ** | 18 | ** |
19 | **********************************************************************/ | 19 | **********************************************************************/ |
20 | 20 | ||
21 | #include "helpbrowser.h" | 21 | #include "helpbrowser.h" |
22 | 22 | ||
23 | #include <qpe/qpeapplication.h> | 23 | #include <qpe/qpeapplication.h> |
24 | #include <qpe/resource.h> | 24 | #include <qpe/resource.h> |
25 | #include <qpe/global.h> | 25 | #include <qpe/global.h> |
26 | 26 | ||
27 | #include <qstatusbar.h> | 27 | #include <qstatusbar.h> |
28 | #include <qdragobject.h> | 28 | #include <qdragobject.h> |
29 | #include <qpixmap.h> | 29 | #include <qpixmap.h> |
30 | #include <qpopupmenu.h> | 30 | #include <qpopupmenu.h> |
31 | #include <qpe/qpemenubar.h> | 31 | #include <qpe/qpemenubar.h> |
32 | #include <qpe/qpetoolbar.h> | 32 | #include <qpe/qpetoolbar.h> |
33 | #include <qtoolbutton.h> | 33 | #include <qtoolbutton.h> |
34 | #include <qiconset.h> | 34 | #include <qiconset.h> |
35 | #include <qfile.h> | 35 | #include <qfile.h> |
36 | #include <qtextstream.h> | 36 | #include <qtextstream.h> |
37 | #include <qstylesheet.h> | 37 | #include <qstylesheet.h> |
38 | #include <qmessagebox.h> | 38 | #include <qmessagebox.h> |
39 | #include <qfiledialog.h> | 39 | #include <qfiledialog.h> |
40 | #include <qevent.h> | 40 | #include <qevent.h> |
41 | #include <qlineedit.h> | 41 | #include <qlineedit.h> |
42 | #include <qobjectlist.h> | 42 | #include <qobjectlist.h> |
43 | #include <qfileinfo.h> | 43 | #include <qfileinfo.h> |
44 | #include <qfile.h> | 44 | #include <qfile.h> |
45 | #include <qdatastream.h> | 45 | #include <qdatastream.h> |
46 | #include <qprinter.h> | 46 | #include <qprinter.h> |
47 | #include <qsimplerichtext.h> | 47 | #include <qsimplerichtext.h> |
48 | #include <qpaintdevicemetrics.h> | 48 | #include <qpaintdevicemetrics.h> |
49 | #include <qaction.h> | 49 | #include <qaction.h> |
50 | 50 | ||
51 | #include <ctype.h> | 51 | #include <ctype.h> |
52 | 52 | ||
53 | 53 | ||
54 | HelpBrowser::HelpBrowser( QWidget* parent, const char *name, WFlags f ) | 54 | HelpBrowser::HelpBrowser( QWidget* parent, const char *name, WFlags f ) |
55 | : QMainWindow( parent, name, f ), | 55 | : QMainWindow( parent, name, f ), |
56 | selectedURL() | 56 | selectedURL() |
57 | { | 57 | { |
58 | init( "index.html" ); | 58 | init( "index.html" ); |
59 | } | 59 | } |
60 | 60 | ||
61 | void HelpBrowser::init( const QString& _home ) | 61 | void HelpBrowser::init( const QString& _home ) |
62 | { | 62 | { |
63 | setIcon( Resource::loadPixmap( "help_icon" ) ); | 63 | setIcon( Resource::loadPixmap( "help_icon" ) ); |
64 | 64 | ||
65 | browser = new QTextBrowser( this ); | 65 | browser = new QTextBrowser( this ); |
66 | browser->setFrameStyle( QFrame::Panel | QFrame::Sunken ); | 66 | browser->setFrameStyle( QFrame::Panel | QFrame::Sunken ); |
67 | connect( browser, SIGNAL( textChanged() ), | 67 | connect( browser, SIGNAL( textChanged() ), |
68 | this, SLOT( textChanged() ) ); | 68 | this, SLOT( textChanged() ) ); |
69 | 69 | ||
70 | setCentralWidget( browser ); | 70 | setCentralWidget( browser ); |
71 | setToolBarsMovable( FALSE ); | 71 | setToolBarsMovable( FALSE ); |
72 | 72 | ||
73 | if ( !_home.isEmpty() ) | 73 | if ( !_home.isEmpty() ) |
74 | browser->setSource( _home ); | 74 | browser->setSource( _home ); |
75 | 75 | ||
76 | QPEToolBar* toolbar = new QPEToolBar( this ); | 76 | QPEToolBar* toolbar = new QPEToolBar( this ); |
77 | toolbar->setHorizontalStretchable( TRUE ); | 77 | toolbar->setHorizontalStretchable( TRUE ); |
78 | QPEMenuBar *menu = new QPEMenuBar( toolbar ); | 78 | QPEMenuBar *menu = new QPEMenuBar( toolbar ); |
79 | 79 | ||
80 | toolbar = new QPEToolBar( this ); | 80 | toolbar = new QPEToolBar( this ); |
81 | // addToolBar( toolbar, "Toolbar"); | 81 | // addToolBar( toolbar, "Toolbar"); |
82 | 82 | ||
83 | //QPopupMenu* go = new QPopupMenu( this ); | 83 | //QPopupMenu* go = new QPopupMenu( this ); |
84 | backAction = new QAction( tr( "Backward" ), Resource::loadIconSet( "back" ), QString::null, 0, this, 0 ); | 84 | backAction = new QAction( tr( "Backward" ), Resource::loadIconSet( "back" ), QString::null, 0, this, 0 ); |
85 | connect( backAction, SIGNAL( activated() ), browser, SLOT( backward() ) ); | 85 | connect( backAction, SIGNAL( activated() ), browser, SLOT( backward() ) ); |
86 | connect( browser, SIGNAL( backwardAvailable( bool ) ), | 86 | connect( browser, SIGNAL( backwardAvailable( bool ) ), |
87 | backAction, SLOT( setEnabled( bool ) ) ); | 87 | backAction, SLOT( setEnabled( bool ) ) ); |
88 | //backAction->addTo( go ); | 88 | //backAction->addTo( go ); |
89 | backAction->addTo( toolbar ); | 89 | backAction->addTo( toolbar ); |
90 | backAction->setEnabled( FALSE ); | 90 | backAction->setEnabled( FALSE ); |
91 | 91 | ||
92 | forwardAction = new QAction( tr( "Forward" ), Resource::loadIconSet( "forward" ), QString::null, 0, this, 0 ); | 92 | forwardAction = new QAction( tr( "Forward" ), Resource::loadIconSet( "forward" ), QString::null, 0, this, 0 ); |
93 | connect( forwardAction, SIGNAL( activated() ), browser, SLOT( forward() ) ); | 93 | connect( forwardAction, SIGNAL( activated() ), browser, SLOT( forward() ) ); |
94 | connect( browser, SIGNAL( forwardAvailable( bool ) ), | 94 | connect( browser, SIGNAL( forwardAvailable( bool ) ), |
95 | forwardAction, SLOT( setEnabled( bool ) ) ); | 95 | forwardAction, SLOT( setEnabled( bool ) ) ); |
96 | //forwardAction->addTo( go ); | 96 | //forwardAction->addTo( go ); |
97 | forwardAction->addTo( toolbar ); | 97 | forwardAction->addTo( toolbar ); |
98 | forwardAction->setEnabled( FALSE ); | 98 | forwardAction->setEnabled( FALSE ); |
99 | 99 | ||
100 | QAction *a = new QAction( tr( "Home" ), Resource::loadPixmap( | 100 | QAction *a = new QAction( tr( "Home" ), Resource::loadPixmap( |
101 | "helpbrowser/home" ), QString::null, 0, this, 0 ); | 101 | "home" ), QString::null, 0, this, 0 ); |
102 | connect( a, SIGNAL( activated() ), browser, SLOT( home() ) ); | 102 | connect( a, SIGNAL( activated() ), browser, SLOT( home() ) ); |
103 | //a->addTo( go ); | 103 | //a->addTo( go ); |
104 | a->addTo( toolbar ); | 104 | a->addTo( toolbar ); |
105 | 105 | ||
106 | bookm = new QPopupMenu( this ); | 106 | bookm = new QPopupMenu( this ); |
107 | bookm->insertItem( tr( "Add Bookmark" ), this, SLOT( addBookmark() ) ); | 107 | bookm->insertItem( tr( "Add Bookmark" ), this, SLOT( addBookmark() ) ); |
108 | bookm->insertItem( tr( "Remove from Bookmarks" ), this, SLOT( removeBookmark() ) ); | 108 | bookm->insertItem( tr( "Remove from Bookmarks" ), this, SLOT( removeBookmark() ) ); |
109 | bookm->insertSeparator(); | 109 | bookm->insertSeparator(); |
110 | connect( bookm, SIGNAL( activated( int ) ), | 110 | connect( bookm, SIGNAL( activated( int ) ), |
111 | this, SLOT( bookmChosen( int ) ) ); | 111 | this, SLOT( bookmChosen( int ) ) ); |
112 | 112 | ||
113 | readBookmarks(); | 113 | readBookmarks(); |
114 | 114 | ||
115 | //menu->insertItem( tr("Go"), go ); | 115 | //menu->insertItem( tr("Go"), go ); |
116 | menu->insertItem( tr( "Bookmarks" ), bookm ); | 116 | menu->insertItem( tr( "Bookmarks" ), bookm ); |
117 | 117 | ||
118 | resize( 240, 300 ); | 118 | resize( 240, 300 ); |
119 | browser->setFocus(); | 119 | browser->setFocus(); |
120 | 120 | ||
121 | connect( qApp, SIGNAL(appMessage(const QCString&, const QByteArray&)), | 121 | connect( qApp, SIGNAL(appMessage(const QCString&, const QByteArray&)), |
122 | this, SLOT(appMessage(const QCString&, const QByteArray&)) ); | 122 | this, SLOT(appMessage(const QCString&, const QByteArray&)) ); |
123 | } | 123 | } |
124 | 124 | ||
125 | void HelpBrowser::appMessage(const QCString& msg, const QByteArray& data) | 125 | void HelpBrowser::appMessage(const QCString& msg, const QByteArray& data) |
126 | { | 126 | { |
127 | if ( msg == "showFile(QString)" ) { | 127 | if ( msg == "showFile(QString)" ) { |
128 | QDataStream ds(data,IO_ReadOnly); | 128 | QDataStream ds(data,IO_ReadOnly); |
129 | QString fn; | 129 | QString fn; |
130 | ds >> fn; | 130 | ds >> fn; |
131 | setDocument( fn ); | 131 | setDocument( fn ); |
132 | } | 132 | } |
133 | } | 133 | } |
134 | 134 | ||
135 | void HelpBrowser::setDocument( const QString &doc ) | 135 | void HelpBrowser::setDocument( const QString &doc ) |
136 | { | 136 | { |
137 | if ( !doc.isEmpty() ) | 137 | if ( !doc.isEmpty() ) |
138 | browser->setSource( doc ); | 138 | browser->setSource( doc ); |
139 | raise(); | 139 | raise(); |
140 | } | 140 | } |
141 | 141 | ||
142 | 142 | ||
143 | void HelpBrowser::textChanged() | 143 | void HelpBrowser::textChanged() |
144 | { | 144 | { |
145 | if ( browser->documentTitle().isNull() ) | 145 | if ( browser->documentTitle().isNull() ) |
146 | setCaption( tr("Help Browser") ); | 146 | setCaption( tr("Help Browser") ); |
147 | else | 147 | else |
148 | setCaption( browser->documentTitle() ) ; | 148 | setCaption( browser->documentTitle() ) ; |
149 | 149 | ||
150 | selectedURL = caption(); | 150 | selectedURL = caption(); |
151 | } | 151 | } |
152 | 152 | ||
153 | HelpBrowser::~HelpBrowser() | 153 | HelpBrowser::~HelpBrowser() |
154 | { | 154 | { |
155 | QStringList bookmarks; | 155 | QStringList bookmarks; |
156 | QMap<int, Bookmark>::Iterator it2 = mBookmarks.begin(); | 156 | QMap<int, Bookmark>::Iterator it2 = mBookmarks.begin(); |
157 | for ( ; it2 != mBookmarks.end(); ++it2 ) | 157 | for ( ; it2 != mBookmarks.end(); ++it2 ) |
158 | bookmarks.append( (*it2).name + "=" + (*it2).file ); | 158 | bookmarks.append( (*it2).name + "=" + (*it2).file ); |
159 | 159 | ||
160 | QFile f2( Global::applicationFileName("helpbrowser", "bookmarks") ); | 160 | QFile f2( Global::applicationFileName("helpbrowser", "bookmarks") ); |
161 | if ( f2.open( IO_WriteOnly ) ) { | 161 | if ( f2.open( IO_WriteOnly ) ) { |
162 | QDataStream s2( &f2 ); | 162 | QDataStream s2( &f2 ); |
163 | s2 << bookmarks; | 163 | s2 << bookmarks; |
164 | f2.close(); | 164 | f2.close(); |
165 | } | 165 | } |
166 | } | 166 | } |
167 | 167 | ||
168 | void HelpBrowser::pathSelected( const QString &_path ) | 168 | void HelpBrowser::pathSelected( const QString &_path ) |
169 | { | 169 | { |
170 | browser->setSource( _path ); | 170 | browser->setSource( _path ); |
171 | } | 171 | } |
172 | 172 | ||
173 | void HelpBrowser::readBookmarks() | 173 | void HelpBrowser::readBookmarks() |
174 | { | 174 | { |
175 | QString file = Global::applicationFileName("helpbrowser", "bookmarks"); | 175 | QString file = Global::applicationFileName("helpbrowser", "bookmarks"); |
176 | if ( QFile::exists( file ) ) { | 176 | if ( QFile::exists( file ) ) { |
177 | QStringList bookmarks; | 177 | QStringList bookmarks; |
178 | QFile f( file ); | 178 | QFile f( file ); |
179 | if ( f.open( IO_ReadOnly ) ) { | 179 | if ( f.open( IO_ReadOnly ) ) { |
180 | QDataStream s( &f ); | 180 | QDataStream s( &f ); |
181 | s >> bookmarks; | 181 | s >> bookmarks; |
182 | f.close(); | 182 | f.close(); |
183 | } | 183 | } |
184 | QStringList::Iterator it = bookmarks.begin(); | 184 | QStringList::Iterator it = bookmarks.begin(); |
185 | for ( ; it != bookmarks.end(); ++it ) { | 185 | for ( ; it != bookmarks.end(); ++it ) { |
186 | Bookmark b; | 186 | Bookmark b; |
187 | QString current = *it; | 187 | QString current = *it; |
188 | int equal = current.find( "=" ); | 188 | int equal = current.find( "=" ); |
189 | if ( equal < 1 || equal == (int)current.length() - 1 ) | 189 | if ( equal < 1 || equal == (int)current.length() - 1 ) |
190 | continue; | 190 | continue; |
191 | b.name = current.left( equal ); | 191 | b.name = current.left( equal ); |
192 | b.file = current.mid( equal + 1 ); | 192 | b.file = current.mid( equal + 1 ); |
193 | mBookmarks[ bookm->insertItem( b.name ) ] = b; | 193 | mBookmarks[ bookm->insertItem( b.name ) ] = b; |
194 | } | 194 | } |
195 | } | 195 | } |
196 | } | 196 | } |
197 | 197 | ||
198 | void HelpBrowser::bookmChosen( int i ) | 198 | void HelpBrowser::bookmChosen( int i ) |
199 | { | 199 | { |
200 | if ( mBookmarks.contains( i ) ) | 200 | if ( mBookmarks.contains( i ) ) |
201 | browser->setSource( mBookmarks[ i ].file ); | 201 | browser->setSource( mBookmarks[ i ].file ); |
202 | } | 202 | } |
203 | 203 | ||
204 | void HelpBrowser::addBookmark() | 204 | void HelpBrowser::addBookmark() |
205 | { | 205 | { |
206 | Bookmark b; | 206 | Bookmark b; |
207 | b.name = browser->documentTitle(); | 207 | b.name = browser->documentTitle(); |
208 | b.file = browser->source(); | 208 | b.file = browser->source(); |
209 | if (b.name.isEmpty() ) { | 209 | if (b.name.isEmpty() ) { |
210 | b.name = b.file.left( b.file.length() - 5 ); // remove .html | 210 | b.name = b.file.left( b.file.length() - 5 ); // remove .html |
211 | } | 211 | } |
212 | QMap<int, Bookmark>::Iterator it; | 212 | QMap<int, Bookmark>::Iterator it; |
213 | for( it = mBookmarks.begin(); it != mBookmarks.end(); ++it ) | 213 | for( it = mBookmarks.begin(); it != mBookmarks.end(); ++it ) |
214 | if ( (*it).file == b.file ) return; | 214 | if ( (*it).file == b.file ) return; |
215 | mBookmarks[ bookm->insertItem( b.name ) ] = b; | 215 | mBookmarks[ bookm->insertItem( b.name ) ] = b; |
216 | } | 216 | } |
217 | 217 | ||
218 | void HelpBrowser::removeBookmark() | 218 | void HelpBrowser::removeBookmark() |
219 | { | 219 | { |
220 | QString file = browser->source(); | 220 | QString file = browser->source(); |
221 | QMap<int, Bookmark>::Iterator it = mBookmarks.begin(); | 221 | QMap<int, Bookmark>::Iterator it = mBookmarks.begin(); |
222 | for( ; it != mBookmarks.end(); ++it ) | 222 | for( ; it != mBookmarks.end(); ++it ) |
223 | if ( (*it).file == file ) { | 223 | if ( (*it).file == file ) { |
224 | bookm->removeItem( it.key() ); | 224 | bookm->removeItem( it.key() ); |
225 | mBookmarks.remove( it ); | 225 | mBookmarks.remove( it ); |
226 | break; | 226 | break; |
227 | } | 227 | } |
228 | } | 228 | } |
diff --git a/core/apps/helpbrowser/pics/home.png b/core/apps/helpbrowser/pics/home.png deleted file mode 100644 index e9ba024..0000000 --- a/core/apps/helpbrowser/pics/home.png +++ b/dev/null | |||
Binary files differ | |||