Diffstat (limited to 'noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp | 38 |
1 files changed, 21 insertions, 17 deletions
diff --git a/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp b/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp index c9149ac..a226258 100644 --- a/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp +++ b/noncore/apps/opie-gutenbrowser/gutenbrowserData.cpp | |||
@@ -2,71 +2,75 @@ | |||
2 | gutenbrowser.cpp - description | 2 | gutenbrowser.cpp - description |
3 | ------------------- | 3 | ------------------- |
4 | begin : Mon Jul 24 22:33:12 MDT 2000 | 4 | begin : Mon Jul 24 22:33:12 MDT 2000 |
5 | copyright : (C) 2000 -2004 by llornkcor | 5 | copyright : (C) 2000 -2004 by llornkcor |
6 | email : ljp@llornkcor.com | 6 | email : ljp@llornkcor.com |
7 | ***************************************************************************/ | 7 | ***************************************************************************/ |
8 | /*************************************************************************** | 8 | /*************************************************************************** |
9 | * This program is free software; you can redistribute it and/or modify * | 9 | * This program is free software; you can redistribute it and/or modify * |
10 | * it under the terms of the GNU General Public License as published by * | 10 | * it under the terms of the GNU General Public License as published by * |
11 | * the Free Software Foundation; either version 2 of the License, or * | 11 | * the Free Software Foundation; either version 2 of the License, or * |
12 | * (at your option) any later version. * | 12 | * (at your option) any later version. * |
13 | ***************************************************************************/ | 13 | ***************************************************************************/ |
14 | |||
14 | //#include "gutenbrowserData.h" | 15 | //#include "gutenbrowserData.h" |
15 | #include "gutenbrowser.h" | 16 | #include "gutenbrowser.h" |
16 | 17 | ||
18 | /* OPIE */ | ||
19 | #include <opie2/odebug.h> | ||
17 | #include <qpe/config.h> | 20 | #include <qpe/config.h> |
18 | #include <qpe/fontdatabase.h> | 21 | #include <qpe/fontdatabase.h> |
19 | #include <qpe/menubutton.h> | 22 | #include <qpe/menubutton.h> |
20 | #include <qpe/resource.h> | 23 | #include <qpe/resource.h> |
21 | #include <qpe/qpeapplication.h> | 24 | #include <qpe/qpeapplication.h> |
22 | 25 | ||
26 | /* QT */ | ||
23 | #include <qfontinfo.h> | 27 | #include <qfontinfo.h> |
24 | #include <qtoolbutton.h> | 28 | #include <qtoolbutton.h> |
25 | 29 | ||
26 | void Gutenbrowser::initSlots() { | 30 | void Gutenbrowser::initSlots() { |
27 | 31 | ||
28 | connect(LibraryButton,SIGNAL(released()),SLOT(LibraryBtn())); | 32 | connect(LibraryButton,SIGNAL(released()),SLOT(LibraryBtn())); |
29 | connect(OpenButton,SIGNAL(released()),SLOT(OpenBtn())); | 33 | connect(OpenButton,SIGNAL(released()),SLOT(OpenBtn())); |
30 | connect(SearchButton,SIGNAL(released()),SLOT(SearchBtn())); | 34 | connect(SearchButton,SIGNAL(released()),SLOT(SearchBtn())); |
31 | connect(ForwardButton,SIGNAL(clicked()),SLOT(ForwardBtn())); | 35 | connect(ForwardButton,SIGNAL(clicked()),SLOT(ForwardBtn())); |
32 | connect(BackButton,SIGNAL(clicked()),SLOT(BackBtn())); | 36 | connect(BackButton,SIGNAL(clicked()),SLOT(BackBtn())); |
33 | connect(setBookmarkButton,SIGNAL(released()),SLOT(setBookmark())); | 37 | connect(setBookmarkButton,SIGNAL(released()),SLOT(setBookmark())); |
34 | connect(dictionaryButton,SIGNAL(released()),SLOT(LookupBtn())); | 38 | connect(dictionaryButton,SIGNAL(released()),SLOT(LookupBtn())); |
35 | connect(InfoBar,SIGNAL(clicked()),SLOT(InfoBarClick())); | 39 | connect(InfoBar,SIGNAL(clicked()),SLOT(InfoBarClick())); |
36 | connect(qApp,SIGNAL(aboutToQuit()),SLOT(cleanUp())); | 40 | connect(qApp,SIGNAL(aboutToQuit()),SLOT(cleanUp())); |
37 | connect(mainList,SIGNAL(clicked(QListBoxItem *)),SLOT(listClickedSlot(QListBoxItem *))); | 41 | connect(mainList,SIGNAL(clicked(QListBoxItem *)),SLOT(listClickedSlot(QListBoxItem *))); |
38 | connect(bookmarksMenu,SIGNAL(activated(int)),SLOT(Bookmark(int))); | 42 | connect(bookmarksMenu,SIGNAL(activated(int)),SLOT(Bookmark(int))); |
39 | } | 43 | } |
40 | 44 | ||
41 | void Gutenbrowser::initConfig() { | 45 | void Gutenbrowser::initConfig() { |
42 | //qDebug("Starting configuration."); | 46 | //odebug << "Starting configuration." << oendl; |
43 | QDir library(local_library); | 47 | QDir library(local_library); |
44 | if ( !library.exists()) { | 48 | if ( !library.exists()) { |
45 | library.mkdir(local_library, TRUE); | 49 | library.mkdir(local_library, TRUE); |
46 | QString msg; | 50 | QString msg; |
47 | // #ifndef Q_WS_WIN | 51 | // #ifndef Q_WS_WIN |
48 | msg = "chmod 755 " + local_library; | 52 | msg = "chmod 755 " + local_library; |
49 | system(msg); | 53 | system(msg); |
50 | // QDir pixdir(local_library+"pix"); | 54 | // QDir pixdir(local_library+"pix"); |
51 | // if ( !pixdir.exists()) { | 55 | // if ( !pixdir.exists()) { |
52 | // pixdir.mkdir(local_library+"pix", TRUE); | 56 | // pixdir.mkdir(local_library+"pix", TRUE); |
53 | // QString msg; | 57 | // QString msg; |
54 | // msg = "chmod 755 " + local_library+"pix"; | 58 | // msg = "chmod 755 " + local_library+"pix"; |
55 | // system(msg); | 59 | // system(msg); |
56 | // } | 60 | // } |
57 | // #endif | 61 | // #endif |
58 | 62 | ||
59 | } | 63 | } |
60 | // qDebug( "init file is %s",iniFile.latin1()); | 64 | // odebug << "init file is " << iniFile << "" << oendl; |
61 | 65 | ||
62 | #ifdef Q_WS_QWS | 66 | #ifdef Q_WS_QWS |
63 | useSplitter=FALSE; | 67 | useSplitter=FALSE; |
64 | Config config("Gutenbrowser"); | 68 | Config config("Gutenbrowser"); |
65 | 69 | ||
66 | config.setGroup( "General" ); | 70 | config.setGroup( "General" ); |
67 | //useWordWrap_CheckBox | 71 | //useWordWrap_CheckBox |
68 | useIcons=TRUE; | 72 | useIcons=TRUE; |
69 | #else | 73 | #else |
70 | 74 | ||
71 | config.setGroup( "General" ); | 75 | config.setGroup( "General" ); |
72 | QString s_Split=config.readEntry("Splitter", "TRUE" ); | 76 | QString s_Split=config.readEntry("Splitter", "TRUE" ); |
@@ -128,129 +132,129 @@ void Gutenbrowser::initConfig() { | |||
128 | // #endif | 132 | // #endif |
129 | 133 | ||
130 | config.setGroup( "Browser" ); | 134 | config.setGroup( "Browser" ); |
131 | brow = config.readEntry( "Preferred", "Opera"); | 135 | brow = config.readEntry( "Preferred", "Opera"); |
132 | config.setGroup( "FTPsite" ); // ftp server config | 136 | config.setGroup( "FTPsite" ); // ftp server config |
133 | ftp_host=config.readEntry("SiteName", "sailor.gutenberg.org"); | 137 | ftp_host=config.readEntry("SiteName", "sailor.gutenberg.org"); |
134 | // ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) ); | 138 | // ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) ); |
135 | ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) ); | 139 | ftp_host=ftp_host.right(ftp_host.length()-(ftp_host.find(") ",0,TRUE)+1) ); |
136 | ftp_host=ftp_host.stripWhiteSpace(); | 140 | ftp_host=ftp_host.stripWhiteSpace(); |
137 | 141 | ||
138 | ftp_base_dir= config.readEntry("base", "/pub/gutenberg"); | 142 | ftp_base_dir= config.readEntry("base", "/pub/gutenberg"); |
139 | 143 | ||
140 | //bool ok2; | 144 | //bool ok2; |
141 | QString temp; | 145 | QString temp; |
142 | QString copying; | 146 | QString copying; |
143 | copying=""; | 147 | copying=""; |
144 | 148 | ||
145 | config.setGroup("General"); | 149 | config.setGroup("General"); |
146 | QString qExit; | 150 | QString qExit; |
147 | qExit=config.readEntry("queryExit","TRUE"); | 151 | qExit=config.readEntry("queryExit","TRUE"); |
148 | if(qExit=="TRUE") { | 152 | if(qExit=="TRUE") { |
149 | b_queryExit=TRUE; | 153 | b_queryExit=TRUE; |
150 | // qDebug("Please query before leaving the library."); | 154 | // odebug << "Please query before leaving the library." << oendl; |
151 | } else { | 155 | } else { |
152 | // qDebug("Please DO NOT query before leaving the library."); | 156 | // odebug << "Please DO NOT query before leaving the library." << oendl; |
153 | b_queryExit=FALSE; | 157 | b_queryExit=FALSE; |
154 | } | 158 | } |
155 | // bookmarks | 159 | // bookmarks |
156 | // config.setGroup("Titles"); | 160 | // config.setGroup("Titles"); |
157 | // QString tmpTitle=config.readEntry(file_name,""); | 161 | // QString tmpTitle=config.readEntry(file_name,""); |
158 | 162 | ||
159 | 163 | ||
160 | }// end initConfig() | 164 | }// end initConfig() |
161 | 165 | ||
162 | void Gutenbrowser::initMenuBar() | 166 | void Gutenbrowser::initMenuBar() |
163 | { | 167 | { |
164 | // qDebug("Starting menu init."); | 168 | // odebug << "Starting menu init." << oendl; |
165 | // menuBar entry fileMenu | 169 | // menuBar entry fileMenu |
166 | menubar = new QPEMenuBar(this); | 170 | menubar = new QPEMenuBar(this); |
167 | 171 | ||
168 | fileMenu=new QPopupMenu(); | 172 | fileMenu=new QPopupMenu(); |
169 | fileMenu->insertItem(Resource::loadPixmap("gutenbrowser/openbook"), | 173 | fileMenu->insertItem(Resource::loadPixmap("gutenbrowser/openbook"), |
170 | "Open Local Library...", this, SLOT( OpenBtn()) ); | 174 | "Open Local Library...", this, SLOT( OpenBtn()) ); |
171 | // fileMenu->insertItem("Download FTPSite", this, SLOT( downloadFtpList()) ); | 175 | // fileMenu->insertItem("Download FTPSite", this, SLOT( downloadFtpList()) ); |
172 | fileMenu->insertItem( Resource::loadPixmap("home"), | 176 | fileMenu->insertItem( Resource::loadPixmap("home"), |
173 | "Download Library Index", this, SLOT( downloadLibIndex()) ); | 177 | "Download Library Index", this, SLOT( downloadLibIndex()) ); |
174 | fileMenu->insertItem( Resource::loadPixmap("quit"), | 178 | fileMenu->insertItem( Resource::loadPixmap("quit"), |
175 | "Quit Gutenbrowser...", this, SLOT( ByeBye()) ); | 179 | "Quit Gutenbrowser...", this, SLOT( ByeBye()) ); |
176 | // menuBar entry editMenu | 180 | // menuBar entry editMenu |
177 | 181 | ||
178 | editMenu=new QPopupMenu(); | 182 | editMenu=new QPopupMenu(); |
179 | 183 | ||
180 | editMenu->insertItem(Resource::loadPixmap("up"), "Top", | 184 | editMenu->insertItem(Resource::loadPixmap("up"), "Top", |
181 | this, SLOT(TopBtn()) ); | 185 | this, SLOT(TopBtn()) ); |
182 | editMenu->insertItem( Resource::loadPixmap("back"), "Beginning", | 186 | editMenu->insertItem( Resource::loadPixmap("back"), "Beginning", |
183 | this, SLOT(doBeginBtn()) ); | 187 | this, SLOT(doBeginBtn()) ); |
184 | editMenu->insertItem( Resource::loadPixmap("gutenbrowser/search"), "Search", | 188 | editMenu->insertItem( Resource::loadPixmap("gutenbrowser/search"), "Search", |
185 | this, SLOT(SearchBtn()) ); | 189 | this, SLOT(SearchBtn()) ); |
186 | 190 | ||
187 | editMenu->insertItem("Clear", this, SLOT(ClearEdit()) ); | 191 | editMenu->insertItem("Clear", this, SLOT(ClearEdit()) ); |
188 | 192 | ||
189 | optionsMenu= new QPopupMenu(); | 193 | optionsMenu= new QPopupMenu(); |
190 | optionsMenu->insertItem( Resource::loadPixmap("gutenbrowser/configure"), | 194 | optionsMenu->insertItem( Resource::loadPixmap("gutenbrowser/configure"), |
191 | "Configure", this, SLOT(doOptions()) ); | 195 | "Configure", this, SLOT(doOptions()) ); |
192 | 196 | ||
193 | donateMenu = new QPopupMenu(); | 197 | donateMenu = new QPopupMenu(); |
194 | // donateMenu->insertItem("Gutenberg", this, SLOT(donateGutenberg()) ); | 198 | // donateMenu->insertItem("Gutenberg", this, SLOT(donateGutenberg()) ); |
195 | donateMenu->insertItem( Resource::loadPixmap("gutenbrowser/gutenbrowser_sm"), | 199 | donateMenu->insertItem( Resource::loadPixmap("gutenbrowser/gutenbrowser_sm"), |
196 | "Gutenbrowser Developer", this, SLOT(infoGutenbrowser()) ); | 200 | "Gutenbrowser Developer", this, SLOT(infoGutenbrowser()) ); |
197 | 201 | ||
198 | menubar->insertItem("File", fileMenu); | 202 | menubar->insertItem("File", fileMenu); |
199 | menubar->insertItem("Page", editMenu); | 203 | menubar->insertItem("Page", editMenu); |
200 | menubar->insertItem("Options", optionsMenu); | 204 | menubar->insertItem("Options", optionsMenu); |
201 | // menubar->insertItem("More Info", donateMenu); | 205 | // menubar->insertItem("More Info", donateMenu); |
202 | 206 | ||
203 | menu->addWidget( menubar,0); | 207 | menu->addWidget( menubar,0); |
204 | 208 | ||
205 | topLayout->addLayout( menu, 0); | 209 | topLayout->addLayout( menu, 0); |
206 | } | 210 | } |
207 | 211 | ||
208 | void Gutenbrowser::initButtonBar() | 212 | void Gutenbrowser::initButtonBar() |
209 | { | 213 | { |
210 | //qDebug("Starting buttonbar init."); | 214 | //odebug << "Starting buttonbar init." << oendl; |
211 | 215 | ||
212 | OpenButton = new QPushButton( this, "OpenButton" ); | 216 | OpenButton = new QPushButton( this, "OpenButton" ); |
213 | OpenButton->setFocusPolicy( QWidget::TabFocus ); | 217 | OpenButton->setFocusPolicy( QWidget::TabFocus ); |
214 | 218 | ||
215 | LibraryButton = new QPushButton( this, "LibraryButton" ); | 219 | LibraryButton = new QPushButton( this, "LibraryButton" ); |
216 | LibraryButton->setFocusPolicy( QWidget::TabFocus ); | 220 | LibraryButton->setFocusPolicy( QWidget::TabFocus ); |
217 | 221 | ||
218 | BackButton = new QPushButton( this, "BackButton" ); | 222 | BackButton = new QPushButton( this, "BackButton" ); |
219 | BackButton->setFocusPolicy( QWidget::TabFocus ); | 223 | BackButton->setFocusPolicy( QWidget::TabFocus ); |
220 | BackButton->setAutoRepeat(TRUE); | 224 | BackButton->setAutoRepeat(TRUE); |
221 | 225 | ||
222 | ForwardButton = new QPushButton( this, "ForwardButton" ); | 226 | ForwardButton = new QPushButton( this, "ForwardButton" ); |
223 | ForwardButton->setFocusPolicy( QWidget::TabFocus ); | 227 | ForwardButton->setFocusPolicy( QWidget::TabFocus ); |
224 | // ForwardButton->setAutoRepeat(TRUE); | 228 | // ForwardButton->setAutoRepeat(TRUE); |
225 | 229 | ||
226 | SearchButton = new QPushButton( this, "SearchButton" ); | 230 | SearchButton = new QPushButton( this, "SearchButton" ); |
227 | SearchButton->setFocusPolicy( QWidget::TabFocus ); | 231 | SearchButton->setFocusPolicy( QWidget::TabFocus ); |
228 | 232 | ||
229 | setBookmarkButton = new QPushButton( this, "setBookmark" ); | 233 | setBookmarkButton = new QPushButton( this, "setBookmark" ); |
230 | setBookmarkButton->setFocusPolicy( QWidget::TabFocus ); | 234 | setBookmarkButton->setFocusPolicy( QWidget::TabFocus ); |
231 | 235 | ||
232 | lastBmkButton = new MenuButton( this, "lastBmkButton" ); | 236 | lastBmkButton = new MenuButton( this, "lastBmkButton" ); |
233 | lastBmkButton->setFocusPolicy( QWidget::TabFocus ); | 237 | lastBmkButton->setFocusPolicy( QWidget::TabFocus ); |
234 | 238 | ||
235 | bookmarksMenu = new QPopupMenu(); | 239 | bookmarksMenu = new QPopupMenu(); |
236 | bookmarksMenu->insertItem("Last Set", this, SLOT(Bookmark( int) )); | 240 | bookmarksMenu->insertItem("Last Set", this, SLOT(Bookmark( int) )); |
237 | 241 | ||
238 | lastBmkButton->setPopup(bookmarksMenu); | 242 | lastBmkButton->setPopup(bookmarksMenu); |
239 | 243 | ||
240 | dictionaryButton = new QPushButton( this, "dictionaryButton" ); | 244 | dictionaryButton = new QPushButton( this, "dictionaryButton" ); |
241 | dictionaryButton->setFocusPolicy( QWidget::TabFocus ); | 245 | dictionaryButton->setFocusPolicy( QWidget::TabFocus ); |
242 | 246 | ||
243 | InfoBar = new QPushButton( this, "Info_Bar" ); | 247 | InfoBar = new QPushButton( this, "Info_Bar" ); |
244 | // qDebug("Infobar"); | 248 | // odebug << "Infobar" << oendl; |
245 | // if(!useSplitter) { | 249 | // if(!useSplitter) { |
246 | 250 | ||
247 | buttonsHidden=FALSE; | 251 | buttonsHidden=FALSE; |
248 | buttons2->setSpacing(2); | 252 | buttons2->setSpacing(2); |
249 | buttons2->addWidget(OpenButton, 0, AlignCenter); | 253 | buttons2->addWidget(OpenButton, 0, AlignCenter); |
250 | buttons2->addWidget(LibraryButton, 0, AlignCenter); | 254 | buttons2->addWidget(LibraryButton, 0, AlignCenter); |
251 | buttons2->addWidget(BackButton, 0, AlignCenter); | 255 | buttons2->addWidget(BackButton, 0, AlignCenter); |
252 | buttons2->addWidget(ForwardButton, 0, AlignCenter); | 256 | buttons2->addWidget(ForwardButton, 0, AlignCenter); |
253 | buttons2->addWidget(SearchButton, 0, AlignCenter); | 257 | buttons2->addWidget(SearchButton, 0, AlignCenter); |
254 | buttons2->addWidget(setBookmarkButton, 0, AlignCenter); | 258 | buttons2->addWidget(setBookmarkButton, 0, AlignCenter); |
255 | buttons2->addWidget(lastBmkButton, 0, AlignCenter); | 259 | buttons2->addWidget(lastBmkButton, 0, AlignCenter); |
256 | buttons2->addWidget(dictionaryButton, 0, AlignCenter); | 260 | buttons2->addWidget(dictionaryButton, 0, AlignCenter); |
@@ -267,42 +271,42 @@ void Gutenbrowser::initStatusBar() | |||
267 | // #ifndef Q_WS_QWS | 271 | // #ifndef Q_WS_QWS |
268 | 272 | ||
269 | // statusBar = new QStatusBar( this, "Status Bar"); | 273 | // statusBar = new QStatusBar( this, "Status Bar"); |
270 | // statusBar->message(IDS_STATUS_DEFAULT, 2000); | 274 | // statusBar->message(IDS_STATUS_DEFAULT, 2000); |
271 | // #endif | 275 | // #endif |
272 | } | 276 | } |
273 | 277 | ||
274 | void Gutenbrowser::initView() | 278 | void Gutenbrowser::initView() |
275 | { | 279 | { |
276 | // set the main widget here | 280 | // set the main widget here |
277 | // QFont defaultFont( "charter", 10, 50, 0 ); | 281 | // QFont defaultFont( "charter", 10, 50, 0 ); |
278 | Lview = new MultiLine_Ex(this); | 282 | Lview = new MultiLine_Ex(this); |
279 | 283 | ||
280 | Config cfg("Gutenbrowser"); | 284 | Config cfg("Gutenbrowser"); |
281 | cfg.setGroup("Font"); | 285 | cfg.setGroup("Font"); |
282 | 286 | ||
283 | FontDatabase fdb; | 287 | FontDatabase fdb; |
284 | QFont defaultFont=Lview->font(); | 288 | QFont defaultFont=Lview->font(); |
285 | QFontInfo fontInfo(defaultFont); | 289 | QFontInfo fontInfo(defaultFont); |
286 | 290 | ||
287 | QString family = cfg.readEntry("Family", fontInfo.family()); | 291 | QString family = cfg.readEntry("Family", fontInfo.family()); |
288 | QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); | 292 | QString style = cfg.readEntry("Style", fdb.styleString(defaultFont)); |
289 | int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); | 293 | int i_size = cfg.readNumEntry("Size", fontInfo.pointSize()/10); |
290 | QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); | 294 | QString charSet = cfg.readEntry("CharSet", QFont::encodingName( fontInfo.charSet()) ); |
291 | 295 | ||
292 | defaultFont = fdb.font(family,style,i_size,charSet); | 296 | defaultFont = fdb.font(family,style,i_size,charSet); |
293 | 297 | ||
294 | QString italic=cfg.readEntry("Italic","FALSE"); | 298 | QString italic=cfg.readEntry("Italic","FALSE"); |
295 | if(italic=="TRUE") { | 299 | if(italic=="TRUE") { |
296 | qDebug("Set Italic font"); | 300 | odebug << "Set Italic font" << oendl; |
297 | defaultFont = fdb.font(family,"Regular",i_size,charSet); //workaround | 301 | defaultFont = fdb.font(family,"Regular",i_size,charSet); //workaround |
298 | defaultFont.setItalic(TRUE); | 302 | defaultFont.setItalic(TRUE); |
299 | } | 303 | } |
300 | 304 | ||
301 | Lview->setFont( defaultFont); | 305 | Lview->setFont( defaultFont); |
302 | update(); | 306 | update(); |
303 | 307 | ||
304 | cfg.setGroup("General"); | 308 | cfg.setGroup("General"); |
305 | 309 | ||
306 | if( cfg.readBoolEntry("WordWrap", 1)) { | 310 | if( cfg.readBoolEntry("WordWrap", 1)) { |
307 | Lview->setWordWrap(QMultiLineEdit::WidgetWidth); | 311 | Lview->setWordWrap(QMultiLineEdit::WidgetWidth); |
308 | useWrap=true; | 312 | useWrap=true; |