summaryrefslogtreecommitdiff
authorar <ar>2004-02-08 19:14:56 (UTC)
committer ar <ar>2004-02-08 19:14:56 (UTC)
commit5f698069bca9dde2c8be9ff1bf863ee3a7a33cf0 (patch) (unidiff)
tree525f35c4937c9f4ae99538289c5d1f96c53d7fa7
parent2dc8add65c44b3dd240cf2bd3c276c3c0155f46b (diff)
downloadopie-5f698069bca9dde2c8be9ff1bf863ee3a7a33cf0.zip
opie-5f698069bca9dde2c8be9ff1bf863ee3a7a33cf0.tar.gz
opie-5f698069bca9dde2c8be9ff1bf863ee3a7a33cf0.tar.bz2
improve support for BigScreen
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/advancedfm/advancedfmMenu.cpp1704
-rw-r--r--noncore/apps/checkbook/checkbook.cpp6
-rw-r--r--noncore/apps/checkbook/mainwindow.cpp11
-rw-r--r--noncore/apps/odict/configdlg.cpp9
-rw-r--r--noncore/apps/odict/searchmethoddlg.cpp15
-rw-r--r--noncore/apps/opie-bartender/bartender.cpp16
-rw-r--r--noncore/apps/opie-console/configdialog.cpp10
-rw-r--r--noncore/apps/opie-console/mainwindow.cpp7
-rw-r--r--noncore/apps/opie-console/modemconfigwidget.cpp9
-rw-r--r--noncore/apps/opie-reader/CloseDialog.cpp5
-rw-r--r--noncore/apps/opie-reader/Prefs.cpp5
-rw-r--r--noncore/apps/opie-reader/QTReaderApp.cpp8444
-rw-r--r--noncore/apps/opie-reader/ToolbarPrefs.cpp10
-rw-r--r--noncore/apps/opie-reader/URLDialog.cpp31
-rw-r--r--noncore/apps/opie-reader/fileBrowser.cpp5
-rw-r--r--noncore/apps/opie-sheet/mainwindow.cpp9
-rw-r--r--noncore/apps/tableviewer/ui/tveditview.cpp8
-rw-r--r--noncore/apps/tableviewer/ui/tvfilterview.cpp8
-rw-r--r--noncore/apps/tableviewer/ui/tvkeyedit.cpp8
-rw-r--r--noncore/apps/tinykate/libkate/view/kateview.cpp4
-rw-r--r--noncore/apps/zsafe/scqtfileedit.cpp4
-rw-r--r--noncore/apps/zsafe/zsafe.cpp31
-rw-r--r--noncore/comm/keypebble/kvnc.cpp7
23 files changed, 5180 insertions, 5186 deletions
diff --git a/noncore/apps/advancedfm/advancedfmMenu.cpp b/noncore/apps/advancedfm/advancedfmMenu.cpp
index 26bc36d..78f9da2 100644
--- a/noncore/apps/advancedfm/advancedfmMenu.cpp
+++ b/noncore/apps/advancedfm/advancedfmMenu.cpp
@@ -1,854 +1,850 @@
1/*************************************************************************** 1/***************************************************************************
2 AdvancedFm.cpp 2 AdvancedFm.cpp
3 ------------------- 3 -------------------
4 ** Created: Sat Mar 9 23:33:09 2002 4 ** Created: Sat Mar 9 23:33:09 2002
5 copyright : (C) 2002 by ljp 5 copyright : (C) 2002 by ljp
6 email : ljp@llornkcor.com 6 email : ljp@llornkcor.com
7 * This program is free software; you can redistribute it and/or modify * 7 * This program is free software; you can redistribute it and/or modify *
8 * it under the terms of the GNU General Public License as published by * 8 * it under the terms of the GNU General Public License as published by *
9 * the Free Software Foundation; either version 2 of the License, or * 9 * the Free Software Foundation; either version 2 of the License, or *
10 * (at your option) any later version. * 10 * (at your option) any later version. *
11 ***************************************************************************/ 11 ***************************************************************************/
12#include "advancedfm.h" 12#include "advancedfm.h"
13#include "output.h" 13#include "output.h"
14#include "filePermissions.h" 14#include "filePermissions.h"
15 15
16#include <opie/otabwidget.h> 16#include <opie/otabwidget.h>
17#include <opie/oprocess.h> 17#include <opie/oprocess.h>
18 18
19#include <qpe/lnkproperties.h> 19#include <qpe/lnkproperties.h>
20#include <qpe/qpeapplication.h> 20#include <qpe/qpeapplication.h>
21#include <qpe/resource.h> 21#include <qpe/resource.h>
22#include <qpe/qcopenvelope_qws.h> 22#include <qpe/qcopenvelope_qws.h>
23#include <qpe/applnk.h> 23#include <qpe/applnk.h>
24#include <qpe/ir.h> 24#include <qpe/ir.h>
25 25
26#include <qmessagebox.h> 26#include <qmessagebox.h>
27#include <qmultilineedit.h> 27#include <qmultilineedit.h>
28 28
29#include <qstring.h> 29#include <qstring.h>
30 30
31#include <qlayout.h> 31#include <qlayout.h>
32#include <qpixmap.h> 32#include <qpixmap.h>
33#include <qcombobox.h> 33#include <qcombobox.h>
34#include <qpopupmenu.h> 34#include <qpopupmenu.h>
35#include <qtabwidget.h> 35#include <qtabwidget.h>
36#include <qtoolbutton.h> 36#include <qtoolbutton.h>
37#include <qlineedit.h> 37#include <qlineedit.h>
38#include <qlistview.h> 38#include <qlistview.h>
39 39
40#include <errno.h> 40#include <errno.h>
41#include <stdlib.h> 41#include <stdlib.h>
42#include <unistd.h> 42#include <unistd.h>
43#include <sys/stat.h> 43#include <sys/stat.h>
44#include <dirent.h> 44#include <dirent.h>
45#include <sys/sendfile.h> 45#include <sys/sendfile.h>
46#include <fcntl.h> 46#include <fcntl.h>
47 47
48 48
49void AdvancedFm::doDirChange() { 49void AdvancedFm::doDirChange() {
50 QString pathItem = CurrentView()->currentItem()->text(0); 50 QString pathItem = CurrentView()->currentItem()->text(0);
51 if( pathItem == "../") { 51 if( pathItem == "../") {
52 ListClicked( CurrentView()->currentItem()); 52 ListClicked( CurrentView()->currentItem());
53 } else { 53 } else {
54 if( pathItem.find(" -> ",0,TRUE) != -1) 54 if( pathItem.find(" -> ",0,TRUE) != -1)
55 pathItem = dealWithSymName((const QString&)pathItem)+"/"; 55 pathItem = dealWithSymName((const QString&)pathItem)+"/";
56// qWarning(pathItem); 56// qWarning(pathItem);
57 gotoDirectory( CurrentDir()->path()+"/"+pathItem.left( pathItem.length() - 1) ); 57 gotoDirectory( CurrentDir()->path()+"/"+pathItem.left( pathItem.length() - 1) );
58 } 58 }
59} 59}
60 60
61void AdvancedFm::showMenuHidden() { 61void AdvancedFm::showMenuHidden() {
62 if (b) { 62 if (b) {
63 CurrentDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 63 CurrentDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
64 OtherDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 64 OtherDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
65 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE); 65 fileMenu->setItemChecked( fileMenu->idAt(0),TRUE);
66 } else { 66 } else {
67 CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 67 CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
68 OtherDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 68 OtherDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
69 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE); 69 fileMenu->setItemChecked( fileMenu->idAt(0),FALSE);
70 } 70 }
71 b = !b; 71 b = !b;
72 populateView(); 72 populateView();
73} 73}
74 74
75void AdvancedFm::showHidden() { 75void AdvancedFm::showHidden() {
76 if (b) { 76 if (b) {
77 CurrentDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 77 CurrentDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
78 OtherDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All); 78 OtherDir()->setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All);
79 } else { 79 } else {
80 CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 80 CurrentDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
81 OtherDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All); 81 OtherDir()->setFilter( QDir::Files | QDir::Dirs/* | QDir::Hidden*/ | QDir::All);
82 } 82 }
83 populateView(); 83 populateView();
84} 84}
85 85
86QString AdvancedFm::dealWithSymName(const QString &fileName) { 86QString AdvancedFm::dealWithSymName(const QString &fileName) {
87 QString strItem = fileName; 87 QString strItem = fileName;
88 return strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4); 88 return strItem.right( (strItem.length() - strItem.find("->",0,TRUE)) - 4);
89} 89}
90 90
91void AdvancedFm::runThis() { 91void AdvancedFm::runThis() {
92 if( !CurrentView()->currentItem()) return; 92 if( !CurrentView()->currentItem()) return;
93 QString fs; 93 QString fs;
94 QDir *thisDir = CurrentDir(); 94 QDir *thisDir = CurrentDir();
95 95
96 QString curFile = CurrentView()->currentItem()->text(0); 96 QString curFile = CurrentView()->currentItem()->text(0);
97 QString path = thisDir->canonicalPath(); 97 QString path = thisDir->canonicalPath();
98 98
99 if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink 99 if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink
100 100
101 curFile = dealWithSymName((const QString&)curFile); 101 curFile = dealWithSymName((const QString&)curFile);
102 102
103 if(curFile != "../") { 103 if(curFile != "../") {
104 104
105 fs = getFileSystemType((const QString &) path); 105 fs = getFileSystemType((const QString &) path);
106 QFileInfo fileInfo( path + "/" + curFile); 106 QFileInfo fileInfo( path + "/" + curFile);
107// qDebug( fileInfo.owner()); 107// qDebug( fileInfo.owner());
108 108
109 if( (fileInfo.permission( QFileInfo::ExeUser) 109 if( (fileInfo.permission( QFileInfo::ExeUser)
110 | fileInfo.permission( QFileInfo::ExeGroup) 110 | fileInfo.permission( QFileInfo::ExeGroup)
111 | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) { 111 | fileInfo.permission( QFileInfo::ExeOther)) // & fs.find("vfat",0,TRUE) == -1) {
112 | fs == "vfat" && fileInfo.filePath().contains("/bin") ) { 112 | fs == "vfat" && fileInfo.filePath().contains("/bin") ) {
113 QCopEnvelope e("QPE/System", "execute(QString)" ); 113 QCopEnvelope e("QPE/System", "execute(QString)" );
114 e << curFile; 114 e << curFile;
115 } else { 115 } else {
116 curFile = path + "/" + curFile; 116 curFile = path + "/" + curFile;
117 DocLnk nf(curFile); 117 DocLnk nf(curFile);
118 QString execStr = nf.exec(); 118 QString execStr = nf.exec();
119// qDebug( execStr); 119// qDebug( execStr);
120 if( execStr.isEmpty() ) { 120 if( execStr.isEmpty() ) {
121 } else { 121 } else {
122 nf.execute(); 122 nf.execute();
123 } 123 }
124 } 124 }
125 } 125 }
126} 126}
127 127
128void AdvancedFm::runText() { 128void AdvancedFm::runText() {
129 if( !CurrentView()->currentItem()) return; 129 if( !CurrentView()->currentItem()) return;
130 QString curFile = CurrentView()->currentItem()->text(0); 130 QString curFile = CurrentView()->currentItem()->text(0);
131 if(curFile != "../") { 131 if(curFile != "../") {
132 if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink 132 if( curFile.find("@",0,TRUE) !=-1 || curFile.find("->",0,TRUE) !=-1 ) //if symlink
133 curFile = dealWithSymName((const QString&)curFile); 133 curFile = dealWithSymName((const QString&)curFile);
134 curFile = CurrentDir()->canonicalPath()+"/"+curFile; 134 curFile = CurrentDir()->canonicalPath()+"/"+curFile;
135 QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" ); 135 QCopEnvelope e("QPE/Application/textedit", "setDocument(QString)" );
136 e << curFile; 136 e << curFile;
137 } 137 }
138} 138}
139 139
140void AdvancedFm::makeDir() { 140void AdvancedFm::makeDir() {
141 InputDialog *fileDlg; 141 InputDialog *fileDlg;
142 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0); 142 fileDlg = new InputDialog(this,tr("Make Directory"),TRUE, 0);
143 fileDlg->exec(); 143 fileDlg->exec();
144 if( fileDlg->result() == 1 ) { 144 if( fileDlg->result() == 1 ) {
145 QDir *thisDir = CurrentDir(); 145 QDir *thisDir = CurrentDir();
146 QString filename = fileDlg->LineEdit1->text(); 146 QString filename = fileDlg->LineEdit1->text();
147 thisDir->mkdir( thisDir->canonicalPath()+"/"+filename); 147 thisDir->mkdir( thisDir->canonicalPath()+"/"+filename);
148 } 148 }
149 populateView(); 149 populateView();
150} 150}
151 151
152void AdvancedFm::doDelete() { 152void AdvancedFm::doDelete() {
153 QStringList curFileList = getPath(); 153 QStringList curFileList = getPath();
154 bool doMsg=true; 154 bool doMsg=true;
155 int count = curFileList.count(); 155 int count = curFileList.count();
156 if( count > 0) { 156 if( count > 0) {
157 if(count > 1 ) { 157 if(count > 1 ) {
158 QString msg; 158 QString msg;
159 msg=tr("Really delete\n%1 files?").arg(count); 159 msg=tr("Really delete\n%1 files?").arg(count);
160 switch ( QMessageBox::warning(this,tr("Delete"),msg 160 switch ( QMessageBox::warning(this,tr("Delete"),msg
161 ,tr("Yes"),tr("No"),0,0,1) ) 161 ,tr("Yes"),tr("No"),0,0,1) )
162 { 162 {
163 case 0: 163 case 0:
164 doMsg=false; 164 doMsg=false;
165 break; 165 break;
166 case 1: 166 case 1:
167 return; 167 return;
168 break; 168 break;
169 }; 169 };
170 } 170 }
171 171
172 QString myFile; 172 QString myFile;
173 173
174 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 174 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
175 myFile = (*it); 175 myFile = (*it);
176 if( myFile.find(" -> ",0,TRUE) != -1) 176 if( myFile.find(" -> ",0,TRUE) != -1)
177 myFile = myFile.left( myFile.find(" -> ",0,TRUE)); 177 myFile = myFile.left( myFile.find(" -> ",0,TRUE));
178 178
179 QString f = CurrentDir()->canonicalPath(); 179 QString f = CurrentDir()->canonicalPath();
180 if(f.right(1).find("/",0,TRUE) == -1) 180 if(f.right(1).find("/",0,TRUE) == -1)
181 f += "/"; 181 f += "/";
182 f += myFile; 182 f += myFile;
183 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) { 183 if(QDir(f).exists() && !QFileInfo(f).isSymLink() ) {
184 //if file is a directory 184 //if file is a directory
185 185
186 switch ( QMessageBox::warning( this, tr("Delete Directory?"), 186 switch ( QMessageBox::warning( this, tr("Delete Directory?"),
187 tr("Really delete %1\nand all it's contents ?" ).arg( f ) , 187 tr("Really delete %1\nand all it's contents ?" ).arg( f ) ,
188 tr("Yes"), tr("No"), 0, 0, 1) ) { 188 tr("Yes"), tr("No"), 0, 0, 1) ) {
189 case 0: 189 case 0:
190 { 190 {
191 f=f.left(f.length()-1); 191 f=f.left(f.length()-1);
192 QString cmd="rm -rf "+f; 192 QString cmd="rm -rf "+f;
193 startProcess( (const QString)cmd.latin1() ); 193 startProcess( (const QString)cmd.latin1() );
194 populateView(); 194 populateView();
195 } 195 }
196 break; 196 break;
197 case 1: 197 case 1:
198 // exit 198 // exit
199 break; 199 break;
200 }; 200 };
201 201
202 } else { 202 } else {
203 if(doMsg) { 203 if(doMsg) {
204 switch ( QMessageBox::warning(this,tr("Delete"), 204 switch ( QMessageBox::warning(this,tr("Delete"),
205 tr("Really delete\n%1?").arg( myFile ), 205 tr("Really delete\n%1?").arg( myFile ),
206 tr("Yes"), tr("No"), 0, 0, 1) ) { 206 tr("Yes"), tr("No"), 0, 0, 1) ) {
207 case 1: 207 case 1:
208 return; 208 return;
209 break; 209 break;
210 }; 210 };
211 } 211 }
212 212
213 QString cmd="rm "+f; 213 QString cmd="rm "+f;
214 QFile file(f); 214 QFile file(f);
215 QFileInfo fi(myFile); 215 QFileInfo fi(myFile);
216 if( fi.fileName().find("../",0,TRUE)==-1) { 216 if( fi.fileName().find("../",0,TRUE)==-1) {
217// qDebug("remove link files "+myFile); 217// qDebug("remove link files "+myFile);
218 218
219// DocLnk lnk(f); 219// DocLnk lnk(f);
220 DocLnk *lnk; 220 DocLnk *lnk;
221 lnk = new DocLnk(f); 221 lnk = new DocLnk(f);
222// qDebug("Deleting doclnk " + lnk->linkFile()); 222// qDebug("Deleting doclnk " + lnk->linkFile());
223 if(lnk->isValid()) 223 if(lnk->isValid())
224 lnk->removeLinkFile(); 224 lnk->removeLinkFile();
225 // delete lnk; 225 // delete lnk;
226 file.remove(); 226 file.remove();
227 } 227 }
228 } 228 }
229 } 229 }
230 } 230 }
231 populateView(); 231 populateView();
232} 232}
233 233
234void AdvancedFm::filePerms() { 234void AdvancedFm::filePerms() {
235 QStringList curFileList = getPath(); 235 QStringList curFileList = getPath();
236 QString filePath; 236 QString filePath;
237 237
238 filePath = CurrentDir()->canonicalPath()+"/"; 238 filePath = CurrentDir()->canonicalPath()+"/";
239 239
240 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 240 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
241 filePermissions *filePerm; 241 filePermissions *filePerm;
242 filePerm = new filePermissions(this, "Permissions",true,0,(const QString &)(filePath+*it)); 242 filePerm = new filePermissions(this, "Permissions",true,0,(const QString &)(filePath+*it));
243 filePerm->showMaximized(); 243 QPEApplication::execDialog( filePerm );
244 filePerm->exec(); 244 if( filePerm )
245 if( filePerm) 245 delete filePerm;
246 delete filePerm; 246 }
247 } 247 populateView();
248 populateView(); 248}
249} 249
250 250void AdvancedFm::doProperties() {
251void AdvancedFm::doProperties() { 251#if defined(QT_QWS_OPIE)
252#if defined(QT_QWS_OPIE) 252
253 253 QStringList curFileList = getPath();
254 QStringList curFileList = getPath(); 254
255 255 QString filePath;
256 QString filePath; 256 filePath = CurrentDir()->canonicalPath()+"/";
257 filePath = CurrentDir()->canonicalPath()+"/"; 257
258 258// qDebug("%d",curFileList.count());
259// qDebug("%d",curFileList.count()); 259
260 260 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
261 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 261// qDebug((filePath+*it));
262// qDebug((filePath+*it)); 262 DocLnk lnk( (filePath+*it));
263 DocLnk lnk( (filePath+*it)); 263 LnkProperties prop( &lnk );
264 LnkProperties prop( &lnk ); 264 QPEApplication::execDialog( &prop );
265 prop.showMaximized(); 265 }
266 prop.exec(); 266#endif
267 } 267
268#endif 268}
269 269
270} 270void AdvancedFm::upDir() {
271 271 QDir *thisDir = CurrentDir();
272void AdvancedFm::upDir() { 272 QString current = thisDir->canonicalPath();
273 QDir *thisDir = CurrentDir(); 273 QDir dir(current);
274 QString current = thisDir->canonicalPath(); 274 dir.cdUp();
275 QDir dir(current); 275 current = dir.canonicalPath();
276 dir.cdUp(); 276 chdir( current.latin1() );
277 current = dir.canonicalPath(); 277 thisDir->cd( current, TRUE);
278 chdir( current.latin1() ); 278
279 thisDir->cd( current, TRUE); 279 populateView();
280 280 update();
281 populateView(); 281}
282 update(); 282
283} 283void AdvancedFm::copy() {
284 284 qApp->processEvents();
285void AdvancedFm::copy() { 285 QStringList curFileList = getPath();
286 qApp->processEvents(); 286
287 QStringList curFileList = getPath(); 287 QDir *thisDir = CurrentDir();
288 288 QDir *thatDir = OtherDir();
289 QDir *thisDir = CurrentDir(); 289
290 QDir *thatDir = OtherDir(); 290 bool doMsg=true;
291 291 int count=curFileList.count();
292 bool doMsg=true; 292 if( count > 0) {
293 int count=curFileList.count(); 293 if(count > 1 ){
294 if( count > 0) { 294 QString msg;
295 if(count > 1 ){ 295 msg=tr("Really copy\n%1 files?").arg(count);
296 QString msg; 296 switch ( QMessageBox::warning(this,tr("Copy"),msg
297 msg=tr("Really copy\n%1 files?").arg(count); 297 ,tr("Yes"),tr("No"),0,0,1) )
298 switch ( QMessageBox::warning(this,tr("Copy"),msg 298 {
299 ,tr("Yes"),tr("No"),0,0,1) ) 299 case 0:
300 { 300 doMsg=false;
301 case 0: 301 break;
302 doMsg=false; 302 case 1:
303 break; 303 return;
304 case 1: 304 break;
305 return; 305 };
306 break; 306 }
307 }; 307
308 } 308 QString curFile, item, destFile;
309 309 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
310 QString curFile, item, destFile; 310 item=(*it);
311 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 311 if(item.find("->",0,TRUE)) //symlink
312 item=(*it); 312 item = item.left(item.find("->",0,TRUE));
313 if(item.find("->",0,TRUE)) //symlink 313
314 item = item.left(item.find("->",0,TRUE)); 314 curFile = thisDir->canonicalPath()+"/"+ item;
315 315 destFile = thatDir->canonicalPath()+"/"+ item;
316 curFile = thisDir->canonicalPath()+"/"+ item; 316
317 destFile = thatDir->canonicalPath()+"/"+ item; 317// qDebug("Destination file is "+destFile);
318 318// qDebug("CurrentFile file is " + curFile);
319// qDebug("Destination file is "+destFile); 319
320// qDebug("CurrentFile file is " + curFile); 320 QFile f(destFile);
321 321 if( f.exists()) {
322 QFile f(destFile); 322 if(doMsg) {
323 if( f.exists()) { 323 switch ( QMessageBox::warning(this,tr("File Exists!"),
324 if(doMsg) { 324 tr("%1 exists. Ok to overwrite?").arg( item ),
325 switch ( QMessageBox::warning(this,tr("File Exists!"), 325 tr("Yes"),tr("No"),0,0,1) ) {
326 tr("%1 exists. Ok to overwrite?").arg( item ), 326 case 1:
327 tr("Yes"),tr("No"),0,0,1) ) { 327 return;
328 case 1: 328 break;
329 return; 329 };
330 break; 330 }
331 }; 331 f.remove();
332 } 332 }
333 f.remove(); 333
334 } 334 if( !copyFile( curFile, destFile) ) {
335 335 QMessageBox::message("AdvancedFm",
336 if( !copyFile( curFile, destFile) ) { 336 tr( "Could not copy %1 to %2").arg( curFile ).arg( destFile ) );
337 QMessageBox::message("AdvancedFm", 337 return;
338 tr( "Could not copy %1 to %2").arg( curFile ).arg( destFile ) ); 338 }
339 return; 339 }
340 } 340 setOtherTabCurrent();
341 } 341 rePopulate();
342 setOtherTabCurrent(); 342 }
343 rePopulate(); 343}
344 } 344
345} 345void AdvancedFm::copyAs() {
346 346 qApp->processEvents();
347void AdvancedFm::copyAs() { 347
348 qApp->processEvents(); 348 QStringList curFileList = getPath();
349 349 QString curFile, item;
350 QStringList curFileList = getPath(); 350 InputDialog *fileDlg;
351 QString curFile, item; 351
352 InputDialog *fileDlg; 352 QDir *thisDir = CurrentDir();
353 353 QDir *thatDir = OtherDir();
354 QDir *thisDir = CurrentDir(); 354
355 QDir *thatDir = OtherDir(); 355 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
356 356 QString destFile;
357 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 357 item=(*it);
358 QString destFile; 358 curFile = thisDir->canonicalPath()+"/"+(*it);
359 item=(*it); 359 fileDlg = new InputDialog( this, tr("Copy "+curFile+" As"), TRUE, 0);
360 curFile = thisDir->canonicalPath()+"/"+(*it); 360
361 fileDlg = new InputDialog( this, tr("Copy "+curFile+" As"), TRUE, 0); 361 fileDlg->setInputText((const QString &) destFile );
362 362 fileDlg->exec();
363 fileDlg->setInputText((const QString &) destFile ); 363
364 fileDlg->exec(); 364 if( fileDlg->result() == 1 ) {
365 365 QString filename = fileDlg->LineEdit1->text();
366 if( fileDlg->result() == 1 ) { 366 destFile = thatDir->canonicalPath()+"/"+filename;
367 QString filename = fileDlg->LineEdit1->text(); 367
368 destFile = thatDir->canonicalPath()+"/"+filename; 368 QFile f( destFile);
369 369 if( f.exists()) {
370 QFile f( destFile); 370 switch (QMessageBox::warning(this,tr("File Exists!"),
371 if( f.exists()) { 371 item+tr("\nexists. Ok to overwrite?"),
372 switch (QMessageBox::warning(this,tr("File Exists!"), 372 tr("Yes"),tr("No"),0,0,1) ) {
373 item+tr("\nexists. Ok to overwrite?"), 373 case 0:
374 tr("Yes"),tr("No"),0,0,1) ) { 374 f.remove();
375 case 0: 375 break;
376 f.remove(); 376 case 1:
377 break; 377 return;
378 case 1: 378 break;
379 return; 379 };
380 break; 380 }
381 }; 381 if( !copyFile( curFile, destFile) ) {
382 } 382 QMessageBox::message("AdvancedFm",tr("Could not copy\n")
383 if( !copyFile( curFile, destFile) ) { 383 +curFile +tr("to\n")+destFile);
384 QMessageBox::message("AdvancedFm",tr("Could not copy\n") 384 return;
385 +curFile +tr("to\n")+destFile); 385 }
386 return; 386 }
387 } 387 delete fileDlg;
388 } 388
389 delete fileDlg; 389 }
390 390 rePopulate();
391 } 391 setOtherTabCurrent();
392 rePopulate(); 392}
393 setOtherTabCurrent(); 393
394} 394void AdvancedFm::copySameDir() {
395 395 qApp->processEvents();
396void AdvancedFm::copySameDir() { 396 QStringList curFileList = getPath();
397 qApp->processEvents(); 397 QString curFile, item, destFile;
398 QStringList curFileList = getPath(); 398 InputDialog *fileDlg;
399 QString curFile, item, destFile; 399
400 InputDialog *fileDlg; 400 QDir *thisDir = CurrentDir();
401 401
402 QDir *thisDir = CurrentDir(); 402 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
403 403 item=(*it);
404 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 404 curFile = thisDir->canonicalPath()+"/"+ item;
405 item=(*it); 405
406 curFile = thisDir->canonicalPath()+"/"+ item; 406 fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0);
407 407 fileDlg->setInputText((const QString &) destFile );
408 fileDlg = new InputDialog(this,tr("Copy ")+curFile+tr(" As"),TRUE, 0); 408 fileDlg->exec();
409 fileDlg->setInputText((const QString &) destFile ); 409
410 fileDlg->exec(); 410 if( fileDlg->result() == 1 ) {
411 411
412 if( fileDlg->result() == 1 ) { 412 QString filename = fileDlg->LineEdit1->text();
413 413 destFile = thisDir->canonicalPath()+"/"+filename;
414 QString filename = fileDlg->LineEdit1->text(); 414
415 destFile = thisDir->canonicalPath()+"/"+filename; 415 QFile f(destFile);
416 416 if( f.exists()) {
417 QFile f(destFile); 417 switch (QMessageBox::warning(this,tr("Delete"),
418 if( f.exists()) { 418 destFile+tr(" already exists.\nDo you really want to delete it?"),
419 switch (QMessageBox::warning(this,tr("Delete"), 419 tr("Yes"),tr("No"),0,0,1) ) {
420 destFile+tr(" already exists.\nDo you really want to delete it?"), 420 case 0:
421 tr("Yes"),tr("No"),0,0,1) ) { 421
422 case 0: 422 f.remove();
423 423 break;
424 f.remove(); 424 case 1:
425 break; 425 return;
426 case 1: 426 break;
427 return; 427 };
428 break; 428 }
429 }; 429 if(!copyFile( curFile,destFile) ) {
430 } 430 QMessageBox::message("AdvancedFm",tr("Could not copy\n")
431 if(!copyFile( curFile,destFile) ) { 431 +curFile +tr("to\n")+destFile);
432 QMessageBox::message("AdvancedFm",tr("Could not copy\n") 432 return;
433 +curFile +tr("to\n")+destFile); 433 }
434 return; 434
435 } 435// qDebug("copy "+curFile+" as "+destFile);
436 436 }
437// qDebug("copy "+curFile+" as "+destFile); 437 delete fileDlg;
438 } 438 }
439 delete fileDlg; 439 rePopulate();
440 } 440}
441 rePopulate(); 441
442} 442void AdvancedFm::move() {
443 443 qApp->processEvents();
444void AdvancedFm::move() { 444
445 qApp->processEvents(); 445 QStringList curFileList = getPath();
446 446 if( curFileList.count() > 0) {
447 QStringList curFileList = getPath(); 447 QString curFile, destFile, item;
448 if( curFileList.count() > 0) { 448
449 QString curFile, destFile, item; 449 QDir *thisDir = CurrentDir();
450 450 QDir *thatDir = OtherDir();
451 QDir *thisDir = CurrentDir(); 451 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
452 QDir *thatDir = OtherDir(); 452 item=(*it);
453 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 453 QString destFile = thatDir->canonicalPath();
454 item=(*it); 454
455 QString destFile = thatDir->canonicalPath(); 455 if(destFile.right(1).find("/",0,TRUE) == -1)
456 456 destFile+="/";
457 if(destFile.right(1).find("/",0,TRUE) == -1) 457 destFile += item;
458 destFile+="/"; 458// qDebug("Destination file is "+destFile);
459 destFile += item; 459
460// qDebug("Destination file is "+destFile); 460 curFile = thisDir->canonicalPath();
461 461 if(curFile.right(1).find("/",0,TRUE) == -1)
462 curFile = thisDir->canonicalPath(); 462 curFile +="/";
463 if(curFile.right(1).find("/",0,TRUE) == -1) 463 curFile+= item;
464 curFile +="/"; 464// qDebug("CurrentFile file is " + curFile);
465 curFile+= item; 465
466// qDebug("CurrentFile file is " + curFile); 466 if(QFileInfo(curFile).isDir()) {
467 467 moveDirectory( curFile, destFile );
468 if(QFileInfo(curFile).isDir()) { 468 rePopulate();
469 moveDirectory( curFile, destFile ); 469 return;
470 rePopulate(); 470 }
471 return; 471
472 } 472 QFile f( curFile);
473 473 if( f.exists()) {
474 QFile f( curFile); 474 if( !copyFile( curFile, destFile) ) {
475 if( f.exists()) { 475 QMessageBox::message(tr("Note"),tr("Could not move\n")+curFile);
476 if( !copyFile( curFile, destFile) ) { 476 return;
477 QMessageBox::message(tr("Note"),tr("Could not move\n")+curFile); 477 } else
478 return; 478 QFile::remove(curFile);
479 } else 479 }
480 QFile::remove(curFile); 480 }
481 } 481
482 } 482 }
483 483 rePopulate();
484 } 484 setOtherTabCurrent();
485 rePopulate(); 485}
486 setOtherTabCurrent(); 486
487} 487bool AdvancedFm::moveDirectory( const QString & src, const QString & dest ) {
488 488 int err = 0;
489bool AdvancedFm::moveDirectory( const QString & src, const QString & dest ) { 489 if( copyDirectory( src, dest ) ) { QString cmd = "rm -rf " + src;
490 int err = 0; 490 err = system((const char*)cmd);
491 if( copyDirectory( src, dest ) ) { QString cmd = "rm -rf " + src; 491 } else
492 err = system((const char*)cmd); 492 err = -1;
493 } else 493
494 err = -1; 494 if(err!=0) {
495 495 QMessageBox::message(tr("Note"),tr("Could not move\n") + src);
496 if(err!=0) { 496 return false;
497 QMessageBox::message(tr("Note"),tr("Could not move\n") + src); 497 }
498 return false; 498 return true;
499 } 499}
500 return true; 500
501} 501bool AdvancedFm::copyDirectory( const QString & src, const QString & dest ) {
502 502
503bool AdvancedFm::copyDirectory( const QString & src, const QString & dest ) { 503 QStringcmd = "/bin/cp -fpR " + src + " " + dest;
504 504 qWarning(cmd);
505 QStringcmd = "/bin/cp -fpR " + src + " " + dest; 505 interr = system( (const char *) cmd );
506 qWarning(cmd); 506 if ( err != 0 ) {
507 interr = system( (const char *) cmd ); 507 QMessageBox::message("AdvancedFm",
508 if ( err != 0 ) { 508 tr( "Could not copy \n%1 \nto \n%2").arg( src ).arg( dest ) );
509 QMessageBox::message("AdvancedFm", 509 return false;
510 tr( "Could not copy \n%1 \nto \n%2").arg( src ).arg( dest ) ); 510 }
511 return false; 511
512 } 512 return true;
513 513}
514 return true; 514
515} 515
516 516bool AdvancedFm::copyFile( const QString & src, const QString & dest ) {
517 517
518bool AdvancedFm::copyFile( const QString & src, const QString & dest ) { 518
519 519 if(QFileInfo(src).isDir()) {
520 520 if( copyDirectory( src, dest )) {
521 if(QFileInfo(src).isDir()) { 521 setOtherTabCurrent();
522 if( copyDirectory( src, dest )) { 522 populateView();
523 setOtherTabCurrent(); 523 return true;
524 populateView(); 524 }
525 return true; 525 else
526 } 526 return false;
527 else 527 }
528 return false; 528
529 } 529
530 530 bool success = true;
531 531 struct stat status;
532 bool success = true; 532 QFile srcFile(src);
533 struct stat status; 533 QFile destFile(dest);
534 QFile srcFile(src); 534 int err=0;
535 QFile destFile(dest); 535 int read_fd=0;
536 int err=0; 536 int write_fd=0;
537 int read_fd=0; 537 struct stat stat_buf;
538 int write_fd=0; 538 off_t offset = 0;
539 struct stat stat_buf; 539 if(!srcFile.open( IO_ReadOnly|IO_Raw)) {
540 off_t offset = 0; 540// qWarning("open failed");
541 if(!srcFile.open( IO_ReadOnly|IO_Raw)) { 541 return success = false;
542// qWarning("open failed"); 542 }
543 return success = false; 543 read_fd = srcFile.handle();
544 } 544 if(read_fd != -1) {
545 read_fd = srcFile.handle(); 545 fstat (read_fd, &stat_buf);
546 if(read_fd != -1) { 546 if( !destFile.open( IO_WriteOnly|IO_Raw ) ) {
547 fstat (read_fd, &stat_buf); 547// qWarning("destfile open failed");
548 if( !destFile.open( IO_WriteOnly|IO_Raw ) ) { 548 return success = false;
549// qWarning("destfile open failed"); 549 }
550 return success = false; 550 write_fd = destFile.handle();
551 } 551 if(write_fd != -1) {
552 write_fd = destFile.handle(); 552 err = sendfile(write_fd, read_fd, &offset, stat_buf.st_size);
553 if(write_fd != -1) { 553 if( err == -1) {
554 err = sendfile(write_fd, read_fd, &offset, stat_buf.st_size); 554 QString msg;
555 if( err == -1) { 555 switch(err) {
556 QString msg; 556 case EBADF : msg = "The input file was not opened for reading or the output file was not opened for writing. ";
557 switch(err) { 557 case EINVAL: msg = "Descriptor is not valid or locked. ";
558 case EBADF : msg = "The input file was not opened for reading or the output file was not opened for writing. "; 558 case ENOMEM: msg = "Insufficient memory to read from in_fd.";
559 case EINVAL: msg = "Descriptor is not valid or locked. "; 559 case EIO: msg = "Unspecified error while reading from in_fd.";
560 case ENOMEM: msg = "Insufficient memory to read from in_fd."; 560 };
561 case EIO: msg = "Unspecified error while reading from in_fd."; 561 success = false;
562 }; 562// qWarning(msg);
563 success = false; 563 }
564// qWarning(msg); 564 } else {
565 } 565 success = false;
566 } else { 566 }
567 success = false; 567 } else {
568 } 568 success = false;
569 } else { 569 }
570 success = false; 570 srcFile.close();
571 } 571 destFile.close();
572 srcFile.close(); 572 // Set file permissions
573 destFile.close(); 573 if( stat( (const char *) src, &status ) == 0 ) {
574 // Set file permissions 574 chmod( (const char *) dest, status.st_mode );
575 if( stat( (const char *) src, &status ) == 0 ) { 575 }
576 chmod( (const char *) dest, status.st_mode ); 576
577 } 577 return success;
578 578}
579 return success; 579
580} 580void AdvancedFm::runCommand() {
581 581 if( !CurrentView()->currentItem()) return;
582void AdvancedFm::runCommand() { 582 QDir *thisDir = CurrentDir();
583 if( !CurrentView()->currentItem()) return; 583
584 QDir *thisDir = CurrentDir(); 584 QString curFile;
585 585 curFile = thisDir->canonicalPath() +"/"+ CurrentView()->currentItem()->text(0);
586 QString curFile; 586
587 curFile = thisDir->canonicalPath() +"/"+ CurrentView()->currentItem()->text(0); 587 InputDialog *fileDlg;
588 588 fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0);
589 InputDialog *fileDlg; 589 fileDlg->setInputText(curFile);
590 fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0); 590 fileDlg->exec();
591 fileDlg->setInputText(curFile); 591 //QString command;
592 fileDlg->exec(); 592
593 //QString command; 593 if( fileDlg->result() == 1 ) {
594 594// qDebug(fileDlg->LineEdit1->text());
595 if( fileDlg->result() == 1 ) { 595 QStringList command;
596// qDebug(fileDlg->LineEdit1->text()); 596
597 QStringList command; 597 command << "/bin/sh";
598 598 command << "-c";
599 command << "/bin/sh"; 599 command << fileDlg->LineEdit1->text();
600 command << "-c"; 600 Output *outDlg;
601 command << fileDlg->LineEdit1->text(); 601 outDlg = new Output( command, this, tr("AdvancedFm Output"), true);
602 Output *outDlg; 602 QPEApplication::execDialog( outDlg );
603 outDlg = new Output( command, this, tr("AdvancedFm Output"), true); 603 qApp->processEvents();
604 outDlg->showMaximized(); 604
605 outDlg->exec(); 605 }
606 qApp->processEvents(); 606}
607 607
608 } 608void AdvancedFm::runCommandStd() {
609} 609 if( !CurrentView()->currentItem()) return;
610 610 QString curFile;
611void AdvancedFm::runCommandStd() { 611 QDir *thisDir = CurrentDir();
612 if( !CurrentView()->currentItem()) return; 612 QListView *thisView = CurrentView();
613 QString curFile; 613 if( thisView->currentItem())
614 QDir *thisDir = CurrentDir(); 614 curFile = thisDir->canonicalPath() +"/"+ thisView->currentItem()->text(0);
615 QListView *thisView = CurrentView(); 615
616 if( thisView->currentItem()) 616 InputDialog *fileDlg;
617 curFile = thisDir->canonicalPath() +"/"+ thisView->currentItem()->text(0); 617 fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0);
618 618 fileDlg->setInputText(curFile);
619 InputDialog *fileDlg; 619 fileDlg->exec();
620 fileDlg = new InputDialog(this,tr("Run Command"),TRUE, 0); 620
621 fileDlg->setInputText(curFile); 621 if( fileDlg->result() == 1 ) {
622 fileDlg->exec(); 622 qApp->processEvents();
623 623 startProcess( (const QString)fileDlg->LineEdit1->text().latin1());
624 if( fileDlg->result() == 1 ) { 624 }
625 qApp->processEvents(); 625}
626 startProcess( (const QString)fileDlg->LineEdit1->text().latin1()); 626
627 } 627void AdvancedFm::fileStatus() {
628} 628 if( !CurrentView()->currentItem()) return;
629 629 QString curFile;
630void AdvancedFm::fileStatus() { 630 curFile = CurrentView()->currentItem()->text(0);
631 if( !CurrentView()->currentItem()) return; 631
632 QString curFile; 632 QStringList command;
633 curFile = CurrentView()->currentItem()->text(0); 633 command << "/bin/sh";
634 634 command << "-c";
635 QStringList command; 635 command << "stat -l "+ curFile;
636 command << "/bin/sh"; 636
637 command << "-c"; 637 Output *outDlg;
638 command << "stat -l "+ curFile; 638 outDlg = new Output( command, this, tr("AdvancedFm Output"), true);
639 639 QPEApplication::execDialog( outDlg );
640 Output *outDlg; 640 qApp->processEvents();
641 outDlg = new Output( command, this, tr("AdvancedFm Output"), true); 641}
642 outDlg->showMaximized(); 642
643 outDlg->exec(); 643
644 qApp->processEvents(); 644void AdvancedFm::mkDir() {
645} 645 makeDir();
646 646}
647 647
648void AdvancedFm::mkDir() { 648void AdvancedFm::rn() {
649 makeDir(); 649 renameIt();
650} 650}
651 651
652void AdvancedFm::rn() { 652void AdvancedFm::del() {
653 renameIt(); 653 doDelete();
654} 654}
655 655
656void AdvancedFm::del() { 656void AdvancedFm::mkSym() {
657 doDelete(); 657 QString cmd;
658} 658 QStringList curFileList = getPath();
659 659 if( curFileList.count() > 0) {
660void AdvancedFm::mkSym() { 660 QDir *thisDir = CurrentDir();
661 QString cmd; 661 QDir * thatDir = OtherDir();
662 QStringList curFileList = getPath(); 662
663 if( curFileList.count() > 0) { 663 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
664 QDir *thisDir = CurrentDir(); 664
665 QDir * thatDir = OtherDir(); 665 QString destName = thatDir->canonicalPath()+"/"+(*it);
666 666 if(destName.right(1) == "/") {
667 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 667 destName = destName.left( destName.length() -1);
668 668 }
669 QString destName = thatDir->canonicalPath()+"/"+(*it); 669
670 if(destName.right(1) == "/") { 670 QString curFile = thisDir->canonicalPath()+"/"+(*it);
671 destName = destName.left( destName.length() -1); 671
672 } 672 if( curFile.right(1) == "/") {
673 673 curFile = curFile.left( curFile.length() -1);
674 QString curFile = thisDir->canonicalPath()+"/"+(*it); 674 }
675 675
676 if( curFile.right(1) == "/") { 676 cmd = "ln -s "+curFile+" "+destName;
677 curFile = curFile.left( curFile.length() -1); 677// qDebug(cmd);
678 } 678 startProcess( (const QString)cmd );
679 679 }
680 cmd = "ln -s "+curFile+" "+destName; 680 rePopulate();
681// qDebug(cmd); 681 setOtherTabCurrent();
682 startProcess( (const QString)cmd ); 682 }
683 } 683}
684 rePopulate(); 684
685 setOtherTabCurrent(); 685void AdvancedFm::doBeam() {
686 } 686 Ir ir;
687} 687 if(!ir.supported()) {
688 688 } else {
689void AdvancedFm::doBeam() { 689 QStringList curFileList = getPath();
690 Ir ir; 690 if( curFileList.count() > 0) {
691 if(!ir.supported()) { 691 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) {
692 } else { 692 QString curFile = (*it);
693 QStringList curFileList = getPath(); 693 QString curFilePath = CurrentDir()->canonicalPath()+"/"+curFile;
694 if( curFileList.count() > 0) { 694 if( curFilePath.right(1) == "/") {
695 for ( QStringList::Iterator it = curFileList.begin(); it != curFileList.end(); ++it ) { 695 curFilePath = curFilePath.left( curFilePath.length() -1);
696 QString curFile = (*it); 696 }
697 QString curFilePath = CurrentDir()->canonicalPath()+"/"+curFile; 697 Ir *file = new Ir(this, "IR");
698 if( curFilePath.right(1) == "/") { 698 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * )));
699 curFilePath = curFilePath.left( curFilePath.length() -1); 699 file->send( curFilePath, curFile );
700 } 700 }
701 Ir *file = new Ir(this, "IR"); 701 }
702 connect(file, SIGNAL(done(Ir*)), this, SLOT( fileBeamFinished( Ir * ))); 702 }
703 file->send( curFilePath, curFile ); 703}
704 } 704
705 } 705void AdvancedFm::fileBeamFinished( Ir *) {
706 } 706 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") );
707} 707}
708 708
709void AdvancedFm::fileBeamFinished( Ir *) { 709void AdvancedFm::selectAll() {
710 QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") ); 710 QListView *thisView = CurrentView();
711} 711 thisView->selectAll(true);
712 712 thisView->setSelected( thisView->firstChild(),false);
713void AdvancedFm::selectAll() { 713}
714 QListView *thisView = CurrentView(); 714
715 thisView->selectAll(true); 715void AdvancedFm::startProcess(const QString & cmd) {
716 thisView->setSelected( thisView->firstChild(),false); 716 QStringList command;
717} 717 OProcess *process;
718 718 process = new OProcess();
719void AdvancedFm::startProcess(const QString & cmd) { 719 connect(process, SIGNAL(processExited(OProcess *)),
720 QStringList command; 720 this, SLOT( processEnded(OProcess *)));
721 OProcess *process; 721
722 process = new OProcess(); 722 connect(process, SIGNAL( receivedStderr(OProcess *, char *, int)),
723 connect(process, SIGNAL(processExited(OProcess *)), 723 this, SLOT( oprocessStderr(OProcess *, char *, int)));
724 this, SLOT( processEnded(OProcess *))); 724
725 725 command << "/bin/sh";
726 connect(process, SIGNAL( receivedStderr(OProcess *, char *, int)), 726 command << "-c";
727 this, SLOT( oprocessStderr(OProcess *, char *, int))); 727 command << cmd.latin1();
728 728 *process << command;
729 command << "/bin/sh"; 729 if(!process->start(OProcess::NotifyOnExit, OProcess::All) )
730 command << "-c"; 730 qDebug("could not start process");
731 command << cmd.latin1(); 731}
732 *process << command; 732
733 if(!process->start(OProcess::NotifyOnExit, OProcess::All) ) 733void AdvancedFm::processEnded(OProcess *) {
734 qDebug("could not start process"); 734 rePopulate();
735} 735}
736 736
737void AdvancedFm::processEnded(OProcess *) { 737void AdvancedFm::oprocessStderr(OProcess*, char *buffer, int ) {
738 rePopulate(); 738// qWarning("received stderrt %d bytes", buflen);
739} 739
740 740 QString lineStr = buffer;
741void AdvancedFm::oprocessStderr(OProcess*, char *buffer, int ) { 741 QMessageBox::warning( this, tr("Error"), lineStr ,tr("Ok") );
742// qWarning("received stderrt %d bytes", buflen); 742}
743 743
744 QString lineStr = buffer; 744bool AdvancedFm::eventFilter( QObject * o, QEvent * e ) {
745 QMessageBox::warning( this, tr("Error"), lineStr ,tr("Ok") ); 745 if ( o->inherits( "QLineEdit" ) ) {
746} 746 if ( e->type() == QEvent::KeyPress ) {
747 747 QKeyEvent *ke = (QKeyEvent*)e;
748bool AdvancedFm::eventFilter( QObject * o, QEvent * e ) { 748 if ( ke->key() == Key_Return ||
749 if ( o->inherits( "QLineEdit" ) ) { 749 ke->key() == Key_Enter ) {
750 if ( e->type() == QEvent::KeyPress ) { 750 okRename();
751 QKeyEvent *ke = (QKeyEvent*)e; 751 return true;
752 if ( ke->key() == Key_Return || 752 }
753 ke->key() == Key_Enter ) { 753 else if ( ke->key() == Key_Escape ) {
754 okRename(); 754 cancelRename();
755 return true; 755 return true;
756 } 756 }
757 else if ( ke->key() == Key_Escape ) { 757 }
758 cancelRename(); 758 else if ( e->type() == QEvent::FocusOut ) {
759 return true; 759 cancelRename();
760 } 760 return true;
761 } 761 }
762 else if ( e->type() == QEvent::FocusOut ) { 762 }
763 cancelRename(); 763 if ( o->inherits( "QListView" ) ) {
764 return true; 764 if ( e->type() == QEvent::FocusIn ) {
765 } 765 if( o == Local_View) { //keep track of which view
766 } 766 whichTab=1;
767 if ( o->inherits( "QListView" ) ) { 767 }
768 if ( e->type() == QEvent::FocusIn ) { 768 else {
769 if( o == Local_View) { //keep track of which view 769 whichTab=2;
770 whichTab=1; 770 }
771 } 771 }
772 else { 772 OtherView()->setSelected( OtherView()->currentItem(), FALSE );//make sure there's correct selection
773 whichTab=2; 773 }
774 } 774
775 } 775 return QWidget::eventFilter( o, e );
776 OtherView()->setSelected( OtherView()->currentItem(), FALSE );//make sure there's correct selection 776}
777 } 777
778 778
779 return QWidget::eventFilter( o, e ); 779void AdvancedFm::cancelRename() {
780} 780// qDebug("cancel rename");
781 781 QListView * view;
782 782 view = CurrentView();
783void AdvancedFm::cancelRename() { 783
784// qDebug("cancel rename"); 784 bool resetFocus = view->viewport()->focusProxy() == renameBox;
785 QListView * view; 785 delete renameBox;
786 view = CurrentView(); 786 renameBox = 0;
787 787 if ( resetFocus ) {
788 bool resetFocus = view->viewport()->focusProxy() == renameBox; 788 view->viewport()->setFocusProxy( view);
789 delete renameBox; 789 view->setFocus();
790 renameBox = 0; 790 }
791 if ( resetFocus ) { 791}
792 view->viewport()->setFocusProxy( view); 792
793 view->setFocus(); 793void AdvancedFm::doRename(QListView * view) {
794 } 794 if( !CurrentView()->currentItem()) return;
795} 795
796 796 QRect r = view->itemRect( view->currentItem( ));
797void AdvancedFm::doRename(QListView * view) { 797 r = QRect( view->viewportToContents( r.topLeft() ), r.size() );
798 if( !CurrentView()->currentItem()) return; 798 r.setX( view->contentsX() );
799 799
800 QRect r = view->itemRect( view->currentItem( )); 800 if ( r.width() > view->visibleWidth() )
801 r = QRect( view->viewportToContents( r.topLeft() ), r.size() ); 801 r.setWidth( view->visibleWidth() );
802 r.setX( view->contentsX() ); 802
803 803 renameBox = new QLineEdit( view->viewport(), "qt_renamebox" );
804 if ( r.width() > view->visibleWidth() ) 804 renameBox->setFrame(true);
805 r.setWidth( view->visibleWidth() ); 805
806 806 renameBox->setText( view->currentItem()->text(0) );
807 renameBox = new QLineEdit( view->viewport(), "qt_renamebox" ); 807
808 renameBox->setFrame(true); 808 renameBox->selectAll();
809 809 renameBox->installEventFilter( this );
810 renameBox->setText( view->currentItem()->text(0) ); 810
811 811 view->addChild( renameBox, r.x(), r.y() );
812 renameBox->selectAll(); 812
813 renameBox->installEventFilter( this ); 813 renameBox->resize( r.size() );
814 814
815 view->addChild( renameBox, r.x(), r.y() ); 815 view->viewport()->setFocusProxy( renameBox );
816 816
817 renameBox->resize( r.size() ); 817 renameBox->setFocus();
818 818 renameBox->show();
819 view->viewport()->setFocusProxy( renameBox ); 819}
820 820
821 renameBox->setFocus(); 821
822 renameBox->show(); 822void AdvancedFm::renameIt() {
823} 823 if( !CurrentView()->currentItem()) return;
824 824
825 825 QListView *thisView = CurrentView();
826void AdvancedFm::renameIt() { 826 oldName = thisView->currentItem()->text(0);
827 if( !CurrentView()->currentItem()) return; 827 doRename( thisView );
828 828}
829 QListView *thisView = CurrentView(); 829
830 oldName = thisView->currentItem()->text(0); 830void AdvancedFm::okRename() {
831 doRename( thisView ); 831 if( !CurrentView()->currentItem()) return;
832} 832
833 833 QString newName = renameBox->text();
834void AdvancedFm::okRename() { 834 cancelRename();
835 if( !CurrentView()->currentItem()) return; 835 QListView * view = CurrentView();
836 836 QString path = CurrentDir()->canonicalPath() + "/";
837 QString newName = renameBox->text(); 837 oldName = path + oldName;
838 cancelRename(); 838 newName = path + newName;
839 QListView * view = CurrentView(); 839 if( rename( oldName.latin1(), newName.latin1())== -1)
840 QString path = CurrentDir()->canonicalPath() + "/"; 840 QMessageBox::message(tr("Note"),tr("Could not rename"));
841 oldName = path + oldName; 841 else
842 newName = path + newName; 842 oldName = "";
843 if( rename( oldName.latin1(), newName.latin1())== -1) 843 view->takeItem( view->currentItem() );
844 QMessageBox::message(tr("Note"),tr("Could not rename")); 844 delete view->currentItem();
845 else 845 rePopulate();
846 oldName = ""; 846}
847 view->takeItem( view->currentItem() ); 847
848 delete view->currentItem(); 848void AdvancedFm::openSearch() {
849 rePopulate(); 849 QMessageBox::message(tr("Note"),tr("Not Yet Implemented"));
850} 850}
851
852void AdvancedFm::openSearch() {
853 QMessageBox::message(tr("Note"),tr("Not Yet Implemented"));
854}
diff --git a/noncore/apps/checkbook/checkbook.cpp b/noncore/apps/checkbook/checkbook.cpp
index a42c824..a5492e4 100644
--- a/noncore/apps/checkbook/checkbook.cpp
+++ b/noncore/apps/checkbook/checkbook.cpp
@@ -422,177 +422,175 @@ void Checkbook::slotPasswordClicked()
422 pw = new Password( this, tr( "Confirm password" ), tr( "Please confirm your password:" ) ); 422 pw = new Password( this, tr( "Confirm password" ), tr( "Please confirm your password:" ) );
423 if ( pw->exec() != QDialog::Accepted || pw->password != info->password() ) 423 if ( pw->exec() != QDialog::Accepted || pw->password != info->password() )
424 { 424 {
425 passwordCB->setChecked( FALSE ); 425 passwordCB->setChecked( FALSE );
426 info->setPassword( QString::null ); 426 info->setPassword( QString::null );
427 } 427 }
428 428
429 delete pw; 429 delete pw;
430 } 430 }
431 else if ( !info->password().isNull() && !passwordCB->isChecked() ) 431 else if ( !info->password().isNull() && !passwordCB->isChecked() )
432 { 432 {
433 Password *pw = new Password( this, tr( "Enter password" ), 433 Password *pw = new Password( this, tr( "Enter password" ),
434 tr( "Please enter your password to confirm removal of password protection:" ) ); 434 tr( "Please enter your password to confirm removal of password protection:" ) );
435 if ( pw->exec() == QDialog::Accepted && pw->password == info->password() ) 435 if ( pw->exec() == QDialog::Accepted && pw->password == info->password() )
436 { 436 {
437 info->setPassword( QString::null ); 437 info->setPassword( QString::null );
438 delete pw; 438 delete pw;
439 return; 439 return;
440 } 440 }
441 else 441 else
442 { 442 {
443 passwordCB->setChecked( TRUE ); 443 passwordCB->setChecked( TRUE );
444 } 444 }
445 445
446 delete pw; 446 delete pw;
447 } 447 }
448} 448}
449 449
450void Checkbook::slotNameChanged( const QString &newname ) 450void Checkbook::slotNameChanged( const QString &newname )
451{ 451{
452 info->setName( newname ); 452 info->setName( newname );
453 453
454 // TODO - need filedir 454 // TODO - need filedir
455 //QString namestr = filedir; 455 //QString namestr = filedir;
456 //namestr.append( newname ); 456 //namestr.append( newname );
457 //namestr.append( ".qcb" ); 457 //namestr.append( ".qcb" );
458 //info->setFilename( namestr ); 458 //info->setFilename( namestr );
459 459
460 QString namestr = newname; 460 QString namestr = newname;
461 namestr.append( " - " ); 461 namestr.append( " - " );
462 namestr.append( tr( "Checkbook" ) ); 462 namestr.append( tr( "Checkbook" ) );
463 setCaption( namestr ); 463 setCaption( namestr );
464} 464}
465 465
466 466
467// ---slotStartingBalanceChanged ---------------------------------------------- 467// ---slotStartingBalanceChanged ----------------------------------------------
468void Checkbook::slotStartingBalanceChanged( const QString &newbalance ) 468void Checkbook::slotStartingBalanceChanged( const QString &newbalance )
469{ 469{
470 bool ok; 470 bool ok;
471 info->setStartingBalance( newbalance.toFloat( &ok ) ); 471 info->setStartingBalance( newbalance.toFloat( &ok ) );
472 adjustBalance(); 472 adjustBalance();
473} 473}
474 474
475 475
476// --- slotNewTran ------------------------------------------------------------ 476// --- slotNewTran ------------------------------------------------------------
477void Checkbook::slotNewTran() 477void Checkbook::slotNewTran()
478{ 478{
479 TranInfo *traninfo = new TranInfo( info->getNextNumber() ); 479 TranInfo *traninfo = new TranInfo( info->getNextNumber() );
480 if( !_dLastNew.isNull() ) 480 if( !_dLastNew.isNull() )
481 traninfo->setDate(_dLastNew); 481 traninfo->setDate(_dLastNew);
482 482
483 Transaction *currtran = new Transaction( this, true, info->name(), 483 Transaction *currtran = new Transaction( this, true, info->name(),
484 traninfo, 484 traninfo,
485 _pCfg ); 485 _pCfg );
486 currtran->showMaximized(); 486 if ( QPEApplication::execDialog( currtran ) == QDialog::Accepted )
487 if ( currtran->exec() == QDialog::Accepted )
488 { 487 {
489 // Add to transaction list 488 // Add to transaction list
490 info->addTransaction( traninfo ); 489 info->addTransaction( traninfo );
491 490
492 // Add to transaction table 491 // Add to transaction table
493 float amount; 492 float amount;
494 QString stramount; 493 QString stramount;
495 amount = (traninfo->withdrawal() ? -1 : 1)*traninfo->amount(); 494 amount = (traninfo->withdrawal() ? -1 : 1)*traninfo->amount();
496 stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount ); 495 stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount );
497 ( void ) new CBListItem( traninfo, tranTable, traninfo->getIdStr(), traninfo->datestr(false), 496 ( void ) new CBListItem( traninfo, tranTable, traninfo->getIdStr(), traninfo->datestr(false),
498 traninfo->number(), traninfo->datestr(true), traninfo->desc(), 497 traninfo->number(), traninfo->datestr(true), traninfo->desc(),
499 stramount ); 498 stramount );
500 resort(); 499 resort();
501 adjustBalance(); 500 adjustBalance();
502 501
503 // save last date 502 // save last date
504 _dLastNew = traninfo->date(); 503 _dLastNew = traninfo->date();
505 504
506 // save description in list of payees, if not in there 505 // save description in list of payees, if not in there
507 QStringList *pLst=&_pCfg->getPayees(); 506 QStringList *pLst=&_pCfg->getPayees();
508 if( _pCfg->getSavePayees() && pLst->contains(traninfo->desc())==0 ) { 507 if( _pCfg->getSavePayees() && pLst->contains(traninfo->desc())==0 ) {
509 pLst->append( traninfo->desc() ); 508 pLst->append( traninfo->desc() );
510 pLst->sort(); 509 pLst->sort();
511 _pCfg->setDirty(true); 510 _pCfg->setDirty(true);
512 } 511 }
513 } 512 }
514 else 513 else
515 { 514 {
516 delete traninfo; 515 delete traninfo;
517 } 516 }
518} 517}
519 518
520 519
521// --- slotEditTran ----------------------------------------------------------- 520// --- slotEditTran -----------------------------------------------------------
522void Checkbook::slotEditTran() 521void Checkbook::slotEditTran()
523{ 522{
524 QListViewItem *curritem = tranTable->currentItem(); 523 QListViewItem *curritem = tranTable->currentItem();
525 if ( !curritem ) 524 if ( !curritem )
526 return; 525 return;
527 526
528 TranInfo *traninfo=info->findTransaction( curritem->text(COL_ID) ); 527 TranInfo *traninfo=info->findTransaction( curritem->text(COL_ID) );
529 528
530 Transaction *currtran = new Transaction( this, false, info->name(), 529 Transaction *currtran = new Transaction( this, false, info->name(),
531 traninfo, 530 traninfo,
532 _pCfg ); 531 _pCfg );
533 currtran->showMaximized(); 532 if ( QPEApplication::execDialog( currtran ) == QDialog::Accepted )
534 if ( currtran->exec() == QDialog::Accepted )
535 { 533 {
536 curritem->setText( COL_NUM, traninfo->number() ); 534 curritem->setText( COL_NUM, traninfo->number() );
537 curritem->setText( COL_SORTDATE, traninfo->datestr(false) ); 535 curritem->setText( COL_SORTDATE, traninfo->datestr(false) );
538 curritem->setText( COL_DATE, traninfo->datestr(true) ); 536 curritem->setText( COL_DATE, traninfo->datestr(true) );
539 curritem->setText( COL_DESC, traninfo->desc() ); 537 curritem->setText( COL_DESC, traninfo->desc() );
540 538
541 float amount = traninfo->amount(); 539 float amount = traninfo->amount();
542 if ( traninfo->withdrawal() ) 540 if ( traninfo->withdrawal() )
543 { 541 {
544 amount *= -1; 542 amount *= -1;
545 } 543 }
546 QString stramount; 544 QString stramount;
547 stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount ); 545 stramount.sprintf( "%s%.2f", _pCfg->getCurrencySymbol().latin1(), amount );
548 curritem->setText( COL_AMOUNT, stramount ); 546 curritem->setText( COL_AMOUNT, stramount );
549 resort(); 547 resort();
550 adjustBalance(); 548 adjustBalance();
551 549
552 // save description in list of payees, if not in there 550 // save description in list of payees, if not in there
553 QStringList *pLst=&_pCfg->getPayees(); 551 QStringList *pLst=&_pCfg->getPayees();
554 if( _pCfg->getSavePayees() && pLst->contains(traninfo->desc())==0 ) { 552 if( _pCfg->getSavePayees() && pLst->contains(traninfo->desc())==0 ) {
555 pLst->append( traninfo->desc() ); 553 pLst->append( traninfo->desc() );
556 pLst->sort(); 554 pLst->sort();
557 _pCfg->setDirty(true); 555 _pCfg->setDirty(true);
558 } 556 }
559 } 557 }
560 558
561 delete currtran; 559 delete currtran;
562} 560}
563 561
564// --- slotMenuTran ----------------------------------------------------------- 562// --- slotMenuTran -----------------------------------------------------------
565void Checkbook::slotMenuTran(QListViewItem *item, const QPoint &pnt) 563void Checkbook::slotMenuTran(QListViewItem *item, const QPoint &pnt)
566{ 564{
567 // active item? 565 // active item?
568 if( !item ) 566 if( !item )
569 return; 567 return;
570 568
571 // Display menu 569 // Display menu
572 QPopupMenu m; 570 QPopupMenu m;
573 m.insertItem( QWidget::tr( "Edit" ), 1 ); 571 m.insertItem( QWidget::tr( "Edit" ), 1 );
574 m.insertItem( QWidget::tr( "New" ), 2 ); 572 m.insertItem( QWidget::tr( "New" ), 2 );
575 m.insertItem( QWidget::tr( "Delete" ), 3 ); 573 m.insertItem( QWidget::tr( "Delete" ), 3 );
576 int r = m.exec( pnt ); 574 int r = m.exec( pnt );
577 switch(r) { 575 switch(r) {
578 case 1: 576 case 1:
579 slotEditTran(); 577 slotEditTran();
580 break; 578 break;
581 case 2: 579 case 2:
582 slotNewTran(); 580 slotNewTran();
583 break; 581 break;
584 case 3: 582 case 3:
585 slotDeleteTran(); 583 slotDeleteTran();
586 break; 584 break;
587 } 585 }
588} 586}
589 587
590 588
591// --- slotDeleteTran --------------------------------------------------------- 589// --- slotDeleteTran ---------------------------------------------------------
592void Checkbook::slotDeleteTran() 590void Checkbook::slotDeleteTran()
593{ 591{
594 QListViewItem *curritem = tranTable->currentItem(); 592 QListViewItem *curritem = tranTable->currentItem();
595 if ( !curritem ) 593 if ( !curritem )
596 return; 594 return;
597 595
598 TranInfo *traninfo = info->findTransaction( curritem->text(COL_ID) ); 596 TranInfo *traninfo = info->findTransaction( curritem->text(COL_ID) );
diff --git a/noncore/apps/checkbook/mainwindow.cpp b/noncore/apps/checkbook/mainwindow.cpp
index f29001a..60aea42 100644
--- a/noncore/apps/checkbook/mainwindow.cpp
+++ b/noncore/apps/checkbook/mainwindow.cpp
@@ -1,107 +1,107 @@
1/* 1/*
2                This file is part of the OPIE Project 2                This file is part of the OPIE Project
3 =. 3 =.
4             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org> 4             .=l. Copyright (c) 2002 Dan Williams <drw@handhelds.org>
5           .>+-= 5           .>+-=
6 _;:,     .>    :=|. This file is free software; you can 6 _;:,     .>    :=|. This file is free software; you can
7.> <`_,   >  .   <= redistribute it and/or modify it under 7.> <`_,   >  .   <= redistribute it and/or modify it under
8:`=1 )Y*s>-.--   : the terms of the GNU General Public 8:`=1 )Y*s>-.--   : the terms of the GNU General Public
9.="- .-=="i,     .._ License as published by the Free Software 9.="- .-=="i,     .._ License as published by the Free Software
10 - .   .-<_>     .<> Foundation; either version 2 of the License, 10 - .   .-<_>     .<> Foundation; either version 2 of the License,
11     ._= =}       : or (at your option) any later version. 11     ._= =}       : or (at your option) any later version.
12    .%`+i>       _;_. 12    .%`+i>       _;_.
13    .i_,=:_.      -<s. This file is distributed in the hope that 13    .i_,=:_.      -<s. This file is distributed in the hope that
14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY; 14     +  .  -:.       = it will be useful, but WITHOUT ANY WARRANTY;
15    : ..    .:,     . . . without even the implied warranty of 15    : ..    .:,     . . . without even the implied warranty of
16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A 16    =_        +     =;=|` MERCHANTABILITY or FITNESS FOR A
17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General 17  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
18..}^=.=       =       ; Public License for more details. 18..}^=.=       =       ; Public License for more details.
19++=   -.     .`     .: 19++=   -.     .`     .:
20 :     =  ...= . :.=- You should have received a copy of the GNU 20 :     =  ...= . :.=- You should have received a copy of the GNU
21 -.   .:....=;==+<; General Public License along with this file; 21 -.   .:....=;==+<; General Public License along with this file;
22  -_. . .   )=.  = see the file COPYING. If not, write to the 22  -_. . .   )=.  = see the file COPYING. If not, write to the
23    --        :-=` Free Software Foundation, Inc., 23    --        :-=` Free Software Foundation, Inc.,
24 59 Temple Place - Suite 330, 24 59 Temple Place - Suite 330,
25 Boston, MA 02111-1307, USA. 25 Boston, MA 02111-1307, USA.
26 26
27*/ 27*/
28 28
29#include "mainwindow.h" 29#include "mainwindow.h"
30#include "cbinfo.h" 30#include "cbinfo.h"
31#include "configuration.h" 31#include "configuration.h"
32#include "password.h" 32#include "password.h"
33#include "checkbook.h" 33#include "checkbook.h"
34#include "listedit.h" 34#include "listedit.h"
35 35
36#include <qpe/config.h> 36#include <qpe/config.h>
37#include <qpe/global.h> 37#include <qpe/global.h>
38#include <qpe/qpeapplication.h> 38#include <qpe/qpeapplication.h>
39#include <qmenubar.h>
40#include <qpe/qpemessagebox.h> 39#include <qpe/qpemessagebox.h>
41#include <qpe/qpetoolbar.h> 40#include <qpe/qpetoolbar.h>
42#include <qpe/resource.h> 41#include <qpe/resource.h>
43 42
43#include <qmenubar.h>
44#include <qaction.h> 44#include <qaction.h>
45#include <qcheckbox.h> 45#include <qcheckbox.h>
46#include <qdir.h> 46#include <qdir.h>
47#include <qlineedit.h> 47#include <qlineedit.h>
48#include <qwhatsthis.h> 48#include <qwhatsthis.h>
49 49
50 50
51MainWindow::MainWindow( QWidget* parent, const char* name, WFlags /*fl*/ ) 51MainWindow::MainWindow( QWidget* parent, const char* name, WFlags /*fl*/ )
52 : QMainWindow( parent, name, WStyle_ContextHelp ) 52 : QMainWindow( parent, name, WStyle_ContextHelp )
53{ 53{
54 setCaption( tr( "Checkbook" ) ); 54 setCaption( tr( "Checkbook" ) );
55 55
56 cbDir = Global::applicationFileName( "checkbook", "" ); 56 cbDir = Global::applicationFileName( "checkbook", "" );
57 lockIcon = Resource::loadPixmap( "locked" ); 57 lockIcon = Resource::loadPixmap( "locked" );
58 58
59 // Load configuration options 59 // Load configuration options
60 Config config( "checkbook" ); 60 Config config( "checkbook" );
61 _cfg.readConfig( config ); 61 _cfg.readConfig( config );
62 62
63 63
64 // Build menu and tool bars 64 // Build menu and tool bars
65 setToolBarsMovable( FALSE ); 65 setToolBarsMovable( FALSE );
66 66
67 QToolBar *bar = new QToolBar( this ); 67 QToolBar *bar = new QToolBar( this );
68 bar->setHorizontalStretchable( TRUE ); 68 bar->setHorizontalStretchable( TRUE );
69 QMenuBar *mb = new QMenuBar( bar ); 69 QMenuBar *mb = new QMenuBar( bar );
70 mb->setMargin( 0 ); 70 mb->setMargin( 0 );
71 QPopupMenu *popup = new QPopupMenu( this ); 71 QPopupMenu *popup = new QPopupMenu( this );
72 72
73 bar = new QToolBar( this ); 73 bar = new QToolBar( this );
74 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); 74 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 );
75 a->setWhatsThis( tr( "Click here to create a new checkbook.\n\nYou also can select New from the Checkbook menu." ) ); 75 a->setWhatsThis( tr( "Click here to create a new checkbook.\n\nYou also can select New from the Checkbook menu." ) );
76 connect( a, SIGNAL( activated() ), this, SLOT( slotNew() ) ); 76 connect( a, SIGNAL( activated() ), this, SLOT( slotNew() ) );
77 a->addTo( popup ); 77 a->addTo( popup );
78 a->addTo( bar ); 78 a->addTo( bar );
79 79
80 actionOpen = new QAction( tr( "Edit" ), Resource::loadPixmap( "edit" ), QString::null, 80 actionOpen = new QAction( tr( "Edit" ), Resource::loadPixmap( "edit" ), QString::null,
81 0, this, 0 ); 81 0, this, 0 );
82 actionOpen->setWhatsThis( tr( "Select a checkbook and then click here to edit it.\n\nYou also can select Edit from the Checkbook menu, or click and hold on a checkbook name." ) ); 82 actionOpen->setWhatsThis( tr( "Select a checkbook and then click here to edit it.\n\nYou also can select Edit from the Checkbook menu, or click and hold on a checkbook name." ) );
83 connect( actionOpen, SIGNAL( activated() ), this, SLOT( slotEdit() ) ); 83 connect( actionOpen, SIGNAL( activated() ), this, SLOT( slotEdit() ) );
84 actionOpen->addTo( popup ); 84 actionOpen->addTo( popup );
85 actionOpen->addTo( bar ); 85 actionOpen->addTo( bar );
86 86
87 actionDelete = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null, 87 actionDelete = new QAction( tr( "Delete" ), Resource::loadPixmap( "trash" ), QString::null,
88 0, this, 0 ); 88 0, this, 0 );
89 actionDelete->setWhatsThis( tr( "Select a checkbook and then click here delete it.\n\nYou also can select Delete from the Checkbook menu." ) ); 89 actionDelete->setWhatsThis( tr( "Select a checkbook and then click here delete it.\n\nYou also can select Delete from the Checkbook menu." ) );
90 connect( actionDelete, SIGNAL( activated() ), this, SLOT( slotDelete() ) ); 90 connect( actionDelete, SIGNAL( activated() ), this, SLOT( slotDelete() ) );
91 actionDelete->addTo( popup ); 91 actionDelete->addTo( popup );
92 actionDelete->addTo( bar ); 92 actionDelete->addTo( bar );
93 93
94 popup->insertSeparator(); 94 popup->insertSeparator();
95 95
96 a = new QAction( tr( "Configure" ), Resource::loadPixmap( "SettingsIcon" ), QString::null, 0, this, 0 ); 96 a = new QAction( tr( "Configure" ), Resource::loadPixmap( "SettingsIcon" ), QString::null, 0, this, 0 );
97 a->setWhatsThis( tr( "Click here to configure this app." ) ); 97 a->setWhatsThis( tr( "Click here to configure this app." ) );
98 connect( a, SIGNAL( activated() ), this, SLOT( slotConfigure() ) ); 98 connect( a, SIGNAL( activated() ), this, SLOT( slotConfigure() ) );
99 a->addTo( popup ); 99 a->addTo( popup );
100 a->addTo( bar ); 100 a->addTo( bar );
101 101
102 mb->insertItem( tr( "Checkbook" ), popup ); 102 mb->insertItem( tr( "Checkbook" ), popup );
103 103
104 // Load Checkbook selection list 104 // Load Checkbook selection list
105 checkbooks = new CBInfoList(); 105 checkbooks = new CBInfoList();
106 106
107 QDir checkdir( cbDir ); 107 QDir checkdir( cbDir );
@@ -153,213 +153,210 @@ MainWindow::~MainWindow()
153void MainWindow::buildList() 153void MainWindow::buildList()
154{ 154{
155 if ( cbList ) 155 if ( cbList )
156 delete cbList; 156 delete cbList;
157 157
158 cbList = new QListView( this ); 158 cbList = new QListView( this );
159 QWhatsThis::add( cbList, tr( "This is a listing of all checkbooks currently available." ) ); 159 QWhatsThis::add( cbList, tr( "This is a listing of all checkbooks currently available." ) );
160 160
161 if ( _cfg.getShowLocks() ) 161 if ( _cfg.getShowLocks() )
162 { 162 {
163 cbList->addColumn( Resource::loadIconSet( "locked" ), "", 24 ); 163 cbList->addColumn( Resource::loadIconSet( "locked" ), "", 24 );
164 posName = 1; 164 posName = 1;
165 } 165 }
166 else 166 else
167 { 167 {
168 posName = 0; 168 posName = 0;
169 } 169 }
170 cbList->addColumn( tr( "Checkbook Name" ) ); 170 cbList->addColumn( tr( "Checkbook Name" ) );
171 if ( _cfg.getShowBalances() ) 171 if ( _cfg.getShowBalances() )
172 { 172 {
173 int colnum = cbList->addColumn( tr( "Balance" ) ); 173 int colnum = cbList->addColumn( tr( "Balance" ) );
174 cbList->setColumnAlignment( colnum, Qt::AlignRight ); 174 cbList->setColumnAlignment( colnum, Qt::AlignRight );
175 } 175 }
176 cbList->setAllColumnsShowFocus( TRUE ); 176 cbList->setAllColumnsShowFocus( TRUE );
177 cbList->setSorting( posName ); 177 cbList->setSorting( posName );
178 QPEApplication::setStylusOperation( cbList->viewport(), QPEApplication::RightOnHold ); 178 QPEApplication::setStylusOperation( cbList->viewport(), QPEApplication::RightOnHold );
179 connect( cbList, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint &, int ) ), 179 connect( cbList, SIGNAL( rightButtonPressed( QListViewItem *, const QPoint &, int ) ),
180 this, SLOT( slotEdit() ) ); 180 this, SLOT( slotEdit() ) );
181 setCentralWidget( cbList ); 181 setCentralWidget( cbList );
182 182
183 for ( CBInfo *cb = checkbooks->first(); cb; cb = checkbooks->next() ) 183 for ( CBInfo *cb = checkbooks->first(); cb; cb = checkbooks->next() )
184 { 184 {
185 addCheckbook( cb ); 185 addCheckbook( cb );
186 } 186 }
187} 187}
188 188
189void MainWindow::addCheckbook( CBInfo *cb ) 189void MainWindow::addCheckbook( CBInfo *cb )
190{ 190{
191 QListViewItem *lvi = new QListViewItem( cbList ); 191 QListViewItem *lvi = new QListViewItem( cbList );
192 if ( _cfg.getShowLocks() && !cb->password().isNull() ) 192 if ( _cfg.getShowLocks() && !cb->password().isNull() )
193 { 193 {
194 lvi->setPixmap( 0, lockIcon ); 194 lvi->setPixmap( 0, lockIcon );
195 } 195 }
196 lvi->setText( posName, cb->name() ); 196 lvi->setText( posName, cb->name() );
197 if ( _cfg.getShowBalances() ) 197 if ( _cfg.getShowBalances() )
198 { 198 {
199 QString balance; 199 QString balance;
200 balance.sprintf( "%s%.2f", _cfg.getCurrencySymbol().latin1(), cb->balance() ); 200 balance.sprintf( "%s%.2f", _cfg.getCurrencySymbol().latin1(), cb->balance() );
201 lvi->setText( posName + 1, balance ); 201 lvi->setText( posName + 1, balance );
202 } 202 }
203} 203}
204 204
205void MainWindow::buildFilename( const QString &name ) 205void MainWindow::buildFilename( const QString &name )
206{ 206{
207 tempFilename = cbDir; 207 tempFilename = cbDir;
208 tempFilename.append( name ); 208 tempFilename.append( name );
209 tempFilename.append( ".qcb" ); 209 tempFilename.append( ".qcb" );
210} 210}
211 211
212void MainWindow::slotNew() 212void MainWindow::slotNew()
213{ 213{
214 CBInfo *cb = new CBInfo(); 214 CBInfo *cb = new CBInfo();
215 215
216 Checkbook *currcb = new Checkbook( this, cb, &_cfg ); 216 Checkbook *currcb = new Checkbook( this, cb, &_cfg );
217 currcb->showMaximized(); 217 if ( QPEApplication::execDialog( currcb ) == QDialog::Accepted )
218 if ( currcb->exec() == QDialog::Accepted )
219 { 218 {
220 // Save new checkbook 219 // Save new checkbook
221 buildFilename( cb->name() ); 220 buildFilename( cb->name() );
222 _cfg.setLastBook( cb->name() ); 221 _cfg.setLastBook( cb->name() );
223 cb->setFilename( tempFilename ); 222 cb->setFilename( tempFilename );
224 cb->write(); 223 cb->write();
225 224
226 // Add to listbox 225 // Add to listbox
227 checkbooks->inSort( cb ); 226 checkbooks->inSort( cb );
228 addCheckbook( cb ); 227 addCheckbook( cb );
229 } 228 }
230 delete currcb; 229 delete currcb;
231} 230}
232 231
233// --- slotEdit --------------------------------------------------------------- 232// --- slotEdit ---------------------------------------------------------------
234void MainWindow::slotEdit() 233void MainWindow::slotEdit()
235{ 234{
236 // get name and open it 235 // get name and open it
237 QListViewItem *curritem = cbList->currentItem(); 236 QListViewItem *curritem = cbList->currentItem();
238 if ( !curritem ) 237 if ( !curritem )
239 return; 238 return;
240 openBook( curritem ); 239 openBook( curritem );
241} 240}
242 241
243 242
244// --- openBook --------------------------------------------------------------- 243// --- openBook ---------------------------------------------------------------
245void MainWindow::openBook(QListViewItem *curritem) 244void MainWindow::openBook(QListViewItem *curritem)
246{ 245{
247 // find book in List 246 // find book in List
248 QString currname=curritem->text(posName); 247 QString currname=curritem->text(posName);
249 CBInfo *cb = checkbooks->first(); 248 CBInfo *cb = checkbooks->first();
250 while ( cb ) { 249 while ( cb ) {
251 if ( cb->name() == currname ) 250 if ( cb->name() == currname )
252 break; 251 break;
253 cb = checkbooks->next(); 252 cb = checkbooks->next();
254 } 253 }
255 if ( !cb ) return; 254 if ( !cb ) return;
256 255
257 // 256 //
258 buildFilename( currname ); 257 buildFilename( currname );
259 float currbalance = cb->balance(); 258 float currbalance = cb->balance();
260 bool currlock = !cb->password().isNull(); 259 bool currlock = !cb->password().isNull();
261 260
262 if ( currlock ) 261 if ( currlock )
263 { 262 {
264 Password *pw = new Password( this, tr( "Enter password" ), tr( "Please enter your password:" ) ); 263 Password *pw = new Password( this, tr( "Enter password" ), tr( "Please enter your password:" ) );
265 if ( pw->exec() != QDialog::Accepted || pw->password != cb->password() ) 264 if ( pw->exec() != QDialog::Accepted || pw->password != cb->password() )
266 { 265 {
267 delete pw; 266 delete pw;
268 return; 267 return;
269 } 268 }
270 delete pw; 269 delete pw;
271 } 270 }
272 271
273 _cfg.setLastBook( currname ); 272 _cfg.setLastBook( currname );
274 Checkbook *currcb = new Checkbook( this, cb, &_cfg ); 273 Checkbook *currcb = new Checkbook( this, cb, &_cfg );
275 currcb->showMaximized(); 274 if ( QPEApplication::execDialog( currcb ) == QDialog::Accepted )
276 if ( currcb->exec() == QDialog::Accepted )
277 { 275 {
278 QString newname = cb->name(); 276 QString newname = cb->name();
279 if ( currname != newname ) 277 if ( currname != newname )
280 { 278 {
281 // Update name if changed 279 // Update name if changed
282 if( curritem ) { 280 if( curritem ) {
283 curritem->setText( posName, newname ); 281 curritem->setText( posName, newname );
284 cbList->sort(); 282 cbList->sort();
285 } 283 }
286 _cfg.setLastBook( newname ); 284 _cfg.setLastBook( newname );
287 285
288 // Remove old file 286 // Remove old file
289 QFile f( tempFilename ); 287 QFile f( tempFilename );
290 if ( f.exists() ) 288 if ( f.exists() )
291 f.remove(); 289 f.remove();
292 290
293 // Get new filename 291 // Get new filename
294 buildFilename( newname ); 292 buildFilename( newname );
295 cb->setFilename( tempFilename ); 293 cb->setFilename( tempFilename );
296 } 294 }
297 295
298 cb->write(); 296 cb->write();
299 297
300 // Update lock if changed 298 // Update lock if changed
301 if ( _cfg.getShowLocks() && !cb->password().isNull() != currlock ) 299 if ( _cfg.getShowLocks() && !cb->password().isNull() != currlock )
302 { 300 {
303 if ( !cb->password().isNull() ) 301 if ( !cb->password().isNull() )
304 curritem->setPixmap( 0, lockIcon ); 302 curritem->setPixmap( 0, lockIcon );
305 else 303 else
306 curritem->setPixmap( 0, nullIcon ); 304 curritem->setPixmap( 0, nullIcon );
307 } 305 }
308 306
309 // Update balance if changed 307 // Update balance if changed
310 if ( _cfg.getShowBalances() && cb->balance() != currbalance ) 308 if ( _cfg.getShowBalances() && cb->balance() != currbalance )
311 { 309 {
312 QString tempstr; 310 QString tempstr;
313 tempstr.sprintf( "%s%.2f", _cfg.getCurrencySymbol().latin1(), cb->balance() ); 311 tempstr.sprintf( "%s%.2f", _cfg.getCurrencySymbol().latin1(), cb->balance() );
314 curritem->setText( posName + 1, tempstr ); 312 curritem->setText( posName + 1, tempstr );
315 } 313 }
316 314
317 // write config, if needed 315 // write config, if needed
318 if( _cfg.isDirty() ) { 316 if( _cfg.isDirty() ) {
319 Config config("checkbook"); 317 Config config("checkbook");
320 _cfg.writeConfig( config ); 318 _cfg.writeConfig( config );
321 } 319 }
322 } 320 }
323 delete currcb; 321 delete currcb;
324} 322}
325 323
326// --- slotDelete ------------------------------------------------------------- 324// --- slotDelete -------------------------------------------------------------
327void MainWindow::slotDelete() 325void MainWindow::slotDelete()
328{ 326{
329 QString currname = cbList->currentItem()->text( posName ); 327 QString currname = cbList->currentItem()->text( posName );
330 328
331 if ( QPEMessageBox::confirmDelete ( this, tr( "Delete checkbook" ), currname ) ) 329 if ( QPEMessageBox::confirmDelete ( this, tr( "Delete checkbook" ), currname ) )
332 { 330 {
333 buildFilename( currname ); 331 buildFilename( currname );
334 QFile f( tempFilename ); 332 QFile f( tempFilename );
335 if ( f.exists() ) 333 if ( f.exists() )
336 { 334 {
337 f.remove(); 335 f.remove();
338 } 336 }
339 337
340 delete cbList->currentItem(); 338 delete cbList->currentItem();
341 } 339 }
342} 340}
343 341
344// --- slotConfigure ---------------------------------------------------------- 342// --- slotConfigure ----------------------------------------------------------
345void MainWindow::slotConfigure() 343void MainWindow::slotConfigure()
346{ 344{
347 Configuration *cfgdlg = new Configuration( this, _cfg ); 345 Configuration *cfgdlg = new Configuration( this, _cfg );
348 cfgdlg->showMaximized(); 346 if ( QPEApplication::execDialog( cfgdlg ) == QDialog::Accepted )
349 if ( cfgdlg->exec() == QDialog::Accepted )
350 { 347 {
351 // read data from config dialog & save it 348 // read data from config dialog & save it
352 cfgdlg->saveConfig( _cfg ); 349 cfgdlg->saveConfig( _cfg );
353 writeConfig(); 350 writeConfig();
354 buildList(); 351 buildList();
355 } 352 }
356 delete cfgdlg; 353 delete cfgdlg;
357} 354}
358 355
359 356
360// --- writeConfig -------------------------------------------------------------- 357// --- writeConfig --------------------------------------------------------------
361void MainWindow::writeConfig() 358void MainWindow::writeConfig()
362{ 359{
363 Config config("checkbook"); 360 Config config("checkbook");
364 _cfg.writeConfig( config ); 361 _cfg.writeConfig( config );
365} 362}
diff --git a/noncore/apps/odict/configdlg.cpp b/noncore/apps/odict/configdlg.cpp
index 2103df9..b12a395 100644
--- a/noncore/apps/odict/configdlg.cpp
+++ b/noncore/apps/odict/configdlg.cpp
@@ -1,107 +1,108 @@
1/*************************************************************************** 1/***************************************************************************
2 application: : ODict 2 application: : ODict
3 3
4 begin : December 2002 4 begin : December 2002
5 copyright : ( C ) 2002, 2003 by Carsten Niehaus 5 copyright : ( C ) 2002, 2003 by Carsten Niehaus
6 email : cniehaus@handhelds.org 6 email : cniehaus@handhelds.org
7 **************************************************************************/ 7 **************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * ( at your option ) any later version. * 14 * ( at your option ) any later version. *
15 * * 15 * *
16 **************************************************************************/ 16 **************************************************************************/
17#include "configdlg.h" 17#include "configdlg.h"
18#include "searchmethoddlg.h" 18#include "searchmethoddlg.h"
19 19
20#include <qdialog.h> 20#include <qpe/qpeapplication.h>
21#include <qpe/config.h> 21#include <qpe/config.h>
22#include <qlayout.h>
23 22
23#include <qdialog.h>
24#include <qlayout.h>
24#include <qhbox.h> 25#include <qhbox.h>
25#include <qvbox.h> 26#include <qvbox.h>
26#include <qlabel.h> 27#include <qlabel.h>
27#include <qlistview.h> 28#include <qlistview.h>
28#include <qpushbutton.h> 29#include <qpushbutton.h>
29#include <qlineedit.h> 30#include <qlineedit.h>
30#include <qstringlist.h> 31#include <qstringlist.h>
31 32
32ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal) 33ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal)
33{ 34{
34 setCaption( tr( "Options" ) ); 35 setCaption( tr( "Options" ) );
35 QVBoxLayout *vbox_layout = new QVBoxLayout( this ); 36 QVBoxLayout *vbox_layout = new QVBoxLayout( this );
36 search_tab = new QWidget( this , "search_tab" ); 37 search_tab = new QWidget( this , "search_tab" );
37 QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" ); 38 QVBoxLayout *vbox_layout_searchtab = new QVBoxLayout( search_tab, 4 , 4 ,"blah" );
38 39
39 QHBox *hbox = new QHBox( search_tab ); 40 QHBox *hbox = new QHBox( search_tab );
40 list = new QListView( hbox ); 41 list = new QListView( hbox );
41 list->addColumn( tr( "Searchmethod" ) ); 42 list->addColumn( tr( "Searchmethod" ) );
42 loadSearchMethodNames(); 43 loadSearchMethodNames();
43 44
44 QVBox *vbox = new QVBox( hbox ); 45 QVBox *vbox = new QVBox( hbox );
45 new_button = new QPushButton( tr( "New" ) , vbox ); 46 new_button = new QPushButton( tr( "New" ) , vbox );
46 change_button = new QPushButton( tr( "Change" ) , vbox ); 47 change_button = new QPushButton( tr( "Change" ) , vbox );
47 delete_button = new QPushButton( tr( "Delete" ) , vbox ); 48 delete_button = new QPushButton( tr( "Delete" ) , vbox );
48 connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) ); 49 connect( new_button, SIGNAL( clicked() ), this, SLOT( slotNewMethod() ) );
49 connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() )); 50 connect( change_button, SIGNAL( clicked() ), this, SLOT( slotChangeMethod() ));
50 connect( delete_button, SIGNAL( clicked() ), this, SLOT( slotDeleteMethod() )); 51 connect( delete_button, SIGNAL( clicked() ), this, SLOT( slotDeleteMethod() ));
51 52
52 vbox_layout_searchtab->addWidget( hbox ); 53 vbox_layout_searchtab->addWidget( hbox );
53 54
54 vbox_layout->addWidget( search_tab ); 55 vbox_layout->addWidget( search_tab );
55 56
56 showMaximized(); 57 QPEApplication::execDialog( this );
57} 58}
58 59
59void ConfigDlg::slotNewMethod() 60void ConfigDlg::slotNewMethod()
60{ 61{
61 SearchMethodDlg dlg( this, "SearchMethodDlg", true ); 62 SearchMethodDlg dlg( this, "SearchMethodDlg", true );
62 if ( dlg.exec() == QDialog::Accepted ) 63 if ( dlg.exec() == QDialog::Accepted )
63 { 64 {
64 dlg.saveItem(); 65 dlg.saveItem();
65 QListViewItem *item = new QListViewItem( list ); 66 QListViewItem *item = new QListViewItem( list );
66 item->setText( 0 , dlg.nameLE->text() ); 67 item->setText( 0 , dlg.nameLE->text() );
67 } 68 }
68} 69}
69 70
70void ConfigDlg::slotChangeMethod() 71void ConfigDlg::slotChangeMethod()
71{ 72{
72 if ( list->selectedItem() ) 73 if ( list->selectedItem() )
73 { 74 {
74 SearchMethodDlg dlg( this, "SearchMethodDlg", true, list->selectedItem()->text( 0 ) ); 75 SearchMethodDlg dlg( this, "SearchMethodDlg", true, list->selectedItem()->text( 0 ) );
75 if ( dlg.exec() == QDialog::Accepted ) 76 if ( dlg.exec() == QDialog::Accepted )
76 { 77 {
77 dlg.saveItem(); 78 dlg.saveItem();
78 QListViewItem *item = list->selectedItem(); 79 QListViewItem *item = list->selectedItem();
79 item->setText( 0 , dlg.nameLE->text() ); 80 item->setText( 0 , dlg.nameLE->text() );
80 } 81 }
81 } 82 }
82} 83}
83 84
84void ConfigDlg::slotDeleteMethod() 85void ConfigDlg::slotDeleteMethod()
85{ 86{
86 if ( list->selectedItem() ) 87 if ( list->selectedItem() )
87 { 88 {
88 Config cfg ( "odict" ); 89 Config cfg ( "odict" );
89 cfg.setGroup( "Method_"+list->selectedItem()->text(0) ); 90 cfg.setGroup( "Method_"+list->selectedItem()->text(0) );
90 cfg.clearGroup(); 91 cfg.clearGroup();
91 //FIXME: this only removes the entries but not the group itself 92 //FIXME: this only removes the entries but not the group itself
92 93
93 list->takeItem( list->selectedItem() ); 94 list->takeItem( list->selectedItem() );
94 } 95 }
95} 96}
96 97
97void ConfigDlg::loadSearchMethodNames() 98void ConfigDlg::loadSearchMethodNames()
98{ 99{
99 Config cfg( "odict" ); 100 Config cfg( "odict" );
100 QStringList groupListCfg = cfg.groupList().grep( "Method_" ); 101 QStringList groupListCfg = cfg.groupList().grep( "Method_" );
101 for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it ) 102 for ( QStringList::Iterator it = groupListCfg.begin() ; it != groupListCfg.end() ; ++it )
102 { 103 {
103 QListViewItem *item = new QListViewItem( list ); 104 QListViewItem *item = new QListViewItem( list );
104 cfg.setGroup( *it ); 105 cfg.setGroup( *it );
105 item->setText( 0 , cfg.readEntry( "Name" ) ); 106 item->setText( 0 , cfg.readEntry( "Name" ) );
106 } 107 }
107} 108}
diff --git a/noncore/apps/odict/searchmethoddlg.cpp b/noncore/apps/odict/searchmethoddlg.cpp
index 99cd8db..8ed7152 100644
--- a/noncore/apps/odict/searchmethoddlg.cpp
+++ b/noncore/apps/odict/searchmethoddlg.cpp
@@ -1,108 +1,109 @@
1/*************************************************************************** 1/***************************************************************************
2 application: : ODict 2 application: : ODict
3 3
4 begin : December 2002 4 begin : December 2002
5 copyright : ( C ) 2002, 2003 by Carsten Niehaus 5 copyright : ( C ) 2002, 2003 by Carsten Niehaus
6 email : cniehaus@handhelds.org 6 email : cniehaus@handhelds.org
7 **************************************************************************/ 7 **************************************************************************/
8 8
9/*************************************************************************** 9/***************************************************************************
10 * * 10 * *
11 * This program is free software; you can redistribute it and/or modify * 11 * This program is free software; you can redistribute it and/or modify *
12 * it under the terms of the GNU General Public License as published by * 12 * it under the terms of the GNU General Public License as published by *
13 * the Free Software Foundation; either version 2 of the License, or * 13 * the Free Software Foundation; either version 2 of the License, or *
14 * ( at your option ) any later version. * 14 * ( at your option ) any later version. *
15 * * 15 * *
16 **************************************************************************/ 16 **************************************************************************/
17#include "searchmethoddlg.h" 17#include "searchmethoddlg.h"
18 18
19#include <qdialog.h>
20#include <qpe/config.h> 19#include <qpe/config.h>
21#include <qlayout.h> 20#include <qpe/qpeapplication.h>
22 21
22#include <qdialog.h>
23#include <qlayout.h>
23#include <qhbox.h> 24#include <qhbox.h>
24#include <qvbox.h> 25#include <qvbox.h>
25#include <qlabel.h> 26#include <qlabel.h>
26#include <qpushbutton.h> 27#include <qpushbutton.h>
27#include <qstring.h> 28#include <qstring.h>
28#include <qlineedit.h> 29#include <qlineedit.h>
29#include <qdir.h> 30#include <qdir.h>
30 31
31#include <opie/ofileselector.h> 32#include <opie/ofileselector.h>
32#include <opie/ofiledialog.h> 33#include <opie/ofiledialog.h>
33 34
34SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal, QString itemname) : QDialog(parent, name, modal) 35SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal, QString itemname) : QDialog(parent, name, modal)
35{ 36{
36 37
37 QVBoxLayout *vbox_layout = new QVBoxLayout( this, 4,4,"vbox_layout" ); 38 QVBoxLayout *vbox_layout = new QVBoxLayout( this, 4,4,"vbox_layout" );
38 QVBox *vbox = new QVBox( this ); 39 QVBox *vbox = new QVBox( this );
39 40
40 QHBox *hbox1 = new QHBox( vbox ); 41 QHBox *hbox1 = new QHBox( vbox );
41 QLabel *nameLabel = new QLabel( tr( "Name:" ) , hbox1 ); 42 QLabel *nameLabel = new QLabel( tr( "Name:" ) , hbox1 );
42 nameLE = new QLineEdit( hbox1 ); 43 nameLE = new QLineEdit( hbox1 );
43 44
44 QLabel *dictLabel = new QLabel( tr( "Dictionary file" ), vbox ); 45 QLabel *dictLabel = new QLabel( tr( "Dictionary file" ), vbox );
45 QHBox *hbox2 = new QHBox( vbox ); 46 QHBox *hbox2 = new QHBox( vbox );
46 dictFileLE = new QLineEdit( hbox2 ); 47 dictFileLE = new QLineEdit( hbox2 );
47 QPushButton *browseButton = new QPushButton( tr( "Browse" ) , hbox2 ); 48 QPushButton *browseButton = new QPushButton( tr( "Browse" ) , hbox2 );
48 connect( browseButton, SIGNAL( clicked() ), this, SLOT( slotBrowse() ) ); 49 connect( browseButton, SIGNAL( clicked() ), this, SLOT( slotBrowse() ) );
49 50
50 QWidget *dummywidget = new QWidget( vbox ); 51 QWidget *dummywidget = new QWidget( vbox );
51 QLabel *lag1 = new QLabel( tr( "Language 1" ),dummywidget); 52 QLabel *lag1 = new QLabel( tr( "Language 1" ),dummywidget);
52 QLabel *devider = new QLabel( tr( "Decollator" ),dummywidget); 53 QLabel *devider = new QLabel( tr( "Decollator" ),dummywidget);
53 QLabel *lag2 = new QLabel( tr( "Language 2" ),dummywidget); 54 QLabel *lag2 = new QLabel( tr( "Language 2" ),dummywidget);
54 lang1 = new QLineEdit( dummywidget ); 55 lang1 = new QLineEdit( dummywidget );
55 lang2 = new QLineEdit( dummywidget ); 56 lang2 = new QLineEdit( dummywidget );
56 trenner = new QLineEdit( dummywidget ); 57 trenner = new QLineEdit( dummywidget );
57 trenner->setText( "::" ); 58 trenner->setText( "::" );
58 59
59 QGridLayout *grid = new QGridLayout( dummywidget, 2,3 ); 60 QGridLayout *grid = new QGridLayout( dummywidget, 2,3 );
60 grid->addWidget( lag1, 0,0 ); 61 grid->addWidget( lag1, 0,0 );
61 grid->addWidget( devider, 0,1 ); 62 grid->addWidget( devider, 0,1 );
62 grid->addWidget( lag2, 0,2 ); 63 grid->addWidget( lag2, 0,2 );
63 grid->addWidget( lang1, 1,0 ); 64 grid->addWidget( lang1, 1,0 );
64 grid->addWidget( trenner, 1,1 ); 65 grid->addWidget( trenner, 1,1 );
65 grid->addWidget( lang2, 1,2 ); 66 grid->addWidget( lang2, 1,2 );
66 67
67 vbox_layout->addWidget( vbox ); 68 vbox_layout->addWidget( vbox );
68 69
69 showMaximized(); 70 QPEApplication::execDialog ( this );
70 71
71 if( !itemname ) 72 if( !itemname )
72 setCaption( tr( "New Searchmethod" ) ); 73 setCaption( tr( "New Searchmethod" ) );
73 else 74 else
74 { 75 {
75 setCaption( tr( "Change Searchmethod" ) ); 76 setCaption( tr( "Change Searchmethod" ) );
76 itemName = itemname; 77 itemName = itemname;
77 setupEntries(itemname); 78 setupEntries(itemname);
78 } 79 }
79} 80}
80 81
81void SearchMethodDlg::setupEntries( QString item ) 82void SearchMethodDlg::setupEntries( QString item )
82{ 83{
83 Config cfg( "odict" ); 84 Config cfg( "odict" );
84 cfg.setGroup( "Method_"+itemName ); 85 cfg.setGroup( "Method_"+itemName );
85 trenner->setText( cfg.readEntry( "Seperator" ) ); 86 trenner->setText( cfg.readEntry( "Seperator" ) );
86 lang1->setText( cfg.readEntry( "Lang1" ) ); 87 lang1->setText( cfg.readEntry( "Lang1" ) );
87 lang2->setText( cfg.readEntry( "Lang2" ) ); 88 lang2->setText( cfg.readEntry( "Lang2" ) );
88 nameLE->setText( itemName ); 89 nameLE->setText( itemName );
89 dictFileLE->setText( cfg.readEntry( "file" ) ); 90 dictFileLE->setText( cfg.readEntry( "file" ) );
90} 91}
91 92
92void SearchMethodDlg::slotBrowse() 93void SearchMethodDlg::slotBrowse()
93{ 94{
94 itemName=OFileDialog::getOpenFileName( OFileSelector::EXTENDED,QDir::homeDirPath()); 95 itemName=OFileDialog::getOpenFileName( OFileSelector::EXTENDED,QDir::homeDirPath());
95 dictFileLE->setText( itemName ); 96 dictFileLE->setText( itemName );
96} 97}
97 98
98void SearchMethodDlg::saveItem() 99void SearchMethodDlg::saveItem()
99{ 100{
100 QString name = nameLE->text(); 101 QString name = nameLE->text();
101 Config cfg( "odict" ); 102 Config cfg( "odict" );
102 cfg.setGroup( "Method_"+name ); 103 cfg.setGroup( "Method_"+name );
103 cfg.writeEntry( "Name", name ); 104 cfg.writeEntry( "Name", name );
104 cfg.writeEntry( "Seperator", trenner->text() ); 105 cfg.writeEntry( "Seperator", trenner->text() );
105 cfg.writeEntry( "Lang1", lang1->text() ); 106 cfg.writeEntry( "Lang1", lang1->text() );
106 cfg.writeEntry( "Lang2", lang2->text() ); 107 cfg.writeEntry( "Lang2", lang2->text() );
107 cfg.writeEntry( "file", dictFileLE->text() ); 108 cfg.writeEntry( "file", dictFileLE->text() );
108} 109}
diff --git a/noncore/apps/opie-bartender/bartender.cpp b/noncore/apps/opie-bartender/bartender.cpp
index 8c4ee93..cd0a364 100644
--- a/noncore/apps/opie-bartender/bartender.cpp
+++ b/noncore/apps/opie-bartender/bartender.cpp
@@ -108,340 +108,336 @@ Bartender::Bartender( QWidget* parent, const char* name, WFlags fl )
108 108
109 DrinkView = new QListView( this, "DrinkView" ); 109 DrinkView = new QListView( this, "DrinkView" );
110 DrinkView->addColumn( tr( "Name of Drink" ) ); 110 DrinkView->addColumn( tr( "Name of Drink" ) );
111// DrinkView->setRootIsDecorated( TRUE ); 111// DrinkView->setRootIsDecorated( TRUE );
112 DrinkView->header()->hide(); 112 DrinkView->header()->hide();
113 113
114 QPEApplication::setStylusOperation( DrinkView->viewport(),QPEApplication::RightOnHold); 114 QPEApplication::setStylusOperation( DrinkView->viewport(),QPEApplication::RightOnHold);
115 115
116 connect(DrinkView, SIGNAL( doubleClicked(QListViewItem*)),this,SLOT(showDrink( QListViewItem*))); 116 connect(DrinkView, SIGNAL( doubleClicked(QListViewItem*)),this,SLOT(showDrink( QListViewItem*)));
117 connect(DrinkView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)), 117 connect(DrinkView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
118 this,SLOT( showDrink(int, QListViewItem *, const QPoint&, int))); 118 this,SLOT( showDrink(int, QListViewItem *, const QPoint&, int)));
119 119
120 layout->addMultiCellWidget( DrinkView, 1, 2, 0, 4 ); 120 layout->addMultiCellWidget( DrinkView, 1, 2, 0, 4 );
121 if(QDir("db").exists()) { 121 if(QDir("db").exists()) {
122 dbFile.setName( "db/drinkdb.txt"); 122 dbFile.setName( "db/drinkdb.txt");
123 } else 123 } else
124 dbFile.setName( QPEApplication::qpeDir()+"/etc/bartender/drinkdb.txt"); 124 dbFile.setName( QPEApplication::qpeDir()+"/etc/bartender/drinkdb.txt");
125 initDrinkDb(); 125 initDrinkDb();
126} 126}
127 127
128Bartender::~Bartender() { 128Bartender::~Bartender() {
129} 129}
130 130
131/* 131/*
132this happens right before exit */ 132this happens right before exit */
133void Bartender::cleanUp() { 133void Bartender::cleanUp() {
134 dbFile.close(); 134 dbFile.close();
135 135
136} 136}
137 137
138void Bartender::initDrinkDb() { 138void Bartender::initDrinkDb() {
139 139
140 if(!dbFile.isOpen()) 140 if(!dbFile.isOpen())
141 if ( !dbFile.open( IO_ReadOnly)) { 141 if ( !dbFile.open( IO_ReadOnly)) {
142 QMessageBox::message( (tr("Note")), (tr("Drink database not opened sucessfully.\n")) ); 142 QMessageBox::message( (tr("Note")), (tr("Drink database not opened sucessfully.\n")) );
143 return; 143 return;
144 } 144 }
145 fillList(); 145 fillList();
146} 146}
147 147
148void Bartender::fillList() { 148void Bartender::fillList() {
149 dbFile.at(1); 149 dbFile.at(1);
150 DrinkView->clear(); 150 DrinkView->clear();
151 int i=0; 151 int i=0;
152 QListViewItem * item ; 152 QListViewItem * item ;
153 QTextStream t( &dbFile); 153 QTextStream t( &dbFile);
154 QString s; 154 QString s;
155 while ( !t.eof()) { 155 while ( !t.eof()) {
156 s = t.readLine(); 156 s = t.readLine();
157 if(s.find("#",0,TRUE) != -1) { 157 if(s.find("#",0,TRUE) != -1) {
158// qDebug(s.right(s.length()-2)); 158// qDebug(s.right(s.length()-2));
159 item= new QListViewItem( DrinkView, 0 ); 159 item= new QListViewItem( DrinkView, 0 );
160 item->setText( 0, s.right(s.length()-2)); 160 item->setText( 0, s.right(s.length()-2));
161 i++; 161 i++;
162 } 162 }
163 } 163 }
164 qDebug("there are currently %d of drinks", i); 164 qDebug("there are currently %d of drinks", i);
165} 165}
166 166
167void Bartender::fileNew() { 167void Bartender::fileNew() {
168 168
169 New_Drink *newDrinks; 169 New_Drink *newDrinks;
170 newDrinks = new New_Drink(this,"New Drink....", TRUE); 170 newDrinks = new New_Drink(this,"New Drink....", TRUE);
171 QString newName, newIng; 171 QString newName, newIng;
172 newDrinks->showMaximized(); 172 QPEApplication::execDialog( newDrinks );
173 newDrinks->exec();
174 newName = newDrinks->LineEdit1->text(); 173 newName = newDrinks->LineEdit1->text();
175 newIng= newDrinks->MultiLineEdit1->text(); 174 newIng= newDrinks->MultiLineEdit1->text();
176 175
177 if(dbFile.isOpen()) 176 if(dbFile.isOpen())
178 dbFile.close(); 177 dbFile.close();
179 if ( !dbFile.open( IO_WriteOnly| IO_Append)) { 178 if ( !dbFile.open( IO_WriteOnly| IO_Append)) {
180 QMessageBox::message( (tr("Note")), (tr("Drink database not opened sucessfully.\n")) ); 179 QMessageBox::message( (tr("Note")), (tr("Drink database not opened sucessfully.\n")) );
181 return; 180 return;
182 } 181 }
183 if(newDrinks ->result() == 1 ) { 182 if(newDrinks ->result() == 1 ) {
184 QString newDrink="\n# "+newName+"\n"; 183 QString newDrink="\n# "+newName+"\n";
185 newDrink.append(newIng+"\n"); 184 newDrink.append(newIng+"\n");
186 qDebug("writing "+newDrink); 185 qDebug("writing "+newDrink);
187 dbFile.writeBlock( newDrink.latin1(), newDrink.length()); 186 dbFile.writeBlock( newDrink.latin1(), newDrink.length());
188 clearList(); 187 clearList();
189 dbFile.close(); 188 dbFile.close();
190 189
191 initDrinkDb(); 190 initDrinkDb();
192 } 191 }
193 delete newDrinks; 192 delete newDrinks;
194} 193}
195 194
196void Bartender::showDrink(int mouse, QListViewItem * item, const QPoint&, int) { 195void Bartender::showDrink(int mouse, QListViewItem * item, const QPoint&, int) {
197 switch (mouse) { 196 switch (mouse) {
198 case 1: 197 case 1:
199// showDrink(item); 198// showDrink(item);
200 break; 199 break;
201 case 2: 200 case 2:
202 showDrink(item); 201 showDrink(item);
203 break; 202 break;
204 } 203 }
205} 204}
206 205
207void Bartender::showDrink( QListViewItem *item) { 206void Bartender::showDrink( QListViewItem *item) {
208 if(item==NULL) return; 207 if(item==NULL) return;
209 dbFile.at(0); 208 dbFile.at(0);
210 Show_Drink *showDrinks; 209 Show_Drink *showDrinks;
211 QString myDrink=item->text(0); 210 QString myDrink=item->text(0);
212 showDrinks = new Show_Drink(this, myDrink, TRUE); 211 showDrinks = new Show_Drink(this, myDrink, TRUE);
213 QTextStream t( &dbFile); 212 QTextStream t( &dbFile);
214 213
215 QString s, s2; 214 QString s, s2;
216 while ( !t.eof()) { 215 while ( !t.eof()) {
217 s = t.readLine(); 216 s = t.readLine();
218 if(s.find( myDrink, 0, TRUE) != -1) { 217 if(s.find( myDrink, 0, TRUE) != -1) {
219 for(int i=0;s2.find( "#", 0, TRUE) == -1;i++) { 218 for(int i=0;s2.find( "#", 0, TRUE) == -1;i++) {
220 s2 = t.readLine(); 219 s2 = t.readLine();
221 if(s2.find("#",0,TRUE) == -1 || dbFile.atEnd() ) { 220 if(s2.find("#",0,TRUE) == -1 || dbFile.atEnd() ) {
222// qDebug(s2); 221// qDebug(s2);
223 showDrinks->MultiLineEdit1->append(s2); 222 showDrinks->MultiLineEdit1->append(s2);
224 } 223 }
225 if( dbFile.atEnd() ) break; 224 if( dbFile.atEnd() ) break;
226 } 225 }
227 } 226 }
228 } 227 }
229 showDrinks->showMaximized(); 228 QPEApplication::execDialog( showDrinks );
230 showDrinks->exec();
231 229
232 if(showDrinks ->result() ==0) { 230 if(showDrinks ->result() ==0) {
233 doEdit(); 231 doEdit();
234 } 232 }
235 delete showDrinks; 233 delete showDrinks;
236} 234}
237 235
238void Bartender::askSearch() { 236void Bartender::askSearch() {
239 switch ( QMessageBox::warning(this,tr("Find"),tr("Search by drink name\n")+ 237 switch ( QMessageBox::warning(this,tr("Find"),tr("Search by drink name\n")+
240 "\nor alcohol ?" 238 "\nor alcohol ?"
241 ,tr("Drink Name"),tr("Alcohol"),0,0,1) ) { 239 ,tr("Drink Name"),tr("Alcohol"),0,0,1) ) {
242 case 0: 240 case 0:
243 doSearchByName(); 241 doSearchByName();
244 break; 242 break;
245 case 1: 243 case 1:
246 doSearchByDrink(); 244 doSearchByDrink();
247 break; 245 break;
248 }; 246 };
249} 247}
250 248
251/* search by name */ 249/* search by name */
252void Bartender::doSearchByName() { 250void Bartender::doSearchByName() {
253// if( DrinkView->currentItem() == NULL) return; 251// if( DrinkView->currentItem() == NULL) return;
254 QStringList searchList; 252 QStringList searchList;
255 QString searchForDrinkName; 253 QString searchForDrinkName;
256 InputDialog *fileDlg; 254 InputDialog *fileDlg;
257 fileDlg = new InputDialog(this,tr("Find by Drink Name"),TRUE, 0); 255 fileDlg = new InputDialog(this,tr("Find by Drink Name"),TRUE, 0);
258 fileDlg->exec(); 256 fileDlg->exec();
259 if( fileDlg->result() == 1 ) { 257 if( fileDlg->result() == 1 ) {
260 searchForDrinkName = fileDlg->LineEdit1->text(); 258 searchForDrinkName = fileDlg->LineEdit1->text();
261 QListViewItemIterator it( DrinkView ); 259 QListViewItemIterator it( DrinkView );
262 for ( ; it.current(); ++it ) { 260 for ( ; it.current(); ++it ) {
263 if ( it.current()->text(0).find( searchForDrinkName, 0, TRUE) != -1 ) { 261 if ( it.current()->text(0).find( searchForDrinkName, 0, TRUE) != -1 ) {
264// qDebug( it.current()->text(0)); 262// qDebug( it.current()->text(0));
265 searchList.append(it.current()->text(0)); 263 searchList.append(it.current()->text(0));
266 } 264 }
267 } 265 }
268 if(searchList.count() >0) 266 if(searchList.count() >0)
269 showSearchResult(searchList); 267 showSearchResult(searchList);
270 else 268 else
271 QMessageBox::message(tr("Search"),tr("Sorry no results for\n")+searchForDrinkName); 269 QMessageBox::message(tr("Search"),tr("Sorry no results for\n")+searchForDrinkName);
272 }//end Inputdialog 270 }//end Inputdialog
273 delete fileDlg; 271 delete fileDlg;
274} 272}
275 273
276void Bartender::doSearchByDrink() { 274void Bartender::doSearchByDrink() {
277// if( DrinkView->currentItem() == NULL) return; 275// if( DrinkView->currentItem() == NULL) return;
278 QStringList searchList; 276 QStringList searchList;
279 QString searchForDrinkName, lastDrinkName, tempName; 277 QString searchForDrinkName, lastDrinkName, tempName;
280 278
281 InputDialog *fileDlg; 279 InputDialog *fileDlg;
282 fileDlg = new InputDialog(this,tr("Find by Alcohol"),TRUE, 0); 280 fileDlg = new InputDialog(this,tr("Find by Alcohol"),TRUE, 0);
283 fileDlg->exec(); 281 fileDlg->exec();
284 if( fileDlg->result() == 1 ) { 282 if( fileDlg->result() == 1 ) {
285 searchForDrinkName = fileDlg->LineEdit1->text(); 283 searchForDrinkName = fileDlg->LineEdit1->text();
286 284
287 dbFile.at(0); 285 dbFile.at(0);
288 QTextStream t( &dbFile); 286 QTextStream t( &dbFile);
289 287
290 QString s, s2; 288 QString s, s2;
291 while ( !t.eof()) { 289 while ( !t.eof()) {
292 s = t.readLine(); 290 s = t.readLine();
293 if(s.find("#",0,TRUE) != -1) { 291 if(s.find("#",0,TRUE) != -1) {
294 lastDrinkName=s.right(s.length()-2); 292 lastDrinkName=s.right(s.length()-2);
295// qDebug("last drink name "+lastDrinkName); 293// qDebug("last drink name "+lastDrinkName);
296 } 294 }
297 else if( s.find( searchForDrinkName ,0, FALSE) != -1 && lastDrinkName != tempName ) { 295 else if( s.find( searchForDrinkName ,0, FALSE) != -1 && lastDrinkName != tempName ) {
298// qDebug("appending "+lastDrinkName); 296// qDebug("appending "+lastDrinkName);
299 searchList.append( lastDrinkName); 297 searchList.append( lastDrinkName);
300 tempName=lastDrinkName; 298 tempName=lastDrinkName;
301 } 299 }
302// if( dbFile.atEnd() ) break; 300// if( dbFile.atEnd() ) break;
303 301
304 } //oef 302 } //oef
305 if(searchList.count() >0) 303 if(searchList.count() >0)
306 showSearchResult(searchList); 304 showSearchResult(searchList);
307 else 305 else
308 QMessageBox::message(tr("Search"),tr("Sorry no results for\n")+ searchForDrinkName); 306 QMessageBox::message(tr("Search"),tr("Sorry no results for\n")+ searchForDrinkName);
309 } 307 }
310 delete fileDlg; 308 delete fileDlg;
311} 309}
312 310
313void Bartender::showSearchResult(QStringList &searchList) { 311void Bartender::showSearchResult(QStringList &searchList) {
314 QString result; 312 QString result;
315 Search_Results *searchDlg; 313 Search_Results *searchDlg;
316 314
317 searchList.sort(); 315 searchList.sort();
318 316
319 searchDlg = new Search_Results(this, "Search Results", TRUE); 317 searchDlg = new Search_Results(this, "Search Results", TRUE);
320 searchDlg->showMaximized();
321 searchDlg->ListBox1->insertStringList( searchList,-1); 318 searchDlg->ListBox1->insertStringList( searchList,-1);
322 searchDlg->exec(); 319 QPEApplication::execDialog( searchDlg );
323 320
324 if( searchDlg->result() == 1 ) { 321 if( searchDlg->result() == 1 ) {
325 result= searchDlg->ListBox1->currentText(); 322 result= searchDlg->ListBox1->currentText();
326 } 323 }
327 QListViewItemIterator it2( DrinkView ); 324 QListViewItemIterator it2( DrinkView );
328 for ( ; it2.current(); ++it2 ) { 325 for ( ; it2.current(); ++it2 ) {
329 if ( it2.current()->text(0)== result ) { 326 if ( it2.current()->text(0)== result ) {
330// qDebug( it2.current()->text(0)); 327// qDebug( it2.current()->text(0));
331 showDrink(it2.current()); 328 showDrink(it2.current());
332 } 329 }
333 } 330 }
334delete searchDlg; 331delete searchDlg;
335} 332}
336 333
337void Bartender::doEdit() { 334void Bartender::doEdit() {
338 if(DrinkView->currentItem() == NULL) { 335 if(DrinkView->currentItem() == NULL) {
339 fileNew(); 336 fileNew();
340 } 337 }
341 338
342 QString myDrink; 339 QString myDrink;
343 myDrink= DrinkView->currentItem()->text(0); 340 myDrink= DrinkView->currentItem()->text(0);
344 dbFile.at(0); 341 dbFile.at(0);
345 int foundAt=0; 342 int foundAt=0;
346 New_Drink *newDrinks; 343 New_Drink *newDrinks;
347 newDrinks = new New_Drink(this,"Edit Drink....", TRUE); 344 newDrinks = new New_Drink(this,"Edit Drink....", TRUE);
348 QString newName, newIng; 345 QString newName, newIng;
349 newDrinks->showMaximized(); 346 QPEApplication::showDialog( newDrinks );
350 QTextStream t( &dbFile); 347 QTextStream t( &dbFile);
351 348
352 QString s, s2; 349 QString s, s2;
353 while ( !t.eof()) { 350 while ( !t.eof()) {
354 s = t.readLine(); 351 s = t.readLine();
355 if(s.find( myDrink, 0, TRUE) != -1) { 352 if(s.find( myDrink, 0, TRUE) != -1) {
356 foundAt = dbFile.at() - (s.length()+1); 353 foundAt = dbFile.at() - (s.length()+1);
357 for(int i=0;s2.find( "#", 0, TRUE) == -1;i++) { 354 for(int i=0;s2.find( "#", 0, TRUE) == -1;i++) {
358 s2 = t.readLine(); 355 s2 = t.readLine();
359 if(s2.find("#",0,TRUE) == -1 || dbFile.atEnd() ) { 356 if(s2.find("#",0,TRUE) == -1 || dbFile.atEnd() ) {
360// qDebug(s2); 357// qDebug(s2);
361 newDrinks->MultiLineEdit1->append(s2); 358 newDrinks->MultiLineEdit1->append(s2);
362 newDrinks->LineEdit1->setText(myDrink); 359 newDrinks->LineEdit1->setText(myDrink);
363 } 360 }
364 if( dbFile.atEnd() ) break; 361 if( dbFile.atEnd() ) break;
365 } 362 }
366 } 363 }
367 } 364 }
368 newDrinks->exec(); 365 newDrinks->exec();
369 newName = newDrinks->LineEdit1->text(); 366 newName = newDrinks->LineEdit1->text();
370 newIng= newDrinks->MultiLineEdit1->text(); 367 newIng= newDrinks->MultiLineEdit1->text();
371 368
372 if( newDrinks ->result() == 1 ) { 369 if( newDrinks ->result() == 1 ) {
373 if(dbFile.isOpen()) 370 if(dbFile.isOpen())
374 dbFile.close(); 371 dbFile.close();
375 if ( !dbFile.open( IO_ReadWrite )) { 372 if ( !dbFile.open( IO_ReadWrite )) {
376 QMessageBox::message( (tr("Note")), (tr("Drink database not opened sucessfully.\n")) ); 373 QMessageBox::message( (tr("Note")), (tr("Drink database not opened sucessfully.\n")) );
377 return; 374 return;
378 } 375 }
379 int fd = dbFile.handle(); 376 int fd = dbFile.handle();
380 lseek( fd, foundAt, SEEK_SET); 377 lseek( fd, foundAt, SEEK_SET);
381 378
382// dbFile.at( foundAt); 379// dbFile.at( foundAt);
383#warning FIXME problems with editing drinks db 380#warning FIXME problems with editing drinks db
384 ////////// FIXME write to user file 381 ////////// FIXME write to user file
385 QString newDrink="# "+newName+"\n"; 382 QString newDrink="# "+newName+"\n";
386 newDrink.append(newIng+"\n"); 383 newDrink.append(newIng+"\n");
387 qDebug("writing "+newDrink); 384 qDebug("writing "+newDrink);
388 dbFile.writeBlock( newDrink.latin1(), newDrink.length()); 385 dbFile.writeBlock( newDrink.latin1(), newDrink.length());
389 clearList(); 386 clearList();
390 387
391 dbFile.flush(); 388 dbFile.flush();
392 389
393 initDrinkDb(); 390 initDrinkDb();
394 } 391 }
395} 392}
396 393
397void Bartender::clearList() { 394void Bartender::clearList() {
398 DrinkView->clear(); 395 DrinkView->clear();
399} 396}
400 397
401void Bartender::doBac() { 398void Bartender::doBac() {
402 BacDialog *bacDlg; 399 BacDialog *bacDlg;
403 bacDlg = new BacDialog(this,"BAC",TRUE); 400 bacDlg = new BacDialog(this,"BAC",TRUE);
404 bacDlg->showMaximized(); 401 QPEApplication::execDialog( bacDlg );
405 bacDlg->exec();
406 delete bacDlg; 402 delete bacDlg;
407} 403}
408 404
409void Bartender::openCurrentDrink() { 405void Bartender::openCurrentDrink() {
410 if(DrinkView->currentItem() == NULL) return; 406 if(DrinkView->currentItem() == NULL) return;
411 showDrink(DrinkView->currentItem()); 407 showDrink(DrinkView->currentItem());
412} 408}
413 409
414void Bartender::fileMenuActivated( int item) { 410void Bartender::fileMenuActivated( int item) {
415 qDebug("Item %d", item); 411 qDebug("Item %d", item);
416 switch(item) { 412 switch(item) {
417 case -3: // new -3 413 case -3: // new -3
418 fileNew(); 414 fileNew();
419 break; 415 break;
420 case -4:// open -4 416 case -4:// open -4
421 openCurrentDrink(); 417 openCurrentDrink();
422 break; 418 break;
423 case -5:// drink -5 419 case -5:// drink -5
424 doSearchByName(); 420 doSearchByName();
425 421
426 break; 422 break;
427 case -6:// alcohol -6 423 case -6:// alcohol -6
428 doSearchByDrink(); 424 doSearchByDrink();
429 425
430 break; 426 break;
431 427
432 } 428 }
433} 429}
434 430
435void Bartender::editMenuActivated(int item) { 431void Bartender::editMenuActivated(int item) {
436 qDebug("Item %d", item); 432 qDebug("Item %d", item);
437 /* 433 /*
438 edit -8 434 edit -8
439 */ 435 */
440 switch(item) { 436 switch(item) {
441 case -8: 437 case -8:
442 doEdit() ; 438 doEdit() ;
443 break; 439 break;
444 440
445 } 441 }
446} 442}
447 443
diff --git a/noncore/apps/opie-console/configdialog.cpp b/noncore/apps/opie-console/configdialog.cpp
index b23f4d0..882cd3d 100644
--- a/noncore/apps/opie-console/configdialog.cpp
+++ b/noncore/apps/opie-console/configdialog.cpp
@@ -1,111 +1,111 @@
1#include <qlistview.h>
2 1
2#include <qpe/qpeapplication.h>
3
4#include <qlistview.h>
3 5
4#include "configdialog.h" 6#include "configdialog.h"
5#include "profileeditordialog.h" 7#include "profileeditordialog.h"
6 8
7class ConfigListItem : public QListViewItem { 9class ConfigListItem : public QListViewItem {
8public: 10public:
9 ConfigListItem( QListView* item, const Profile& ); 11 ConfigListItem( QListView* item, const Profile& );
10 ~ConfigListItem(); 12 ~ConfigListItem();
11 Profile profile()const; 13 Profile profile()const;
12 14
13private: 15private:
14 Profile m_prof; 16 Profile m_prof;
15}; 17};
16ConfigListItem::ConfigListItem( QListView* item, const Profile& prof ) 18ConfigListItem::ConfigListItem( QListView* item, const Profile& prof )
17 : QListViewItem( item ), m_prof( prof ) 19 : QListViewItem( item ), m_prof( prof )
18{ 20{
19 setText(0, prof.name() ); 21 setText(0, prof.name() );
20} 22}
21ConfigListItem::~ConfigListItem() { 23ConfigListItem::~ConfigListItem() {
22 24
23} 25}
24Profile ConfigListItem::profile()const { 26Profile ConfigListItem::profile()const {
25 return m_prof; 27 return m_prof;
26} 28}
27 29
28/* Dialog */ 30/* Dialog */
29 31
30ConfigDialog::ConfigDialog( const Profile::ValueList& lis, MetaFactory* fa, 32ConfigDialog::ConfigDialog( const Profile::ValueList& lis, MetaFactory* fa,
31 QWidget* parent ) 33 QWidget* parent )
32 : ConfigureBase( parent, 0, TRUE ), m_fact( fa ) 34 : ConfigureBase( parent, 0, TRUE ), m_fact( fa )
33{ 35{
34 //init(); 36 //init();
35 { 37 {
36 Profile::ValueList::ConstIterator it; 38 Profile::ValueList::ConstIterator it;
37 for (it = lis.begin(); it != lis.end(); ++it ) { 39 for (it = lis.begin(); it != lis.end(); ++it ) {
38 new ConfigListItem( lstView, (*it) ); 40 new ConfigListItem( lstView, (*it) );
39 } 41 }
40 } 42 }
41} 43}
42ConfigDialog::~ConfigDialog() { 44ConfigDialog::~ConfigDialog() {
43 45
44} 46}
45Profile::ValueList ConfigDialog::list()const { 47Profile::ValueList ConfigDialog::list()const {
46/* iterate over the list */ 48/* iterate over the list */
47 Profile::ValueList lst; 49 Profile::ValueList lst;
48 QListViewItemIterator it(lstView); 50 QListViewItemIterator it(lstView);
49 for ( ; it.current(); ++it ) { 51 for ( ; it.current(); ++it ) {
50 ConfigListItem* item = (ConfigListItem*)it.current(); 52 ConfigListItem* item = (ConfigListItem*)it.current();
51 lst.append( item->profile() ); 53 lst.append( item->profile() );
52 } 54 }
53 return lst; 55 return lst;
54} 56}
55/* our slots */ 57/* our slots */
56void ConfigDialog::slotRemove() { 58void ConfigDialog::slotRemove() {
57 ConfigListItem* item = (ConfigListItem*)lstView->currentItem(); 59 ConfigListItem* item = (ConfigListItem*)lstView->currentItem();
58 if (!item ) 60 if (!item )
59 return; 61 return;
60 62
61 lstView->takeItem( item ); 63 lstView->takeItem( item );
62 delete item; 64 delete item;
63} 65}
64 66
65void ConfigDialog::slotEdit() { 67void ConfigDialog::slotEdit() {
66 Profile p; 68 Profile p;
67 69
68 if(!lstView->currentItem()) return; 70 if(!lstView->currentItem()) return;
69 71
70 // Load profile 72 // Load profile
71 p = ((ConfigListItem*)lstView->currentItem())->profile(); 73 p = ((ConfigListItem*)lstView->currentItem())->profile();
72 74
73 ProfileEditorDialog dlg(m_fact, p); 75 ProfileEditorDialog dlg(m_fact, p);
74 76
75 dlg.setCaption(tr("Edit Connection Profile")); 77 dlg.setCaption(tr("Edit Connection Profile"));
76 dlg.showMaximized(); 78 int ret = QPEApplication::execDialog( &dlg );
77 int ret = dlg.exec();
78 79
79 if(ret == QDialog::Accepted) 80 if(ret == QDialog::Accepted)
80 { 81 {
81 if(lstView->currentItem()) delete lstView->currentItem(); 82 if(lstView->currentItem()) delete lstView->currentItem();
82 83
83 // use dlg.terminal()! 84 // use dlg.terminal()!
84 Profile p = dlg.profile(); 85 Profile p = dlg.profile();
85 86
86 new ConfigListItem(lstView, p); 87 new ConfigListItem(lstView, p);
87 } 88 }
88} 89}
89 90
90 91
91void ConfigDialog::slotAdd() { 92void ConfigDialog::slotAdd() {
92 ProfileEditorDialog dlg(m_fact); 93 ProfileEditorDialog dlg(m_fact);
93 94
94 dlg.setCaption(tr("New Connection")); 95 dlg.setCaption(tr("New Connection"));
95 dlg.showMaximized(); 96 int ret = QPEApplication::execDialog( &dlg );
96 int ret = dlg.exec();
97 97
98 if(ret == QDialog::Accepted) 98 if(ret == QDialog::Accepted)
99 { 99 {
100 // TODO: Move into general profile save part 100 // TODO: Move into general profile save part
101 // assignments 101 // assignments
102 //QString type = dlg.term_type(); 102 //QString type = dlg.term_type();
103 //if(type == "VT102") profile = Profile::VT102; 103 //if(type == "VT102") profile = Profile::VT102;
104 104
105 // get profile from editor 105 // get profile from editor
106 Profile p = dlg.profile(); 106 Profile p = dlg.profile();
107 107
108 new ConfigListItem(lstView, p); 108 new ConfigListItem(lstView, p);
109 } 109 }
110} 110}
111 111
diff --git a/noncore/apps/opie-console/mainwindow.cpp b/noncore/apps/opie-console/mainwindow.cpp
index 2673335..3fe9040 100644
--- a/noncore/apps/opie-console/mainwindow.cpp
+++ b/noncore/apps/opie-console/mainwindow.cpp
@@ -1,74 +1,75 @@
1#include <assert.h> 1#include <assert.h>
2 2
3#include <qaction.h> 3#include <qaction.h>
4#include <qmenubar.h> 4#include <qmenubar.h>
5#include <qtoolbar.h> 5#include <qtoolbar.h>
6#include <qmessagebox.h> 6#include <qmessagebox.h>
7#include <qwhatsthis.h> 7#include <qwhatsthis.h>
8#include <qfileinfo.h> 8#include <qfileinfo.h>
9 9
10#include <qpe/filemanager.h> 10#include <qpe/filemanager.h>
11#include <qpe/qpeapplication.h>
11 12
12#include <opie/ofiledialog.h> 13#include <opie/ofiledialog.h>
13 14
14#include "TEmulation.h" 15#include "TEmulation.h"
15#include "profileeditordialog.h" 16#include "profileeditordialog.h"
16#include "configdialog.h" 17#include "configdialog.h"
17#include "default.h" 18#include "default.h"
18#include "profilemanager.h" 19#include "profilemanager.h"
19#include "mainwindow.h" 20#include "mainwindow.h"
20#include "tabwidget.h" 21#include "tabwidget.h"
21#include "transferdialog.h" 22#include "transferdialog.h"
22#include "function_keyboard.h" 23#include "function_keyboard.h"
23#include "emulation_handler.h" 24#include "emulation_handler.h"
24#include "script.h" 25#include "script.h"
25 26
26 27
27MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) { 28MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) {
28 KeyTrans::loadAll(); 29 KeyTrans::loadAll();
29 for (int i = 0; i < KeyTrans::count(); i++ ) { 30 for (int i = 0; i < KeyTrans::count(); i++ ) {
30 KeyTrans* s = KeyTrans::find(i ); 31 KeyTrans* s = KeyTrans::find(i );
31 assert( s ); 32 assert( s );
32 } 33 }
33 m_factory = new MetaFactory(); 34 m_factory = new MetaFactory();
34 Default def(m_factory); 35 Default def(m_factory);
35 m_sessions.setAutoDelete( TRUE ); 36 m_sessions.setAutoDelete( TRUE );
36 m_curSession = 0; 37 m_curSession = 0;
37 m_manager = new ProfileManager( m_factory ); 38 m_manager = new ProfileManager( m_factory );
38 m_manager->load(); 39 m_manager->load();
39 m_scriptsData.setAutoDelete(TRUE); 40 m_scriptsData.setAutoDelete(TRUE);
40 41
41 initUI(); 42 initUI();
42 populateProfiles(); 43 populateProfiles();
43 populateScripts(); 44 populateScripts();
44} 45}
45 46
46void MainWindow::initUI() { 47void MainWindow::initUI() {
47 48
48 setToolBarsMovable( FALSE ); 49 setToolBarsMovable( FALSE );
49 50
50 /* tool bar for the menu */ 51 /* tool bar for the menu */
51 m_tool = new QToolBar( this ); 52 m_tool = new QToolBar( this );
52 m_tool->setHorizontalStretchable( TRUE ); 53 m_tool->setHorizontalStretchable( TRUE );
53 54
54 m_bar = new QMenuBar( m_tool ); 55 m_bar = new QMenuBar( m_tool );
55 m_console = new QPopupMenu( this ); 56 m_console = new QPopupMenu( this );
56 m_scripts = new QPopupMenu( this ); 57 m_scripts = new QPopupMenu( this );
57 m_sessionsPop= new QPopupMenu( this ); 58 m_sessionsPop= new QPopupMenu( this );
58 m_scriptsPop = new QPopupMenu( this ); 59 m_scriptsPop = new QPopupMenu( this );
59 60
60 /* add a toolbar for icons */ 61 /* add a toolbar for icons */
61 m_icons = new QToolBar(this); 62 m_icons = new QToolBar(this);
62 63
63 /* 64 /*
64 * the settings action 65 * the settings action
65 */ 66 */
66 m_setProfiles = new QAction(tr("Configure Profiles"), 67 m_setProfiles = new QAction(tr("Configure Profiles"),
67 Resource::loadPixmap( "SettingsIcon" ), 68 Resource::loadPixmap( "SettingsIcon" ),
68 QString::null, 0, this, 0); 69 QString::null, 0, this, 0);
69 m_setProfiles->addTo( m_console ); 70 m_setProfiles->addTo( m_console );
70 connect( m_setProfiles, SIGNAL(activated() ), 71 connect( m_setProfiles, SIGNAL(activated() ),
71 this, SLOT(slotConfigure() ) ); 72 this, SLOT(slotConfigure() ) );
72 73
73 m_console->insertSeparator(); 74 m_console->insertSeparator();
74 /* 75 /*
@@ -249,246 +250,244 @@ void MainWindow::initUI() {
249 * connect to the menu activation 250 * connect to the menu activation
250 */ 251 */
251 connect( m_sessionsPop, SIGNAL(activated( int ) ), 252 connect( m_sessionsPop, SIGNAL(activated( int ) ),
252 this, SLOT(slotProfile( int ) ) ); 253 this, SLOT(slotProfile( int ) ) );
253 254
254 m_consoleWindow = new TabWidget( this, "blah"); 255 m_consoleWindow = new TabWidget( this, "blah");
255 connect(m_consoleWindow, SIGNAL(activated(Session*) ), 256 connect(m_consoleWindow, SIGNAL(activated(Session*) ),
256 this, SLOT(slotSessionChanged(Session*) ) ); 257 this, SLOT(slotSessionChanged(Session*) ) );
257 setCentralWidget( m_consoleWindow ); 258 setCentralWidget( m_consoleWindow );
258 259
259 slotQuickLaunch(); 260 slotQuickLaunch();
260} 261}
261 262
262ProfileManager* MainWindow::manager() { 263ProfileManager* MainWindow::manager() {
263 return m_manager; 264 return m_manager;
264} 265}
265TabWidget* MainWindow::tabWidget() { 266TabWidget* MainWindow::tabWidget() {
266 return m_consoleWindow; 267 return m_consoleWindow;
267} 268}
268void MainWindow::populateProfiles() { 269void MainWindow::populateProfiles() {
269 m_sessionsPop->clear(); 270 m_sessionsPop->clear();
270 Profile::ValueList list = manager()->all(); 271 Profile::ValueList list = manager()->all();
271 for (Profile::ValueList::Iterator it = list.begin(); it != list.end(); ++it ) { 272 for (Profile::ValueList::Iterator it = list.begin(); it != list.end(); ++it ) {
272 m_sessionsPop->insertItem( (*it).name() ); 273 m_sessionsPop->insertItem( (*it).name() );
273 } 274 }
274 275
275} 276}
276 277
277void MainWindow::populateScripts() { 278void MainWindow::populateScripts() {
278 m_scriptsPop->clear(); 279 m_scriptsPop->clear();
279 m_scriptsData.clear(); 280 m_scriptsData.clear();
280 DocLnkSet files(QPEApplication::documentDir(), "text/plain"); 281 DocLnkSet files(QPEApplication::documentDir(), "text/plain");
281 QListIterator<DocLnk> dit(files.children()); 282 QListIterator<DocLnk> dit(files.children());
282 for (; dit.current(); ++dit) { 283 for (; dit.current(); ++dit) {
283 if (*dit && (*dit)->name().length()>0) { 284 if (*dit && (*dit)->name().length()>0) {
284 QFileInfo info((*dit)->file()); 285 QFileInfo info((*dit)->file());
285 if (info.extension(false) == "script") { 286 if (info.extension(false) == "script") {
286 m_scriptsData.append(new DocLnk(**dit)); 287 m_scriptsData.append(new DocLnk(**dit));
287 m_scriptsPop->insertItem((*dit)->name()); 288 m_scriptsPop->insertItem((*dit)->name());
288 } 289 }
289 } 290 }
290 } 291 }
291 292
292} 293}
293 294
294MainWindow::~MainWindow() { 295MainWindow::~MainWindow() {
295 delete m_factory; 296 delete m_factory;
296 manager()->save(); 297 manager()->save();
297} 298}
298 299
299MetaFactory* MainWindow::factory() { 300MetaFactory* MainWindow::factory() {
300 return m_factory; 301 return m_factory;
301} 302}
302 303
303Session* MainWindow::currentSession() { 304Session* MainWindow::currentSession() {
304 return m_curSession; 305 return m_curSession;
305} 306}
306 307
307QList<Session> MainWindow::sessions() { 308QList<Session> MainWindow::sessions() {
308 return m_sessions; 309 return m_sessions;
309} 310}
310 311
311void MainWindow::slotNew() { 312void MainWindow::slotNew() {
312 ProfileEditorDialog dlg(factory() ); 313 ProfileEditorDialog dlg(factory() );
313 dlg.showMaximized();
314 dlg.setCaption( tr("New Connection") ); 314 dlg.setCaption( tr("New Connection") );
315 int ret = dlg.exec(); 315 int ret = QPEApplication::execDialog( &dlg );
316 316
317 if ( ret == QDialog::Accepted ) { 317 if ( ret == QDialog::Accepted ) {
318 create( dlg.profile() ); 318 create( dlg.profile() );
319 } 319 }
320} 320}
321 321
322void MainWindow::slotRecordScript() { 322void MainWindow::slotRecordScript() {
323 if (currentSession()) { 323 if (currentSession()) {
324 currentSession()->emulationHandler()->startRecording(); 324 currentSession()->emulationHandler()->startRecording();
325 m_saveScript->setEnabled(true); 325 m_saveScript->setEnabled(true);
326 m_recordScript->setEnabled(false); 326 m_recordScript->setEnabled(false);
327 } 327 }
328} 328}
329 329
330void MainWindow::slotSaveScript() { 330void MainWindow::slotSaveScript() {
331 if (currentSession() && currentSession()->emulationHandler()->isRecording()) { 331 if (currentSession() && currentSession()->emulationHandler()->isRecording()) {
332 QMap<QString, QStringList> map; 332 QMap<QString, QStringList> map;
333 QStringList text; 333 QStringList text;
334 text << "text/plain"; 334 text << "text/plain";
335 map.insert(tr("Script"), text ); 335 map.insert(tr("Script"), text );
336 QString filename = OFileDialog::getSaveFileName(2, QPEApplication::documentDir(), QString::null, map); 336 QString filename = OFileDialog::getSaveFileName(2, QPEApplication::documentDir(), QString::null, map);
337 if (!filename.isEmpty()) { 337 if (!filename.isEmpty()) {
338 QFileInfo info(filename); 338 QFileInfo info(filename);
339 if (info.extension(FALSE) != "script") 339 if (info.extension(FALSE) != "script")
340 filename += ".script"; 340 filename += ".script";
341 DocLnk nf; 341 DocLnk nf;
342 nf.setType("text/plain"); 342 nf.setType("text/plain");
343 nf.setFile(filename); 343 nf.setFile(filename);
344 nf.setName(info.fileName()); 344 nf.setName(info.fileName());
345 FileManager fm; 345 FileManager fm;
346 fm.saveFile(nf, currentSession()->emulationHandler()->script()->script()); 346 fm.saveFile(nf, currentSession()->emulationHandler()->script()->script());
347 currentSession()->emulationHandler()->clearScript(); 347 currentSession()->emulationHandler()->clearScript();
348 m_saveScript->setEnabled(false); 348 m_saveScript->setEnabled(false);
349 m_recordScript->setEnabled(true); 349 m_recordScript->setEnabled(true);
350 populateScripts(); 350 populateScripts();
351 } 351 }
352 } 352 }
353} 353}
354 354
355void MainWindow::slotRunScript(int id) { 355void MainWindow::slotRunScript(int id) {
356 if (currentSession()) { 356 if (currentSession()) {
357 int index = m_scriptsPop->indexOf(id); 357 int index = m_scriptsPop->indexOf(id);
358 DocLnk *lnk = m_scriptsData.at(index); 358 DocLnk *lnk = m_scriptsData.at(index);
359 QString filePath = lnk->file(); 359 QString filePath = lnk->file();
360 Script script(filePath); 360 Script script(filePath);
361 currentSession()->emulationHandler()->runScript(&script); 361 currentSession()->emulationHandler()->runScript(&script);
362 } 362 }
363} 363}
364 364
365void MainWindow::slotConnect() { 365void MainWindow::slotConnect() {
366 if ( currentSession() ) { 366 if ( currentSession() ) {
367 bool ret = currentSession()->layer()->open(); 367 bool ret = currentSession()->layer()->open();
368 if(!ret) QMessageBox::warning(currentSession()->widgetStack(), 368 if(!ret) QMessageBox::warning(currentSession()->widgetStack(),
369 QObject::tr("Failed"), 369 QObject::tr("Failed"),
370 QObject::tr("Connecting failed for this session.")); 370 QObject::tr("Connecting failed for this session."));
371 else { 371 else {
372 m_connect->setEnabled( false ); 372 m_connect->setEnabled( false );
373 m_disconnect->setEnabled( true ); 373 m_disconnect->setEnabled( true );
374 374
375 // if it does not support file transfer, disable the menu entry 375 // if it does not support file transfer, disable the menu entry
376 if ( ( m_curSession->layer() )->supports()[1] == 0 ) { 376 if ( ( m_curSession->layer() )->supports()[1] == 0 ) {
377 m_transfer->setEnabled( false ); 377 m_transfer->setEnabled( false );
378 } else { 378 } else {
379 m_transfer->setEnabled( true ); 379 m_transfer->setEnabled( true );
380 } 380 }
381 381
382 m_recordScript->setEnabled( true ); 382 m_recordScript->setEnabled( true );
383 m_scripts->setItemEnabled(m_runScript_id, true); 383 m_scripts->setItemEnabled(m_runScript_id, true);
384 } 384 }
385 } 385 }
386} 386}
387 387
388void MainWindow::slotDisconnect() { 388void MainWindow::slotDisconnect() {
389 if ( currentSession() ) { 389 if ( currentSession() ) {
390 currentSession()->layer()->close(); 390 currentSession()->layer()->close();
391 m_connect->setEnabled( true ); 391 m_connect->setEnabled( true );
392 m_disconnect->setEnabled( false ); 392 m_disconnect->setEnabled( false );
393 m_transfer->setEnabled( false ); 393 m_transfer->setEnabled( false );
394 m_recordScript->setEnabled( false); 394 m_recordScript->setEnabled( false);
395 m_saveScript->setEnabled( false ); 395 m_saveScript->setEnabled( false );
396 m_scripts->setItemEnabled(m_runScript_id, false); 396 m_scripts->setItemEnabled(m_runScript_id, false);
397 } 397 }
398} 398}
399 399
400void MainWindow::slotTerminate() { 400void MainWindow::slotTerminate() {
401 if ( currentSession() ) 401 if ( currentSession() )
402 currentSession()->layer()->close(); 402 currentSession()->layer()->close();
403 403
404 slotClose(); 404 slotClose();
405 /* FIXME move to the next session */ 405 /* FIXME move to the next session */
406} 406}
407 407
408 408
409 409
410 410
411 411
412 412
413void MainWindow::slotQuickLaunch() { 413void MainWindow::slotQuickLaunch() {
414 Profile prof = manager()->profile( "default" ); 414 Profile prof = manager()->profile( "default" );
415 if ( prof.name() == "default" ) { 415 if ( prof.name() == "default" ) {
416 create( prof ); 416 create( prof );
417 } else { 417 } else {
418 Profile newProf = Profile( "default", "console", "default" , 0, 3, 0 ); 418 Profile newProf = Profile( "default", "console", "default" , 0, 3, 0 );
419 newProf.setAutoConnect( true ); 419 newProf.setAutoConnect( true );
420 create( newProf ); 420 create( newProf );
421 slotSaveSession(); 421 slotSaveSession();
422 } 422 }
423 423
424} 424}
425 425
426void MainWindow::slotConfigure() { 426void MainWindow::slotConfigure() {
427 ConfigDialog conf( manager()->all(), factory() ); 427 ConfigDialog conf( manager()->all(), factory() );
428 conf.showMaximized();
429 428
430 int ret = conf.exec(); 429 int ret = QPEApplication::execDialog( &conf );
431 430
432 if ( QDialog::Accepted == ret ) { 431 if ( QDialog::Accepted == ret ) {
433 manager()->setProfiles( conf.list() ); 432 manager()->setProfiles( conf.list() );
434 manager()->save(); 433 manager()->save();
435 populateProfiles(); 434 populateProfiles();
436 } 435 }
437} 436}
438/* 437/*
439 * we will remove 438 * we will remove
440 * this window from the tabwidget 439 * this window from the tabwidget
441 * remove it from the list 440 * remove it from the list
442 * delete it 441 * delete it
443 * and set the currentSession() 442 * and set the currentSession()
444 */ 443 */
445void MainWindow::slotClose() { 444void MainWindow::slotClose() {
446 if (!currentSession() ) 445 if (!currentSession() )
447 return; 446 return;
448 447
449 Session* ses = currentSession(); 448 Session* ses = currentSession();
450 qWarning("removing! currentSession %s", currentSession()->name().latin1() ); 449 qWarning("removing! currentSession %s", currentSession()->name().latin1() );
451 /* set to NULL to be safe, if its needed slotSessionChanged resets it automatically */ 450 /* set to NULL to be safe, if its needed slotSessionChanged resets it automatically */
452 m_curSession = NULL; 451 m_curSession = NULL;
453 tabWidget()->remove( /*currentSession()*/ses ); 452 tabWidget()->remove( /*currentSession()*/ses );
454 /*it's autodelete */ 453 /*it's autodelete */
455 m_sessions.remove( ses ); 454 m_sessions.remove( ses );
456 qWarning("after remove!!"); 455 qWarning("after remove!!");
457 456
458 if (!currentSession() ) { 457 if (!currentSession() ) {
459 m_connect->setEnabled( false ); 458 m_connect->setEnabled( false );
460 m_disconnect->setEnabled( false ); 459 m_disconnect->setEnabled( false );
461 m_terminate->setEnabled( false ); 460 m_terminate->setEnabled( false );
462 m_transfer->setEnabled( false ); 461 m_transfer->setEnabled( false );
463 m_recordScript->setEnabled( false ); 462 m_recordScript->setEnabled( false );
464 m_saveScript->setEnabled( false ); 463 m_saveScript->setEnabled( false );
465 m_scripts->setItemEnabled(m_runScript_id, false); 464 m_scripts->setItemEnabled(m_runScript_id, false);
466 m_fullscreen->setEnabled( false ); 465 m_fullscreen->setEnabled( false );
467 m_wrap->setEnabled( false ); 466 m_wrap->setEnabled( false );
468 m_closewindow->setEnabled( false ); 467 m_closewindow->setEnabled( false );
469 } 468 }
470 469
471 m_kb->loadDefaults(); 470 m_kb->loadDefaults();
472} 471}
473 472
474/* 473/*
475 * We will get the name 474 * We will get the name
476 * Then the profile 475 * Then the profile
477 * and then we will make a profile 476 * and then we will make a profile
478 */ 477 */
479void MainWindow::slotProfile( int id) { 478void MainWindow::slotProfile( int id) {
480 Profile prof = manager()->profile( m_sessionsPop->text( id) ); 479 Profile prof = manager()->profile( m_sessionsPop->text( id) );
481 create( prof ); 480 create( prof );
482} 481}
483 482
484 483
485 484
486void MainWindow::create( const Profile& prof ) { 485void MainWindow::create( const Profile& prof ) {
487 if(m_curSession) 486 if(m_curSession)
488 if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide(); 487 if(m_curSession->transferDialog()) m_curSession->transferDialog()->hide();
489 488
490 Session *ses = manager()->fromProfile( prof, tabWidget() ); 489 Session *ses = manager()->fromProfile( prof, tabWidget() );
491 490
492 if((!ses) || (!ses->layer()) || (!ses->widgetStack())) 491 if((!ses) || (!ses->layer()) || (!ses->widgetStack()))
493 { 492 {
494 QMessageBox::warning(this, 493 QMessageBox::warning(this,
diff --git a/noncore/apps/opie-console/modemconfigwidget.cpp b/noncore/apps/opie-console/modemconfigwidget.cpp
index e552990..3466e3a 100644
--- a/noncore/apps/opie-console/modemconfigwidget.cpp
+++ b/noncore/apps/opie-console/modemconfigwidget.cpp
@@ -1,64 +1,67 @@
1
2#include <qpe/qpeapplication.h>
3
1#include <qlabel.h> 4#include <qlabel.h>
2#include <qlayout.h> 5#include <qlayout.h>
3#include <qcombobox.h> 6#include <qcombobox.h>
4#include <qpushbutton.h> 7#include <qpushbutton.h>
5#include <qhbox.h> 8#include <qhbox.h>
6 9
7#include "modemconfigwidget.h" 10#include "modemconfigwidget.h"
8#include "dialdialog.h" 11#include "dialdialog.h"
9 12
10namespace { 13namespace {
11 void setCurrent( const QString& str, QComboBox* bo ) { 14 void setCurrent( const QString& str, QComboBox* bo ) {
12 uint b = bo->count(); 15 uint b = bo->count();
13 for (int i = 0; i < bo->count(); i++ ) { 16 for (int i = 0; i < bo->count(); i++ ) {
14 if ( bo->text(i) == str ) { 17 if ( bo->text(i) == str ) {
15 bo->setCurrentItem( i ); 18 bo->setCurrentItem( i );
16 return; 19 return;
17 } 20 }
18 } 21 }
19 bo->insertItem( str ); 22 bo->insertItem( str );
20 bo->setCurrentItem( b ); 23 bo->setCurrentItem( b );
21 } 24 }
22} 25}
23 26
24ModemConfigWidget::ModemConfigWidget( const QString& name, QWidget* parent, 27ModemConfigWidget::ModemConfigWidget( const QString& name, QWidget* parent,
25 const char* na ) 28 const char* na )
26 : ProfileDialogConnectionWidget( name, parent, na ) { 29 : ProfileDialogConnectionWidget( name, parent, na ) {
27 30
28 m_lay = new QVBoxLayout( this ); 31 m_lay = new QVBoxLayout( this );
29 m_device = new QLabel(tr( "Modem is attached to:" ), this ); 32 m_device = new QLabel(tr( "Modem is attached to:" ), this );
30 m_deviceCmb = new QComboBox(this ); 33 m_deviceCmb = new QComboBox(this );
31 m_deviceCmb->setEditable( TRUE ); 34 m_deviceCmb->setEditable( TRUE );
32 35
33 QLabel* telLabel = new QLabel( this ); 36 QLabel* telLabel = new QLabel( this );
34 telLabel->setText( tr( "Enter telefon number here:" ) ); 37 telLabel->setText( tr( "Enter telefon number here:" ) );
35 QHBox *buttonBox = new QHBox( this ); 38 QHBox *buttonBox = new QHBox( this );
36 m_telNumber = new QLineEdit( buttonBox ); 39 m_telNumber = new QLineEdit( buttonBox );
37 QPushButton *atButton = new QPushButton( buttonBox ); 40 QPushButton *atButton = new QPushButton( buttonBox );
38 atButton->setText( tr( "AT commands" ) ); 41 atButton->setText( tr( "AT commands" ) );
39 connect( atButton, SIGNAL( clicked() ), this, SLOT( slotAT() ) ); 42 connect( atButton, SIGNAL( clicked() ), this, SLOT( slotAT() ) );
40 43
41 QPushButton *dialButton = new QPushButton( buttonBox ); 44 QPushButton *dialButton = new QPushButton( buttonBox );
42 dialButton->setText( tr( "Enter number" ) ); 45 dialButton->setText( tr( "Enter number" ) );
43 connect( dialButton, SIGNAL( clicked() ), this, SLOT( slotDial() ) ); 46 connect( dialButton, SIGNAL( clicked() ), this, SLOT( slotDial() ) );
44 47
45 m_base = new IOLayerBase( this, "base" ); 48 m_base = new IOLayerBase( this, "base" );
46 49
47 m_lay->addWidget( m_device ); 50 m_lay->addWidget( m_device );
48 m_lay->addWidget( m_deviceCmb ); 51 m_lay->addWidget( m_deviceCmb );
49 m_lay->addWidget( telLabel ); 52 m_lay->addWidget( telLabel );
50 m_lay->addWidget( buttonBox ); 53 m_lay->addWidget( buttonBox );
51 m_lay->addWidget( m_base ); 54 m_lay->addWidget( m_base );
52 m_lay->addStretch( 0 ); 55 m_lay->addStretch( 0 );
53 56
54 m_deviceCmb->insertItem( "/dev/ttyS0" ); 57 m_deviceCmb->insertItem( "/dev/ttyS0" );
55 m_deviceCmb->insertItem( "/dev/ttyS1" ); 58 m_deviceCmb->insertItem( "/dev/ttyS1" );
56 m_deviceCmb->insertItem( "/dev/ttyS2" ); 59 m_deviceCmb->insertItem( "/dev/ttyS2" );
57 60
58 atConf = new ATConfigDialog( this, "ATConfig", true ); 61 atConf = new ATConfigDialog( this, "ATConfig", true );
59} 62}
60 63
61ModemConfigWidget::~ModemConfigWidget() { 64ModemConfigWidget::~ModemConfigWidget() {
62 65
63} 66}
64void ModemConfigWidget::load( const Profile& prof ) { 67void ModemConfigWidget::load( const Profile& prof ) {
@@ -176,80 +179,78 @@ void ModemConfigWidget::save( Profile& prof ) {
176 } 179 }
177 180
178 switch( m_base->speed() ) { 181 switch( m_base->speed() ) {
179 case IOLayerBase::Baud_115200: 182 case IOLayerBase::Baud_115200:
180 speed = 115200; 183 speed = 115200;
181 break; 184 break;
182 case IOLayerBase::Baud_57600: 185 case IOLayerBase::Baud_57600:
183 speed = 57600; 186 speed = 57600;
184 break; 187 break;
185 case IOLayerBase::Baud_38400: 188 case IOLayerBase::Baud_38400:
186 speed = 38400; 189 speed = 38400;
187 break; 190 break;
188 case IOLayerBase::Baud_19200: 191 case IOLayerBase::Baud_19200:
189 speed = 19200; 192 speed = 19200;
190 break; 193 break;
191 case IOLayerBase::Baud_9600: 194 case IOLayerBase::Baud_9600:
192 speed = 9600; 195 speed = 9600;
193 break; 196 break;
194 } 197 }
195 198
196 switch( m_base->data() ) { 199 switch( m_base->data() ) {
197 case IOLayerBase::Data_Five: 200 case IOLayerBase::Data_Five:
198 data = 5; 201 data = 5;
199 break; 202 break;
200 case IOLayerBase::Data_Six: 203 case IOLayerBase::Data_Six:
201 data = 6; 204 data = 6;
202 break; 205 break;
203 case IOLayerBase::Data_Seven: 206 case IOLayerBase::Data_Seven:
204 data = 7; 207 data = 7;
205 break; 208 break;
206 case IOLayerBase::Data_Eight: 209 case IOLayerBase::Data_Eight:
207 data = 8; 210 data = 8;
208 break; 211 break;
209 } 212 }
210 213
211 switch( m_base->stop() ) { 214 switch( m_base->stop() ) {
212 case IOLayerBase::Stop_One: 215 case IOLayerBase::Stop_One:
213 stop = 1; 216 stop = 1;
214 break; 217 break;
215 case IOLayerBase::Stop_OnePointFive: 218 case IOLayerBase::Stop_OnePointFive:
216 stop = 15; 219 stop = 15;
217 break; 220 break;
218 case IOLayerBase::Stop_Two: 221 case IOLayerBase::Stop_Two:
219 stop = 2; 222 stop = 2;
220 break; 223 break;
221 } 224 }
222 225
223 prof.writeEntry( "Flow", flow ); 226 prof.writeEntry( "Flow", flow );
224 prof.writeEntry( "Parity", parity ); 227 prof.writeEntry( "Parity", parity );
225 prof.writeEntry( "Speed", speed ); 228 prof.writeEntry( "Speed", speed );
226 prof.writeEntry("DataBits", data); 229 prof.writeEntry("DataBits", data);
227 prof.writeEntry("StopBits", stop); 230 prof.writeEntry("StopBits", stop);
228 prof.writeEntry( "Number", m_telNumber->text() ); 231 prof.writeEntry( "Number", m_telNumber->text() );
229 232
230 233
231 atConf->writeConfig(prof); 234 atConf->writeConfig(prof);
232} 235}
233 236
234void ModemConfigWidget::slotAT() { 237void ModemConfigWidget::slotAT() {
235 // ATConfigDialog conf( this, "ATConfig", true ); 238 // ATConfigDialog conf( this, "ATConfig", true );
236 // josef/Max I know why don't you create the stuff on the stack 239 // josef/Max I know why don't you create the stuff on the stack
237 // but making it a TopLevel Dialog and ignoring 240 // but making it a TopLevel Dialog and ignoring
238 // cancel is not fun either... 241 // cancel is not fun either...
239 // what to do? FIXME!!! -zecke 242 // what to do? FIXME!!! -zecke
240 atConf->showMaximized(); 243 if ( QPEApplication::execDialog( atConf ) != QDialog::Accepted ) {
241 if ( atConf->exec() != QDialog::Accepted ) {
242 // reload old settings 244 // reload old settings
243 } 245 }
244} 246}
245 247
246void ModemConfigWidget::slotDial() { 248void ModemConfigWidget::slotDial() {
247 DialDialog dial( this, "DialConfig", true ); 249 DialDialog dial( this, "DialConfig", true );
248 if(!m_telNumber->text().isEmpty()) { 250 if(!m_telNumber->text().isEmpty()) {
249 dial.setNumber(m_telNumber->text().replace(QRegExp("[\\-\\/\\ \\.\\,]"), "")); 251 dial.setNumber(m_telNumber->text().replace(QRegExp("[\\-\\/\\ \\.\\,]"), ""));
250 } 252 }
251 dial.showMaximized(); 253 if ( QPEApplication::execDialog( &dial ) == QDialog::Accepted ) {
252 if ( dial.exec() == QDialog::Accepted ) {
253 m_telNumber->setText( dial.number() ); 254 m_telNumber->setText( dial.number() );
254 } 255 }
255} 256}
diff --git a/noncore/apps/opie-reader/CloseDialog.cpp b/noncore/apps/opie-reader/CloseDialog.cpp
index 741fa67..d7c2652 100644
--- a/noncore/apps/opie-reader/CloseDialog.cpp
+++ b/noncore/apps/opie-reader/CloseDialog.cpp
@@ -1,18 +1,21 @@
1#include "CloseDialog.h" 1#include "CloseDialog.h"
2#include "qlayout.h" 2#include "qlayout.h"
3 3
4#include <qpe/qpeapplication.h>
5
4CCloseDialog::CCloseDialog(const QString& fname, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true) 6CCloseDialog::CCloseDialog(const QString& fname, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true)
5{ 7{
6 setCaption(tr("Tidy-up")); 8 setCaption(tr("Tidy-up"));
7 QVBoxLayout *tmp = new QVBoxLayout(this); 9 QVBoxLayout *tmp = new QVBoxLayout(this);
8 QVButtonGroup* vb = new QVButtonGroup(tr("Delete"), this); 10 QVButtonGroup* vb = new QVButtonGroup(tr("Delete"), this);
9 tmp->addWidget(vb); 11 tmp->addWidget(vb);
10 QString filestring = tr("Delete") + " " + fname; 12 QString filestring = tr("Delete") + " " + fname;
11 file = new QCheckBox(filestring, vb); 13 file = new QCheckBox(filestring, vb);
12 marks = new QCheckBox(tr("Delete Bookmarks"), vb); 14 marks = new QCheckBox(tr("Delete Bookmarks"), vb);
13 config = new QCheckBox(tr("Delete Configuration"), vb); 15 config = new QCheckBox(tr("Delete Configuration"), vb);
14 file->setChecked(false); 16 file->setChecked(false);
15 marks->setChecked(true); 17 marks->setChecked(true);
16 config->setChecked(true); 18 config->setChecked(true);
17 if (fs) showMaximized(); 19 if (fs)
20 QPEApplication::showDialog( this );
18} 21}
diff --git a/noncore/apps/opie-reader/Prefs.cpp b/noncore/apps/opie-reader/Prefs.cpp
index e5320d9..5150ca5 100644
--- a/noncore/apps/opie-reader/Prefs.cpp
+++ b/noncore/apps/opie-reader/Prefs.cpp
@@ -1,93 +1,95 @@
1/**************************************************************************** 1/****************************************************************************
2** Form implementation generated from reading ui file 'Prefs.ui' 2** Form implementation generated from reading ui file 'Prefs.ui'
3** 3**
4** Created: Tue Feb 11 23:53:35 2003 4** Created: Tue Feb 11 23:53:35 2003
5** by: The User Interface Compiler (uic) 5** by: The User Interface Compiler (uic)
6** 6**
7** WARNING! All changes made in this file will be lost! 7** WARNING! All changes made in this file will be lost!
8****************************************************************************/ 8****************************************************************************/
9#include "useqpe.h" 9#include "useqpe.h"
10#include "Prefs.h" 10#include "Prefs.h"
11 11
12#include <qcheckbox.h> 12#include <qcheckbox.h>
13#include <qlabel.h> 13#include <qlabel.h>
14#include <qpushbutton.h> 14#include <qpushbutton.h>
15#include <qspinbox.h> 15#include <qspinbox.h>
16#include <qlayout.h> 16#include <qlayout.h>
17#include <qvariant.h> 17#include <qvariant.h>
18#include <qtooltip.h> 18#include <qtooltip.h>
19#include <qwhatsthis.h> 19#include <qwhatsthis.h>
20#include <qcombobox.h> 20#include <qcombobox.h>
21#include <qbuttongroup.h> 21#include <qbuttongroup.h>
22#include <qlineedit.h> 22#include <qlineedit.h>
23#ifdef USEQPE 23#ifdef USEQPE
24#include <qpe/menubutton.h> 24#include <qpe/menubutton.h>
25#include <qpe/fontdatabase.h> 25#include <qpe/fontdatabase.h>
26#else 26#else
27#include <qfontdatabase.h> 27#include <qfontdatabase.h>
28#endif 28#endif
29 29
30#include <qpe/qpeapplication.h>
31
30CLayoutPrefs::CLayoutPrefs( QWidget* parent, const char* name, WFlags fl ) 32CLayoutPrefs::CLayoutPrefs( QWidget* parent, const char* name, WFlags fl )
31 : QWidget( parent, name, fl ) 33 : QWidget( parent, name, fl )
32{ 34{
33 QHBoxLayout* hb = new QHBoxLayout(this); 35 QHBoxLayout* hb = new QHBoxLayout(this);
34 QButtonGroup* bg = new QButtonGroup(2, Qt::Horizontal, tr("Text"), this); 36 QButtonGroup* bg = new QButtonGroup(2, Qt::Horizontal, tr("Text"), this);
35 hb->addWidget(bg); 37 hb->addWidget(bg);
36 38
37 StripCR = new QCheckBox( bg ); 39 StripCR = new QCheckBox( bg );
38 StripCR->setText( tr( "Strip CR" ) ); 40 StripCR->setText( tr( "Strip CR" ) );
39 41
40 Dehyphen = new QCheckBox( bg ); 42 Dehyphen = new QCheckBox( bg );
41 Dehyphen->setText( tr( "Dehyphen" ) ); 43 Dehyphen->setText( tr( "Dehyphen" ) );
42 44
43 SingleSpace = new QCheckBox( bg ); 45 SingleSpace = new QCheckBox( bg );
44 SingleSpace->setText( tr( "Single Space" ) ); 46 SingleSpace->setText( tr( "Single Space" ) );
45 47
46 Unindent = new QCheckBox( bg ); 48 Unindent = new QCheckBox( bg );
47 Unindent->setText( tr( "Unindent" ) ); 49 Unindent->setText( tr( "Unindent" ) );
48 50
49 Reparagraph = new QCheckBox( bg ); 51 Reparagraph = new QCheckBox( bg );
50 Reparagraph->setText( tr( "Reparagraph" ) ); 52 Reparagraph->setText( tr( "Reparagraph" ) );
51 53
52 DoubleSpace = new QCheckBox( bg ); 54 DoubleSpace = new QCheckBox( bg );
53 DoubleSpace->setText( tr( "Double Space" ) ); 55 DoubleSpace->setText( tr( "Double Space" ) );
54 56
55 Remap = new QCheckBox( bg ); 57 Remap = new QCheckBox( bg );
56 Remap->setText( tr( "Remap" ) ); 58 Remap->setText( tr( "Remap" ) );
57 59
58 Embolden = new QCheckBox( bg ); 60 Embolden = new QCheckBox( bg );
59 Embolden->setText( tr( "Embolden" ) ); 61 Embolden->setText( tr( "Embolden" ) );
60 62
61 FullJustify = new QCheckBox( bg ); 63 FullJustify = new QCheckBox( bg );
62 FullJustify->setText( tr( "Full Justify" ) ); 64 FullJustify->setText( tr( "Full Justify" ) );
63 65
64} 66}
65 67
66/* 68/*
67 * Destroys the object and frees any allocated resources 69 * Destroys the object and frees any allocated resources
68 */ 70 */
69CLayoutPrefs::~CLayoutPrefs() 71CLayoutPrefs::~CLayoutPrefs()
70{ 72{
71 // no need to delete child widgets, Qt does it all for us 73 // no need to delete child widgets, Qt does it all for us
72} 74}
73 75
74 76
75 77
76CLayoutPrefs2::CLayoutPrefs2( QWidget* parent, const char* name, WFlags fl ) 78CLayoutPrefs2::CLayoutPrefs2( QWidget* parent, const char* name, WFlags fl )
77 : QWidget( parent, name, fl ) 79 : QWidget( parent, name, fl )
78{ 80{
79 81
80 QVBoxLayout* vb = new QVBoxLayout(this); 82 QVBoxLayout* vb = new QVBoxLayout(this);
81 QGridLayout* gl = new QGridLayout(vb, 4, 3); 83 QGridLayout* gl = new QGridLayout(vb, 4, 3);
82 84
83 QLabel *TextLabel; 85 QLabel *TextLabel;
84 86
85 TextLabel = new QLabel( this, "TextLabel1" ); 87 TextLabel = new QLabel( this, "TextLabel1" );
86 TextLabel->setText( tr( "Indent" ) ); 88 TextLabel->setText( tr( "Indent" ) );
87 gl->addWidget(TextLabel, 0, 0); 89 gl->addWidget(TextLabel, 0, 0);
88 90
89 91
90 TextLabel = new QLabel( this ); 92 TextLabel = new QLabel( this );
91 TextLabel->setText( tr( "Page\nOverlap" ) ); 93 TextLabel->setText( tr( "Page\nOverlap" ) );
92 gl->addWidget(TextLabel, 0, 1); 94 gl->addWidget(TextLabel, 0, 1);
93 95
@@ -366,129 +368,130 @@ CMiscPrefs::CMiscPrefs( QWidget* parent, const char* name, WFlags fl )
366 hl->setMargin( 0 ); 368 hl->setMargin( 0 );
367 369
368 QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, tr("Select Action"), this); 370 QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, tr("Select Action"), this);
369 hl->addWidget( gb, 0, 0 ); 371 hl->addWidget( gb, 0, 0 );
370 372
371 annotation = new QCheckBox( gb ); 373 annotation = new QCheckBox( gb );
372 annotation->setText( tr( "Annotation" ) ); 374 annotation->setText( tr( "Annotation" ) );
373 375
374 dictionary = new QCheckBox( gb ); 376 dictionary = new QCheckBox( gb );
375 dictionary->setText( tr( "Dictionary" ) ); 377 dictionary->setText( tr( "Dictionary" ) );
376 378
377 clipboard = new QCheckBox( gb ); 379 clipboard = new QCheckBox( gb );
378 clipboard->setText( tr( "Clipboard" ) ); 380 clipboard->setText( tr( "Clipboard" ) );
379 381
380 QButtonGroup* bg = new QButtonGroup(1, Qt::Horizontal, tr("Plucker"), this); 382 QButtonGroup* bg = new QButtonGroup(1, Qt::Horizontal, tr("Plucker"), this);
381 hl->addWidget( bg, 0 , 1 ); 383 hl->addWidget( bg, 0 , 1 );
382 384
383 Depluck = new QCheckBox( bg ); 385 Depluck = new QCheckBox( bg );
384 Depluck->setText( tr( "Depluck" ) ); 386 Depluck->setText( tr( "Depluck" ) );
385 387
386 Dejpluck = new QCheckBox( bg ); 388 Dejpluck = new QCheckBox( bg );
387 Dejpluck->setText( tr( "Dejpluck" ) ); 389 Dejpluck->setText( tr( "Dejpluck" ) );
388 390
389 Continuous = new QCheckBox( bg ); 391 Continuous = new QCheckBox( bg );
390 Continuous->setText( tr( "Continuous" ) ); 392 Continuous->setText( tr( "Continuous" ) );
391 393
392 394
393/* 395/*
394 396
395 QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, "Navigation", this); 397 QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, "Navigation", this);
396 TextLabel = new QLabel( gb ); 398 TextLabel = new QLabel( gb );
397 TextLabel->setText( tr( "Overlap" ) ); 399 TextLabel->setText( tr( "Overlap" ) );
398 QSpinBox* sb = new QSpinBox( gb ); 400 QSpinBox* sb = new QSpinBox( gb );
399 401
400 Internationalisation 402 Internationalisation
401 Ideogram/Word 403 Ideogram/Word
402 Set Width 404 Set Width
403 Set Encoding 405 Set Encoding
404 Set Font 406 Set Font
405*/ 407*/
406} 408}
407 409
408CMiscPrefs::~CMiscPrefs() 410CMiscPrefs::~CMiscPrefs()
409{ 411{
410 // no need to delete child widgets, Qt does it all for us 412 // no need to delete child widgets, Qt does it all for us
411} 413}
412 414
413CPrefs::CPrefs(bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true) 415CPrefs::CPrefs(bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true)
414{ 416{
415 setCaption(tr( "OpieReader Settings" ) ); 417 setCaption(tr( "OpieReader Settings" ) );
416 QTabWidget* td = new QTabWidget(this); 418 QTabWidget* td = new QTabWidget(this);
417 layout = new CLayoutPrefs(this); 419 layout = new CLayoutPrefs(this);
418 layout2 = new CLayoutPrefs2(this); 420 layout2 = new CLayoutPrefs2(this);
419 misc = new CMiscPrefs(this); 421 misc = new CMiscPrefs(this);
420 button = new CButtonPrefs(this); 422 button = new CButtonPrefs(this);
421 inter = new CInterPrefs(this); 423 inter = new CInterPrefs(this);
422 td->addTab(layout, tr("Layout")); 424 td->addTab(layout, tr("Layout"));
423 td->addTab(layout2, tr("Layout(2)")); 425 td->addTab(layout2, tr("Layout(2)"));
424 td->addTab(inter, tr("Locale")); 426 td->addTab(inter, tr("Locale"));
425 td->addTab(misc, tr("Misc")); 427 td->addTab(misc, tr("Misc"));
426 td->addTab(button, tr("Buttons")); 428 td->addTab(button, tr("Buttons"));
427 QVBoxLayout* v = new QVBoxLayout(this); 429 QVBoxLayout* v = new QVBoxLayout(this);
428 v->addWidget(td); 430 v->addWidget(td);
429 431
430 if (fs) showMaximized(); 432 if (fs)
433 QPEApplication::showDialog( this );
431} 434}
432 435
433 436
434/* 437/*
435 438
436Unicode 439Unicode
437 Ideo/Word 440 Ideo/Word
438 Width 441 Width
439 Encoding 442 Encoding
440 443
441*/ 444*/
442 445
443#include "CEncoding_tables.h" 446#include "CEncoding_tables.h"
444 447
445CInterPrefs::CInterPrefs( QWidget* parent, const char* name, WFlags fl ) 448CInterPrefs::CInterPrefs( QWidget* parent, const char* name, WFlags fl )
446 : QWidget( parent, name, fl ) 449 : QWidget( parent, name, fl )
447{ 450{
448 QHBoxLayout* hb = new QHBoxLayout(this); 451 QHBoxLayout* hb = new QHBoxLayout(this);
449 452
450 QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, tr("International"), this); 453 QGroupBox* gb = new QGroupBox(1, Qt::Horizontal, tr("International"), this);
451 454
452 hb->addWidget(gb); 455 hb->addWidget(gb);
453 456
454 QLabel *TextLabel; 457 QLabel *TextLabel;
455 458
456 ideogram = new QCheckBox( gb ); 459 ideogram = new QCheckBox( gb );
457 ideogram->setText( tr( "Ideograms" ) ); 460 ideogram->setText( tr( "Ideograms" ) );
458 461
459 TextLabel = new QLabel( gb ); 462 TextLabel = new QLabel( gb );
460 TextLabel->setText( tr( "Ideogram Width" ) ); 463 TextLabel->setText( tr( "Ideogram Width" ) );
461 ideogramwidth = new QSpinBox( gb ); 464 ideogramwidth = new QSpinBox( gb );
462 ideogramwidth->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed)); 465 ideogramwidth->setSizePolicy(QSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed));
463 ideogramwidth->setRange(1,200); 466 ideogramwidth->setRange(1,200);
464 467
465 propfontchange = new QCheckBox( gb ); 468 propfontchange = new QCheckBox( gb );
466 propfontchange->setText( tr( "Apply font\nto dialogs" ) ); 469 propfontchange->setText( tr( "Apply font\nto dialogs" ) );
467 470
468 TextLabel = new QLabel( gb ); 471 TextLabel = new QLabel( gb );
469 TextLabel->setText( tr( "Encoding" ) ); 472 TextLabel->setText( tr( "Encoding" ) );
470#ifdef USECOMBO 473#ifdef USECOMBO
471 encoding = new QComboBox(gb); 474 encoding = new QComboBox(gb);
472#else 475#else
473 encoding = new MenuButton(gb); 476 encoding = new MenuButton(gb);
474#endif 477#endif
475 encoding->insertItem("Ascii"); 478 encoding->insertItem("Ascii");
476 encoding->insertItem("UTF-8"); 479 encoding->insertItem("UTF-8");
477 encoding->insertItem("UCS-2(BE)"); 480 encoding->insertItem("UCS-2(BE)");
478 encoding->insertItem("USC-2(LE)"); 481 encoding->insertItem("USC-2(LE)");
479 encoding->insertItem("Palm"); 482 encoding->insertItem("Palm");
480 for (unicodetable::iterator iter = unicodetable::begin(); iter != unicodetable::end(); iter++) 483 for (unicodetable::iterator iter = unicodetable::begin(); iter != unicodetable::end(); iter++)
481 { 484 {
482 encoding->insertItem(iter->mime); 485 encoding->insertItem(iter->mime);
483 } 486 }
484 487
485 QVBoxLayout* vb = new QVBoxLayout; 488 QVBoxLayout* vb = new QVBoxLayout;
486 489
487 gb = new QGroupBox(1, Qt::Horizontal, tr("Dictionary"), this); 490 gb = new QGroupBox(1, Qt::Horizontal, tr("Dictionary"), this);
488 491
489 TextLabel = new QLabel( gb ); 492 TextLabel = new QLabel( gb );
490 TextLabel->setText( tr( "Application" ) ); 493 TextLabel->setText( tr( "Application" ) );
491 application = new QLineEdit(gb); 494 application = new QLineEdit(gb);
492 application->setFixedWidth(80); 495 application->setFixedWidth(80);
493 496
494 TextLabel = new QLabel( gb ); 497 TextLabel = new QLabel( gb );
diff --git a/noncore/apps/opie-reader/QTReaderApp.cpp b/noncore/apps/opie-reader/QTReaderApp.cpp
index f10020a..07af597 100644
--- a/noncore/apps/opie-reader/QTReaderApp.cpp
+++ b/noncore/apps/opie-reader/QTReaderApp.cpp
@@ -1,4222 +1,4222 @@
1/********************************************************************** 1/**********************************************************************
2** Copyright (C) 2000 Trolltech AS. Allrights reserved. 2** Copyright (C) 2000 Trolltech AS. Allrights reserved.
3** 3**
4** This file is part of Qt Palmtop Environment. 4** This file is part of Qt Palmtop 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#include "useqpe.h" 20#include "useqpe.h"
21#include <qregexp.h> 21#include <qregexp.h>
22#include <qclipboard.h> 22#include <qclipboard.h>
23#include <qwidgetstack.h> 23#include <qwidgetstack.h>
24#ifdef USEQPE 24#ifdef USEQPE
25#include <qmenubar.h> 25#include <qmenubar.h>
26#include <qpe/qpetoolbar.h> 26#include <qpe/qpetoolbar.h>
27#endif 27#endif
28#include <qmenubar.h> 28#include <qmenubar.h>
29#include <qtoolbar.h> 29#include <qtoolbar.h>
30#ifdef USEQPE 30#ifdef USEQPE
31#include <qpe/menubutton.h> 31#include <qpe/menubutton.h>
32#include <qpe/fontdatabase.h> 32#include <qpe/fontdatabase.h>
33#endif 33#endif
34#include <qcombobox.h> 34#include <qcombobox.h>
35#include <qpopupmenu.h> 35#include <qpopupmenu.h>
36#include <qaction.h> 36#include <qaction.h>
37#include <qapplication.h> 37#include <qapplication.h>
38#include <qlineedit.h> 38#include <qlineedit.h>
39#include <qtoolbutton.h> 39#include <qtoolbutton.h>
40#include <qspinbox.h> 40#include <qspinbox.h>
41#include <qobjectlist.h> 41#include <qobjectlist.h>
42#ifdef USEQPE 42#ifdef USEQPE
43#include <qpe/global.h> 43#include <qpe/global.h>
44#include <qpe/applnk.h> 44#include <qpe/applnk.h>
45#endif 45#endif
46#include <qfileinfo.h> 46#include <qfileinfo.h>
47#include <stdlib.h> //getenv 47#include <stdlib.h> //getenv
48#include <qprogressbar.h> 48#include <qprogressbar.h>
49#ifdef USEQPE 49#ifdef USEQPE
50#include <qpe/config.h> 50#include <qpe/config.h>
51#endif 51#endif
52#include <qbuttongroup.h> 52#include <qbuttongroup.h>
53#include <qradiobutton.h> 53#include <qradiobutton.h>
54#ifdef USEQPE 54#ifdef USEQPE
55#include <qpe/qcopenvelope_qws.h> 55#include <qpe/qcopenvelope_qws.h>
56#endif 56#endif
57#include "QTReader.h" 57#include "QTReader.h"
58#include "GraphicWin.h" 58#include "GraphicWin.h"
59#include "Bkmks.h" 59#include "Bkmks.h"
60#include "cbkmkselector.h" 60#include "cbkmkselector.h"
61#include "infowin.h" 61#include "infowin.h"
62#include "ToolbarPrefs.h" 62#include "ToolbarPrefs.h"
63#include "Prefs.h" 63#include "Prefs.h"
64#include "CAnnoEdit.h" 64#include "CAnnoEdit.h"
65#include "QFloatBar.h" 65#include "QFloatBar.h"
66#include "FixedFont.h" 66#include "FixedFont.h"
67#include "URLDialog.h" 67#include "URLDialog.h"
68//#include <qpe/fontdatabase.h> 68//#include <qpe/fontdatabase.h>
69 69
70#ifdef USEQPE 70#ifdef USEQPE
71#include <qpe/resource.h> 71#include <qpe/resource.h>
72#include <qpe/qpeapplication.h> 72#include <qpe/qpeapplication.h>
73#include "fileBrowser.h" 73#include "fileBrowser.h"
74#else 74#else
75#include "qfiledialog.h" 75#include "qfiledialog.h"
76#endif 76#endif
77 77
78#include "QTReaderApp.h" 78#include "QTReaderApp.h"
79#include "CDrawBuffer.h" 79#include "CDrawBuffer.h"
80#include "Filedata.h" 80#include "Filedata.h"
81#include "opie.h" 81#include "opie.h"
82#include "useqpe.h" 82#include "useqpe.h"
83#include "names.h" 83#include "names.h"
84#include "CEncoding_tables.h" 84#include "CEncoding_tables.h"
85#include "CloseDialog.h" 85#include "CloseDialog.h"
86 86
87bool CheckVersion(int&, int&, char&); 87bool CheckVersion(int&, int&, char&);
88 88
89#ifdef _WINDOWS 89#ifdef _WINDOWS
90#define PICDIR "c:\\uqtreader\\pics\\" 90#define PICDIR "c:\\uqtreader\\pics\\"
91#else 91#else
92#ifdef USEQPE 92#ifdef USEQPE
93#define PICDIR "opie-reader/" 93#define PICDIR "opie-reader/"
94#else 94#else
95#define PICDIR "/home/tim/uqtreader/pics/" 95#define PICDIR "/home/tim/uqtreader/pics/"
96#endif 96#endif
97#endif 97#endif
98 98
99unsigned long QTReaderApp::m_uid = 0; 99unsigned long QTReaderApp::m_uid = 0;
100 100
101void QTReaderApp::setScrollState(bool _b) { m_scrollButton->setOn(_b); } 101void QTReaderApp::setScrollState(bool _b) { m_scrollButton->setOn(_b); }
102 102
103#ifdef USEQPE 103#ifdef USEQPE
104#define geticon(iconname) Resource::loadPixmap( iconname ) 104#define geticon(iconname) Resource::loadPixmap( iconname )
105#define getmyicon(iconname) Resource::loadPixmap( PICDIR iconname ) 105#define getmyicon(iconname) Resource::loadPixmap( PICDIR iconname )
106#else 106#else
107#define geticon(iconname) QPixmap(PICDIR iconname ".png") 107#define geticon(iconname) QPixmap(PICDIR iconname ".png")
108#define getmyicon(iconname) geticon(iconname) 108#define getmyicon(iconname) geticon(iconname)
109//#define geticon(iconname) QIconSet( QPixmap(PICDIR iconname) ) 109//#define geticon(iconname) QIconSet( QPixmap(PICDIR iconname) )
110#endif 110#endif
111 111
112#ifndef _WINDOWS 112#ifndef _WINDOWS
113#include <unistd.h> 113#include <unistd.h>
114#endif 114#endif
115#include <stddef.h> 115#include <stddef.h>
116#ifndef _WINDOWS 116#ifndef _WINDOWS
117#include <dirent.h> 117#include <dirent.h>
118#endif 118#endif
119 119
120void QTReaderApp::listBkmkFiles() 120void QTReaderApp::listBkmkFiles()
121{ 121{
122 bkmkselector->clear(); 122 bkmkselector->clear();
123 bkmkselector->setText("Cancel"); 123 bkmkselector->setText("Cancel");
124#ifndef USEQPE 124#ifndef USEQPE
125 int cnt = 0; 125 int cnt = 0;
126 126
127 QDir d = QDir::home(); // "/" 127 QDir d = QDir::home(); // "/"
128 if ( !d.cd(APPDIR) ) { // "/tmp" 128 if ( !d.cd(APPDIR) ) { // "/tmp"
129 qWarning( "Cannot find the \"~/" APPDIR "\" directory" ); 129 qWarning( "Cannot find the \"~/" APPDIR "\" directory" );
130 d = QDir::home(); 130 d = QDir::home();
131 d.mkdir(APPDIR); 131 d.mkdir(APPDIR);
132 d.cd(APPDIR); 132 d.cd(APPDIR);
133 } 133 }
134 134
135 135
136 136
137 137
138 d.setFilter( QDir::Files | QDir::NoSymLinks ); 138 d.setFilter( QDir::Files | QDir::NoSymLinks );
139// d.setSorting( QDir::Size | QDir::Reversed ); 139// d.setSorting( QDir::Size | QDir::Reversed );
140 140
141 const QFileInfoList *list = d.entryInfoList(); 141 const QFileInfoList *list = d.entryInfoList();
142 QFileInfoListIterator it( *list ); // create list iterator 142 QFileInfoListIterator it( *list ); // create list iterator
143 QFileInfo *fi; // pointer for traversing 143 QFileInfo *fi; // pointer for traversing
144 144
145 while ( (fi=it.current()) ) { // for each file... 145 while ( (fi=it.current()) ) { // for each file...
146 146
147 bkmkselector->insertItem(fi->fileName()); 147 bkmkselector->insertItem(fi->fileName());
148 cnt++; 148 cnt++;
149 149
150 //qDebug( "%10li %s", fi->size(), fi->fileName().data() ); 150 //qDebug( "%10li %s", fi->size(), fi->fileName().data() );
151 ++it; // goto next list element 151 ++it; // goto next list element
152 } 152 }
153 153
154#else /* USEQPE */ 154#else /* USEQPE */
155 int cnt = 0; 155 int cnt = 0;
156 DIR *d; 156 DIR *d;
157 d = opendir((const char *)Global::applicationFileName(APPDIR,"")); 157 d = opendir((const char *)Global::applicationFileName(APPDIR,""));
158 158
159 while(1) 159 while(1)
160 { 160 {
161 struct dirent* de; 161 struct dirent* de;
162 struct stat buf; 162 struct stat buf;
163 de = readdir(d); 163 de = readdir(d);
164 if (de == NULL) break; 164 if (de == NULL) break;
165 165
166 if (lstat((const char *)Global::applicationFileName(APPDIR,de->d_name),&buf) == 0 && S_ISREG(buf.st_mode)) 166 if (lstat((const char *)Global::applicationFileName(APPDIR,de->d_name),&buf) == 0 && S_ISREG(buf.st_mode))
167 { 167 {
168 bkmkselector->insertItem(de->d_name); 168 bkmkselector->insertItem(de->d_name);
169 cnt++; 169 cnt++;
170 } 170 }
171 } 171 }
172 172
173 closedir(d); 173 closedir(d);
174#endif 174#endif
175 if (cnt > 0) 175 if (cnt > 0)
176 { 176 {
177//tjw menu->hide(); 177//tjw menu->hide();
178 editorStack->raiseWidget( bkmkselector ); 178 editorStack->raiseWidget( bkmkselector );
179 hidetoolbars(); 179 hidetoolbars();
180 m_nBkmkAction = cRmBkmkFile; 180 m_nBkmkAction = cRmBkmkFile;
181 } 181 }
182 else 182 else
183 QMessageBox::information(this, PROGNAME, "No bookmark files"); 183 QMessageBox::information(this, PROGNAME, "No bookmark files");
184} 184}
185 185
186void QTReaderApp::hidetoolbars() 186void QTReaderApp::hidetoolbars()
187{ 187{
188 menubar->hide(); 188 menubar->hide();
189 if (fileBar != NULL) fileBar->hide(); 189 if (fileBar != NULL) fileBar->hide();
190 if (viewBar != NULL) viewBar->hide(); 190 if (viewBar != NULL) viewBar->hide();
191 if (navBar != NULL) navBar->hide(); 191 if (navBar != NULL) navBar->hide();
192 if (markBar != NULL) markBar->hide(); 192 if (markBar != NULL) markBar->hide();
193 if (m_fontVisible) m_fontBar->hide(); 193 if (m_fontVisible) m_fontBar->hide();
194 if (regVisible) 194 if (regVisible)
195 { 195 {
196#ifdef USEQPE 196#ifdef USEQPE
197 Global::hideInputMethod(); 197 Global::hideInputMethod();
198#endif 198#endif
199 regBar->hide(); 199 regBar->hide();
200 } 200 }
201 if (searchVisible) 201 if (searchVisible)
202 { 202 {
203#ifdef USEQPE 203#ifdef USEQPE
204 Global::hideInputMethod(); 204 Global::hideInputMethod();
205#endif 205#endif
206 searchBar->hide(); 206 searchBar->hide();
207 } 207 }
208} 208}
209 209
210QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) 210QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f )
211 : QMainWindow( parent, name, f ), bFromDocView( FALSE ), m_dontSave(false), 211 : QMainWindow( parent, name, f ), bFromDocView( FALSE ), m_dontSave(false),
212 fileBar(NULL), navBar(NULL), viewBar(NULL), markBar(NULL) 212 fileBar(NULL), navBar(NULL), viewBar(NULL), markBar(NULL)
213{ 213{
214 m_url_clipboard = false; 214 m_url_clipboard = false;
215 m_url_localfile = false; 215 m_url_localfile = false;
216 m_url_globalfile = false; 216 m_url_globalfile = false;
217 ftime(&m_lastkeytime); 217 ftime(&m_lastkeytime);
218//// qDebug("Application directory = %s", (const tchar *)QPEApplication::documentDir()); 218//// qDebug("Application directory = %s", (const tchar *)QPEApplication::documentDir());
219//// qDebug("Application directory = %s", (const tchar *)Global::applicationFileName("uqtreader","bkmks.xml")); 219//// qDebug("Application directory = %s", (const tchar *)Global::applicationFileName("uqtreader","bkmks.xml"));
220 220
221 m_bcloseDisabled = true; 221 m_bcloseDisabled = true;
222 m_disableesckey = false; 222 m_disableesckey = false;
223 pBkmklist = NULL; 223 pBkmklist = NULL;
224 pOpenlist = NULL; 224 pOpenlist = NULL;
225// doc = 0; 225// doc = 0;
226 226
227 m_fBkmksChanged = false; 227 m_fBkmksChanged = false;
228 228
229 QString lang = getenv( "LANG" ); 229 QString lang = getenv( "LANG" );
230 QString rot = getenv( "QWS_DISPLAY" ); 230 QString rot = getenv( "QWS_DISPLAY" );
231 231
232/* 232/*
233 int m_rot = 0; 233 int m_rot = 0;
234 if (rot.contains("Rot90")) 234 if (rot.contains("Rot90"))
235 { 235 {
236 m_rot = 90; 236 m_rot = 90;
237 } 237 }
238 else if (rot.contains("Rot180")) 238 else if (rot.contains("Rot180"))
239 { 239 {
240 m_rot = 180; 240 m_rot = 180;
241 } 241 }
242 else if (rot.contains("Rot270")) 242 else if (rot.contains("Rot270"))
243 { 243 {
244 m_rot = 270; 244 m_rot = 270;
245 } 245 }
246 246
247// qDebug("Initial Rotation(%d):%s", m_rot, (const char*)rot); 247// qDebug("Initial Rotation(%d):%s", m_rot, (const char*)rot);
248*/ 248*/
249 m_autogenstr = "^ *[A-Z].*[a-z] *$"; 249 m_autogenstr = "^ *[A-Z].*[a-z] *$";
250 250
251#ifdef USEQPE 251#ifdef USEQPE
252 setIcon( Resource::loadPixmap( PICDIR "uqtreader") ); 252 setIcon( Resource::loadPixmap( PICDIR "uqtreader") );
253#else 253#else
254 setIcon( QPixmap (PICDIR "uqtreader.png") ); 254 setIcon( QPixmap (PICDIR "uqtreader.png") );
255#endif /* USEQPE */ 255#endif /* USEQPE */
256 256
257// QToolBar *bar = new QToolBar( this ); 257// QToolBar *bar = new QToolBar( this );
258// menubar = new QToolBar( this ); 258// menubar = new QToolBar( this );
259#ifdef USEQPE 259#ifdef USEQPE
260 Config config( APPDIR ); 260 Config config( APPDIR );
261#else 261#else
262 QDir d = QDir::home(); // "/" 262 QDir d = QDir::home(); // "/"
263 if ( !d.cd(APPDIR) ) { // "/tmp" 263 if ( !d.cd(APPDIR) ) { // "/tmp"
264 qWarning( "Cannot find the \"~/" APPDIR "\" directory" ); 264 qWarning( "Cannot find the \"~/" APPDIR "\" directory" );
265 d = QDir::home(); 265 d = QDir::home();
266 d.mkdir(APPDIR); 266 d.mkdir(APPDIR);
267 d.cd(APPDIR); 267 d.cd(APPDIR);
268 } 268 }
269 QFileInfo fi(d, INIFILE); 269 QFileInfo fi(d, INIFILE);
270// qDebug("Path:%s", (const char*)fi.absFilePath()); 270// qDebug("Path:%s", (const char*)fi.absFilePath());
271 Config config(fi.absFilePath()); 271 Config config(fi.absFilePath());
272#endif 272#endif
273 config.setGroup("Toolbar"); 273 config.setGroup("Toolbar");
274 m_tbmovesave = m_tbmove = config.readBoolEntry("Movable", false); 274 m_tbmovesave = m_tbmove = config.readBoolEntry("Movable", false);
275 m_tbpolsave = m_tbpol = (ToolbarPolicy)config.readNumEntry("Policy", 1); 275 m_tbpolsave = m_tbpol = (ToolbarPolicy)config.readNumEntry("Policy", 1);
276 m_tbposition = (ToolBarDock)config.readNumEntry("Position", 2); 276 m_tbposition = (ToolBarDock)config.readNumEntry("Position", 2);
277 menubar = new QToolBar("Menus", this, m_tbposition); 277 menubar = new QToolBar("Menus", this, m_tbposition);
278 278
279// fileBar = new QToolBar("File", this); 279// fileBar = new QToolBar("File", this);
280// QToolBar* viewBar = new QToolBar("File", this); 280// QToolBar* viewBar = new QToolBar("File", this);
281// QToolBar* navBar = new QToolBar("File", this); 281// QToolBar* navBar = new QToolBar("File", this);
282// QToolBar* markBar = new QToolBar("File", this); 282// QToolBar* markBar = new QToolBar("File", this);
283 283
284#ifdef USEQPE 284#ifdef USEQPE
285 mb = new QMenuBar( menubar ); 285 mb = new QMenuBar( menubar );
286#else 286#else
287 mb = new QMenuBar( menubar ); 287 mb = new QMenuBar( menubar );
288#endif 288#endif
289 289
290//#ifdef USEQPE 290//#ifdef USEQPE
291 QPopupMenu* tmp = new QPopupMenu(mb); 291 QPopupMenu* tmp = new QPopupMenu(mb);
292 mb->insertItem( geticon( "AppsIcon" ), tmp ); 292 mb->insertItem( geticon( "AppsIcon" ), tmp );
293//#else 293//#else
294// QMenuBar* tmp = mb; 294// QMenuBar* tmp = mb;
295//#endif 295//#endif
296 296
297 QPopupMenu *file = new QPopupMenu( mb ); 297 QPopupMenu *file = new QPopupMenu( mb );
298 tmp->insertItem( tr( "File" ), file ); 298 tmp->insertItem( tr( "File" ), file );
299 299
300 QPopupMenu *navigation = new QPopupMenu(mb); 300 QPopupMenu *navigation = new QPopupMenu(mb);
301 tmp->insertItem( tr( "Navigation" ), navigation ); 301 tmp->insertItem( tr( "Navigation" ), navigation );
302 302
303 QPopupMenu *view = new QPopupMenu( mb ); 303 QPopupMenu *view = new QPopupMenu( mb );
304 tmp->insertItem( tr( "View" ), view ); 304 tmp->insertItem( tr( "View" ), view );
305 305
306 QPopupMenu *marks = new QPopupMenu( this ); 306 QPopupMenu *marks = new QPopupMenu( this );
307 tmp->insertItem( tr( "Marks" ), marks ); 307 tmp->insertItem( tr( "Marks" ), marks );
308 308
309 QPopupMenu *settings = new QPopupMenu( this ); 309 QPopupMenu *settings = new QPopupMenu( this );
310 tmp->insertItem( tr( "Settings" ), settings ); 310 tmp->insertItem( tr( "Settings" ), settings );
311 311
312// addToolBar(menubar, "Menus",QMainWindow::Top); 312// addToolBar(menubar, "Menus",QMainWindow::Top);
313// addToolBar(fileBar, "Toolbar",QMainWindow::Top); 313// addToolBar(fileBar, "Toolbar",QMainWindow::Top);
314 314
315 // QPopupMenu *edit = new QPopupMenu( this ); 315 // QPopupMenu *edit = new QPopupMenu( this );
316 316
317 /* 317 /*
318 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 ); 318 QAction *a = new QAction( tr( "New" ), Resource::loadPixmap( "new" ), QString::null, 0, this, 0 );
319 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) ); 319 connect( a, SIGNAL( activated() ), this, SLOT( fileNew() ) );
320 a->addTo( bar ); 320 a->addTo( bar );
321 a->addTo( file ); 321 a->addTo( file );
322 */ 322 */
323 323
324 editorStack = new QWidgetStack( this ); 324 editorStack = new QWidgetStack( this );
325 setCentralWidget( editorStack ); 325 setCentralWidget( editorStack );
326 326
327 searchVisible = FALSE; 327 searchVisible = FALSE;
328 regVisible = FALSE; 328 regVisible = FALSE;
329 m_fontVisible = false; 329 m_fontVisible = false;
330 330
331 m_annoWin = new CAnnoEdit(editorStack); 331 m_annoWin = new CAnnoEdit(editorStack);
332 editorStack->addWidget(m_annoWin, get_unique_id()); 332 editorStack->addWidget(m_annoWin, get_unique_id());
333 connect( m_annoWin, SIGNAL( finished(const QString&, const QString&) ), this, SLOT( addAnno(const QString&, const QString&) ) ); 333 connect( m_annoWin, SIGNAL( finished(const QString&, const QString&) ), this, SLOT( addAnno(const QString&, const QString&) ) );
334 connect( m_annoWin, SIGNAL( cancelled() ), this, SLOT( infoClose() ) ); 334 connect( m_annoWin, SIGNAL( cancelled() ), this, SLOT( infoClose() ) );
335 335
336 m_infoWin = new infowin(editorStack); 336 m_infoWin = new infowin(editorStack);
337 editorStack->addWidget(m_infoWin, get_unique_id()); 337 editorStack->addWidget(m_infoWin, get_unique_id());
338 connect( m_infoWin, SIGNAL( Close() ), this, SLOT( infoClose() ) ); 338 connect( m_infoWin, SIGNAL( Close() ), this, SLOT( infoClose() ) );
339 339
340 m_graphicwin = new GraphicWin(editorStack); 340 m_graphicwin = new GraphicWin(editorStack);
341 editorStack->addWidget(m_graphicwin, get_unique_id()); 341 editorStack->addWidget(m_graphicwin, get_unique_id());
342 connect( m_graphicwin, SIGNAL( Closed() ), this, SLOT( infoClose() ) ); 342 connect( m_graphicwin, SIGNAL( Closed() ), this, SLOT( infoClose() ) );
343 343
344// bkmkselector = new QListBox(editorStack, "Bookmarks"); 344// bkmkselector = new QListBox(editorStack, "Bookmarks");
345 bkmkselector = new CBkmkSelector(editorStack, "Bookmarks"); 345 bkmkselector = new CBkmkSelector(editorStack, "Bookmarks");
346 // connect(bkmkselector, SIGNAL( selected(const QString&) ), this, SLOT( gotobkmk(const QString&) ) ); 346 // connect(bkmkselector, SIGNAL( selected(const QString&) ), this, SLOT( gotobkmk(const QString&) ) );
347 connect(bkmkselector, SIGNAL( selected(int) ), this, SLOT( gotobkmk(int) ) ); 347 connect(bkmkselector, SIGNAL( selected(int) ), this, SLOT( gotobkmk(int) ) );
348 connect(bkmkselector, SIGNAL( cancelled() ), this, SLOT( cancelbkmk() ) ); 348 connect(bkmkselector, SIGNAL( cancelled() ), this, SLOT( cancelbkmk() ) );
349 editorStack->addWidget( bkmkselector, get_unique_id() ); 349 editorStack->addWidget( bkmkselector, get_unique_id() );
350 350
351/* 351/*
352 importSelector = new FileSelector( "*", editorStack, "importselector", false ); 352 importSelector = new FileSelector( "*", editorStack, "importselector", false );
353 connect( importSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( importFile( const DocLnk & ) ) ); 353 connect( importSelector, SIGNAL( fileSelected( const DocLnk &) ), this, SLOT( importFile( const DocLnk & ) ) );
354 354
355 editorStack->addWidget( importSelector, get_unique_id() ); 355 editorStack->addWidget( importSelector, get_unique_id() );
356 356
357 // don't need the close visible, it is redundant... 357 // don't need the close visible, it is redundant...
358 importSelector->setCloseVisible( FALSE ); 358 importSelector->setCloseVisible( FALSE );
359*/ 359*/
360// qDebug("Reading file list"); 360// qDebug("Reading file list");
361 readfilelist(); 361 readfilelist();
362 362
363 reader = new QTReader( editorStack ); 363 reader = new QTReader( editorStack );
364 364
365 reader->bDoUpdates = false; 365 reader->bDoUpdates = false;
366 366
367#ifdef USEQPE 367#ifdef USEQPE
368 ((QPEApplication*)qApp)->setStylusOperation(reader, QPEApplication::RightOnHold); 368 ((QPEApplication*)qApp)->setStylusOperation(reader, QPEApplication::RightOnHold);
369#endif 369#endif
370 370
371// qDebug("Reading config"); 371// qDebug("Reading config");
372// Config config( APPDIR ); 372// Config config( APPDIR );
373 config.setGroup( "View" ); 373 config.setGroup( "View" );
374 m_debounce = config.readNumEntry("Debounce", 0); 374 m_debounce = config.readNumEntry("Debounce", 0);
375#ifdef USEQPE 375#ifdef USEQPE
376 m_bFloatingDialog = config.readBoolEntry("FloatDialogs", false); 376 m_bFloatingDialog = config.readBoolEntry("FloatDialogs", false);
377#else 377#else
378 m_bFloatingDialog = config.readBoolEntry("FloatDialogs", true); 378 m_bFloatingDialog = config.readBoolEntry("FloatDialogs", true);
379#endif 379#endif
380 reader->bstripcr = config.readBoolEntry( "StripCr", true ); 380 reader->bstripcr = config.readBoolEntry( "StripCr", true );
381 reader->bfulljust = config.readBoolEntry( "FullJust", false ); 381 reader->bfulljust = config.readBoolEntry( "FullJust", false );
382 reader->setextraspace(config.readNumEntry( "ExtraSpace", 0 )); 382 reader->setextraspace(config.readNumEntry( "ExtraSpace", 0 ));
383 reader->setlead(config.readNumEntry( "ExtraLead", 0 )); 383 reader->setlead(config.readNumEntry( "ExtraLead", 0 ));
384 reader->btextfmt = config.readBoolEntry( "TextFmt", false ); 384 reader->btextfmt = config.readBoolEntry( "TextFmt", false );
385 reader->bautofmt = config.readBoolEntry( "AutoFmt", true ); 385 reader->bautofmt = config.readBoolEntry( "AutoFmt", true );
386 reader->bstriphtml = config.readBoolEntry( "StripHtml", false ); 386 reader->bstriphtml = config.readBoolEntry( "StripHtml", false );
387 reader->bpeanut = config.readBoolEntry( "Peanut", false ); 387 reader->bpeanut = config.readBoolEntry( "Peanut", false );
388 reader->bdehyphen = config.readBoolEntry( "Dehyphen", false ); 388 reader->bdehyphen = config.readBoolEntry( "Dehyphen", false );
389 reader->bdepluck = config.readBoolEntry( "Depluck", false ); 389 reader->bdepluck = config.readBoolEntry( "Depluck", false );
390 reader->bdejpluck = config.readBoolEntry( "Dejpluck", false ); 390 reader->bdejpluck = config.readBoolEntry( "Dejpluck", false );
391 reader->bonespace = config.readBoolEntry( "OneSpace", false ); 391 reader->bonespace = config.readBoolEntry( "OneSpace", false );
392 reader->bunindent = config.readBoolEntry( "Unindent", false ); 392 reader->bunindent = config.readBoolEntry( "Unindent", false );
393 reader->brepara = config.readBoolEntry( "Repara", false ); 393 reader->brepara = config.readBoolEntry( "Repara", false );
394 reader->bdblspce = config.readBoolEntry( "DoubleSpace", false ); 394 reader->bdblspce = config.readBoolEntry( "DoubleSpace", false );
395 reader->bindenter = config.readNumEntry( "Indent", 0 ); 395 reader->bindenter = config.readNumEntry( "Indent", 0 );
396 reader->m_textsize = config.readNumEntry( "FontSize", 12 ); 396 reader->m_textsize = config.readNumEntry( "FontSize", 12 );
397 reader->m_delay = config.readNumEntry( "ScrollDelay", 5184); 397 reader->m_delay = config.readNumEntry( "ScrollDelay", 5184);
398 reader->m_lastfile = config.readEntry( "LastFile", QString::null ); 398 reader->m_lastfile = config.readEntry( "LastFile", QString::null );
399 reader->m_lastposn = config.readNumEntry( "LastPosn", 0 ); 399 reader->m_lastposn = config.readNumEntry( "LastPosn", 0 );
400 reader->m_bpagemode = config.readBoolEntry( "PageMode", true ); 400 reader->m_bpagemode = config.readBoolEntry( "PageMode", true );
401 reader->m_bMonoSpaced = config.readBoolEntry( "MonoSpaced", false); 401 reader->m_bMonoSpaced = config.readBoolEntry( "MonoSpaced", false);
402 reader->m_swapmouse = config.readBoolEntry( "SwapMouse", false); 402 reader->m_swapmouse = config.readBoolEntry( "SwapMouse", false);
403 reader->m_fontname = config.readEntry( "Fontname", "helvetica" ); 403 reader->m_fontname = config.readEntry( "Fontname", "helvetica" );
404 reader->m_encd = config.readNumEntry( "Encoding", 0 ); 404 reader->m_encd = config.readNumEntry( "Encoding", 0 );
405 reader->m_charpc = config.readNumEntry( "CharSpacing", 100 ); 405 reader->m_charpc = config.readNumEntry( "CharSpacing", 100 );
406 reader->m_overlap = config.readNumEntry( "Overlap", 0 ); 406 reader->m_overlap = config.readNumEntry( "Overlap", 0 );
407 reader->m_border = config.readNumEntry( "Margin", 6 ); 407 reader->m_border = config.readNumEntry( "Margin", 6 );
408#ifdef REPALM 408#ifdef REPALM
409 reader->brepalm = config.readBoolEntry( "Repalm", true ); 409 reader->brepalm = config.readBoolEntry( "Repalm", true );
410#endif 410#endif
411 reader->bremap = config.readBoolEntry( "Remap", true ); 411 reader->bremap = config.readBoolEntry( "Remap", true );
412 reader->bmakebold = config.readBoolEntry( "MakeBold", false ); 412 reader->bmakebold = config.readBoolEntry( "MakeBold", false );
413 reader->setContinuous(config.readBoolEntry( "Continuous", true )); 413 reader->setContinuous(config.readBoolEntry( "Continuous", true ));
414 m_targetapp = config.readEntry( "TargetApp", QString::null ); 414 m_targetapp = config.readEntry( "TargetApp", QString::null );
415 m_targetmsg = config.readEntry( "TargetMsg", QString::null ); 415 m_targetmsg = config.readEntry( "TargetMsg", QString::null );
416#ifdef _SCROLLPIPE 416#ifdef _SCROLLPIPE
417 reader->m_pipetarget = config.readEntry( "PipeTarget", QString::null ); 417 reader->m_pipetarget = config.readEntry( "PipeTarget", QString::null );
418 reader->m_pauseAfterEachPara = config.readBoolEntry( "PauseAfterPara", true ); 418 reader->m_pauseAfterEachPara = config.readBoolEntry( "PauseAfterPara", true );
419#endif 419#endif
420 m_twoTouch = config.readBoolEntry( "TwoTouch", false); 420 m_twoTouch = config.readBoolEntry( "TwoTouch", false);
421 m_doAnnotation = config.readBoolEntry( "Annotation", false); 421 m_doAnnotation = config.readBoolEntry( "Annotation", false);
422 m_doDictionary = config.readBoolEntry( "Dictionary", false); 422 m_doDictionary = config.readBoolEntry( "Dictionary", false);
423 m_doClipboard = config.readBoolEntry( "Clipboard", false); 423 m_doClipboard = config.readBoolEntry( "Clipboard", false);
424 m_spaceTarget = (ActionTypes)config.readNumEntry("SpaceTarget", cesAutoScroll); 424 m_spaceTarget = (ActionTypes)config.readNumEntry("SpaceTarget", cesAutoScroll);
425 m_escapeTarget = (ActionTypes)config.readNumEntry("EscapeTarget", cesNone); 425 m_escapeTarget = (ActionTypes)config.readNumEntry("EscapeTarget", cesNone);
426 m_returnTarget = (ActionTypes)config.readNumEntry("ReturnTarget", cesFullScreen); 426 m_returnTarget = (ActionTypes)config.readNumEntry("ReturnTarget", cesFullScreen);
427 m_leftTarget = (ActionTypes)config.readNumEntry("LeftTarget", cesZoomOut); 427 m_leftTarget = (ActionTypes)config.readNumEntry("LeftTarget", cesZoomOut);
428 m_rightTarget = (ActionTypes)config.readNumEntry("RightTarget", cesZoomIn); 428 m_rightTarget = (ActionTypes)config.readNumEntry("RightTarget", cesZoomIn);
429 m_upTarget = (ActionTypes)config.readNumEntry("UpTarget", cesPageUp); 429 m_upTarget = (ActionTypes)config.readNumEntry("UpTarget", cesPageUp);
430 m_downTarget = (ActionTypes)config.readNumEntry("DownTarget", cesPageDown); 430 m_downTarget = (ActionTypes)config.readNumEntry("DownTarget", cesPageDown);
431 431
432 m_leftScroll = config.readBoolEntry("LeftScroll", false); 432 m_leftScroll = config.readBoolEntry("LeftScroll", false);
433 m_rightScroll = config.readBoolEntry("RightScroll", false); 433 m_rightScroll = config.readBoolEntry("RightScroll", false);
434 m_upScroll = config.readBoolEntry("UpScroll", true); 434 m_upScroll = config.readBoolEntry("UpScroll", true);
435 m_downScroll = config.readBoolEntry("DownScroll", true); 435 m_downScroll = config.readBoolEntry("DownScroll", true);
436 436
437 m_propogatefontchange = config.readBoolEntry( "RequestorFontChange", false); 437 m_propogatefontchange = config.readBoolEntry( "RequestorFontChange", false);
438 reader->setBaseSize(config.readNumEntry( "Basesize", 10 )); 438 reader->setBaseSize(config.readNumEntry( "Basesize", 10 ));
439 439
440#ifndef USEQPE 440#ifndef USEQPE
441 config.setGroup( "Geometry" ); 441 config.setGroup( "Geometry" );
442 setGeometry(0,0, 442 setGeometry(0,0,
443 config.readNumEntry( "width", QApplication::desktop()->width()/2 ), 443 config.readNumEntry( "width", QApplication::desktop()->width()/2 ),
444 config.readNumEntry( "height", QApplication::desktop()->height()/2 )); 444 config.readNumEntry( "height", QApplication::desktop()->height()/2 ));
445 move( 445 move(
446 config.readNumEntry( "x", 20 ), 446 config.readNumEntry( "x", 20 ),
447 config.readNumEntry( "y", 20 )); 447 config.readNumEntry( "y", 20 ));
448#endif 448#endif
449 449
450 450
451 451
452 setTwoTouch(m_twoTouch); 452 setTwoTouch(m_twoTouch);
453 453
454 connect( reader, SIGNAL( OnShowPicture(QImage&) ), this, SLOT( showgraphic(QImage&) ) ); 454 connect( reader, SIGNAL( OnShowPicture(QImage&) ), this, SLOT( showgraphic(QImage&) ) );
455 455
456 connect( reader, SIGNAL( OnRedraw() ), this, SLOT( OnRedraw() ) ); 456 connect( reader, SIGNAL( OnRedraw() ), this, SLOT( OnRedraw() ) );
457 connect( reader, SIGNAL( OnWordSelected(const QString&, size_t, const QString&) ), this, SLOT( OnWordSelected(const QString&, size_t, const QString&) ) ); 457 connect( reader, SIGNAL( OnWordSelected(const QString&, size_t, const QString&) ), this, SLOT( OnWordSelected(const QString&, size_t, const QString&) ) );
458 connect( reader, SIGNAL( OnURLSelected(const QString&) ), this, SLOT( OnURLSelected(const QString&) ) ); 458 connect( reader, SIGNAL( OnURLSelected(const QString&) ), this, SLOT( OnURLSelected(const QString&) ) );
459 editorStack->addWidget( reader, get_unique_id() ); 459 editorStack->addWidget( reader, get_unique_id() );
460 460
461 m_preferences_action = new QAction( tr( "Configuration" ), geticon( "SettingsIcon" ), QString::null, 0, this, NULL); 461 m_preferences_action = new QAction( tr( "Configuration" ), geticon( "SettingsIcon" ), QString::null, 0, this, NULL);
462 connect( m_preferences_action, SIGNAL( activated() ), this, SLOT( showprefs() ) ); 462 connect( m_preferences_action, SIGNAL( activated() ), this, SLOT( showprefs() ) );
463 m_preferences_action->addTo( settings ); 463 m_preferences_action->addTo( settings );
464 464
465 m_saveconfig_action = new QAction( tr( "Save Config" ), QString::null, 0, this, NULL); 465 m_saveconfig_action = new QAction( tr( "Save Config" ), QString::null, 0, this, NULL);
466 connect( m_saveconfig_action, SIGNAL( activated() ), this, SLOT( SaveConfig() ) ); 466 connect( m_saveconfig_action, SIGNAL( activated() ), this, SLOT( SaveConfig() ) );
467 m_saveconfig_action->addTo( settings ); 467 m_saveconfig_action->addTo( settings );
468 468
469 m_loadconfig_action = new QAction( tr( "Load Config" ), QString::null, 0, this, NULL); 469 m_loadconfig_action = new QAction( tr( "Load Config" ), QString::null, 0, this, NULL);
470 connect( m_loadconfig_action, SIGNAL( activated() ), this, SLOT( LoadConfig() ) ); 470 connect( m_loadconfig_action, SIGNAL( activated() ), this, SLOT( LoadConfig() ) );
471 m_loadconfig_action->addTo( settings ); 471 m_loadconfig_action->addTo( settings );
472 472
473 m_tidyconfig_action = new QAction( tr( "Delete Config" ), QString::null, 0, this, NULL); 473 m_tidyconfig_action = new QAction( tr( "Delete Config" ), QString::null, 0, this, NULL);
474 connect( m_tidyconfig_action, SIGNAL( activated() ), this, SLOT( TidyConfig() ) ); 474 connect( m_tidyconfig_action, SIGNAL( activated() ), this, SLOT( TidyConfig() ) );
475 m_tidyconfig_action->addTo( settings ); 475 m_tidyconfig_action->addTo( settings );
476 476
477 settings->insertSeparator(); 477 settings->insertSeparator();
478 m_toolbarprefs_action = new QAction( tr( "Toolbars" ), QString::null, 0, this, NULL); 478 m_toolbarprefs_action = new QAction( tr( "Toolbars" ), QString::null, 0, this, NULL);
479 connect( m_toolbarprefs_action, SIGNAL( activated() ), this, SLOT( showtoolbarprefs() ) ); 479 connect( m_toolbarprefs_action, SIGNAL( activated() ), this, SLOT( showtoolbarprefs() ) );
480 m_toolbarprefs_action->addTo( settings ); 480 m_toolbarprefs_action->addTo( settings );
481 481
482 m_open_action = new QAction( tr( "Open" ), geticon( "fileopen" ), QString::null, 0, this, 0 ); 482 m_open_action = new QAction( tr( "Open" ), geticon( "fileopen" ), QString::null, 0, this, 0 );
483 connect( m_open_action, SIGNAL( activated() ), this, SLOT( fileOpen() ) ); 483 connect( m_open_action, SIGNAL( activated() ), this, SLOT( fileOpen() ) );
484 m_open_action->addTo( file ); 484 m_open_action->addTo( file );
485 485
486 m_close_action = new QAction( tr( "Close" ), geticon( "close" ), QString::null, 0, this, 0 ); 486 m_close_action = new QAction( tr( "Close" ), geticon( "close" ), QString::null, 0, this, 0 );
487 connect( m_close_action, SIGNAL( activated() ), this, SLOT( fileClose() ) ); 487 connect( m_close_action, SIGNAL( activated() ), this, SLOT( fileClose() ) );
488 m_close_action->addTo( file ); 488 m_close_action->addTo( file );
489 489
490#ifdef _SCRIPT 490#ifdef _SCRIPT
491 a = new QAction( tr( "Run Script" ), QString::null, 0, this, NULL); 491 a = new QAction( tr( "Run Script" ), QString::null, 0, this, NULL);
492 connect( a, SIGNAL( activated() ), this, SLOT( RunScript() ) ); 492 connect( a, SIGNAL( activated() ), this, SLOT( RunScript() ) );
493 a->addTo( file ); 493 a->addTo( file );
494#endif 494#endif
495 /* 495 /*
496 a = new QAction( tr( "Revert" ), geticon( "close" ), QString::null, 0, this, 0 ); 496 a = new QAction( tr( "Revert" ), geticon( "close" ), QString::null, 0, this, 0 );
497 connect( a, SIGNAL( activated() ), this, SLOT( fileRevert() ) ); 497 connect( a, SIGNAL( activated() ), this, SLOT( fileRevert() ) );
498 a->addTo( file ); 498 a->addTo( file );
499 499
500 a = new QAction( tr( "Cut" ), geticon( "cut" ), QString::null, 0, this, 0 ); 500 a = new QAction( tr( "Cut" ), geticon( "cut" ), QString::null, 0, this, 0 );
501 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) ); 501 connect( a, SIGNAL( activated() ), this, SLOT( editCut() ) );
502 a->addTo( filebar() ); 502 a->addTo( filebar() );
503 a->addTo( edit ); 503 a->addTo( edit );
504 */ 504 */
505 505
506 m_info_action = new QAction( tr( "Info" ), geticon( "UtilsIcon" ), QString::null, 0, this, NULL); 506 m_info_action = new QAction( tr( "Info" ), geticon( "UtilsIcon" ), QString::null, 0, this, NULL);
507 connect( m_info_action, SIGNAL( activated() ), this, SLOT( showinfo() ) ); 507 connect( m_info_action, SIGNAL( activated() ), this, SLOT( showinfo() ) );
508 m_info_action->addTo( file ); 508 m_info_action->addTo( file );
509 509
510 m_touch_action = new QAction( tr( "Two/One Touch" ), geticon( "1to1" ), QString::null, 0, this, NULL, true ); 510 m_touch_action = new QAction( tr( "Two/One Touch" ), geticon( "1to1" ), QString::null, 0, this, NULL, true );
511 connect( m_touch_action, SIGNAL( toggled(bool) ), this, SLOT( setTwoTouch(bool) ) ); 511 connect( m_touch_action, SIGNAL( toggled(bool) ), this, SLOT( setTwoTouch(bool) ) );
512 m_touch_action->setOn(m_twoTouch); 512 m_touch_action->setOn(m_twoTouch);
513 m_touch_action->addTo( file ); 513 m_touch_action->addTo( file );
514 514
515 m_find_action = new QAction( tr( "Find..." ), geticon( "find" ), QString::null, 0, this, NULL); 515 m_find_action = new QAction( tr( "Find..." ), geticon( "find" ), QString::null, 0, this, NULL);
516 connect( m_find_action, SIGNAL( activated() ), this, SLOT( editFind() ) ); 516 connect( m_find_action, SIGNAL( activated() ), this, SLOT( editFind() ) );
517 file->insertSeparator(); 517 file->insertSeparator();
518// a->addTo( bar ); 518// a->addTo( bar );
519 m_find_action->addTo( file ); 519 m_find_action->addTo( file );
520 520
521 m_exportlinks_action = new QAction( tr( "Export Links" ), QString::null, 0, this, NULL); 521 m_exportlinks_action = new QAction( tr( "Export Links" ), QString::null, 0, this, NULL);
522 connect( m_exportlinks_action, SIGNAL( activated() ), this, SLOT( ExportLinks() ) ); 522 connect( m_exportlinks_action, SIGNAL( activated() ), this, SLOT( ExportLinks() ) );
523 m_exportlinks_action->addTo( file ); 523 m_exportlinks_action->addTo( file );
524 524
525 m_scrollButton = new QAction( tr( "Scroll" ), getmyicon( "panel-arrow-down" ), QString::null, 0, this, 0, true ); 525 m_scrollButton = new QAction( tr( "Scroll" ), getmyicon( "panel-arrow-down" ), QString::null, 0, this, 0, true );
526 connect( m_scrollButton, SIGNAL( toggled(bool) ), this, SLOT( autoScroll(bool) ) ); 526 connect( m_scrollButton, SIGNAL( toggled(bool) ), this, SLOT( autoScroll(bool) ) );
527 m_scrollButton->addTo(navigation); 527 m_scrollButton->addTo(navigation);
528 m_scrollButton->setOn(false); 528 m_scrollButton->setOn(false);
529 529
530 m_start_action = new QAction( tr( "Goto Start" ), geticon( "start" ), QString::null, 0, this, NULL); 530 m_start_action = new QAction( tr( "Goto Start" ), geticon( "start" ), QString::null, 0, this, NULL);
531 connect( m_start_action, SIGNAL( activated() ), this, SLOT( gotoStart() ) ); 531 connect( m_start_action, SIGNAL( activated() ), this, SLOT( gotoStart() ) );
532 m_start_action->addTo(navigation); 532 m_start_action->addTo(navigation);
533 533
534 m_end_action = new QAction( tr( "Goto End" ), geticon( "finish" ), QString::null, 0, this, NULL); 534 m_end_action = new QAction( tr( "Goto End" ), geticon( "finish" ), QString::null, 0, this, NULL);
535 connect( m_end_action, SIGNAL( activated() ), this, SLOT( gotoEnd() ) ); 535 connect( m_end_action, SIGNAL( activated() ), this, SLOT( gotoEnd() ) );
536 m_end_action->addTo(navigation); 536 m_end_action->addTo(navigation);
537 537
538 m_jump_action = new QAction( tr( "Jump" ), geticon( "rotate" ), QString::null, 0, this, NULL); 538 m_jump_action = new QAction( tr( "Jump" ), geticon( "rotate" ), QString::null, 0, this, NULL);
539 connect( m_jump_action, SIGNAL( activated() ), this, SLOT( jump() ) ); 539 connect( m_jump_action, SIGNAL( activated() ), this, SLOT( jump() ) );
540 m_jump_action->addTo(navigation); 540 m_jump_action->addTo(navigation);
541 541
542 m_pageline_action = new QAction( tr( "Page/Line Scroll" ), geticon( "pass" ), QString::null, 0, this, NULL, true ); 542 m_pageline_action = new QAction( tr( "Page/Line Scroll" ), geticon( "pass" ), QString::null, 0, this, NULL, true );
543 connect( m_pageline_action, SIGNAL( toggled(bool) ), this, SLOT( pagemode(bool) ) ); 543 connect( m_pageline_action, SIGNAL( toggled(bool) ), this, SLOT( pagemode(bool) ) );
544 m_pageline_action->addTo(navigation); 544 m_pageline_action->addTo(navigation);
545 m_pageline_action->setOn(reader->m_bpagemode); 545 m_pageline_action->setOn(reader->m_bpagemode);
546 546
547 m_pageup_action = new QAction( tr( "Up" ), geticon( "up" ), QString::null, 0, this, 0 ); 547 m_pageup_action = new QAction( tr( "Up" ), geticon( "up" ), QString::null, 0, this, 0 );
548 connect( m_pageup_action, SIGNAL( activated() ), this, SLOT( pageup() ) ); 548 connect( m_pageup_action, SIGNAL( activated() ), this, SLOT( pageup() ) );
549 m_pageup_action->addTo( navigation ); 549 m_pageup_action->addTo( navigation );
550 550
551 m_pagedn_action = new QAction( tr( "Down" ), geticon( "down" ), QString::null, 0, this, 0 ); 551 m_pagedn_action = new QAction( tr( "Down" ), geticon( "down" ), QString::null, 0, this, 0 );
552 connect( m_pagedn_action, SIGNAL( activated() ), this, SLOT( pagedn() ) ); 552 connect( m_pagedn_action, SIGNAL( activated() ), this, SLOT( pagedn() ) );
553 m_pagedn_action->addTo( navigation ); 553 m_pagedn_action->addTo( navigation );
554 554
555 m_back_action = new QAction( tr( "Back" ), geticon( "back" ), QString::null, 0, this, 0 ); 555 m_back_action = new QAction( tr( "Back" ), geticon( "back" ), QString::null, 0, this, 0 );
556 connect( m_back_action, SIGNAL( activated() ), reader, SLOT( goBack() ) ); 556 connect( m_back_action, SIGNAL( activated() ), reader, SLOT( goBack() ) );
557 m_back_action->addTo( navigation ); 557 m_back_action->addTo( navigation );
558 558
559 m_home_action = new QAction( tr( "Home" ), geticon( "home" ), QString::null, 0, this, 0 ); 559 m_home_action = new QAction( tr( "Home" ), geticon( "home" ), QString::null, 0, this, 0 );
560 connect( m_home_action, SIGNAL( activated() ), reader, SLOT( goHome() ) ); 560 connect( m_home_action, SIGNAL( activated() ), reader, SLOT( goHome() ) );
561 m_home_action->addTo( navigation ); 561 m_home_action->addTo( navigation );
562 562
563 m_forward_action = new QAction( tr( "Forward" ), geticon( "forward" ), QString::null, 0, this, 0 ); 563 m_forward_action = new QAction( tr( "Forward" ), geticon( "forward" ), QString::null, 0, this, 0 );
564 connect( m_forward_action, SIGNAL( activated() ), reader, SLOT( goForward() ) ); 564 connect( m_forward_action, SIGNAL( activated() ), reader, SLOT( goForward() ) );
565 m_forward_action->addTo( navigation ); 565 m_forward_action->addTo( navigation );
566 566
567 /* 567 /*
568 a = new QAction( tr( "Find" ), QString::null, 0, this, NULL, true ); 568 a = new QAction( tr( "Find" ), QString::null, 0, this, NULL, true );
569 // connect( a, SIGNAL( activated() ), this, SLOT( pagedn() ) ); 569 // connect( a, SIGNAL( activated() ), this, SLOT( pagedn() ) );
570 a->addTo( file ); 570 a->addTo( file );
571 571
572 a = new QAction( tr( "Find Again" ), QString::null, 0, this, NULL, true ); 572 a = new QAction( tr( "Find Again" ), QString::null, 0, this, NULL, true );
573 // connect( a, SIGNAL( activated() ), this, SLOT( pagedn() ) ); 573 // connect( a, SIGNAL( activated() ), this, SLOT( pagedn() ) );
574 a->addTo( file ); 574 a->addTo( file );
575 */ 575 */
576 576
577// file->insertSeparator(); 577// file->insertSeparator();
578 578
579#ifdef _SCROLLPIPE 579#ifdef _SCROLLPIPE
580 580
581 QActionGroup* ag = new QActionGroup(this); 581 QActionGroup* ag = new QActionGroup(this);
582 ag->setExclusive(false); 582 ag->setExclusive(false);
583 spacemenu = new QPopupMenu(this); 583 spacemenu = new QPopupMenu(this);
584 file->insertItem( tr( "Scrolling" ), spacemenu ); 584 file->insertItem( tr( "Scrolling" ), spacemenu );
585 585
586 a = new QAction( tr( "Set Target" ), QString::null, 0, ag, NULL); 586 a = new QAction( tr( "Set Target" ), QString::null, 0, ag, NULL);
587 connect( a, SIGNAL( activated() ), this, SLOT( setpipetarget() ) ); 587 connect( a, SIGNAL( activated() ), this, SLOT( setpipetarget() ) );
588 588
589 a = new QAction( tr( "Pause Paras" ), QString::null, 0, ag, NULL, true ); 589 a = new QAction( tr( "Pause Paras" ), QString::null, 0, ag, NULL, true );
590 connect( a, SIGNAL( toggled(bool) ), this, SLOT( setpause(bool) ) ); 590 connect( a, SIGNAL( toggled(bool) ), this, SLOT( setpause(bool) ) );
591 a->setOn(reader->m_pauseAfterEachPara); 591 a->setOn(reader->m_pauseAfterEachPara);
592 592
593 ag->addTo(spacemenu); 593 ag->addTo(spacemenu);
594// file->insertSeparator(); 594// file->insertSeparator();
595 595
596#endif 596#endif
597 597
598/* 598/*
599 a = new QAction( tr( "Import" ), QString::null, 0, this, NULL ); 599 a = new QAction( tr( "Import" ), QString::null, 0, this, NULL );
600 connect( a, SIGNAL( activated() ), this, SLOT( importFiles() ) ); 600 connect( a, SIGNAL( activated() ), this, SLOT( importFiles() ) );
601 a->addTo( file ); 601 a->addTo( file );
602*/ 602*/
603 603
604 /* 604 /*
605 a = new QAction( tr( "Paste" ), geticon( "paste" ), QString::null, 0, this, 0 ); 605 a = new QAction( tr( "Paste" ), geticon( "paste" ), QString::null, 0, this, 0 );
606 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) ); 606 connect( a, SIGNAL( activated() ), this, SLOT( editPaste() ) );
607 a->addTo( fileBar ); 607 a->addTo( fileBar );
608 a->addTo( edit ); 608 a->addTo( edit );
609 */ 609 */
610 610
611// a = new QAction( tr( "Find..." ), geticon( "find" ), QString::null, 0, this, 0 ); 611// a = new QAction( tr( "Find..." ), geticon( "find" ), QString::null, 0, this, 0 );
612 612
613 m_fullscreen = false; 613 m_fullscreen = false;
614 m_actFullscreen = new QAction( tr( "Fullscreen" ), geticon( "fullscreen" ), QString::null, 0, this, NULL, true ); 614 m_actFullscreen = new QAction( tr( "Fullscreen" ), geticon( "fullscreen" ), QString::null, 0, this, NULL, true );
615 connect( m_actFullscreen, SIGNAL( toggled(bool) ), this, SLOT( setfullscreen(bool) ) ); 615 connect( m_actFullscreen, SIGNAL( toggled(bool) ), this, SLOT( setfullscreen(bool) ) );
616 m_actFullscreen->setOn(m_fullscreen); 616 m_actFullscreen->setOn(m_fullscreen);
617 m_actFullscreen->addTo( view ); 617 m_actFullscreen->addTo( view );
618 618
619 view->insertSeparator(); 619 view->insertSeparator();
620 620
621 m_zoomin_action = new QAction( tr( "Zoom In" ), geticon( "zoom" ), QString::null, 0, this); 621 m_zoomin_action = new QAction( tr( "Zoom In" ), geticon( "zoom" ), QString::null, 0, this);
622 connect( m_zoomin_action, SIGNAL( activated() ), this, SLOT( zoomin() ) ); 622 connect( m_zoomin_action, SIGNAL( activated() ), this, SLOT( zoomin() ) );
623 m_zoomin_action->addTo( view ); 623 m_zoomin_action->addTo( view );
624 624
625 m_zoomout_action = new QAction( tr( "Zoom Out" ), geticon( "mag" ), QString::null, 0, this); 625 m_zoomout_action = new QAction( tr( "Zoom Out" ), geticon( "mag" ), QString::null, 0, this);
626 connect( m_zoomout_action, SIGNAL( activated() ), this, SLOT( zoomout() ) ); 626 connect( m_zoomout_action, SIGNAL( activated() ), this, SLOT( zoomout() ) );
627 m_zoomout_action->addTo( view ); 627 m_zoomout_action->addTo( view );
628 628
629 view->insertSeparator(); 629 view->insertSeparator();
630 m_setfont_action = new QAction( tr( "Set Font" ), getmyicon( "font" ), QString::null, 0, this); 630 m_setfont_action = new QAction( tr( "Set Font" ), getmyicon( "font" ), QString::null, 0, this);
631 connect( m_setfont_action, SIGNAL( activated() ), this, SLOT( setfont() ) ); 631 connect( m_setfont_action, SIGNAL( activated() ), this, SLOT( setfont() ) );
632 m_setfont_action->addTo( view ); 632 m_setfont_action->addTo( view );
633 633
634 view->insertSeparator(); 634 view->insertSeparator();
635 m_setenc_action = new QAction( tr( "Set Encoding" ), getmyicon( "charset" ), QString::null, 0, this); 635 m_setenc_action = new QAction( tr( "Set Encoding" ), getmyicon( "charset" ), QString::null, 0, this);
636 connect( m_setenc_action, SIGNAL( activated() ), this, SLOT( chooseencoding() ) ); 636 connect( m_setenc_action, SIGNAL( activated() ), this, SLOT( chooseencoding() ) );
637 m_setenc_action->addTo( view ); 637 m_setenc_action->addTo( view );
638 638
639 m_setmono_action = new QAction( tr( "Ideogram" ), getmyicon( "ideogram" ), QString::null, 0, this, NULL, true); 639 m_setmono_action = new QAction( tr( "Ideogram" ), getmyicon( "ideogram" ), QString::null, 0, this, NULL, true);
640 connect( m_setmono_action, SIGNAL( toggled(bool) ), this, SLOT( monospace(bool) ) ); 640 connect( m_setmono_action, SIGNAL( toggled(bool) ), this, SLOT( monospace(bool) ) );
641 m_setmono_action->addTo( view ); 641 m_setmono_action->addTo( view );
642 m_setmono_action->setOn(reader->m_bMonoSpaced); 642 m_setmono_action->setOn(reader->m_bMonoSpaced);
643 643
644 644
645 // a = new QAction( tr( "Zoom" ), QString::null, 0, this, NULL, true ); 645 // a = new QAction( tr( "Zoom" ), QString::null, 0, this, NULL, true );
646 // a = new QAction( tr( "Zoom" ), geticon( "mag" ), QString::null, 0, this, 0 ); 646 // a = new QAction( tr( "Zoom" ), geticon( "mag" ), QString::null, 0, this, 0 );
647 647
648 648
649 649
650 // a->addTo( filebar() ); 650 // a->addTo( filebar() );
651// view->insertSeparator(); 651// view->insertSeparator();
652 652
653/* 653/*
654 a = new QAction( tr( "Ideogram/Word" ), QString::null, 0, this, NULL, true ); 654 a = new QAction( tr( "Ideogram/Word" ), QString::null, 0, this, NULL, true );
655 connect( a, SIGNAL( toggled(bool) ), this, SLOT( monospace(bool) ) ); 655 connect( a, SIGNAL( toggled(bool) ), this, SLOT( monospace(bool) ) );
656 a->setOn(reader->m_bMonoSpaced); 656 a->setOn(reader->m_bMonoSpaced);
657 a->addTo( view ); 657 a->addTo( view );
658*/ 658*/
659/* 659/*
660 a = new QAction( tr( "Set Width" ), QString::null, 0, this, NULL); 660 a = new QAction( tr( "Set Width" ), QString::null, 0, this, NULL);
661 connect( a, SIGNAL( activated() ), this, SLOT( setspacing() ) ); 661 connect( a, SIGNAL( activated() ), this, SLOT( setspacing() ) );
662 a->addTo( view ); 662 a->addTo( view );
663*/ 663*/
664 664
665 m_mark_action = new QAction( tr( "Bookmark" ), getmyicon( "bookmark" ), QString::null, 0, this, NULL); 665 m_mark_action = new QAction( tr( "Bookmark" ), getmyicon( "bookmark" ), QString::null, 0, this, NULL);
666 connect( m_mark_action, SIGNAL( activated() ), this, SLOT( addbkmk() ) ); 666 connect( m_mark_action, SIGNAL( activated() ), this, SLOT( addbkmk() ) );
667 m_mark_action->addTo( marks ); 667 m_mark_action->addTo( marks );
668 668
669 m_annotate_action = new QAction( tr( "Annotate" ), getmyicon( "annotate" ), QString::null, 0, this, NULL); 669 m_annotate_action = new QAction( tr( "Annotate" ), getmyicon( "annotate" ), QString::null, 0, this, NULL);
670 connect( m_annotate_action, SIGNAL( activated() ), this, SLOT( addanno() ) ); 670 connect( m_annotate_action, SIGNAL( activated() ), this, SLOT( addanno() ) );
671 m_annotate_action->addTo( marks ); 671 m_annotate_action->addTo( marks );
672 672
673 m_goto_action = new QAction( tr( "Goto" ), getmyicon( "bookmark_goto" ), QString::null, 0, this, NULL, false ); 673 m_goto_action = new QAction( tr( "Goto" ), getmyicon( "bookmark_goto" ), QString::null, 0, this, NULL, false );
674 connect( m_goto_action, SIGNAL( activated() ), this, SLOT( do_gotomark() ) ); 674 connect( m_goto_action, SIGNAL( activated() ), this, SLOT( do_gotomark() ) );
675 m_goto_action->addTo( marks ); 675 m_goto_action->addTo( marks );
676 676
677 m_delete_action = new QAction( tr( "Delete" ), getmyicon( "bookmark_delete" ), QString::null, 0, this, NULL); 677 m_delete_action = new QAction( tr( "Delete" ), getmyicon( "bookmark_delete" ), QString::null, 0, this, NULL);
678 connect( m_delete_action, SIGNAL( activated() ), this, SLOT( do_delmark() ) ); 678 connect( m_delete_action, SIGNAL( activated() ), this, SLOT( do_delmark() ) );
679 m_delete_action->addTo( marks ); 679 m_delete_action->addTo( marks );
680 680
681 m_autogen_action = new QAction( tr( "Autogen" ), geticon( "exec" ), QString::null, 0, this, NULL, false ); 681 m_autogen_action = new QAction( tr( "Autogen" ), geticon( "exec" ), QString::null, 0, this, NULL, false );
682 connect( m_autogen_action, SIGNAL( activated() ), this, SLOT( do_autogen() ) ); 682 connect( m_autogen_action, SIGNAL( activated() ), this, SLOT( do_autogen() ) );
683 marks->insertSeparator(); 683 marks->insertSeparator();
684 m_autogen_action->addTo( marks ); 684 m_autogen_action->addTo( marks );
685 685
686 m_clear_action = new QAction( tr( "Clear" ), getmyicon( "bookmark_clear" ), QString::null, 0, this, NULL); 686 m_clear_action = new QAction( tr( "Clear" ), getmyicon( "bookmark_clear" ), QString::null, 0, this, NULL);
687 connect( m_clear_action, SIGNAL( activated() ), this, SLOT( clearBkmkList() ) ); 687 connect( m_clear_action, SIGNAL( activated() ), this, SLOT( clearBkmkList() ) );
688 m_clear_action->addTo( marks ); 688 m_clear_action->addTo( marks );
689 689
690 m_save_action = new QAction( tr( "Save" ), getmyicon( "bookmark_save" ), QString::null, 0, this, NULL ); 690 m_save_action = new QAction( tr( "Save" ), getmyicon( "bookmark_save" ), QString::null, 0, this, NULL );
691 connect( m_save_action, SIGNAL( activated() ), this, SLOT( savebkmks() ) ); 691 connect( m_save_action, SIGNAL( activated() ), this, SLOT( savebkmks() ) );
692 m_save_action->addTo( marks ); 692 m_save_action->addTo( marks );
693 693
694 m_tidy_action = new QAction( tr( "Tidy" ), getmyicon( "bookmark_tidy" ), QString::null, 0, this, NULL); 694 m_tidy_action = new QAction( tr( "Tidy" ), getmyicon( "bookmark_tidy" ), QString::null, 0, this, NULL);
695 connect( m_tidy_action, SIGNAL( activated() ), this, SLOT( listBkmkFiles() ) ); 695 connect( m_tidy_action, SIGNAL( activated() ), this, SLOT( listBkmkFiles() ) );
696 marks->insertSeparator(); 696 marks->insertSeparator();
697 m_tidy_action->addTo( marks ); 697 m_tidy_action->addTo( marks );
698 698
699 m_startBlock_action = new QAction( tr( "Start Block" ), geticon( "new" ), QString::null, 0, this, NULL); 699 m_startBlock_action = new QAction( tr( "Start Block" ), geticon( "new" ), QString::null, 0, this, NULL);
700 connect( m_startBlock_action, SIGNAL( activated() ), this, SLOT( editMark() ) ); 700 connect( m_startBlock_action, SIGNAL( activated() ), this, SLOT( editMark() ) );
701 marks->insertSeparator(); 701 marks->insertSeparator();
702 m_startBlock_action->addTo( marks ); 702 m_startBlock_action->addTo( marks );
703 703
704 m_endBlock_action = new QAction( tr( "Copy Block" ), geticon( "copy" ), QString::null, 0, this, NULL); 704 m_endBlock_action = new QAction( tr( "Copy Block" ), geticon( "copy" ), QString::null, 0, this, NULL);
705 connect( m_endBlock_action, SIGNAL( activated() ), this, SLOT( editCopy() ) ); 705 connect( m_endBlock_action, SIGNAL( activated() ), this, SLOT( editCopy() ) );
706 m_endBlock_action->addTo( marks ); 706 m_endBlock_action->addTo( marks );
707 707
708 m_bkmkAvail = NULL; 708 m_bkmkAvail = NULL;
709 709
710 710
711 setToolBarsMovable(m_tbmove); 711 setToolBarsMovable(m_tbmove);
712 addtoolbars(&config); 712 addtoolbars(&config);
713 713
714 pbar = new QProgressBar(this); 714 pbar = new QProgressBar(this);
715 pbar->hide(); 715 pbar->hide();
716 716
717 searchBar = new QFloatBar( "Search", this, QMainWindow::Top, TRUE ); 717 searchBar = new QFloatBar( "Search", this, QMainWindow::Top, TRUE );
718 718
719 searchBar->setHorizontalStretchable( TRUE ); 719 searchBar->setHorizontalStretchable( TRUE );
720 720
721 connect(searchBar, SIGNAL( OnHide() ), this, SLOT( restoreFocus() )); 721 connect(searchBar, SIGNAL( OnHide() ), this, SLOT( restoreFocus() ));
722 722
723 searchEdit = new QLineEdit( searchBar, "searchEdit" ); 723 searchEdit = new QLineEdit( searchBar, "searchEdit" );
724// QFont f("unifont", 16 /*, QFont::Bold*/); 724// QFont f("unifont", 16 /*, QFont::Bold*/);
725// searchEdit->setFont( f ); 725// searchEdit->setFont( f );
726 searchBar->setStretchableWidget( searchEdit ); 726 searchBar->setStretchableWidget( searchEdit );
727 727
728 728
729#ifdef __ISEARCH 729#ifdef __ISEARCH
730 connect( searchEdit, SIGNAL( textChanged( const QString & ) ), 730 connect( searchEdit, SIGNAL( textChanged( const QString & ) ),
731 this, SLOT( search( const QString& ) ) ); 731 this, SLOT( search( const QString& ) ) );
732#else 732#else
733 connect( searchEdit, SIGNAL( returnPressed( ) ), 733 connect( searchEdit, SIGNAL( returnPressed( ) ),
734 this, SLOT( search( ) ) ); 734 this, SLOT( search( ) ) );
735#endif 735#endif
736 QAction*a = new QAction( tr( "Find Next" ), geticon( "next" ), QString::null, 0, this, 0 ); 736 QAction*a = new QAction( tr( "Find Next" ), geticon( "next" ), QString::null, 0, this, 0 );
737 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) ); 737 connect( a, SIGNAL( activated() ), this, SLOT( findNext() ) );
738 a->addTo( searchBar ); 738 a->addTo( searchBar );
739 739
740 a = new QAction( tr( "Close Find" ), geticon( "close" ), QString::null, 0, this, 0 ); 740 a = new QAction( tr( "Close Find" ), geticon( "close" ), QString::null, 0, this, 0 );
741 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) ); 741 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) );
742 a->addTo( searchBar ); 742 a->addTo( searchBar );
743 743
744 searchBar->hide(); 744 searchBar->hide();
745 745
746 regBar = new QFloatBar( "Autogen", this, QMainWindow::Top, TRUE ); 746 regBar = new QFloatBar( "Autogen", this, QMainWindow::Top, TRUE );
747 connect(regBar, SIGNAL( OnHide() ), this, SLOT( restoreFocus() )); 747 connect(regBar, SIGNAL( OnHide() ), this, SLOT( restoreFocus() ));
748 748
749 regBar->setHorizontalStretchable( TRUE ); 749 regBar->setHorizontalStretchable( TRUE );
750 750
751 regEdit = new QLineEdit( regBar, "regEdit" ); 751 regEdit = new QLineEdit( regBar, "regEdit" );
752// regEdit->setFont( f ); 752// regEdit->setFont( f );
753 753
754 regBar->setStretchableWidget( regEdit ); 754 regBar->setStretchableWidget( regEdit );
755 755
756 connect( regEdit, SIGNAL( returnPressed( ) ), 756 connect( regEdit, SIGNAL( returnPressed( ) ),
757 this, SLOT( do_regaction() ) ); 757 this, SLOT( do_regaction() ) );
758 758
759 a = new QAction( tr( "Do Reg" ), geticon( "enter" ), QString::null, 0, this, 0 ); 759 a = new QAction( tr( "Do Reg" ), geticon( "enter" ), QString::null, 0, this, 0 );
760 connect( a, SIGNAL( activated() ), this, SLOT( do_regaction() ) ); 760 connect( a, SIGNAL( activated() ), this, SLOT( do_regaction() ) );
761 a->addTo( regBar ); 761 a->addTo( regBar );
762 762
763 a = new QAction( tr( "Close Edit" ), geticon( "close" ), QString::null, 0, this, 0 ); 763 a = new QAction( tr( "Close Edit" ), geticon( "close" ), QString::null, 0, this, 0 );
764 connect( a, SIGNAL( activated() ), this, SLOT( regClose() ) ); 764 connect( a, SIGNAL( activated() ), this, SLOT( regClose() ) );
765 a->addTo( regBar ); 765 a->addTo( regBar );
766 766
767 regBar->hide(); 767 regBar->hide();
768 768
769 m_fontBar = new QToolBar( "Autogen", this, QMainWindow::Top, TRUE ); 769 m_fontBar = new QToolBar( "Autogen", this, QMainWindow::Top, TRUE );
770 770
771 m_fontBar->setHorizontalStretchable( TRUE ); 771 m_fontBar->setHorizontalStretchable( TRUE );
772 772
773// qDebug("Font selector"); 773// qDebug("Font selector");
774 m_fontSelector = new QComboBox(false, m_fontBar); 774 m_fontSelector = new QComboBox(false, m_fontBar);
775 m_fontBar->setStretchableWidget( m_fontSelector ); 775 m_fontBar->setStretchableWidget( m_fontSelector );
776 { 776 {
777#ifndef USEQPE 777#ifndef USEQPE
778 QFontDatabase f; 778 QFontDatabase f;
779#else 779#else
780 FontDatabase f; 780 FontDatabase f;
781#endif 781#endif
782 QStringList flist = f.families(); 782 QStringList flist = f.families();
783 bool realfont = false; 783 bool realfont = false;
784 for (QStringList::Iterator nm = flist.begin(); nm != flist.end(); nm++) 784 for (QStringList::Iterator nm = flist.begin(); nm != flist.end(); nm++)
785 { 785 {
786 if (reader->m_fontname == *nm) 786 if (reader->m_fontname == *nm)
787 { 787 {
788 realfont = true; 788 realfont = true;
789 } 789 }
790 if ((*nm).contains(FIXEDFONT,false)) reader->m_fontControl.hasCourier(true, *nm); 790 if ((*nm).contains(FIXEDFONT,false)) reader->m_fontControl.hasCourier(true, *nm);
791 } 791 }
792 if (!realfont) reader->m_fontname = flist[0]; 792 if (!realfont) reader->m_fontname = flist[0];
793 } // delete the FontDatabase!!! 793 } // delete the FontDatabase!!!
794 connect( m_fontSelector, SIGNAL( activated(const QString& ) ), 794 connect( m_fontSelector, SIGNAL( activated(const QString& ) ),
795 this, SLOT( do_setfont(const QString&) ) ); 795 this, SLOT( do_setfont(const QString&) ) );
796 connect( m_fontSelector, SIGNAL( activated(int ) ), 796 connect( m_fontSelector, SIGNAL( activated(int ) ),
797 this, SLOT( do_setencoding(int) ) ); 797 this, SLOT( do_setencoding(int) ) );
798 798
799 m_fontBar->hide(); 799 m_fontBar->hide();
800 m_fontVisible = false; 800 m_fontVisible = false;
801#ifdef USEMSGS 801#ifdef USEMSGS
802 connect(qApp, SIGNAL( appMessage(const QCString&, const QByteArray& ) ), 802 connect(qApp, SIGNAL( appMessage(const QCString&, const QByteArray& ) ),
803 this, SLOT( msgHandler(const QCString&, const QByteArray&) ) ); 803 this, SLOT( msgHandler(const QCString&, const QByteArray&) ) );
804#endif 804#endif
805// qDebug("Initing"); 805// qDebug("Initing");
806 reader->init(); 806 reader->init();
807// qDebug("Inited"); 807// qDebug("Inited");
808// m_buttonAction[m_spaceTarget]->setOn(true); 808// m_buttonAction[m_spaceTarget]->setOn(true);
809// qDebug("fonting"); 809// qDebug("fonting");
810 do_setfont(reader->m_fontname); 810 do_setfont(reader->m_fontname);
811 if (!reader->m_lastfile.isEmpty()) 811 if (!reader->m_lastfile.isEmpty())
812 { 812 {
813 //qDebug("doclnk"); 813 //qDebug("doclnk");
814 //doc = new DocLnk(reader->m_lastfile); 814 //doc = new DocLnk(reader->m_lastfile);
815 //qDebug("doclnk done"); 815 //qDebug("doclnk done");
816 if (pOpenlist != NULL) 816 if (pOpenlist != NULL)
817 { 817 {
818 818
819/* 819/*
820 int ind = 0; 820 int ind = 0;
821 Bkmk* p = (*pOpenlist)[ind]; 821 Bkmk* p = (*pOpenlist)[ind];
822 while (p != NULL && toQString(CFiledata(p->anno()).name()) != reader->m_lastfile) 822 while (p != NULL && toQString(CFiledata(p->anno()).name()) != reader->m_lastfile)
823 { 823 {
824 p = (*pOpenlist)[++ind]; 824 p = (*pOpenlist)[++ind];
825 } 825 }
826*/ 826*/
827 Bkmk* p = NULL; 827 Bkmk* p = NULL;
828 for (CList<Bkmk>::iterator iter = pOpenlist->begin(); iter != pOpenlist->end(); iter++) 828 for (CList<Bkmk>::iterator iter = pOpenlist->begin(); iter != pOpenlist->end(); iter++)
829 { 829 {
830 p = iter.pContent(); 830 p = iter.pContent();
831 if (toQString(CFiledata(p->anno()).name()) == reader->m_lastfile) 831 if (toQString(CFiledata(p->anno()).name()) == reader->m_lastfile)
832 { 832 {
833 break; 833 break;
834 } 834 }
835 // qDebug("Item:%s", (const char*)toQString(CFiledata(p->anno()).name())); 835 // qDebug("Item:%s", (const char*)toQString(CFiledata(p->anno()).name()));
836 p = NULL; 836 p = NULL;
837 } 837 }
838 if (p != NULL) 838 if (p != NULL)
839 { 839 {
840 //qDebug("openfrombkmk"); 840 //qDebug("openfrombkmk");
841 if (!openfrombkmk(p)) 841 if (!openfrombkmk(p))
842 showEditTools(); 842 showEditTools();
843 } 843 }
844 else 844 else
845 { 845 {
846 //qDebug("openfile"); 846 //qDebug("openfile");
847 openFile( reader->m_lastfile ); 847 openFile( reader->m_lastfile );
848 } 848 }
849 } 849 }
850 else 850 else
851 { 851 {
852 // qDebug("Openfile 2"); 852 // qDebug("Openfile 2");
853 if (!reader->m_lastfile.isEmpty()) 853 if (!reader->m_lastfile.isEmpty())
854 openFile( reader->m_lastfile ); 854 openFile( reader->m_lastfile );
855 } 855 }
856 } 856 }
857 else 857 else
858 { 858 {
859 showEditTools(); 859 showEditTools();
860 } 860 }
861// qApp->processEvents(); 861// qApp->processEvents();
862 reader->bDoUpdates = true; 862 reader->bDoUpdates = true;
863 reader->update(); 863 reader->update();
864 config.setGroup("Version"); 864 config.setGroup("Version");
865 int major = config.readNumEntry("Major", 0); 865 int major = config.readNumEntry("Major", 0);
866 int bkmktype = config.readNumEntry("BkmkType", 0); 866 int bkmktype = config.readNumEntry("BkmkType", 0);
867 char minor = config.readNumEntry("Minor", 0); 867 char minor = config.readNumEntry("Minor", 0);
868 if (CheckVersion(major, bkmktype, minor)) 868 if (CheckVersion(major, bkmktype, minor))
869 { 869 {
870 config.writeEntry("Major", major); 870 config.writeEntry("Major", major);
871 config.writeEntry("BkmkType", bkmktype); 871 config.writeEntry("BkmkType", bkmktype);
872 config.writeEntry("Minor", (int)minor); 872 config.writeEntry("Minor", (int)minor);
873 } 873 }
874// qDebug("finished update"); 874// qDebug("finished update");
875} 875}
876 876
877void QTReaderApp::addtoolbars(Config* config) 877void QTReaderApp::addtoolbars(Config* config)
878{ 878{
879 config->setGroup("Toolbar"); 879 config->setGroup("Toolbar");
880 880
881 if (fileBar != NULL) 881 if (fileBar != NULL)
882 { 882 {
883 if (fileBar != menubar) 883 if (fileBar != menubar)
884 { 884 {
885 fileBar->clear(); 885 fileBar->clear();
886 } 886 }
887 else 887 else
888 { 888 {
889 m_preferences_action->removeFrom( filebar() ); 889 m_preferences_action->removeFrom( filebar() );
890 m_open_action->removeFrom( filebar() ); 890 m_open_action->removeFrom( filebar() );
891 m_close_action->removeFrom( filebar() ); 891 m_close_action->removeFrom( filebar() );
892 m_info_action->removeFrom( filebar() ); 892 m_info_action->removeFrom( filebar() );
893 m_touch_action->removeFrom( filebar() ); 893 m_touch_action->removeFrom( filebar() );
894 m_find_action->removeFrom( filebar() ); 894 m_find_action->removeFrom( filebar() );
895 } 895 }
896 } 896 }
897 897
898 m_preferences_action->addTo( filebar() ); 898 m_preferences_action->addTo( filebar() );
899 addfilebar(config, "Open", m_open_action); 899 addfilebar(config, "Open", m_open_action);
900 addfilebar(config, "Close", m_close_action); 900 addfilebar(config, "Close", m_close_action);
901 addfilebar(config, "Info", m_info_action); 901 addfilebar(config, "Info", m_info_action);
902 addfilebar(config, "Two/One Touch", m_touch_action); 902 addfilebar(config, "Two/One Touch", m_touch_action);
903 addfilebar(config, "Find", m_find_action); 903 addfilebar(config, "Find", m_find_action);
904 904
905 if (navBar != NULL) 905 if (navBar != NULL)
906 { 906 {
907 if ((navBar == fileBar) && (fileBar == menubar)) 907 if ((navBar == fileBar) && (fileBar == menubar))
908 { 908 {
909 m_scrollButton->removeFrom( navbar() ); 909 m_scrollButton->removeFrom( navbar() );
910 m_start_action->removeFrom( navbar() ); 910 m_start_action->removeFrom( navbar() );
911 m_end_action->removeFrom( navbar() ); 911 m_end_action->removeFrom( navbar() );
912 m_jump_action->removeFrom( navbar() ); 912 m_jump_action->removeFrom( navbar() );
913 m_pageline_action->removeFrom( navbar() ); 913 m_pageline_action->removeFrom( navbar() );
914 m_pageup_action->removeFrom( navbar() ); 914 m_pageup_action->removeFrom( navbar() );
915 m_pagedn_action->removeFrom( navbar() ); 915 m_pagedn_action->removeFrom( navbar() );
916 m_back_action->removeFrom( navbar() ); 916 m_back_action->removeFrom( navbar() );
917 m_home_action->removeFrom( navbar() ); 917 m_home_action->removeFrom( navbar() );
918 m_forward_action->removeFrom( navbar() ); 918 m_forward_action->removeFrom( navbar() );
919 } 919 }
920 else if (navBar != fileBar) 920 else if (navBar != fileBar)
921 { 921 {
922 navBar->clear(); 922 navBar->clear();
923 } 923 }
924 } 924 }
925 925
926 addnavbar(config, "Scroll", m_scrollButton); 926 addnavbar(config, "Scroll", m_scrollButton);
927 addnavbar(config, "Goto Start", m_start_action); 927 addnavbar(config, "Goto Start", m_start_action);
928 addnavbar(config, "Goto End", m_end_action); 928 addnavbar(config, "Goto End", m_end_action);
929 929
930 addnavbar(config, "Jump", m_jump_action); 930 addnavbar(config, "Jump", m_jump_action);
931 addnavbar(config, "Page/Line Scroll", m_pageline_action); 931 addnavbar(config, "Page/Line Scroll", m_pageline_action);
932 932
933 addnavbar(config, "Page Up", m_pageup_action); 933 addnavbar(config, "Page Up", m_pageup_action);
934 addnavbar(config, "Page Down", m_pagedn_action); 934 addnavbar(config, "Page Down", m_pagedn_action);
935 935
936 addnavbar(config, "Back", m_back_action); 936 addnavbar(config, "Back", m_back_action);
937 addnavbar(config, "Home", m_home_action); 937 addnavbar(config, "Home", m_home_action);
938 addnavbar(config, "Forward", m_forward_action); 938 addnavbar(config, "Forward", m_forward_action);
939 939
940 if (viewBar != NULL) 940 if (viewBar != NULL)
941 { 941 {
942 if ((viewBar == fileBar) && (fileBar == menubar)) 942 if ((viewBar == fileBar) && (fileBar == menubar))
943 { 943 {
944 m_actFullscreen->removeFrom( filebar() ); 944 m_actFullscreen->removeFrom( filebar() );
945 m_zoomin_action->removeFrom( viewbar() ); 945 m_zoomin_action->removeFrom( viewbar() );
946 m_zoomout_action->removeFrom( viewbar() ); 946 m_zoomout_action->removeFrom( viewbar() );
947 m_setfont_action->removeFrom( viewbar() ); 947 m_setfont_action->removeFrom( viewbar() );
948 m_setenc_action->removeFrom( viewbar() ); 948 m_setenc_action->removeFrom( viewbar() );
949 m_setmono_action->removeFrom( viewbar() ); 949 m_setmono_action->removeFrom( viewbar() );
950 } 950 }
951 else if (viewBar != fileBar) 951 else if (viewBar != fileBar)
952 { 952 {
953 viewBar->clear(); 953 viewBar->clear();
954 } 954 }
955 } 955 }
956 956
957 addviewbar(config, "Fullscreen", m_actFullscreen); 957 addviewbar(config, "Fullscreen", m_actFullscreen);
958 addviewbar(config, "Zoom In", m_zoomin_action); 958 addviewbar(config, "Zoom In", m_zoomin_action);
959 addviewbar(config, "Zoom Out", m_zoomout_action); 959 addviewbar(config, "Zoom Out", m_zoomout_action);
960 addviewbar(config, "Set Font", m_setfont_action); 960 addviewbar(config, "Set Font", m_setfont_action);
961 addviewbar(config, "Encoding Select", m_setenc_action); 961 addviewbar(config, "Encoding Select", m_setenc_action);
962 addviewbar(config, "Ideogram Mode", m_setmono_action); 962 addviewbar(config, "Ideogram Mode", m_setmono_action);
963 963
964 if (markBar != NULL) 964 if (markBar != NULL)
965 { 965 {
966 if ((markBar == fileBar) && (fileBar == menubar)) 966 if ((markBar == fileBar) && (fileBar == menubar))
967 { 967 {
968 m_mark_action->removeFrom( markbar() ); 968 m_mark_action->removeFrom( markbar() );
969 m_annotate_action->removeFrom( markbar()); 969 m_annotate_action->removeFrom( markbar());
970 m_goto_action->removeFrom( markbar() ); 970 m_goto_action->removeFrom( markbar() );
971 m_delete_action->removeFrom( markbar() ); 971 m_delete_action->removeFrom( markbar() );
972 m_autogen_action->removeFrom( markbar() ); 972 m_autogen_action->removeFrom( markbar() );
973 m_clear_action->removeFrom( markbar() ); 973 m_clear_action->removeFrom( markbar() );
974 m_save_action->removeFrom( markbar() ); 974 m_save_action->removeFrom( markbar() );
975 m_tidy_action->removeFrom( markbar() ); 975 m_tidy_action->removeFrom( markbar() );
976 m_startBlock_action->removeFrom( markbar() ); 976 m_startBlock_action->removeFrom( markbar() );
977 m_endBlock_action->removeFrom( markbar() ); 977 m_endBlock_action->removeFrom( markbar() );
978 } 978 }
979 else if (markBar != fileBar) 979 else if (markBar != fileBar)
980 { 980 {
981 markBar->clear(); 981 markBar->clear();
982 } 982 }
983 } 983 }
984 addmarkbar(config, "Mark", m_mark_action); 984 addmarkbar(config, "Mark", m_mark_action);
985 addmarkbar(config, "Annotate", m_annotate_action); 985 addmarkbar(config, "Annotate", m_annotate_action);
986 addmarkbar(config, "Goto", m_goto_action); 986 addmarkbar(config, "Goto", m_goto_action);
987 addmarkbar(config, "Delete", m_delete_action); 987 addmarkbar(config, "Delete", m_delete_action);
988 addmarkbar(config, "Autogen", m_autogen_action); 988 addmarkbar(config, "Autogen", m_autogen_action);
989 addmarkbar(config, "Clear", m_clear_action); 989 addmarkbar(config, "Clear", m_clear_action);
990 addmarkbar(config, "Save", m_save_action); 990 addmarkbar(config, "Save", m_save_action);
991 addmarkbar(config, "Tidy", m_tidy_action); 991 addmarkbar(config, "Tidy", m_tidy_action);
992 addmarkbar(config, "Start Block", m_startBlock_action); 992 addmarkbar(config, "Start Block", m_startBlock_action);
993 addmarkbar(config, "Copy Block", m_endBlock_action); 993 addmarkbar(config, "Copy Block", m_endBlock_action);
994 if (checkbar(config, "Annotation indicator")) 994 if (checkbar(config, "Annotation indicator"))
995 { 995 {
996 if (m_bkmkAvail == NULL) 996 if (m_bkmkAvail == NULL)
997 { 997 {
998 m_bkmkAvail = new QAction( tr( "Annotation" ), geticon( "find" ), QString::null, 0, this, 0 ); 998 m_bkmkAvail = new QAction( tr( "Annotation" ), geticon( "find" ), QString::null, 0, this, 0 );
999 connect( m_bkmkAvail, SIGNAL( activated() ), this, SLOT( showAnnotation() ) ); 999 connect( m_bkmkAvail, SIGNAL( activated() ), this, SLOT( showAnnotation() ) );
1000 1000
1001 m_bkmkAvail->setEnabled(false); 1001 m_bkmkAvail->setEnabled(false);
1002 } 1002 }
1003 QLabel *spacer = new QLabel(markBar, ""); 1003 QLabel *spacer = new QLabel(markBar, "");
1004 markbar()->setStretchableWidget(spacer); 1004 markbar()->setStretchableWidget(spacer);
1005 m_bkmkAvail->removeFrom( markbar() ); 1005 m_bkmkAvail->removeFrom( markbar() );
1006 m_bkmkAvail->addTo( markbar() ); 1006 m_bkmkAvail->addTo( markbar() );
1007 } 1007 }
1008 else 1008 else
1009 { 1009 {
1010 if (m_bkmkAvail != NULL) 1010 if (m_bkmkAvail != NULL)
1011 { 1011 {
1012 m_bkmkAvail->removeFrom( markbar() ); 1012 m_bkmkAvail->removeFrom( markbar() );
1013 delete m_bkmkAvail; 1013 delete m_bkmkAvail;
1014 m_bkmkAvail = NULL; 1014 m_bkmkAvail = NULL;
1015 } 1015 }
1016 } 1016 }
1017} 1017}
1018 1018
1019bool QTReaderApp::checkbar(Config* _config, const QString& key) 1019bool QTReaderApp::checkbar(Config* _config, const QString& key)
1020{ 1020{
1021 return _config->readBoolEntry(key, false); 1021 return _config->readBoolEntry(key, false);
1022} 1022}
1023 1023
1024 1024
1025QToolBar* QTReaderApp::filebar() 1025QToolBar* QTReaderApp::filebar()
1026{ 1026{
1027 if (fileBar == NULL) 1027 if (fileBar == NULL)
1028 { 1028 {
1029 switch (m_tbpol) 1029 switch (m_tbpol)
1030 { 1030 {
1031 case cesSingle: 1031 case cesSingle:
1032 // qDebug("Setting filebar to menubar"); 1032 // qDebug("Setting filebar to menubar");
1033 fileBar = menubar; 1033 fileBar = menubar;
1034 break; 1034 break;
1035 default: 1035 default:
1036 qDebug("Incorrect toolbar policy set"); 1036 qDebug("Incorrect toolbar policy set");
1037 case cesMenuTool: 1037 case cesMenuTool:
1038 case cesMultiple: 1038 case cesMultiple:
1039 // qDebug("Creating new file bar"); 1039 // qDebug("Creating new file bar");
1040 fileBar = new QToolBar("File", this, m_tbposition); 1040 fileBar = new QToolBar("File", this, m_tbposition);
1041 break; 1041 break;
1042 } 1042 }
1043 //fileBar->setHorizontalStretchable( true ); 1043 //fileBar->setHorizontalStretchable( true );
1044 } 1044 }
1045 return fileBar; 1045 return fileBar;
1046} 1046}
1047QToolBar* QTReaderApp::viewbar() 1047QToolBar* QTReaderApp::viewbar()
1048{ 1048{
1049 if (viewBar == NULL) 1049 if (viewBar == NULL)
1050 { 1050 {
1051 switch (m_tbpol) 1051 switch (m_tbpol)
1052 { 1052 {
1053 case cesMultiple: 1053 case cesMultiple:
1054 viewBar = new QToolBar("View", this, m_tbposition); 1054 viewBar = new QToolBar("View", this, m_tbposition);
1055 break; 1055 break;
1056 default: 1056 default:
1057 qDebug("Incorrect toolbar policy set"); 1057 qDebug("Incorrect toolbar policy set");
1058 case cesSingle: 1058 case cesSingle:
1059 case cesMenuTool: 1059 case cesMenuTool:
1060 viewBar = fileBar; 1060 viewBar = fileBar;
1061 break; 1061 break;
1062 } 1062 }
1063 } 1063 }
1064 return viewBar; 1064 return viewBar;
1065} 1065}
1066QToolBar* QTReaderApp::navbar() 1066QToolBar* QTReaderApp::navbar()
1067{ 1067{
1068 if (navBar == NULL) 1068 if (navBar == NULL)
1069 { 1069 {
1070 switch (m_tbpol) 1070 switch (m_tbpol)
1071 { 1071 {
1072 case cesMultiple: 1072 case cesMultiple:
1073 // qDebug("Creating new nav bar"); 1073 // qDebug("Creating new nav bar");
1074 navBar = new QToolBar("Navigation", this, m_tbposition); 1074 navBar = new QToolBar("Navigation", this, m_tbposition);
1075 break; 1075 break;
1076 default: 1076 default:
1077 qDebug("Incorrect toolbar policy set"); 1077 qDebug("Incorrect toolbar policy set");
1078 case cesSingle: 1078 case cesSingle:
1079 case cesMenuTool: 1079 case cesMenuTool:
1080 navBar = fileBar; 1080 navBar = fileBar;
1081 // qDebug("Setting navbar to filebar"); 1081 // qDebug("Setting navbar to filebar");
1082 break; 1082 break;
1083 } 1083 }
1084 } 1084 }
1085 return navBar; 1085 return navBar;
1086} 1086}
1087QToolBar* QTReaderApp::markbar() 1087QToolBar* QTReaderApp::markbar()
1088{ 1088{
1089 if (markBar == NULL) 1089 if (markBar == NULL)
1090 { 1090 {
1091 switch (m_tbpol) 1091 switch (m_tbpol)
1092 { 1092 {
1093 case cesMultiple: 1093 case cesMultiple:
1094 markBar = new QToolBar("Marks", this, m_tbposition); 1094 markBar = new QToolBar("Marks", this, m_tbposition);
1095 break; 1095 break;
1096 default: 1096 default:
1097 qDebug("Incorrect toolbar policy set"); 1097 qDebug("Incorrect toolbar policy set");
1098 case cesSingle: 1098 case cesSingle:
1099 case cesMenuTool: 1099 case cesMenuTool:
1100 markBar = fileBar; 1100 markBar = fileBar;
1101 break; 1101 break;
1102 } 1102 }
1103 } 1103 }
1104 return markBar; 1104 return markBar;
1105} 1105}
1106 1106
1107void QTReaderApp::addfilebar(Config* _config, const QString& key, QAction* a) 1107void QTReaderApp::addfilebar(Config* _config, const QString& key, QAction* a)
1108{ 1108{
1109 if (_config->readBoolEntry(key, false)) a->addTo( filebar() ); 1109 if (_config->readBoolEntry(key, false)) a->addTo( filebar() );
1110} 1110}
1111void QTReaderApp::addnavbar(Config* _config, const QString& key, QAction* a) 1111void QTReaderApp::addnavbar(Config* _config, const QString& key, QAction* a)
1112{ 1112{
1113 if (_config->readBoolEntry(key, false)) a->addTo( navbar() ); 1113 if (_config->readBoolEntry(key, false)) a->addTo( navbar() );
1114} 1114}
1115void QTReaderApp::addmarkbar(Config* _config, const QString& key, QAction* a) 1115void QTReaderApp::addmarkbar(Config* _config, const QString& key, QAction* a)
1116{ 1116{
1117 if (_config->readBoolEntry(key, false)) a->addTo( markbar() ); 1117 if (_config->readBoolEntry(key, false)) a->addTo( markbar() );
1118} 1118}
1119void QTReaderApp::addviewbar(Config* _config, const QString& key, QAction* a) 1119void QTReaderApp::addviewbar(Config* _config, const QString& key, QAction* a)
1120{ 1120{
1121 if (_config->readBoolEntry(key, false)) a->addTo( viewbar() ); 1121 if (_config->readBoolEntry(key, false)) a->addTo( viewbar() );
1122} 1122}
1123 1123
1124void QTReaderApp::suspend() { reader->suspend(); } 1124void QTReaderApp::suspend() { reader->suspend(); }
1125 1125
1126#ifdef USEMSGS 1126#ifdef USEMSGS
1127void QTReaderApp::msgHandler(const QCString& _msg, const QByteArray& _data) 1127void QTReaderApp::msgHandler(const QCString& _msg, const QByteArray& _data)
1128{ 1128{
1129 QString msg = QString::fromUtf8(_msg); 1129 QString msg = QString::fromUtf8(_msg);
1130 1130
1131//// qDebug("Received:%s", (const char*)msg); 1131//// qDebug("Received:%s", (const char*)msg);
1132 1132
1133 QDataStream stream( _data, IO_ReadOnly ); 1133 QDataStream stream( _data, IO_ReadOnly );
1134 if ( msg == "info(QString)" ) 1134 if ( msg == "info(QString)" )
1135 { 1135 {
1136 QString info; 1136 QString info;
1137 stream >> info; 1137 stream >> info;
1138 QMessageBox::information(this, PROGNAME, info); 1138 QMessageBox::information(this, PROGNAME, info);
1139 } 1139 }
1140 else if ( msg == "Update(int)" ) 1140 else if ( msg == "Update(int)" )
1141 { 1141 {
1142 int info; 1142 int info;
1143 stream >> info; 1143 stream >> info;
1144 if (info) 1144 if (info)
1145 { 1145 {
1146 reader->bDoUpdates = true; 1146 reader->bDoUpdates = true;
1147 reader->refresh(); 1147 reader->refresh();
1148 } 1148 }
1149 else 1149 else
1150 { 1150 {
1151 reader->bDoUpdates = false; 1151 reader->bDoUpdates = false;
1152 } 1152 }
1153 } 1153 }
1154 else if ( msg == "warn(QString)" ) 1154 else if ( msg == "warn(QString)" )
1155 { 1155 {
1156 QString info; 1156 QString info;
1157 stream >> info; 1157 stream >> info;
1158 QMessageBox::warning(this, PROGNAME, info); 1158 QMessageBox::warning(this, PROGNAME, info);
1159 } 1159 }
1160 else if ( msg == "exit()" ) 1160 else if ( msg == "exit()" )
1161 { 1161 {
1162 m_dontSave = true; 1162 m_dontSave = true;
1163 close(); 1163 close();
1164 } 1164 }
1165 else if ( msg == "pageDown()" ) 1165 else if ( msg == "pageDown()" )
1166 { 1166 {
1167 reader->dopagedn(); 1167 reader->dopagedn();
1168 } 1168 }
1169 else if ( msg == "pageUp()" ) 1169 else if ( msg == "pageUp()" )
1170 { 1170 {
1171 reader->dopageup(); 1171 reader->dopageup();
1172 } 1172 }
1173 else if ( msg == "lineDown()" ) 1173 else if ( msg == "lineDown()" )
1174 { 1174 {
1175 reader->lineDown(); 1175 reader->lineDown();
1176 } 1176 }
1177 else if ( msg == "lineUp()" ) 1177 else if ( msg == "lineUp()" )
1178 { 1178 {
1179 reader->lineUp(); 1179 reader->lineUp();
1180 } 1180 }
1181 else if ( msg == "showText()" ) 1181 else if ( msg == "showText()" )
1182 { 1182 {
1183 showEditTools(); 1183 showEditTools();
1184 } 1184 }
1185 else if ( msg == "home()" ) 1185 else if ( msg == "home()" )
1186 { 1186 {
1187 reader->goHome(); 1187 reader->goHome();
1188 } 1188 }
1189 else if ( msg == "back()" ) 1189 else if ( msg == "back()" )
1190 { 1190 {
1191 reader->goBack(); 1191 reader->goBack();
1192 } 1192 }
1193 else if ( msg == "forward()" ) 1193 else if ( msg == "forward()" )
1194 { 1194 {
1195 reader->goForward(); 1195 reader->goForward();
1196 } 1196 }
1197 else if ( msg == "File/Open(QString)" ) 1197 else if ( msg == "File/Open(QString)" )
1198 { 1198 {
1199 QString info; 1199 QString info;
1200 stream >> info; 1200 stream >> info;
1201 openFile( info ); 1201 openFile( info );
1202 } 1202 }
1203 else if ( msg == "File/Info()" ) 1203 else if ( msg == "File/Info()" )
1204 { 1204 {
1205 showinfo(); 1205 showinfo();
1206 } 1206 }
1207 else if ( msg == "File/Action(QString)" ) 1207 else if ( msg == "File/Action(QString)" )
1208 { 1208 {
1209 QString info; 1209 QString info;
1210 stream >> info; 1210 stream >> info;
1211 m_spaceTarget = ActNameToInt(info); 1211 m_spaceTarget = ActNameToInt(info);
1212 } 1212 }
1213 else if ( msg == "Navigation/Scroll(int)" ) 1213 else if ( msg == "Navigation/Scroll(int)" )
1214 { 1214 {
1215 int info; 1215 int info;
1216 stream >> info; 1216 stream >> info;
1217 autoScroll(info); 1217 autoScroll(info);
1218 } 1218 }
1219 1219
1220 else if ( msg == "Navigation/GotoStart()" ) 1220 else if ( msg == "Navigation/GotoStart()" )
1221 { 1221 {
1222 gotoStart(); 1222 gotoStart();
1223 } 1223 }
1224 else if ( msg == "Navigation/GotoEnd()" ) 1224 else if ( msg == "Navigation/GotoEnd()" )
1225 { 1225 {
1226 gotoEnd(); 1226 gotoEnd();
1227 } 1227 }
1228 else if ( msg == "Navigation/Jump(int)" ) 1228 else if ( msg == "Navigation/Jump(int)" )
1229 { 1229 {
1230 int info; 1230 int info;
1231 stream >> info; 1231 stream >> info;
1232 reader->locate(info); 1232 reader->locate(info);
1233 } 1233 }
1234 else if ( msg == "Navigation/Page/LineScroll(int)" ) 1234 else if ( msg == "Navigation/Page/LineScroll(int)" )
1235 { 1235 {
1236 int info; 1236 int info;
1237 stream >> info; 1237 stream >> info;
1238 pagemode(info); 1238 pagemode(info);
1239 } 1239 }
1240 else if ( msg == "Navigation/SetOverlap(int)" ) 1240 else if ( msg == "Navigation/SetOverlap(int)" )
1241 { 1241 {
1242 int info; 1242 int info;
1243 stream >> info; 1243 stream >> info;
1244 reader->m_overlap = info; 1244 reader->m_overlap = info;
1245 } 1245 }
1246 else if ( msg == "Navigation/SetMargin(int)" ) 1246 else if ( msg == "Navigation/SetMargin(int)" )
1247 { 1247 {
1248 int info; 1248 int info;
1249 stream >> info; 1249 stream >> info;
1250 do_margin(info); 1250 do_margin(info);
1251 } 1251 }
1252 else if ( msg == "File/SetDictionary(QString)" ) 1252 else if ( msg == "File/SetDictionary(QString)" )
1253 { 1253 {
1254 QString info; 1254 QString info;
1255 stream >> info; 1255 stream >> info;
1256 do_settarget(info); 1256 do_settarget(info);
1257 } 1257 }
1258#ifdef _SCROLLPIPE 1258#ifdef _SCROLLPIPE
1259 else if ( msg == "File/SetScrollTarget(QString)" ) 1259 else if ( msg == "File/SetScrollTarget(QString)" )
1260 { 1260 {
1261 QString info; 1261 QString info;
1262 stream >> info; 1262 stream >> info;
1263 reader->m_pipetarget = info; 1263 reader->m_pipetarget = info;
1264 } 1264 }
1265#endif 1265#endif
1266 else if ( msg == "File/Two/OneTouch(int)" ) 1266 else if ( msg == "File/Two/OneTouch(int)" )
1267 { 1267 {
1268 int info; 1268 int info;
1269 stream >> info; 1269 stream >> info;
1270 setTwoTouch(info); 1270 setTwoTouch(info);
1271 } 1271 }
1272 else if ( msg == "Target/Annotation(int)" ) 1272 else if ( msg == "Target/Annotation(int)" )
1273 { 1273 {
1274 int info; 1274 int info;
1275 stream >> info; 1275 stream >> info;
1276 OnAnnotation(info); 1276 OnAnnotation(info);
1277 } 1277 }
1278 else if ( msg == "Target/Dictionary(int)" ) 1278 else if ( msg == "Target/Dictionary(int)" )
1279 { 1279 {
1280 int info; 1280 int info;
1281 stream >> info; 1281 stream >> info;
1282 OnDictionary(info); 1282 OnDictionary(info);
1283 } 1283 }
1284 else if ( msg == "Target/Clipboard(int)" ) 1284 else if ( msg == "Target/Clipboard(int)" )
1285 { 1285 {
1286 int info; 1286 int info;
1287 stream >> info; 1287 stream >> info;
1288 OnClipboard(info); 1288 OnClipboard(info);
1289 } 1289 }
1290 else if ( msg == "File/Find(QString)" ) 1290 else if ( msg == "File/Find(QString)" )
1291 { 1291 {
1292 QString info; 1292 QString info;
1293 stream >> info; 1293 stream >> info;
1294 QRegExp arg(info); 1294 QRegExp arg(info);
1295 size_t pos = reader->pagelocate(); 1295 size_t pos = reader->pagelocate();
1296 size_t start = pos; 1296 size_t start = pos;
1297 CDrawBuffer test(&(reader->m_fontControl)); 1297 CDrawBuffer test(&(reader->m_fontControl));
1298 reader->getline(&test); 1298 reader->getline(&test);
1299 while (arg.match(toQString(test.data())) == -1) 1299 while (arg.match(toQString(test.data())) == -1)
1300 { 1300 {
1301 pos = reader->locate(); 1301 pos = reader->locate();
1302 if (!reader->getline(&test)) 1302 if (!reader->getline(&test))
1303 { 1303 {
1304 QMessageBox::information(this, PROGNAME, QString("Can't find\n")+info); 1304 QMessageBox::information(this, PROGNAME, QString("Can't find\n")+info);
1305 pos = start; 1305 pos = start;
1306 break; 1306 break;
1307 } 1307 }
1308 } 1308 }
1309 reader->locate(pos); 1309 reader->locate(pos);
1310 } 1310 }
1311 else if ( msg == "File/Fullscreen(int)" ) 1311 else if ( msg == "File/Fullscreen(int)" )
1312 { 1312 {
1313 int info; 1313 int info;
1314 stream >> info; 1314 stream >> info;
1315 setfullscreen(info); 1315 setfullscreen(info);
1316 } 1316 }
1317 else if ( msg == "File/Continuous(int)" ) 1317 else if ( msg == "File/Continuous(int)" )
1318 { 1318 {
1319 int info; 1319 int info;
1320 stream >> info; 1320 stream >> info;
1321 setcontinuous(info); 1321 setcontinuous(info);
1322 } 1322 }
1323 else if ( msg == "Markup(QString)" ) 1323 else if ( msg == "Markup(QString)" )
1324 { 1324 {
1325 QString info; 1325 QString info;
1326 stream >> info; 1326 stream >> info;
1327 if (info == "Auto") 1327 if (info == "Auto")
1328 { 1328 {
1329 autofmt(true); 1329 autofmt(true);
1330 } 1330 }
1331 if (info == "None") 1331 if (info == "None")
1332 { 1332 {
1333 autofmt(false); 1333 autofmt(false);
1334 textfmt(false); 1334 textfmt(false);
1335 striphtml(false); 1335 striphtml(false);
1336 peanut(false); 1336 peanut(false);
1337 } 1337 }
1338 if (info == "Text") 1338 if (info == "Text")
1339 { 1339 {
1340 textfmt(true); 1340 textfmt(true);
1341 } 1341 }
1342 if (info == "HTML") 1342 if (info == "HTML")
1343 { 1343 {
1344 striphtml(true); 1344 striphtml(true);
1345 } 1345 }
1346 if (info == "Peanut/PML") 1346 if (info == "Peanut/PML")
1347 { 1347 {
1348 peanut(true); 1348 peanut(true);
1349 } 1349 }
1350 } 1350 }
1351 else if ( msg == "Layout/StripCR(int)" ) 1351 else if ( msg == "Layout/StripCR(int)" )
1352 { 1352 {
1353 int info; 1353 int info;
1354 stream >> info; 1354 stream >> info;
1355 stripcr(info); 1355 stripcr(info);
1356 } 1356 }
1357 else if ( msg == "Layout/Dehyphen(int)" ) 1357 else if ( msg == "Layout/Dehyphen(int)" )
1358 { 1358 {
1359 int info; 1359 int info;
1360 stream >> info; 1360 stream >> info;
1361 dehyphen(info); 1361 dehyphen(info);
1362 } 1362 }
1363 else if ( msg == "Layout/Depluck(int)" ) 1363 else if ( msg == "Layout/Depluck(int)" )
1364 { 1364 {
1365 int info; 1365 int info;
1366 stream >> info; 1366 stream >> info;
1367 depluck(info); 1367 depluck(info);
1368 } 1368 }
1369 else if ( msg == "Layout/Dejpluck(int)" ) 1369 else if ( msg == "Layout/Dejpluck(int)" )
1370 { 1370 {
1371 int info; 1371 int info;
1372 stream >> info; 1372 stream >> info;
1373 dejpluck(info); 1373 dejpluck(info);
1374 } 1374 }
1375 else if ( msg == "Layout/SingleSpace(int)" ) 1375 else if ( msg == "Layout/SingleSpace(int)" )
1376 { 1376 {
1377 int info; 1377 int info;
1378 stream >> info; 1378 stream >> info;
1379 onespace(info); 1379 onespace(info);
1380 } 1380 }
1381#ifdef REPALM 1381#ifdef REPALM
1382 else if ( msg == "Layout/Repalm(int)" ) 1382 else if ( msg == "Layout/Repalm(int)" )
1383 { 1383 {
1384 int info; 1384 int info;
1385 stream >> info; 1385 stream >> info;
1386 repalm(info); 1386 repalm(info);
1387 } 1387 }
1388#endif 1388#endif
1389 else if ( msg == "Layout/Unindent(int)" ) 1389 else if ( msg == "Layout/Unindent(int)" )
1390 { 1390 {
1391 int info; 1391 int info;
1392 stream >> info; 1392 stream >> info;
1393 unindent(info); 1393 unindent(info);
1394 } 1394 }
1395 else if ( msg == "Layout/Re-paragraph(int)" ) 1395 else if ( msg == "Layout/Re-paragraph(int)" )
1396 { 1396 {
1397 int info; 1397 int info;
1398 stream >> info; 1398 stream >> info;
1399 repara(info); 1399 repara(info);
1400 } 1400 }
1401 else if ( msg == "Layout/DoubleSpace(int)" ) 1401 else if ( msg == "Layout/DoubleSpace(int)" )
1402 { 1402 {
1403 int info; 1403 int info;
1404 stream >> info; 1404 stream >> info;
1405 dblspce(info); 1405 dblspce(info);
1406 } 1406 }
1407 else if ( msg == "Layout/Indent(int)" ) 1407 else if ( msg == "Layout/Indent(int)" )
1408 { 1408 {
1409 int info; 1409 int info;
1410 stream >> info; 1410 stream >> info;
1411 reader->bindenter = info; 1411 reader->bindenter = info;
1412 reader->setfilter(reader->getfilter()); 1412 reader->setfilter(reader->getfilter());
1413 } 1413 }
1414 else if ( msg == "Layout/Remap(int)" ) 1414 else if ( msg == "Layout/Remap(int)" )
1415 { 1415 {
1416 int info; 1416 int info;
1417 stream >> info; 1417 stream >> info;
1418 remap(info); 1418 remap(info);
1419 } 1419 }
1420 else if ( msg == "Layout/Embolden(int)" ) 1420 else if ( msg == "Layout/Embolden(int)" )
1421 { 1421 {
1422 int info; 1422 int info;
1423 stream >> info; 1423 stream >> info;
1424 embolden(info); 1424 embolden(info);
1425 } 1425 }
1426 else if ( msg == "Format/Ideogram/Word(int)" ) 1426 else if ( msg == "Format/Ideogram/Word(int)" )
1427 { 1427 {
1428 int info; 1428 int info;
1429 stream >> info; 1429 stream >> info;
1430 monospace(info); 1430 monospace(info);
1431 } 1431 }
1432 else if ( msg == "Format/SetWidth(int)" ) 1432 else if ( msg == "Format/SetWidth(int)" )
1433 { 1433 {
1434 int info; 1434 int info;
1435 stream >> info; 1435 stream >> info;
1436 reader->m_charpc = info; 1436 reader->m_charpc = info;
1437 reader->setfont(); 1437 reader->setfont();
1438 reader->refresh(); 1438 reader->refresh();
1439 } 1439 }
1440 else if ( msg == "Format/SetFont(QString,int)" ) 1440 else if ( msg == "Format/SetFont(QString,int)" )
1441 { 1441 {
1442 QString fontname; 1442 QString fontname;
1443 int size; 1443 int size;
1444 stream >> fontname; 1444 stream >> fontname;
1445 stream >> size; 1445 stream >> size;
1446 setfontHelper(fontname, size); 1446 setfontHelper(fontname, size);
1447 } 1447 }
1448 else if ( msg == "Marks/Autogen(QString)" ) 1448 else if ( msg == "Marks/Autogen(QString)" )
1449 { 1449 {
1450 QString info; 1450 QString info;
1451 stream >> info; 1451 stream >> info;
1452 do_autogen(info); 1452 do_autogen(info);
1453 } 1453 }
1454 else if ( msg == "File/StartBlock()" ) 1454 else if ( msg == "File/StartBlock()" )
1455 { 1455 {
1456 editMark(); 1456 editMark();
1457 } 1457 }
1458 else if ( msg == "File/CopyBlock()" ) 1458 else if ( msg == "File/CopyBlock()" )
1459 { 1459 {
1460 editCopy(); 1460 editCopy();
1461 } 1461 }
1462} 1462}
1463#endif 1463#endif
1464ActionTypes QTReaderApp::ActNameToInt(const QString& _enc) 1464ActionTypes QTReaderApp::ActNameToInt(const QString& _enc)
1465{ 1465{
1466 for (int i = 0; i < MAX_ACTIONS; i++) 1466 for (int i = 0; i < MAX_ACTIONS; i++)
1467 { 1467 {
1468 if (m_buttonAction[i]->text() == _enc) return (ActionTypes)i; 1468 if (m_buttonAction[i]->text() == _enc) return (ActionTypes)i;
1469 } 1469 }
1470 return cesAutoScroll; 1470 return cesAutoScroll;
1471} 1471}
1472 1472
1473void QTReaderApp::setfullscreen(bool sfs) 1473void QTReaderApp::setfullscreen(bool sfs)
1474{ 1474{
1475 reader->bDoUpdates = false; 1475 reader->bDoUpdates = false;
1476 m_fullscreen = sfs; 1476 m_fullscreen = sfs;
1477 showEditTools(); 1477 showEditTools();
1478// qApp->processEvents(); 1478// qApp->processEvents();
1479 reader->bDoUpdates = true; 1479 reader->bDoUpdates = true;
1480 reader->update(); 1480 reader->update();
1481} 1481}
1482 1482
1483void QTReaderApp::buttonActionSelected(QAction* _a) 1483void QTReaderApp::buttonActionSelected(QAction* _a)
1484{ 1484{
1485//// qDebug("es:%x : %s (%u)", _a, (const char *)(_a->text()), ActNameToInt(_a->text())); 1485//// qDebug("es:%x : %s (%u)", _a, (const char *)(_a->text()), ActNameToInt(_a->text()));
1486 m_spaceTarget = ActNameToInt(_a->text()); 1486 m_spaceTarget = ActNameToInt(_a->text());
1487} 1487}
1488 1488
1489QTReaderApp::~QTReaderApp() 1489QTReaderApp::~QTReaderApp()
1490{ 1490{
1491} 1491}
1492 1492
1493void QTReaderApp::autoScroll(bool _b) 1493void QTReaderApp::autoScroll(bool _b)
1494{ 1494{
1495 reader->setautoscroll(_b); 1495 reader->setautoscroll(_b);
1496 setScrollState(reader->m_autoScroll); 1496 setScrollState(reader->m_autoScroll);
1497} 1497}
1498 1498
1499void QTReaderApp::zoomin() 1499void QTReaderApp::zoomin()
1500{ 1500{
1501 reader->zoomin(); 1501 reader->zoomin();
1502} 1502}
1503 1503
1504void QTReaderApp::zoomout() 1504void QTReaderApp::zoomout()
1505{ 1505{
1506 reader->zoomout(); 1506 reader->zoomout();
1507} 1507}
1508 1508
1509void QTReaderApp::clearBkmkList() 1509void QTReaderApp::clearBkmkList()
1510{ 1510{
1511 delete pBkmklist; 1511 delete pBkmklist;
1512 pBkmklist = NULL; 1512 pBkmklist = NULL;
1513 m_fBkmksChanged = false; 1513 m_fBkmksChanged = false;
1514} 1514}
1515 1515
1516void QTReaderApp::fileClose() 1516void QTReaderApp::fileClose()
1517{ 1517{
1518 CCloseDialog* cd = new CCloseDialog(reader->m_string, false, this); 1518 CCloseDialog* cd = new CCloseDialog(reader->m_string, false, this);
1519 if (cd->exec()) 1519 if (cd->exec())
1520 { 1520 {
1521 if (pOpenlist != NULL) 1521 if (pOpenlist != NULL)
1522 { 1522 {
1523 int ind = 0; 1523 int ind = 0;
1524 Bkmk* p = (*pOpenlist)[ind]; 1524 Bkmk* p = (*pOpenlist)[ind];
1525 while (p != NULL && toQString(CFiledata(p->anno()).name()) != reader->m_lastfile) 1525 while (p != NULL && toQString(CFiledata(p->anno()).name()) != reader->m_lastfile)
1526 { 1526 {
1527 p = (*pOpenlist)[++ind]; 1527 p = (*pOpenlist)[++ind];
1528 } 1528 }
1529 if (p != NULL) pOpenlist->erase(ind); 1529 if (p != NULL) pOpenlist->erase(ind);
1530 if (cd->delFile()) 1530 if (cd->delFile())
1531 { 1531 {
1532 unlink((const char*)reader->m_lastfile); 1532 unlink((const char*)reader->m_lastfile);
1533 } 1533 }
1534 if (cd->delMarks()) 1534 if (cd->delMarks())
1535 { 1535 {
1536#ifndef USEQPE 1536#ifndef USEQPE
1537 QDir d = QDir::home(); // "/" 1537 QDir d = QDir::home(); // "/"
1538 d.cd(APPDIR); 1538 d.cd(APPDIR);
1539 d.remove(reader->m_string); 1539 d.remove(reader->m_string);
1540#else /* USEQPE */ 1540#else /* USEQPE */
1541 unlink((const char *)Global::applicationFileName(APPDIR,reader->m_string)); 1541 unlink((const char *)Global::applicationFileName(APPDIR,reader->m_string));
1542#endif /* USEQPE */ 1542#endif /* USEQPE */
1543 } 1543 }
1544 if (cd->delConfig()) 1544 if (cd->delConfig())
1545 { 1545 {
1546#ifndef USEQPE 1546#ifndef USEQPE
1547 QDir d = QDir::home(); // "/" 1547 QDir d = QDir::home(); // "/"
1548 d.cd(APPDIR "/configs"); 1548 d.cd(APPDIR "/configs");
1549 d.remove(reader->m_string); 1549 d.remove(reader->m_string);
1550#else /* USEQPE */ 1550#else /* USEQPE */
1551 unlink((const char *)Global::applicationFileName(APPDIR "/configs",reader->m_string)); 1551 unlink((const char *)Global::applicationFileName(APPDIR "/configs",reader->m_string));
1552#endif /* USEQPE */ 1552#endif /* USEQPE */
1553 } 1553 }
1554 } 1554 }
1555 1555
1556 fileOpen2(); 1556 fileOpen2();
1557 } 1557 }
1558 delete cd; 1558 delete cd;
1559} 1559}
1560 1560
1561void QTReaderApp::updatefileinfo() 1561void QTReaderApp::updatefileinfo()
1562{ 1562{
1563 if (reader->m_string.isEmpty()) return; 1563 if (reader->m_string.isEmpty()) return;
1564 if (reader->m_lastfile.isEmpty()) return; 1564 if (reader->m_lastfile.isEmpty()) return;
1565 tchar* nm = fromQString(reader->m_string); 1565 tchar* nm = fromQString(reader->m_string);
1566 tchar* fl = fromQString(reader->m_lastfile); 1566 tchar* fl = fromQString(reader->m_lastfile);
1567// qDebug("Lastfile:%x", fl); 1567// qDebug("Lastfile:%x", fl);
1568 bool notadded = true; 1568 bool notadded = true;
1569 if (pOpenlist == NULL) pOpenlist = new CList<Bkmk>; 1569 if (pOpenlist == NULL) pOpenlist = new CList<Bkmk>;
1570 else 1570 else
1571 { 1571 {
1572 for (CList<Bkmk>::iterator iter = pOpenlist->begin(); iter != pOpenlist->end(); iter++) 1572 for (CList<Bkmk>::iterator iter = pOpenlist->begin(); iter != pOpenlist->end(); iter++)
1573 { 1573 {
1574 if (ustrcmp(CFiledata(iter->anno()).name(), fl) == 0) 1574 if (ustrcmp(CFiledata(iter->anno()).name(), fl) == 0)
1575 { 1575 {
1576 iter->value(reader->pagelocate()); 1576 iter->value(reader->pagelocate());
1577 unsigned short dlen; 1577 unsigned short dlen;
1578 unsigned char* data; 1578 unsigned char* data;
1579 CFiledata fd(iter->anno()); 1579 CFiledata fd(iter->anno());
1580 reader->setSaveData(data, dlen, fd.content(), fd.length()); 1580 reader->setSaveData(data, dlen, fd.content(), fd.length());
1581 // qDebug("Filedata(1):%u, %u", fd.length(), dlen); 1581 // qDebug("Filedata(1):%u, %u", fd.length(), dlen);
1582 // getstate(data, dlen); 1582 // getstate(data, dlen);
1583 iter->setAnno(data, dlen); 1583 iter->setAnno(data, dlen);
1584 notadded = false; 1584 notadded = false;
1585 delete [] data; 1585 delete [] data;
1586 break; 1586 break;
1587 } 1587 }
1588 } 1588 }
1589 } 1589 }
1590// qDebug("Added?:%x", notadded); 1590// qDebug("Added?:%x", notadded);
1591 if (notadded) 1591 if (notadded)
1592 { 1592 {
1593 struct stat fnstat; 1593 struct stat fnstat;
1594 stat((const char *)reader->m_lastfile, &fnstat); 1594 stat((const char *)reader->m_lastfile, &fnstat);
1595 CFiledata fd(fnstat.st_mtime, fl); 1595 CFiledata fd(fnstat.st_mtime, fl);
1596 unsigned short dlen; 1596 unsigned short dlen;
1597 unsigned char* data; 1597 unsigned char* data;
1598 reader->setSaveData(data, dlen, fd.content(), fd.length()); 1598 reader->setSaveData(data, dlen, fd.content(), fd.length());
1599 pOpenlist->push_front(Bkmk(nm, data, dlen, reader->pagelocate())); 1599 pOpenlist->push_front(Bkmk(nm, data, dlen, reader->pagelocate()));
1600 //qDebug("Filedata(2):%u, %u", fd.length(), dlen); 1600 //qDebug("Filedata(2):%u, %u", fd.length(), dlen);
1601 delete [] data; 1601 delete [] data;
1602 } 1602 }
1603 delete [] nm; 1603 delete [] nm;
1604 delete [] fl; 1604 delete [] fl;
1605} 1605}
1606 1606
1607void QTReaderApp::fileOpen() 1607void QTReaderApp::fileOpen()
1608{ 1608{
1609/* 1609/*
1610 menu->hide(); 1610 menu->hide();
1611 fileBar->hide(); 1611 fileBar->hide();
1612 if (regVisible) regBar->hide(); 1612 if (regVisible) regBar->hide();
1613 if (searchVisible) searchBar->hide(); 1613 if (searchVisible) searchBar->hide();
1614*/ 1614*/
1615// qDebug("fileOpen"); 1615// qDebug("fileOpen");
1616// if (!reader->m_lastfile.isEmpty()) 1616// if (!reader->m_lastfile.isEmpty())
1617 updatefileinfo(); 1617 updatefileinfo();
1618 fileOpen2(); 1618 fileOpen2();
1619} 1619}
1620 1620
1621void QTReaderApp::fileOpen2() 1621void QTReaderApp::fileOpen2()
1622{ 1622{
1623 if (pBkmklist != NULL) 1623 if (pBkmklist != NULL)
1624 { 1624 {
1625 if (m_fBkmksChanged) 1625 if (m_fBkmksChanged)
1626 { 1626 {
1627 if (QMessageBox::warning(this, PROGNAME, "Save bookmarks?", "Save", "Don't bother") == 0) 1627 if (QMessageBox::warning(this, PROGNAME, "Save bookmarks?", "Save", "Don't bother") == 0)
1628 savebkmks(); 1628 savebkmks();
1629 } 1629 }
1630 delete pBkmklist; 1630 delete pBkmklist;
1631 pBkmklist = NULL; 1631 pBkmklist = NULL;
1632 m_fBkmksChanged = false; 1632 m_fBkmksChanged = false;
1633 } 1633 }
1634 reader->disableAutoscroll(); 1634 reader->disableAutoscroll();
1635/* 1635/*
1636 editorStack->raiseWidget( fileSelector ); 1636 editorStack->raiseWidget( fileSelector );
1637 fileSelector->reread(); 1637 fileSelector->reread();
1638*/ 1638*/
1639 bool usebrowser = true; 1639 bool usebrowser = true;
1640 if (pOpenlist != NULL) 1640 if (pOpenlist != NULL)
1641 { 1641 {
1642 m_nBkmkAction = cOpenFile; 1642 m_nBkmkAction = cOpenFile;
1643 if (listbkmk(pOpenlist, "Browse")) usebrowser = false; 1643 if (listbkmk(pOpenlist, "Browse")) usebrowser = false;
1644 } 1644 }
1645 if (usebrowser) 1645 if (usebrowser)
1646 { 1646 {
1647 QString fn = usefilebrowser(); 1647 QString fn = usefilebrowser();
1648 //qApp->processEvents(); 1648 //qApp->processEvents();
1649 if (!fn.isEmpty() && QFileInfo(fn).isFile()) 1649 if (!fn.isEmpty() && QFileInfo(fn).isFile())
1650 { 1650 {
1651 openFile(fn); 1651 openFile(fn);
1652 } 1652 }
1653 reader->setFocus(); 1653 reader->setFocus();
1654 } 1654 }
1655// reader->refresh(); 1655// reader->refresh();
1656// qDebug("HEIGHT:%d", reader->m_lastheight); 1656// qDebug("HEIGHT:%d", reader->m_lastheight);
1657} 1657}
1658 1658
1659QString QTReaderApp::usefilebrowser() 1659QString QTReaderApp::usefilebrowser()
1660{ 1660{
1661#ifndef USEQPE 1661#ifndef USEQPE
1662 QString s( QFileDialog::getOpenFileName( reader->m_lastfile, QString::null, this ) ); 1662 QString s( QFileDialog::getOpenFileName( reader->m_lastfile, QString::null, this ) );
1663 return s; 1663 return s;
1664#else 1664#else
1665 fileBrowser* fb = new fileBrowser(false, this,"OpieReader",!m_bFloatingDialog, 1665 fileBrowser* fb = new fileBrowser(false, this,"OpieReader",!m_bFloatingDialog,
1666 0, 1666 0,
1667 // WStyle_Customize | WStyle_NoBorderEx, 1667 // WStyle_Customize | WStyle_NoBorderEx,
1668 "*", QFileInfo(reader->m_lastfile).dirPath(true)); 1668 "*", QFileInfo(reader->m_lastfile).dirPath(true));
1669 1669
1670 1670
1671 QString fn; 1671 QString fn;
1672 if (fb->exec()) 1672 if (fb->exec())
1673 { 1673 {
1674 fn = fb->getCurrentFile(); 1674 fn = fb->getCurrentFile();
1675 } 1675 }
1676// qDebug("Selected %s", (const char*)fn); 1676// qDebug("Selected %s", (const char*)fn);
1677 delete fb; 1677 delete fb;
1678 showEditTools(); 1678 showEditTools();
1679 return fn; 1679 return fn;
1680#endif 1680#endif
1681} 1681}
1682 1682
1683void QTReaderApp::showgraphic(QImage& pm) 1683void QTReaderApp::showgraphic(QImage& pm)
1684{ 1684{
1685 QPixmap pc; 1685 QPixmap pc;
1686 pc.convertFromImage(pm); 1686 pc.convertFromImage(pm);
1687 m_graphicwin->setPixmap(pc); 1687 m_graphicwin->setPixmap(pc);
1688 editorStack->raiseWidget( m_graphicwin ); 1688 editorStack->raiseWidget( m_graphicwin );
1689 m_graphicwin->setFocus(); 1689 m_graphicwin->setFocus();
1690} 1690}
1691 1691
1692 1692
1693void QTReaderApp::showprefs() 1693void QTReaderApp::showprefs()
1694{ 1694{
1695 CPrefs* prefwin = new CPrefs(!m_bFloatingDialog, this); 1695 CPrefs* prefwin = new CPrefs(!m_bFloatingDialog, this);
1696 1696
1697 prefwin->twotouch(m_twoTouch); 1697 prefwin->twotouch(m_twoTouch);
1698 prefwin->propfontchange(m_propogatefontchange); 1698 prefwin->propfontchange(m_propogatefontchange);
1699 prefwin->StripCR(reader->bstripcr); 1699 prefwin->StripCR(reader->bstripcr);
1700 prefwin->Dehyphen(reader->bdehyphen); 1700 prefwin->Dehyphen(reader->bdehyphen);
1701 prefwin->SingleSpace(reader->bonespace); 1701 prefwin->SingleSpace(reader->bonespace);
1702 prefwin->Unindent(reader->bunindent); 1702 prefwin->Unindent(reader->bunindent);
1703 prefwin->Reparagraph(reader->brepara); 1703 prefwin->Reparagraph(reader->brepara);
1704 prefwin->DoubleSpace(reader->bdblspce); 1704 prefwin->DoubleSpace(reader->bdblspce);
1705 prefwin->Remap(reader->bremap); 1705 prefwin->Remap(reader->bremap);
1706 prefwin->Embolden(reader->bmakebold); 1706 prefwin->Embolden(reader->bmakebold);
1707 prefwin->FullJustify(reader->bfulljust); 1707 prefwin->FullJustify(reader->bfulljust);
1708 prefwin->ParaLead(reader->getextraspace()); 1708 prefwin->ParaLead(reader->getextraspace());
1709 prefwin->LineLead(reader->getlead()); 1709 prefwin->LineLead(reader->getlead());
1710 prefwin->Margin(reader->m_border); 1710 prefwin->Margin(reader->m_border);
1711 prefwin->Indent(reader->bindenter); 1711 prefwin->Indent(reader->bindenter);
1712 if (reader->bautofmt) 1712 if (reader->bautofmt)
1713 { 1713 {
1714 prefwin->Markup(0); 1714 prefwin->Markup(0);
1715 } 1715 }
1716 else if (reader->btextfmt) 1716 else if (reader->btextfmt)
1717 { 1717 {
1718 prefwin->Markup(2); 1718 prefwin->Markup(2);
1719 } 1719 }
1720 else if (reader->bstriphtml) 1720 else if (reader->bstriphtml)
1721 { 1721 {
1722 prefwin->Markup(3); 1722 prefwin->Markup(3);
1723 } 1723 }
1724 else if (reader->bpeanut) 1724 else if (reader->bpeanut)
1725 { 1725 {
1726 prefwin->Markup(4); 1726 prefwin->Markup(4);
1727 } 1727 }
1728 else 1728 else
1729 { 1729 {
1730 prefwin->Markup(1); 1730 prefwin->Markup(1);
1731 } 1731 }
1732 prefwin->Depluck(reader->bdepluck); 1732 prefwin->Depluck(reader->bdepluck);
1733 prefwin->Dejpluck(reader->bdejpluck); 1733 prefwin->Dejpluck(reader->bdejpluck);
1734 prefwin->Continuous(reader->m_continuousDocument); 1734 prefwin->Continuous(reader->m_continuousDocument);
1735 1735
1736 prefwin->dictApplication(m_targetapp); 1736 prefwin->dictApplication(m_targetapp);
1737 prefwin->dictMessage(m_targetmsg); 1737 prefwin->dictMessage(m_targetmsg);
1738 1738
1739 prefwin->spaceAction(m_spaceTarget); 1739 prefwin->spaceAction(m_spaceTarget);
1740 prefwin->escapeAction(m_escapeTarget); 1740 prefwin->escapeAction(m_escapeTarget);
1741 prefwin->returnAction(m_returnTarget); 1741 prefwin->returnAction(m_returnTarget);
1742 prefwin->leftAction(m_leftTarget); 1742 prefwin->leftAction(m_leftTarget);
1743 prefwin->rightAction(m_rightTarget); 1743 prefwin->rightAction(m_rightTarget);
1744 prefwin->upAction(m_upTarget); 1744 prefwin->upAction(m_upTarget);
1745 prefwin->downAction(m_downTarget); 1745 prefwin->downAction(m_downTarget);
1746 1746
1747 prefwin->leftScroll(m_leftScroll); 1747 prefwin->leftScroll(m_leftScroll);
1748 prefwin->rightScroll(m_rightScroll); 1748 prefwin->rightScroll(m_rightScroll);
1749 prefwin->upScroll(m_upScroll); 1749 prefwin->upScroll(m_upScroll);
1750 prefwin->downScroll(m_downScroll); 1750 prefwin->downScroll(m_downScroll);
1751 1751
1752 prefwin->miscannotation(m_doAnnotation); 1752 prefwin->miscannotation(m_doAnnotation);
1753 prefwin->miscdictionary(m_doDictionary); 1753 prefwin->miscdictionary(m_doDictionary);
1754 prefwin->miscclipboard(m_doClipboard); 1754 prefwin->miscclipboard(m_doClipboard);
1755 1755
1756 prefwin->SwapMouse(reader->m_swapmouse); 1756 prefwin->SwapMouse(reader->m_swapmouse);
1757 1757
1758 prefwin->Font(reader->m_fontname); 1758 prefwin->Font(reader->m_fontname);
1759 1759
1760 prefwin->gfxsize(reader->getBaseSize()); 1760 prefwin->gfxsize(reader->getBaseSize());
1761 1761
1762 prefwin->pageoverlap(reader->m_overlap); 1762 prefwin->pageoverlap(reader->m_overlap);
1763 1763
1764 prefwin->ideogram(reader->m_bMonoSpaced); 1764 prefwin->ideogram(reader->m_bMonoSpaced);
1765 1765
1766 prefwin->encoding(reader->m_encd); 1766 prefwin->encoding(reader->m_encd);
1767 1767
1768 prefwin->ideogramwidth(reader->m_charpc); 1768 prefwin->ideogramwidth(reader->m_charpc);
1769 1769
1770 if (prefwin->exec()) 1770 if (prefwin->exec())
1771 { 1771 {
1772 m_twoTouch = prefwin->twotouch(); 1772 m_twoTouch = prefwin->twotouch();
1773 reader->setTwoTouch(m_twoTouch); 1773 reader->setTwoTouch(m_twoTouch);
1774 m_touch_action->setOn(m_twoTouch); 1774 m_touch_action->setOn(m_twoTouch);
1775 1775
1776 reader->bstripcr = prefwin->StripCR(); 1776 reader->bstripcr = prefwin->StripCR();
1777 reader->bdehyphen = prefwin->Dehyphen(); 1777 reader->bdehyphen = prefwin->Dehyphen();
1778 reader->bonespace = prefwin->SingleSpace(); 1778 reader->bonespace = prefwin->SingleSpace();
1779 reader->bunindent = prefwin->Unindent(); 1779 reader->bunindent = prefwin->Unindent();
1780 reader->brepara = prefwin->Reparagraph(); 1780 reader->brepara = prefwin->Reparagraph();
1781 reader->bdblspce = prefwin->DoubleSpace(); 1781 reader->bdblspce = prefwin->DoubleSpace();
1782 reader->bremap = prefwin->Remap(); 1782 reader->bremap = prefwin->Remap();
1783 reader->bmakebold = prefwin->Embolden(); 1783 reader->bmakebold = prefwin->Embolden();
1784 reader->bfulljust = prefwin->FullJustify(); 1784 reader->bfulljust = prefwin->FullJustify();
1785 reader->setextraspace(prefwin->ParaLead()); 1785 reader->setextraspace(prefwin->ParaLead());
1786 reader->setlead(prefwin->LineLead()); 1786 reader->setlead(prefwin->LineLead());
1787 reader->m_border = prefwin->Margin(); 1787 reader->m_border = prefwin->Margin();
1788 reader->bindenter = prefwin->Indent(); 1788 reader->bindenter = prefwin->Indent();
1789 reader->bautofmt = reader->btextfmt = reader->bstriphtml = reader->bpeanut = false; 1789 reader->bautofmt = reader->btextfmt = reader->bstriphtml = reader->bpeanut = false;
1790 switch (prefwin->Markup()) 1790 switch (prefwin->Markup())
1791 { 1791 {
1792 case 0: 1792 case 0:
1793 reader->bautofmt = true; 1793 reader->bautofmt = true;
1794 break; 1794 break;
1795 case 1: 1795 case 1:
1796 break; 1796 break;
1797 case 2: 1797 case 2:
1798 reader->btextfmt = true; 1798 reader->btextfmt = true;
1799 break; 1799 break;
1800 case 3: 1800 case 3:
1801 reader->bstriphtml = true; 1801 reader->bstriphtml = true;
1802 break; 1802 break;
1803 case 4: 1803 case 4:
1804 reader->bpeanut = true; 1804 reader->bpeanut = true;
1805 break; 1805 break;
1806 default: 1806 default:
1807 qDebug("Format out of range"); 1807 qDebug("Format out of range");
1808 } 1808 }
1809 reader->bdepluck = prefwin->Depluck(); 1809 reader->bdepluck = prefwin->Depluck();
1810 reader->bdejpluck = prefwin->Dejpluck(); 1810 reader->bdejpluck = prefwin->Dejpluck();
1811 reader->setContinuous(prefwin->Continuous()); 1811 reader->setContinuous(prefwin->Continuous());
1812 1812
1813 m_spaceTarget = (ActionTypes)prefwin->spaceAction(); 1813 m_spaceTarget = (ActionTypes)prefwin->spaceAction();
1814 m_escapeTarget = (ActionTypes)prefwin->escapeAction(); 1814 m_escapeTarget = (ActionTypes)prefwin->escapeAction();
1815 m_returnTarget = (ActionTypes)prefwin->returnAction(); 1815 m_returnTarget = (ActionTypes)prefwin->returnAction();
1816 m_leftTarget = (ActionTypes)prefwin->leftAction(); 1816 m_leftTarget = (ActionTypes)prefwin->leftAction();
1817 m_rightTarget = (ActionTypes)prefwin->rightAction(); 1817 m_rightTarget = (ActionTypes)prefwin->rightAction();
1818 m_upTarget = (ActionTypes)prefwin->upAction(); 1818 m_upTarget = (ActionTypes)prefwin->upAction();
1819 m_downTarget = (ActionTypes)prefwin->downAction(); 1819 m_downTarget = (ActionTypes)prefwin->downAction();
1820 m_leftScroll = prefwin->leftScroll(); 1820 m_leftScroll = prefwin->leftScroll();
1821 m_rightScroll = prefwin->rightScroll(); 1821 m_rightScroll = prefwin->rightScroll();
1822 m_upScroll = prefwin->upScroll(); 1822 m_upScroll = prefwin->upScroll();
1823 m_downScroll = prefwin->downScroll(); 1823 m_downScroll = prefwin->downScroll();
1824 1824
1825 m_targetapp = prefwin->dictApplication(); 1825 m_targetapp = prefwin->dictApplication();
1826 m_targetmsg = prefwin->dictMessage(); 1826 m_targetmsg = prefwin->dictMessage();
1827 1827
1828 m_doAnnotation = prefwin->miscannotation(); 1828 m_doAnnotation = prefwin->miscannotation();
1829 m_doDictionary = prefwin->miscdictionary(); 1829 m_doDictionary = prefwin->miscdictionary();
1830 m_doClipboard = prefwin->miscclipboard(); 1830 m_doClipboard = prefwin->miscclipboard();
1831 reader->m_swapmouse = prefwin->SwapMouse(); 1831 reader->m_swapmouse = prefwin->SwapMouse();
1832 reader->setBaseSize(prefwin->gfxsize()); 1832 reader->setBaseSize(prefwin->gfxsize());
1833 reader->m_overlap = prefwin->pageoverlap(); 1833 reader->m_overlap = prefwin->pageoverlap();
1834 reader->m_bMonoSpaced = prefwin->ideogram(); 1834 reader->m_bMonoSpaced = prefwin->ideogram();
1835 m_setmono_action->setOn(reader->m_bMonoSpaced); 1835 m_setmono_action->setOn(reader->m_bMonoSpaced);
1836 reader->m_encd = prefwin->encoding(); 1836 reader->m_encd = prefwin->encoding();
1837 reader->m_charpc = prefwin->ideogramwidth(); 1837 reader->m_charpc = prefwin->ideogramwidth();
1838 1838
1839 if ( 1839 if (
1840 reader->m_fontname != prefwin->Font() 1840 reader->m_fontname != prefwin->Font()
1841 || 1841 ||
1842 m_propogatefontchange != prefwin->propfontchange()) 1842 m_propogatefontchange != prefwin->propfontchange())
1843 { 1843 {
1844 m_propogatefontchange = prefwin->propfontchange(); 1844 m_propogatefontchange = prefwin->propfontchange();
1845 setfontHelper(prefwin->Font()); 1845 setfontHelper(prefwin->Font());
1846 } 1846 }
1847 delete prefwin; 1847 delete prefwin;
1848 reader->setfilter(reader->getfilter()); 1848 reader->setfilter(reader->getfilter());
1849 reader->refresh(); 1849 reader->refresh();
1850 1850
1851 } 1851 }
1852 else 1852 else
1853 { 1853 {
1854 delete prefwin; 1854 delete prefwin;
1855 } 1855 }
1856} 1856}
1857 1857
1858void QTReaderApp::showtoolbarprefs() 1858void QTReaderApp::showtoolbarprefs()
1859{ 1859{
1860#ifdef USEQPE 1860#ifdef USEQPE
1861 CBarPrefs* prefwin = new CBarPrefs(APPDIR, !m_bFloatingDialog, this); 1861 CBarPrefs* prefwin = new CBarPrefs(APPDIR, !m_bFloatingDialog, this);
1862#else 1862#else
1863 QFileInfo fi; 1863 QFileInfo fi;
1864 QDir d = QDir::home(); // "/" 1864 QDir d = QDir::home(); // "/"
1865 if ( !d.cd(APPDIR) ) 1865 if ( !d.cd(APPDIR) )
1866 { // "/tmp" 1866 { // "/tmp"
1867 qWarning( "Cannot find the \"~/%s\" directory", APPDIR ); 1867 qWarning( "Cannot find the \"~/%s\" directory", APPDIR );
1868 d = QDir::home(); 1868 d = QDir::home();
1869 d.mkdir(APPDIR); 1869 d.mkdir(APPDIR);
1870 d.cd(APPDIR); 1870 d.cd(APPDIR);
1871 } 1871 }
1872 fi.setFile(d, INIFILE); 1872 fi.setFile(d, INIFILE);
1873 CBarPrefs* prefwin = new CBarPrefs(fi.absFilePath(), !m_bFloatingDialog, this); 1873 CBarPrefs* prefwin = new CBarPrefs(fi.absFilePath(), !m_bFloatingDialog, this);
1874#endif 1874#endif
1875 prefwin->tbpolicy(m_tbpolsave); 1875 prefwin->tbpolicy(m_tbpolsave);
1876 prefwin->tbposition(m_tbposition-2); 1876 prefwin->tbposition(m_tbposition-2);
1877 prefwin->tbmovable(m_tbmovesave); 1877 prefwin->tbmovable(m_tbmovesave);
1878 prefwin->floating(m_bFloatingDialog); 1878 prefwin->floating(m_bFloatingDialog);
1879 if (prefwin->exec()) 1879 if (prefwin->exec())
1880 { 1880 {
1881 m_bFloatingDialog = prefwin->floating(); 1881 m_bFloatingDialog = prefwin->floating();
1882 if ( 1882 if (
1883 m_tbpolsave != (ToolbarPolicy)prefwin->tbpolicy() 1883 m_tbpolsave != (ToolbarPolicy)prefwin->tbpolicy()
1884 || 1884 ||
1885 m_tbposition != (ToolBarDock)(prefwin->tbposition()+2) 1885 m_tbposition != (ToolBarDock)(prefwin->tbposition()+2)
1886 || 1886 ||
1887 m_tbmovesave != prefwin->tbmovable() 1887 m_tbmovesave != prefwin->tbmovable()
1888 ) 1888 )
1889 { 1889 {
1890 QMessageBox::warning(this, PROGNAME, "Some changes won't take effect\nuntil the next time the\napplication is started"); 1890 QMessageBox::warning(this, PROGNAME, "Some changes won't take effect\nuntil the next time the\napplication is started");
1891 } 1891 }
1892 m_tbpolsave = (ToolbarPolicy)prefwin->tbpolicy(); 1892 m_tbpolsave = (ToolbarPolicy)prefwin->tbpolicy();
1893 m_tbposition = (ToolBarDock)(prefwin->tbposition()+2); 1893 m_tbposition = (ToolBarDock)(prefwin->tbposition()+2);
1894 m_tbmovesave = prefwin->tbmovable(); 1894 m_tbmovesave = prefwin->tbmovable();
1895 bool isChanged = prefwin->isChanged(); 1895 bool isChanged = prefwin->isChanged();
1896 delete prefwin; 1896 delete prefwin;
1897#ifdef USEQPE 1897#ifdef USEQPE
1898 Config config( APPDIR ); 1898 Config config( APPDIR );
1899#else 1899#else
1900 QFileInfo fi; 1900 QFileInfo fi;
1901 QDir d = QDir::home(); // "/" 1901 QDir d = QDir::home(); // "/"
1902 if ( !d.cd(APPDIR) ) 1902 if ( !d.cd(APPDIR) )
1903 { // "/tmp" 1903 { // "/tmp"
1904 qWarning( "Cannot find the \"~/%s\" directory", APPDIR ); 1904 qWarning( "Cannot find the \"~/%s\" directory", APPDIR );
1905 d = QDir::home(); 1905 d = QDir::home();
1906 d.mkdir(APPDIR); 1906 d.mkdir(APPDIR);
1907 d.cd(APPDIR); 1907 d.cd(APPDIR);
1908 } 1908 }
1909 fi.setFile(d, INIFILE); 1909 fi.setFile(d, INIFILE);
1910 Config config( fi.absFilePath() ); 1910 Config config( fi.absFilePath() );
1911#endif 1911#endif
1912 if (isChanged) addtoolbars(&config); 1912 if (isChanged) addtoolbars(&config);
1913 } 1913 }
1914 else 1914 else
1915 { 1915 {
1916 delete prefwin; 1916 delete prefwin;
1917 } 1917 }
1918} 1918}
1919 1919
1920void QTReaderApp::showinfo() 1920void QTReaderApp::showinfo()
1921{ 1921{
1922 unsigned long fs, ts, pl; 1922 unsigned long fs, ts, pl;
1923 if (reader->empty()) 1923 if (reader->empty())
1924 { 1924 {
1925 QMessageBox::information(this, PROGNAME, "No file loaded", 1); 1925 QMessageBox::information(this, PROGNAME, "No file loaded", 1);
1926 } 1926 }
1927 else 1927 else
1928 { 1928 {
1929 reader->sizes(fs,ts); 1929 reader->sizes(fs,ts);
1930 pl = reader->pagelocate(); 1930 pl = reader->pagelocate();
1931 m_infoWin->setFileSize(fs); 1931 m_infoWin->setFileSize(fs);
1932 m_infoWin->setTextSize(ts); 1932 m_infoWin->setTextSize(ts);
1933 m_infoWin->setRatio(100-(100*fs + (ts >> 1))/ts); 1933 m_infoWin->setRatio(100-(100*fs + (ts >> 1))/ts);
1934 m_infoWin->setLocation(pl); 1934 m_infoWin->setLocation(pl);
1935 m_infoWin->setRead((100*pl + (ts >> 1))/ts); 1935 m_infoWin->setRead((100*pl + (ts >> 1))/ts);
1936 editorStack->raiseWidget( m_infoWin ); 1936 editorStack->raiseWidget( m_infoWin );
1937 m_infoWin->setFocus(); 1937 m_infoWin->setFocus();
1938 } 1938 }
1939} 1939}
1940 1940
1941void QTReaderApp::addAnno(const QString& name, const QString& text, size_t posn) 1941void QTReaderApp::addAnno(const QString& name, const QString& text, size_t posn)
1942{ 1942{
1943 if (pBkmklist == NULL) pBkmklist = new CList<Bkmk>; 1943 if (pBkmklist == NULL) pBkmklist = new CList<Bkmk>;
1944#ifdef _UNICODE 1944#ifdef _UNICODE
1945 CBuffer buff(name.length()+1); 1945 CBuffer buff(name.length()+1);
1946 int i; 1946 int i;
1947 for (i = 0; i < name.length(); i++) 1947 for (i = 0; i < name.length(); i++)
1948 { 1948 {
1949 buff[i] = name[i].unicode(); 1949 buff[i] = name[i].unicode();
1950 } 1950 }
1951 buff[i] = 0; 1951 buff[i] = 0;
1952 CBuffer buff2(text.length()+1); 1952 CBuffer buff2(text.length()+1);
1953 for (i = 0; i < text.length(); i++) 1953 for (i = 0; i < text.length(); i++)
1954 { 1954 {
1955 buff2[i] = text[i].unicode(); 1955 buff2[i] = text[i].unicode();
1956 } 1956 }
1957 buff2[i] = 0; 1957 buff2[i] = 0;
1958 pBkmklist->push_front(Bkmk(buff.data(), buff2.data(), posn)); 1958 pBkmklist->push_front(Bkmk(buff.data(), buff2.data(), posn));
1959#else 1959#else
1960 pBkmklist->push_front(Bkmk((const tchar*)text,posn)); 1960 pBkmklist->push_front(Bkmk((const tchar*)text,posn));
1961#endif 1961#endif
1962 m_fBkmksChanged = true; 1962 m_fBkmksChanged = true;
1963 pBkmklist->sort(); 1963 pBkmklist->sort();
1964} 1964}
1965 1965
1966void QTReaderApp::addAnno(const QString& name, const QString& text) 1966void QTReaderApp::addAnno(const QString& name, const QString& text)
1967{ 1967{
1968 if (m_annoIsEditing) 1968 if (m_annoIsEditing)
1969 { 1969 {
1970 if (name.isEmpty()) 1970 if (name.isEmpty())
1971 { 1971 {
1972 QMessageBox::information(this, PROGNAME, "Need a name for the bookmark\nPlease try again", 1); 1972 QMessageBox::information(this, PROGNAME, "Need a name for the bookmark\nPlease try again", 1);
1973 } 1973 }
1974 else 1974 else
1975 { 1975 {
1976 addAnno(name, text, m_annoWin->getPosn()); 1976 addAnno(name, text, m_annoWin->getPosn());
1977 } 1977 }
1978 showEditTools(); 1978 showEditTools();
1979 } 1979 }
1980 else 1980 else
1981 { 1981 {
1982 if (m_annoWin->edited()) 1982 if (m_annoWin->edited())
1983 { 1983 {
1984 CBuffer buff(text.length()+1); 1984 CBuffer buff(text.length()+1);
1985 int i; 1985 int i;
1986 for (i = 0; i < text.length(); i++) 1986 for (i = 0; i < text.length(); i++)
1987 { 1987 {
1988 buff[i] = text[i].unicode(); 1988 buff[i] = text[i].unicode();
1989 } 1989 }
1990 buff[i] = 0; 1990 buff[i] = 0;
1991 m_fBkmksChanged = true; 1991 m_fBkmksChanged = true;
1992 m_anno->setAnno(buff.data()); 1992 m_anno->setAnno(buff.data());
1993 } 1993 }
1994 bool found = findNextBookmark(m_anno->value()+1); 1994 bool found = findNextBookmark(m_anno->value()+1);
1995 if (found) 1995 if (found)
1996 { 1996 {
1997 m_annoWin->setName(toQString(m_anno->name())); 1997 m_annoWin->setName(toQString(m_anno->name()));
1998 m_annoWin->setAnno(toQString(m_anno->anno())); 1998 m_annoWin->setAnno(toQString(m_anno->anno()));
1999 } 1999 }
2000 else 2000 else
2001 { 2001 {
2002 showEditTools(); 2002 showEditTools();
2003 } 2003 }
2004 } 2004 }
2005} 2005}
2006 2006
2007bool QTReaderApp::findNextBookmark(size_t start) 2007bool QTReaderApp::findNextBookmark(size_t start)
2008{ 2008{
2009 bool found = false; 2009 bool found = false;
2010 for (CList<Bkmk>::iterator iter = pBkmklist->begin(); iter != pBkmklist->end(); iter++) 2010 for (CList<Bkmk>::iterator iter = pBkmklist->begin(); iter != pBkmklist->end(); iter++)
2011 { 2011 {
2012 if (iter->value() >= start) 2012 if (iter->value() >= start)
2013 { 2013 {
2014 if (iter->value() < reader->locate()) 2014 if (iter->value() < reader->locate())
2015 { 2015 {
2016 found = true; 2016 found = true;
2017 m_anno = iter.pContent(); 2017 m_anno = iter.pContent();
2018 } 2018 }
2019 break; 2019 break;
2020 } 2020 }
2021 } 2021 }
2022 return found; 2022 return found;
2023} 2023}
2024 2024
2025void QTReaderApp::addanno() 2025void QTReaderApp::addanno()
2026{ 2026{
2027 if (reader->empty()) 2027 if (reader->empty())
2028 { 2028 {
2029 QMessageBox::information(this, PROGNAME, "No file loaded", 1); 2029 QMessageBox::information(this, PROGNAME, "No file loaded", 1);
2030 } 2030 }
2031 else 2031 else
2032 { 2032 {
2033 m_annoWin->setName(""); 2033 m_annoWin->setName("");
2034 m_annoWin->setAnno(""); 2034 m_annoWin->setAnno("");
2035 m_annoWin->setPosn(reader->pagelocate()); 2035 m_annoWin->setPosn(reader->pagelocate());
2036 m_annoIsEditing = true; 2036 m_annoIsEditing = true;
2037 editorStack->raiseWidget( m_annoWin ); 2037 editorStack->raiseWidget( m_annoWin );
2038#ifdef USEQPE 2038#ifdef USEQPE
2039 Global::showInputMethod(); 2039 Global::showInputMethod();
2040#endif 2040#endif
2041 m_annoWin->setFocus(); 2041 m_annoWin->setFocus();
2042 } 2042 }
2043} 2043}
2044 2044
2045void QTReaderApp::infoClose() 2045void QTReaderApp::infoClose()
2046{ 2046{
2047 showEditTools(); 2047 showEditTools();
2048} 2048}
2049 2049
2050/* 2050/*
2051void QTReaderApp::fileRevert() 2051void QTReaderApp::fileRevert()
2052{ 2052{
2053 clear(); 2053 clear();
2054 fileOpen(); 2054 fileOpen();
2055} 2055}
2056 2056
2057void QTReaderApp::editCut() 2057void QTReaderApp::editCut()
2058{ 2058{
2059#ifndef QT_NO_CLIPBOARD 2059#ifndef QT_NO_CLIPBOARD
2060 editor->cut(); 2060 editor->cut();
2061#endif 2061#endif
2062} 2062}
2063*/ 2063*/
2064void QTReaderApp::editMark() 2064void QTReaderApp::editMark()
2065{ 2065{
2066 m_savedpos = reader->pagelocate(); 2066 m_savedpos = reader->pagelocate();
2067} 2067}
2068 2068
2069void QTReaderApp::editCopy() 2069void QTReaderApp::editCopy()
2070{ 2070{
2071 QClipboard* cb = QApplication::clipboard(); 2071 QClipboard* cb = QApplication::clipboard();
2072 QString text; 2072 QString text;
2073 int ch; 2073 int ch;
2074 unsigned long currentpos = reader->pagelocate(); 2074 unsigned long currentpos = reader->pagelocate();
2075 unsigned long endpos = reader->locate(); 2075 unsigned long endpos = reader->locate();
2076 if (m_savedpos == 0xffffffff) 2076 if (m_savedpos == 0xffffffff)
2077 { 2077 {
2078 m_savedpos = currentpos; 2078 m_savedpos = currentpos;
2079 } 2079 }
2080 reader->jumpto(m_savedpos); 2080 reader->jumpto(m_savedpos);
2081 while (reader->explocate() < endpos && (ch = reader->getch()) != UEOF) 2081 while (reader->explocate() < endpos && (ch = reader->getch()) != UEOF)
2082 { 2082 {
2083 text += ch; 2083 text += ch;
2084 } 2084 }
2085 cb->setText(text); 2085 cb->setText(text);
2086 reader->locate(currentpos); 2086 reader->locate(currentpos);
2087 m_savedpos = 0xffffffff; 2087 m_savedpos = 0xffffffff;
2088} 2088}
2089 2089
2090void QTReaderApp::gotoStart() 2090void QTReaderApp::gotoStart()
2091{ 2091{
2092 reader->locate(reader->buffdoc.startSection()); 2092 reader->locate(reader->buffdoc.startSection());
2093} 2093}
2094 2094
2095void QTReaderApp::gotoEnd() 2095void QTReaderApp::gotoEnd()
2096{ 2096{
2097 reader->dopageup(reader->buffdoc.endSection()); 2097 reader->dopageup(reader->buffdoc.endSection());
2098} 2098}
2099 2099
2100void QTReaderApp::pageup() 2100void QTReaderApp::pageup()
2101{ 2101{
2102 reader->NavUp(); 2102 reader->NavUp();
2103} 2103}
2104 2104
2105void QTReaderApp::pagedn() 2105void QTReaderApp::pagedn()
2106{ 2106{
2107 reader->NavDown(); 2107 reader->NavDown();
2108} 2108}
2109 2109
2110void QTReaderApp::pagemode(bool _b) 2110void QTReaderApp::pagemode(bool _b)
2111{ 2111{
2112 reader->setpagemode(_b); 2112 reader->setpagemode(_b);
2113} 2113}
2114 2114
2115/* 2115/*
2116void QTReaderApp::setspacing() 2116void QTReaderApp::setspacing()
2117{ 2117{
2118 m_nRegAction = cMonoSpace; 2118 m_nRegAction = cMonoSpace;
2119 char lcn[20]; 2119 char lcn[20];
2120 sprintf(lcn, "%lu", reader->m_charpc); 2120 sprintf(lcn, "%lu", reader->m_charpc);
2121 regEdit->setText(lcn); 2121 regEdit->setText(lcn);
2122 do_regedit(); 2122 do_regedit();
2123} 2123}
2124*/ 2124*/
2125void QTReaderApp::settarget() 2125void QTReaderApp::settarget()
2126{ 2126{
2127 m_nRegAction = cSetTarget; 2127 m_nRegAction = cSetTarget;
2128 QString text = ((m_targetapp.isEmpty()) ? QString("") : m_targetapp) 2128 QString text = ((m_targetapp.isEmpty()) ? QString("") : m_targetapp)
2129 + "/" 2129 + "/"
2130 + ((m_targetmsg.isEmpty()) ? QString("") : m_targetmsg); 2130 + ((m_targetmsg.isEmpty()) ? QString("") : m_targetmsg);
2131 regEdit->setText(text); 2131 regEdit->setText(text);
2132 do_regedit(); 2132 do_regedit();
2133} 2133}
2134 2134
2135/* 2135/*
2136void QTReaderApp::do_mono(const QString& lcn) 2136void QTReaderApp::do_mono(const QString& lcn)
2137{ 2137{
2138 bool ok; 2138 bool ok;
2139 unsigned long ulcn = lcn.toULong(&ok); 2139 unsigned long ulcn = lcn.toULong(&ok);
2140 if (ok) 2140 if (ok)
2141 { 2141 {
2142 reader->m_charpc = ulcn; 2142 reader->m_charpc = ulcn;
2143 reader->setfont(); 2143 reader->setfont();
2144 reader->refresh(); 2144 reader->refresh();
2145 //reader->setmono(true); 2145 //reader->setmono(true);
2146 } 2146 }
2147 else 2147 else
2148 QMessageBox::information(this, PROGNAME, "Must be a number"); 2148 QMessageBox::information(this, PROGNAME, "Must be a number");
2149} 2149}
2150*/ 2150*/
2151/* 2151/*
2152void QTReaderApp::editPaste() 2152void QTReaderApp::editPaste()
2153{ 2153{
2154#ifndef QT_NO_CLIPBOARD 2154#ifndef QT_NO_CLIPBOARD
2155 editor->paste(); 2155 editor->paste();
2156#endif 2156#endif
2157} 2157}
2158*/ 2158*/
2159 2159
2160void QTReaderApp::editFind() 2160void QTReaderApp::editFind()
2161{ 2161{
2162 searchStart = reader->pagelocate(); 2162 searchStart = reader->pagelocate();
2163#ifdef __ISEARCH 2163#ifdef __ISEARCH
2164 searchStack = new QStack<searchrecord>; 2164 searchStack = new QStack<searchrecord>;
2165#endif 2165#endif
2166#ifdef USEQPE 2166#ifdef USEQPE
2167 Global::showInputMethod(); 2167 Global::showInputMethod();
2168#endif 2168#endif
2169 searchBar->show(); 2169 searchBar->show();
2170 searchVisible = TRUE; 2170 searchVisible = TRUE;
2171 searchEdit->setFocus(); 2171 searchEdit->setFocus();
2172#ifdef __ISEARCH 2172#ifdef __ISEARCH
2173 searchStack->push(new searchrecord("",reader->pagelocate())); 2173 searchStack->push(new searchrecord("",reader->pagelocate()));
2174#endif 2174#endif
2175} 2175}
2176 2176
2177void QTReaderApp::findNext() 2177void QTReaderApp::findNext()
2178{ 2178{
2179// // qDebug("findNext called\n"); 2179// // qDebug("findNext called\n");
2180#ifdef __ISEARCH 2180#ifdef __ISEARCH
2181 QString arg = searchEdit->text(); 2181 QString arg = searchEdit->text();
2182#else 2182#else
2183 QRegExp arg = searchEdit->text(); 2183 QRegExp arg = searchEdit->text();
2184#endif 2184#endif
2185 CDrawBuffer test(&(reader->m_fontControl)); 2185 CDrawBuffer test(&(reader->m_fontControl));
2186 size_t start = reader->pagelocate(); 2186 size_t start = reader->pagelocate();
2187 reader->jumpto(start); 2187 reader->jumpto(start);
2188 reader->getline(&test); 2188 reader->getline(&test);
2189 dosearch(start, test, arg); 2189 dosearch(start, test, arg);
2190} 2190}
2191 2191
2192void QTReaderApp::findClose() 2192void QTReaderApp::findClose()
2193{ 2193{
2194 searchVisible = FALSE; 2194 searchVisible = FALSE;
2195 searchEdit->setText(""); 2195 searchEdit->setText("");
2196#ifdef USEQPE 2196#ifdef USEQPE
2197 Global::hideInputMethod(); 2197 Global::hideInputMethod();
2198#endif 2198#endif
2199 searchBar->hide(); 2199 searchBar->hide();
2200#ifdef __ISEARCH 2200#ifdef __ISEARCH
2201// searchStack = new QStack<searchrecord>; 2201// searchStack = new QStack<searchrecord>;
2202 while (!searchStack->isEmpty()) 2202 while (!searchStack->isEmpty())
2203 { 2203 {
2204 delete searchStack->pop(); 2204 delete searchStack->pop();
2205 } 2205 }
2206 delete searchStack; 2206 delete searchStack;
2207#endif 2207#endif
2208 reader->setFocus(); 2208 reader->setFocus();
2209} 2209}
2210 2210
2211void QTReaderApp::regClose() 2211void QTReaderApp::regClose()
2212{ 2212{
2213 regVisible = FALSE; 2213 regVisible = FALSE;
2214 regEdit->setText(""); 2214 regEdit->setText("");
2215 regBar->hide(); 2215 regBar->hide();
2216#ifdef USEQPE 2216#ifdef USEQPE
2217 Global::hideInputMethod(); 2217 Global::hideInputMethod();
2218#endif 2218#endif
2219 reader->setFocus(); 2219 reader->setFocus();
2220} 2220}
2221 2221
2222#ifdef __ISEARCH 2222#ifdef __ISEARCH
2223bool QTReaderApp::dosearch(size_t start, CDrawBuffer& test, const QString& arg) 2223bool QTReaderApp::dosearch(size_t start, CDrawBuffer& test, const QString& arg)
2224#else 2224#else
2225bool QTReaderApp::dosearch(size_t start, CDrawBuffer& test, const QRegExp& arg) 2225bool QTReaderApp::dosearch(size_t start, CDrawBuffer& test, const QRegExp& arg)
2226#endif 2226#endif
2227{ 2227{
2228 bool ret = true; 2228 bool ret = true;
2229 unsigned long fs, ts; 2229 unsigned long fs, ts;
2230 reader->sizes(fs,ts); 2230 reader->sizes(fs,ts);
2231 size_t pos = reader->locate(); 2231 size_t pos = reader->locate();
2232 pbar->setGeometry(searchBar->x(),searchBar->y(),searchBar->width(), searchBar->height()); 2232 pbar->setGeometry(searchBar->x(),searchBar->y(),searchBar->width(), searchBar->height());
2233 pbar->show(); 2233 pbar->show();
2234 pbar->raise(); 2234 pbar->raise();
2235 pbar->reset(); 2235 pbar->reset();
2236 int offset; 2236 int offset;
2237 int lastpc = (100*pos)/ts; 2237 int lastpc = (100*pos)/ts;
2238 pbar->setProgress(lastpc); 2238 pbar->setProgress(lastpc);
2239// qApp->processEvents(); 2239// qApp->processEvents();
2240 if (reader->buffdoc.getpara(test) >= 0) 2240 if (reader->buffdoc.getpara(test) >= 0)
2241 { 2241 {
2242 reader->setFocus(); 2242 reader->setFocus();
2243#ifdef __ISEARCH 2243#ifdef __ISEARCH
2244 while (strstr(test.data(),(const tchar*)arg) == NULL) 2244 while (strstr(test.data(),(const tchar*)arg) == NULL)
2245#else 2245#else
2246#ifdef _UNICODE 2246#ifdef _UNICODE
2247 while ((offset = arg.match(toQString(test.data()))) == -1) 2247 while ((offset = arg.match(toQString(test.data()))) == -1)
2248#else 2248#else
2249 while (arg.match(test.data()) == -1) 2249 while (arg.match(test.data()) == -1)
2250#endif 2250#endif
2251#endif 2251#endif
2252 { 2252 {
2253 pos = reader->locate(); 2253 pos = reader->locate();
2254 int pc = (100*pos)/ts; 2254 int pc = (100*pos)/ts;
2255 if (pc != lastpc) 2255 if (pc != lastpc)
2256 { 2256 {
2257 pbar->setProgress(pc); 2257 pbar->setProgress(pc);
2258 qApp->processEvents(); 2258 qApp->processEvents();
2259 reader->setFocus(); 2259 reader->setFocus();
2260 lastpc = pc; 2260 lastpc = pc;
2261 } 2261 }
2262 2262
2263 if (reader->buffdoc.getpara(test) < 0) 2263 if (reader->buffdoc.getpara(test) < 0)
2264 { 2264 {
2265 if (QMessageBox::warning(this, "Can't find", searchEdit->text(), 1, 2) == 2) 2265 if (QMessageBox::warning(this, "Can't find", searchEdit->text(), 1, 2) == 2)
2266 pos = searchStart; 2266 pos = searchStart;
2267 else 2267 else
2268 pos = start; 2268 pos = start;
2269 findClose(); 2269 findClose();
2270 pbar->hide(); 2270 pbar->hide();
2271 reader->locate(pos); 2271 reader->locate(pos);
2272 return false; 2272 return false;
2273 } 2273 }
2274 } 2274 }
2275// qDebug("Found it at %u:%u", pos, offset); 2275// qDebug("Found it at %u:%u", pos, offset);
2276 pbar->hide(); 2276 pbar->hide();
2277// qDebug("Hid"); 2277// qDebug("Hid");
2278 reader->locate(pos+offset); 2278 reader->locate(pos+offset);
2279// qDebug("Loacted"); 2279// qDebug("Loacted");
2280// qDebug("page up"); 2280// qDebug("page up");
2281 ret = true; 2281 ret = true;
2282 } 2282 }
2283 else 2283 else
2284 { 2284 {
2285 if (QMessageBox::warning(this, "Can't find", searchEdit->text(), 1, 2) == 2) 2285 if (QMessageBox::warning(this, "Can't find", searchEdit->text(), 1, 2) == 2)
2286 pos = searchStart; 2286 pos = searchStart;
2287 else 2287 else
2288 pos = start; 2288 pos = start;
2289 ret = false; 2289 ret = false;
2290 findClose(); 2290 findClose();
2291 } 2291 }
2292 return ret; 2292 return ret;
2293} 2293}
2294 2294
2295#ifdef __ISEARCH 2295#ifdef __ISEARCH
2296void QTReaderApp::search(const QString & arg) 2296void QTReaderApp::search(const QString & arg)
2297{ 2297{
2298 searchrecord* ss = searchStack->top(); 2298 searchrecord* ss = searchStack->top();
2299 CBuffer test; 2299 CBuffer test;
2300 size_t start = reader->pagelocate(); 2300 size_t start = reader->pagelocate();
2301 bool haspopped = false; 2301 bool haspopped = false;
2302 while (arg.left(ss->s.length()) != ss->s) 2302 while (arg.left(ss->s.length()) != ss->s)
2303 { 2303 {
2304 haspopped = true; 2304 haspopped = true;
2305 start = ss->pos; 2305 start = ss->pos;
2306// reader->locate(start); 2306// reader->locate(start);
2307 searchStack->pop(); 2307 searchStack->pop();
2308 delete ss; 2308 delete ss;
2309 } 2309 }
2310 if (haspopped) reader->locate(start); 2310 if (haspopped) reader->locate(start);
2311/* 2311/*
2312 if (arg.length() < ss->len) 2312 if (arg.length() < ss->len)
2313 { 2313 {
2314 start = ss->pos; 2314 start = ss->pos;
2315 reader->locate(start); 2315 reader->locate(start);
2316 searchStack->pop(); 2316 searchStack->pop();
2317 delete ss; 2317 delete ss;
2318 } 2318 }
2319*/ 2319*/
2320 else 2320 else
2321 { 2321 {
2322 start = reader->pagelocate(); 2322 start = reader->pagelocate();
2323 reader->jumpto(start); 2323 reader->jumpto(start);
2324 searchStack->push(new searchrecord(arg,start)); 2324 searchStack->push(new searchrecord(arg,start));
2325 } 2325 }
2326 dosearch(start, test, arg); 2326 dosearch(start, test, arg);
2327} 2327}
2328#else 2328#else
2329void QTReaderApp::search() 2329void QTReaderApp::search()
2330{ 2330{
2331 findNext(); 2331 findNext();
2332} 2332}
2333#endif 2333#endif
2334 2334
2335void QTReaderApp::openFile( const QString &f ) 2335void QTReaderApp::openFile( const QString &f )
2336{ 2336{
2337// qDebug("File:%s", (const char*)f); 2337// qDebug("File:%s", (const char*)f);
2338// openFile(DocLnk(f)); 2338// openFile(DocLnk(f));
2339//} 2339//}
2340// 2340//
2341//void QTReaderApp::openFile( const DocLnk &f ) 2341//void QTReaderApp::openFile( const DocLnk &f )
2342//{ 2342//{
2343 clear(); 2343 clear();
2344 QFileInfo fm(f); 2344 QFileInfo fm(f);
2345 if ( fm.exists() ) 2345 if ( fm.exists() )
2346 { 2346 {
2347// QMessageBox::information(0, "Progress", "Calling fileNew()"); 2347// QMessageBox::information(0, "Progress", "Calling fileNew()");
2348#ifdef USEQPE 2348#ifdef USEQPE
2349 if (fm.extension( FALSE ) == "desktop") 2349 if (fm.extension( FALSE ) == "desktop")
2350 { 2350 {
2351 DocLnk d(f); 2351 DocLnk d(f);
2352 QFileInfo fnew(d.file()); 2352 QFileInfo fnew(d.file());
2353 fm = fnew; 2353 fm = fnew;
2354 if (!fm.exists()) return; 2354 if (!fm.exists()) return;
2355 } 2355 }
2356#endif 2356#endif
2357 clear(); 2357 clear();
2358 2358
2359 reader->setText(fm.baseName(), fm.absFilePath()); 2359 reader->setText(fm.baseName(), fm.absFilePath());
2360 m_loadedconfig = readconfig(reader->m_string, false); 2360 m_loadedconfig = readconfig(reader->m_string, false);
2361 showEditTools(); 2361 showEditTools();
2362 readbkmks(); 2362 readbkmks();
2363 m_savedpos = 0xffffffff; 2363 m_savedpos = 0xffffffff;
2364 } 2364 }
2365 else 2365 else
2366 { 2366 {
2367 QMessageBox::information(this, PROGNAME, "File does not exist"); 2367 QMessageBox::information(this, PROGNAME, "File does not exist");
2368 reader->m_lastfile = QString::null; 2368 reader->m_lastfile = QString::null;
2369 } 2369 }
2370 2370
2371} 2371}
2372/* 2372/*
2373void QTReaderApp::resizeEvent(QResizeEvent* e) 2373void QTReaderApp::resizeEvent(QResizeEvent* e)
2374{ 2374{
2375 if (m_fullscreen) 2375 if (m_fullscreen)
2376 { 2376 {
2377 showNormal(); 2377 showNormal();
2378 showFullScreen(); 2378 showFullScreen();
2379 } 2379 }
2380} 2380}
2381*/ 2381*/
2382void QTReaderApp::handlekey(QKeyEvent* e) 2382void QTReaderApp::handlekey(QKeyEvent* e)
2383{ 2383{
2384// qDebug("Keypress event"); 2384// qDebug("Keypress event");
2385 timeb now; 2385 timeb now;
2386 ftime(&now); 2386 ftime(&now);
2387 unsigned long etime = (1000*(now.time - m_lastkeytime.time) + now.millitm)-m_lastkeytime.millitm; 2387 unsigned long etime = (1000*(now.time - m_lastkeytime.time) + now.millitm)-m_lastkeytime.millitm;
2388 if (etime < m_debounce) 2388 if (etime < m_debounce)
2389 { 2389 {
2390 return; 2390 return;
2391 } 2391 }
2392 m_lastkeytime = now; 2392 m_lastkeytime = now;
2393 switch(e->key()) 2393 switch(e->key())
2394 { 2394 {
2395 case Key_Escape: 2395 case Key_Escape:
2396 // qDebug("escape event"); 2396 // qDebug("escape event");
2397 if (m_disableesckey) 2397 if (m_disableesckey)
2398 { 2398 {
2399 m_disableesckey = false; 2399 m_disableesckey = false;
2400 } 2400 }
2401 else 2401 else
2402 { 2402 {
2403 m_bcloseDisabled = true; 2403 m_bcloseDisabled = true;
2404 if (m_fullscreen) 2404 if (m_fullscreen)
2405 { 2405 {
2406 m_actFullscreen->setOn(false); 2406 m_actFullscreen->setOn(false);
2407 e->accept(); 2407 e->accept();
2408 } 2408 }
2409 else 2409 else
2410 { 2410 {
2411 // qDebug("escape action"); 2411 // qDebug("escape action");
2412 doAction(m_escapeTarget, e); 2412 doAction(m_escapeTarget, e);
2413 } 2413 }
2414 } 2414 }
2415 break; 2415 break;
2416 case Key_Space: 2416 case Key_Space:
2417 { 2417 {
2418 doAction(m_spaceTarget, e); 2418 doAction(m_spaceTarget, e);
2419 } 2419 }
2420 break; 2420 break;
2421 case Key_Return: 2421 case Key_Return:
2422 { 2422 {
2423 doAction(m_returnTarget, e); 2423 doAction(m_returnTarget, e);
2424 } 2424 }
2425 break; 2425 break;
2426 case Key_Left: 2426 case Key_Left:
2427 { 2427 {
2428 if (reader->m_autoScroll && m_leftScroll) 2428 if (reader->m_autoScroll && m_leftScroll)
2429 { 2429 {
2430 reader->reduceScroll(); 2430 reader->reduceScroll();
2431 } 2431 }
2432 else 2432 else
2433 { 2433 {
2434 doAction(m_leftTarget, e); 2434 doAction(m_leftTarget, e);
2435 } 2435 }
2436 } 2436 }
2437 break; 2437 break;
2438 case Key_Right: 2438 case Key_Right:
2439 { 2439 {
2440 if (reader->m_autoScroll && m_rightScroll) 2440 if (reader->m_autoScroll && m_rightScroll)
2441 { 2441 {
2442 reader->increaseScroll(); 2442 reader->increaseScroll();
2443 } 2443 }
2444 else 2444 else
2445 { 2445 {
2446 doAction(m_rightTarget, e); 2446 doAction(m_rightTarget, e);
2447 } 2447 }
2448 } 2448 }
2449 break; 2449 break;
2450 case Key_Up: 2450 case Key_Up:
2451 { 2451 {
2452 if (reader->m_autoScroll && m_upScroll) 2452 if (reader->m_autoScroll && m_upScroll)
2453 { 2453 {
2454 reader->increaseScroll(); 2454 reader->increaseScroll();
2455 } 2455 }
2456 else 2456 else
2457 { 2457 {
2458 doAction(m_upTarget, e); 2458 doAction(m_upTarget, e);
2459 } 2459 }
2460 } 2460 }
2461 break; 2461 break;
2462 case Key_Down: 2462 case Key_Down:
2463 { 2463 {
2464 if (reader->m_autoScroll && m_downScroll) 2464 if (reader->m_autoScroll && m_downScroll)
2465 { 2465 {
2466 reader->reduceScroll(); 2466 reader->reduceScroll();
2467 } 2467 }
2468 else 2468 else
2469 { 2469 {
2470 doAction(m_downTarget, e); 2470 doAction(m_downTarget, e);
2471 } 2471 }
2472 } 2472 }
2473 break; 2473 break;
2474 default: 2474 default:
2475 { 2475 {
2476 e->ignore(); 2476 e->ignore();
2477 } 2477 }
2478 2478
2479/* 2479/*
2480 QString msg("Key press was:"); 2480 QString msg("Key press was:");
2481 QString key; 2481 QString key;
2482 msg += key.setNum(e->key()); 2482 msg += key.setNum(e->key());
2483 QMessageBox::information(this, PROGNAME, msg); 2483 QMessageBox::information(this, PROGNAME, msg);
2484*/ 2484*/
2485 } 2485 }
2486} 2486}
2487 2487
2488void QTReaderApp::showEditTools() 2488void QTReaderApp::showEditTools()
2489{ 2489{
2490// if ( !doc ) 2490// if ( !doc )
2491 //close(); 2491 //close();
2492 if (m_fullscreen) 2492 if (m_fullscreen)
2493 { 2493 {
2494 if (menubar != NULL) menubar->hide(); 2494 if (menubar != NULL) menubar->hide();
2495 if (fileBar != NULL) fileBar->hide(); 2495 if (fileBar != NULL) fileBar->hide();
2496 if (viewBar != NULL) viewBar->hide(); 2496 if (viewBar != NULL) viewBar->hide();
2497 if (navBar != NULL) navBar->hide(); 2497 if (navBar != NULL) navBar->hide();
2498 if (markBar != NULL) markBar->hide(); 2498 if (markBar != NULL) markBar->hide();
2499 searchBar->hide(); 2499 searchBar->hide();
2500 regBar->hide(); 2500 regBar->hide();
2501#ifdef USEQPE 2501#ifdef USEQPE
2502 Global::hideInputMethod(); 2502 Global::hideInputMethod();
2503#endif 2503#endif
2504 m_fontBar->hide(); 2504 m_fontBar->hide();
2505 //showNormal(); 2505 //showNormal();
2506 showFullScreen(); 2506 showFullScreen();
2507 } 2507 }
2508 else 2508 else
2509 { 2509 {
2510 //qDebug("him"); 2510 //qDebug("him");
2511#ifdef USEQPE 2511#ifdef USEQPE
2512 Global::hideInputMethod(); 2512 Global::hideInputMethod();
2513#endif 2513#endif
2514 //qDebug("eb"); 2514 //qDebug("eb");
2515 menubar->show(); 2515 menubar->show();
2516 if (fileBar != NULL) fileBar->show(); 2516 if (fileBar != NULL) fileBar->show();
2517 if (viewBar != NULL) viewBar->show(); 2517 if (viewBar != NULL) viewBar->show();
2518 if (navBar != NULL) navBar->show(); 2518 if (navBar != NULL) navBar->show();
2519 if (markBar != NULL) markBar->show(); 2519 if (markBar != NULL) markBar->show();
2520 mb->show(); 2520 mb->show();
2521 if ( searchVisible ) 2521 if ( searchVisible )
2522 { 2522 {
2523#ifdef USEQPE 2523#ifdef USEQPE
2524 Global::showInputMethod(); 2524 Global::showInputMethod();
2525#endif 2525#endif
2526 searchBar->show(); 2526 searchBar->show();
2527 } 2527 }
2528 if ( regVisible ) 2528 if ( regVisible )
2529 { 2529 {
2530#ifdef USEQPE 2530#ifdef USEQPE
2531 Global::showInputMethod(); 2531 Global::showInputMethod();
2532#endif 2532#endif
2533 regBar->show(); 2533 regBar->show();
2534 } 2534 }
2535 if (m_fontVisible) m_fontBar->show(); 2535 if (m_fontVisible) m_fontBar->show();
2536 //qDebug("sn"); 2536 //qDebug("sn");
2537 showNormal(); 2537 showNormal();
2538 //qDebug("sm"); 2538 //qDebug("sm");
2539#ifdef USEQPE 2539#ifdef USEQPE
2540 showMaximized(); 2540 showMaximized();
2541#endif 2541#endif
2542 //setCentralWidget(reader); 2542 //setCentralWidget(reader);
2543 } 2543 }
2544 2544
2545// qDebug("uc"); 2545// qDebug("uc");
2546 updateCaption(); 2546 updateCaption();
2547// qDebug("rw"); 2547// qDebug("rw");
2548 editorStack->raiseWidget( reader ); 2548 editorStack->raiseWidget( reader );
2549// qDebug("sf"); 2549// qDebug("sf");
2550 reader->setFocus(); 2550 reader->setFocus();
2551 reader->refresh(); 2551 reader->refresh();
2552} 2552}
2553/* 2553/*
2554void QTReaderApp::save() 2554void QTReaderApp::save()
2555{ 2555{
2556 if ( !doc ) 2556 if ( !doc )
2557 return; 2557 return;
2558 if ( !editor->edited() ) 2558 if ( !editor->edited() )
2559 return; 2559 return;
2560 2560
2561 QString rt = editor->text(); 2561 QString rt = editor->text();
2562 QString pt = rt; 2562 QString pt = rt;
2563 2563
2564 if ( doc->name().isEmpty() ) { 2564 if ( doc->name().isEmpty() ) {
2565 unsigned ispace = pt.find( ' ' ); 2565 unsigned ispace = pt.find( ' ' );
2566 unsigned ienter = pt.find( '\n' ); 2566 unsigned ienter = pt.find( '\n' );
2567 int i = (ispace < ienter) ? ispace : ienter; 2567 int i = (ispace < ienter) ? ispace : ienter;
2568 QString docname; 2568 QString docname;
2569 if ( i == -1 ) { 2569 if ( i == -1 ) {
2570 if ( pt.isEmpty() ) 2570 if ( pt.isEmpty() )
2571 docname = "Empty Text"; 2571 docname = "Empty Text";
2572 else 2572 else
2573 docname = pt; 2573 docname = pt;
2574 } else { 2574 } else {
2575 docname = pt.left( i ); 2575 docname = pt.left( i );
2576 } 2576 }
2577 doc->setName(docname); 2577 doc->setName(docname);
2578 } 2578 }
2579 FileManager fm; 2579 FileManager fm;
2580 fm.saveFile( *doc, rt ); 2580 fm.saveFile( *doc, rt );
2581} 2581}
2582*/ 2582*/
2583 2583
2584void QTReaderApp::clear() 2584void QTReaderApp::clear()
2585{ 2585{
2586// if (doc != 0) 2586// if (doc != 0)
2587// { 2587// {
2588// QMessageBox::information(this, PROGNAME, "Deleting doc", 1); 2588// QMessageBox::information(this, PROGNAME, "Deleting doc", 1);
2589 //delete doc; 2589 //delete doc;
2590// QMessageBox::information(this, PROGNAME, "Deleted doc", 1); 2590// QMessageBox::information(this, PROGNAME, "Deleted doc", 1);
2591 //doc = 0; 2591 //doc = 0;
2592 // } 2592 // }
2593 reader->clear(); 2593 reader->clear();
2594} 2594}
2595 2595
2596void QTReaderApp::updateCaption() 2596void QTReaderApp::updateCaption()
2597{ 2597{
2598// if ( !doc ) 2598// if ( !doc )
2599 //setCaption( tr("QTReader") ); 2599 //setCaption( tr("QTReader") );
2600// else { 2600// else {
2601 //QString s = doc->name(); 2601 //QString s = doc->name();
2602 //if ( s.isEmpty() ) 2602 //if ( s.isEmpty() )
2603 // s = tr( "Unnamed" ); 2603 // s = tr( "Unnamed" );
2604 setCaption( reader->m_string + " - " + tr("Reader") ); 2604 setCaption( reader->m_string + " - " + tr("Reader") );
2605// } 2605// }
2606} 2606}
2607 2607
2608void QTReaderApp::setDocument(const QString& fileref) 2608void QTReaderApp::setDocument(const QString& fileref)
2609{ 2609{
2610 bFromDocView = TRUE; 2610 bFromDocView = TRUE;
2611//QMessageBox::information(0, "setDocument", fileref); 2611//QMessageBox::information(0, "setDocument", fileref);
2612 openFile(fileref); 2612 openFile(fileref);
2613// showEditTools(); 2613// showEditTools();
2614} 2614}
2615 2615
2616void QTReaderApp::closeEvent( QCloseEvent *e ) 2616void QTReaderApp::closeEvent( QCloseEvent *e )
2617{ 2617{
2618// qDebug("Close event"); 2618// qDebug("Close event");
2619 if (m_fullscreen) 2619 if (m_fullscreen)
2620 { 2620 {
2621 m_fullscreen = false; 2621 m_fullscreen = false;
2622 showEditTools(); 2622 showEditTools();
2623 e->accept(); 2623 e->accept();
2624 } 2624 }
2625 else if (m_dontSave) 2625 else if (m_dontSave)
2626 { 2626 {
2627 e->accept(); 2627 e->accept();
2628 } 2628 }
2629 else 2629 else
2630 { 2630 {
2631 if (editorStack->visibleWidget() == reader) 2631 if (editorStack->visibleWidget() == reader)
2632 { 2632 {
2633 if ((m_escapeTarget != cesNone) && m_bcloseDisabled) 2633 if ((m_escapeTarget != cesNone) && m_bcloseDisabled)
2634 { 2634 {
2635 //qDebug("Close disabled"); 2635 //qDebug("Close disabled");
2636 m_bcloseDisabled = false; 2636 m_bcloseDisabled = false;
2637 e->ignore(); 2637 e->ignore();
2638 } 2638 }
2639 else 2639 else
2640 { 2640 {
2641 if (m_fontVisible) 2641 if (m_fontVisible)
2642 { 2642 {
2643 m_fontBar->hide(); 2643 m_fontBar->hide();
2644 m_fontVisible = false; 2644 m_fontVisible = false;
2645 } 2645 }
2646 if (regVisible) 2646 if (regVisible)
2647 { 2647 {
2648 regBar->hide(); 2648 regBar->hide();
2649#ifdef USEQPE 2649#ifdef USEQPE
2650 Global::hideInputMethod(); 2650 Global::hideInputMethod();
2651#endif 2651#endif
2652 regVisible = false; 2652 regVisible = false;
2653 return; 2653 return;
2654 } 2654 }
2655 if (searchVisible) 2655 if (searchVisible)
2656 { 2656 {
2657 searchBar->hide(); 2657 searchBar->hide();
2658#ifdef USEQPE 2658#ifdef USEQPE
2659 Global::hideInputMethod(); 2659 Global::hideInputMethod();
2660#endif 2660#endif
2661 searchVisible = false; 2661 searchVisible = false;
2662 return; 2662 return;
2663 } 2663 }
2664 if (m_fBkmksChanged && pBkmklist != NULL) 2664 if (m_fBkmksChanged && pBkmklist != NULL)
2665 { 2665 {
2666 if (QMessageBox::warning(this, PROGNAME, "Save bookmarks?", "Save", "Don't bother") == 0) 2666 if (QMessageBox::warning(this, PROGNAME, "Save bookmarks?", "Save", "Don't bother") == 0)
2667 savebkmks(); 2667 savebkmks();
2668 delete pBkmklist; 2668 delete pBkmklist;
2669 pBkmklist = NULL; 2669 pBkmklist = NULL;
2670 m_fBkmksChanged = false; 2670 m_fBkmksChanged = false;
2671 } 2671 }
2672 bFromDocView = FALSE; 2672 bFromDocView = FALSE;
2673 updatefileinfo(); 2673 updatefileinfo();
2674 saveprefs(); 2674 saveprefs();
2675 e->accept(); 2675 e->accept();
2676 } 2676 }
2677 } 2677 }
2678 else 2678 else
2679 { 2679 {
2680 showEditTools(); 2680 showEditTools();
2681 m_disableesckey = true; 2681 m_disableesckey = true;
2682 } 2682 }
2683 } 2683 }
2684} 2684}
2685 2685
2686void QTReaderApp::do_gotomark() 2686void QTReaderApp::do_gotomark()
2687{ 2687{
2688 m_nBkmkAction = cGotoBkmk; 2688 m_nBkmkAction = cGotoBkmk;
2689 if (!listbkmk(pBkmklist)) 2689 if (!listbkmk(pBkmklist))
2690 QMessageBox::information(this, PROGNAME, "No bookmarks in memory"); 2690 QMessageBox::information(this, PROGNAME, "No bookmarks in memory");
2691} 2691}
2692 2692
2693void QTReaderApp::do_delmark() 2693void QTReaderApp::do_delmark()
2694{ 2694{
2695 m_nBkmkAction = cDelBkmk; 2695 m_nBkmkAction = cDelBkmk;
2696 if (!listbkmk(pBkmklist)) 2696 if (!listbkmk(pBkmklist))
2697 QMessageBox::information(this, PROGNAME, "No bookmarks in memory"); 2697 QMessageBox::information(this, PROGNAME, "No bookmarks in memory");
2698} 2698}
2699 2699
2700bool QTReaderApp::listbkmk(CList<Bkmk>* plist, const QString& _lab) 2700bool QTReaderApp::listbkmk(CList<Bkmk>* plist, const QString& _lab)
2701{ 2701{
2702 bkmkselector->clear(); 2702 bkmkselector->clear();
2703 if (_lab.isEmpty()) 2703 if (_lab.isEmpty())
2704 bkmkselector->setText("Cancel"); 2704 bkmkselector->setText("Cancel");
2705 else 2705 else
2706 bkmkselector->setText(_lab); 2706 bkmkselector->setText(_lab);
2707 int cnt = 0; 2707 int cnt = 0;
2708 if (plist != NULL) 2708 if (plist != NULL)
2709 { 2709 {
2710 for (CList<Bkmk>::iterator i = plist->begin(); i != plist->end(); i++) 2710 for (CList<Bkmk>::iterator i = plist->begin(); i != plist->end(); i++)
2711 { 2711 {
2712#ifdef _UNICODE 2712#ifdef _UNICODE
2713 // qDebug("Item:%s", (const char*)toQString(i->name())); 2713 // qDebug("Item:%s", (const char*)toQString(i->name()));
2714 bkmkselector->insertItem(toQString(i->name())); 2714 bkmkselector->insertItem(toQString(i->name()));
2715#else 2715#else
2716 bkmkselector->insertItem(i->name()); 2716 bkmkselector->insertItem(i->name());
2717#endif 2717#endif
2718 cnt++; 2718 cnt++;
2719 } 2719 }
2720 } 2720 }
2721 if (cnt > 0) 2721 if (cnt > 0)
2722 { 2722 {
2723 hidetoolbars(); 2723 hidetoolbars();
2724 editorStack->raiseWidget( bkmkselector ); 2724 editorStack->raiseWidget( bkmkselector );
2725 return true; 2725 return true;
2726 } 2726 }
2727 else 2727 else
2728 return false; 2728 return false;
2729} 2729}
2730 2730
2731void QTReaderApp::do_autogen() 2731void QTReaderApp::do_autogen()
2732{ 2732{
2733 m_nRegAction = cAutoGen; 2733 m_nRegAction = cAutoGen;
2734 regEdit->setText(m_autogenstr); 2734 regEdit->setText(m_autogenstr);
2735 do_regedit(); 2735 do_regedit();
2736} 2736}
2737 2737
2738void QTReaderApp::do_regedit() 2738void QTReaderApp::do_regedit()
2739{ 2739{
2740// fileBar->hide(); 2740// fileBar->hide();
2741 reader->bDoUpdates = false; 2741 reader->bDoUpdates = false;
2742// qDebug("Showing regbar"); 2742// qDebug("Showing regbar");
2743 regBar->show(); 2743 regBar->show();
2744// qDebug("Showing kbd"); 2744// qDebug("Showing kbd");
2745#ifdef USEQPE 2745#ifdef USEQPE
2746 Global::showInputMethod(); 2746 Global::showInputMethod();
2747#endif 2747#endif
2748 regVisible = true; 2748 regVisible = true;
2749 regEdit->setFocus(); 2749 regEdit->setFocus();
2750// qApp->processEvents(); 2750// qApp->processEvents();
2751 reader->bDoUpdates = true; 2751 reader->bDoUpdates = true;
2752 reader->update(); 2752 reader->update();
2753} 2753}
2754 2754
2755bool QTReaderApp::openfrombkmk(Bkmk* bk) 2755bool QTReaderApp::openfrombkmk(Bkmk* bk)
2756{ 2756{
2757 QString fn = toQString( 2757 QString fn = toQString(
2758 CFiledata(bk->anno()).name() 2758 CFiledata(bk->anno()).name()
2759 ); 2759 );
2760 //qDebug("fileinfo"); 2760 //qDebug("fileinfo");
2761 if (!fn.isEmpty() && QFileInfo(fn).isFile()) 2761 if (!fn.isEmpty() && QFileInfo(fn).isFile())
2762 { 2762 {
2763 //qDebug("Opening"); 2763 //qDebug("Opening");
2764 openFile(fn); 2764 openFile(fn);
2765 struct stat fnstat; 2765 struct stat fnstat;
2766 stat((const char *)reader->m_lastfile, &fnstat); 2766 stat((const char *)reader->m_lastfile, &fnstat);
2767 2767
2768 if (CFiledata(bk->anno()).date() 2768 if (CFiledata(bk->anno()).date()
2769 != fnstat.st_mtime) 2769 != fnstat.st_mtime)
2770 { 2770 {
2771 CFiledata fd(bk->anno()); 2771 CFiledata fd(bk->anno());
2772 fd.setdate(fnstat.st_mtime); 2772 fd.setdate(fnstat.st_mtime);
2773 bk->value(0); 2773 bk->value(0);
2774 } 2774 }
2775 else 2775 else
2776 { 2776 {
2777 unsigned short svlen = bk->filedatalen(); 2777 unsigned short svlen = bk->filedatalen();
2778 unsigned char* svdata = bk->filedata(); 2778 unsigned char* svdata = bk->filedata();
2779 reader->putSaveData(svdata, svlen); 2779 reader->putSaveData(svdata, svlen);
2780 // setstate(svdata, svlen); 2780 // setstate(svdata, svlen);
2781 if (svlen != 0) 2781 if (svlen != 0)
2782 { 2782 {
2783 QMessageBox::warning(this, PROGNAME, "Not all file data used\nNew version?"); 2783 QMessageBox::warning(this, PROGNAME, "Not all file data used\nNew version?");
2784 } 2784 }
2785 // qDebug("updating"); 2785 // qDebug("updating");
2786 // showEditTools(); 2786 // showEditTools();
2787 reader->locate(bk->value()); 2787 reader->locate(bk->value());
2788 } 2788 }
2789 return true; 2789 return true;
2790 } 2790 }
2791 else 2791 else
2792 { 2792 {
2793 return false; 2793 return false;
2794 } 2794 }
2795} 2795}
2796 2796
2797void QTReaderApp::gotobkmk(int ind) 2797void QTReaderApp::gotobkmk(int ind)
2798{ 2798{
2799 showEditTools(); 2799 showEditTools();
2800 switch (m_nBkmkAction) 2800 switch (m_nBkmkAction)
2801 { 2801 {
2802 case cOpenFile: 2802 case cOpenFile:
2803 { 2803 {
2804 // qApp->processEvents(); 2804 // qApp->processEvents();
2805 if (!openfrombkmk((*pOpenlist)[ind])) 2805 if (!openfrombkmk((*pOpenlist)[ind]))
2806 { 2806 {
2807 pOpenlist->erase(ind); 2807 pOpenlist->erase(ind);
2808 QMessageBox::information(this, PROGNAME, "Can't find file"); 2808 QMessageBox::information(this, PROGNAME, "Can't find file");
2809 } 2809 }
2810 } 2810 }
2811 break; 2811 break;
2812 case cGotoBkmk: 2812 case cGotoBkmk:
2813 reader->locate((*pBkmklist)[ind]->value()); 2813 reader->locate((*pBkmklist)[ind]->value());
2814 break; 2814 break;
2815 case cDelBkmk: 2815 case cDelBkmk:
2816 //// qDebug("Deleting:%s\n",(*pBkmklist)[ind]->name()); 2816 //// qDebug("Deleting:%s\n",(*pBkmklist)[ind]->name());
2817 pBkmklist->erase(ind); 2817 pBkmklist->erase(ind);
2818 m_fBkmksChanged = true; 2818 m_fBkmksChanged = true;
2819 // pBkmklist->sort(); 2819 // pBkmklist->sort();
2820 break; 2820 break;
2821 case cRmBkmkFile: 2821 case cRmBkmkFile:
2822 { 2822 {
2823#ifndef USEQPE 2823#ifndef USEQPE
2824 QDir d = QDir::home(); // "/" 2824 QDir d = QDir::home(); // "/"
2825 d.cd(APPDIR); 2825 d.cd(APPDIR);
2826 d.remove(bkmkselector->text(ind)); 2826 d.remove(bkmkselector->text(ind));
2827#else /* USEQPE */ 2827#else /* USEQPE */
2828 unlink((const char *)Global::applicationFileName(APPDIR,bkmkselector->text(ind))); 2828 unlink((const char *)Global::applicationFileName(APPDIR,bkmkselector->text(ind)));
2829#endif /* USEQPE */ 2829#endif /* USEQPE */
2830 } 2830 }
2831 break; 2831 break;
2832 case cLdConfig: 2832 case cLdConfig:
2833 readconfig(bkmkselector->text(ind), false); 2833 readconfig(bkmkselector->text(ind), false);
2834 break; 2834 break;
2835 case cRmConfig: 2835 case cRmConfig:
2836 { 2836 {
2837#ifndef USEQPE 2837#ifndef USEQPE
2838 QDir d = QDir::home(); // "/" 2838 QDir d = QDir::home(); // "/"
2839 d.cd(APPDIR "/configs"); 2839 d.cd(APPDIR "/configs");
2840 d.remove(bkmkselector->text(ind)); 2840 d.remove(bkmkselector->text(ind));
2841#else /* USEQPE */ 2841#else /* USEQPE */
2842 unlink((const char *)Global::applicationFileName(APPDIR "/configs",bkmkselector->text(ind))); 2842 unlink((const char *)Global::applicationFileName(APPDIR "/configs",bkmkselector->text(ind)));
2843#endif /* USEQPE */ 2843#endif /* USEQPE */
2844 } 2844 }
2845 break; 2845 break;
2846 case cExportLinks: 2846 case cExportLinks:
2847 { 2847 {
2848#ifndef USEQPE 2848#ifndef USEQPE
2849 QDir d = QDir::home(); // "/" 2849 QDir d = QDir::home(); // "/"
2850 d.cd(APPDIR "/urls"); 2850 d.cd(APPDIR "/urls");
2851 QFileInfo fi(d, bkmkselector->text(ind)); 2851 QFileInfo fi(d, bkmkselector->text(ind));
2852 if (fi.exists()) 2852 if (fi.exists())
2853 { 2853 {
2854 QString outfile( QFileDialog::getSaveFileName( QString::null, QString::null, this ) ); 2854 QString outfile( QFileDialog::getSaveFileName( QString::null, QString::null, this ) );
2855 if (!outfile.isEmpty()) 2855 if (!outfile.isEmpty())
2856 { 2856 {
2857 FILE* fout = fopen((const char *)outfile, "w"); 2857 FILE* fout = fopen((const char *)outfile, "w");
2858 if (fout != NULL) 2858 if (fout != NULL)
2859 { 2859 {
2860 FILE* fin = fopen((const char *)fi.absFilePath(), "r"); 2860 FILE* fin = fopen((const char *)fi.absFilePath(), "r");
2861 if (fin != NULL) 2861 if (fin != NULL)
2862 { 2862 {
2863 fprintf(fout, "<html><body>\n"); 2863 fprintf(fout, "<html><body>\n");
2864 int ch = 0; 2864 int ch = 0;
2865 while ((ch = fgetc(fin)) != EOF) 2865 while ((ch = fgetc(fin)) != EOF)
2866 { 2866 {
2867 fputc(ch, fout); 2867 fputc(ch, fout);
2868 } 2868 }
2869 fclose(fin); 2869 fclose(fin);
2870 fprintf(fout, "</html></body>\n"); 2870 fprintf(fout, "</html></body>\n");
2871 d.remove(bkmkselector->text(ind)); 2871 d.remove(bkmkselector->text(ind));
2872 } 2872 }
2873 fclose(fout); 2873 fclose(fout);
2874 } 2874 }
2875 else 2875 else
2876 QMessageBox::information(this, PROGNAME, "Couldn't open output"); 2876 QMessageBox::information(this, PROGNAME, "Couldn't open output");
2877 } 2877 }
2878 } 2878 }
2879#else /* USEQPE */ 2879#else /* USEQPE */
2880 FILE* fin = fopen((const char *)Global::applicationFileName(APPDIR "/urls",bkmkselector->text(ind)), "r"); 2880 FILE* fin = fopen((const char *)Global::applicationFileName(APPDIR "/urls",bkmkselector->text(ind)), "r");
2881 if (fin != NULL) 2881 if (fin != NULL)
2882 { 2882 {
2883 bool allok = false; 2883 bool allok = false;
2884 fileBrowser* fb = new fileBrowser(true, this,"OpieReader",!m_bFloatingDialog, 0, "*", QString::null); 2884 fileBrowser* fb = new fileBrowser(true, this,"OpieReader",!m_bFloatingDialog, 0, "*", QString::null);
2885 if (fb->exec()) 2885 if (fb->exec())
2886 { 2886 {
2887 QString outfile = fb->getCurrentFile(); 2887 QString outfile = fb->getCurrentFile();
2888 FILE* fout = fopen((const char *)outfile, "w"); 2888 FILE* fout = fopen((const char *)outfile, "w");
2889 if (fout != NULL) 2889 if (fout != NULL)
2890 { 2890 {
2891 fprintf(fout, "<html><body>\n"); 2891 fprintf(fout, "<html><body>\n");
2892 int ch = 0; 2892 int ch = 0;
2893 while ((ch = fgetc(fin)) != EOF) 2893 while ((ch = fgetc(fin)) != EOF)
2894 { 2894 {
2895 fputc(ch, fout); 2895 fputc(ch, fout);
2896 } 2896 }
2897 fprintf(fout, "</html></body>\n"); 2897 fprintf(fout, "</html></body>\n");
2898 fclose(fout); 2898 fclose(fout);
2899 allok = true; 2899 allok = true;
2900 } 2900 }
2901 else 2901 else
2902 QMessageBox::information(this, PROGNAME, "Couldn't open output"); 2902 QMessageBox::information(this, PROGNAME, "Couldn't open output");
2903 } 2903 }
2904 delete fb; 2904 delete fb;
2905 fclose(fin); 2905 fclose(fin);
2906 if (allok) unlink((const char *)Global::applicationFileName(APPDIR "/urls",bkmkselector->text(ind))); 2906 if (allok) unlink((const char *)Global::applicationFileName(APPDIR "/urls",bkmkselector->text(ind)));
2907 } 2907 }
2908 else 2908 else
2909 { 2909 {
2910 QMessageBox::information(this, PROGNAME, "Couldn't open input"); 2910 QMessageBox::information(this, PROGNAME, "Couldn't open input");
2911 } 2911 }
2912 2912
2913/* 2913/*
2914 CFileSelector *f = new CFileSelector("text/html", this, NULL, !m_bFloatingDialog, TRUE, TRUE ); 2914 CFileSelector *f = new CFileSelector("text/html", this, NULL, !m_bFloatingDialog, TRUE, TRUE );
2915 int ret = f->exec(); 2915 int ret = f->exec();
2916 qDebug("Return:%d", ret); 2916 qDebug("Return:%d", ret);
2917 DocLnk* doc = f->getDoc(); 2917 DocLnk* doc = f->getDoc();
2918 if (doc != NULL) 2918 if (doc != NULL)
2919 { 2919 {
2920 FILE* fin = fopen((const char *)Global::applicationFileName(APPDIR "/urls",bkmkselector->text(ind)), "r"); 2920 FILE* fin = fopen((const char *)Global::applicationFileName(APPDIR "/urls",bkmkselector->text(ind)), "r");
2921 QString rt; 2921 QString rt;
2922 rt = "<html><body>\n"; 2922 rt = "<html><body>\n";
2923 int ch = 0; 2923 int ch = 0;
2924 while ((ch = fgetc(fin)) != EOF) 2924 while ((ch = fgetc(fin)) != EOF)
2925 { 2925 {
2926 rt += (char)ch; 2926 rt += (char)ch;
2927 } 2927 }
2928 fclose(fin); 2928 fclose(fin);
2929 rt += "</html></body>\n"; 2929 rt += "</html></body>\n";
2930 if ( doc->name().isEmpty() ) 2930 if ( doc->name().isEmpty() )
2931 { 2931 {
2932 doc->setName(bkmkselector->text(ind)); 2932 doc->setName(bkmkselector->text(ind));
2933 } 2933 }
2934 FileManager fm; 2934 FileManager fm;
2935 fm.saveFile( *doc, rt ); 2935 fm.saveFile( *doc, rt );
2936 qDebug("YES"); 2936 qDebug("YES");
2937 } 2937 }
2938 else 2938 else
2939 { 2939 {
2940 qDebug("NO"); 2940 qDebug("NO");
2941 } 2941 }
2942 delete f; 2942 delete f;
2943*/ 2943*/
2944 2944
2945#endif /* USEQPE */ 2945#endif /* USEQPE */
2946 } 2946 }
2947 break; 2947 break;
2948 } 2948 }
2949} 2949}
2950 2950
2951void QTReaderApp::cancelbkmk() 2951void QTReaderApp::cancelbkmk()
2952{ 2952{
2953 if (m_nBkmkAction == cOpenFile) 2953 if (m_nBkmkAction == cOpenFile)
2954 { 2954 {
2955 QString fn = usefilebrowser(); 2955 QString fn = usefilebrowser();
2956 if (!fn.isEmpty() && QFileInfo(fn).isFile()) openFile(fn); 2956 if (!fn.isEmpty() && QFileInfo(fn).isFile()) openFile(fn);
2957 } 2957 }
2958 showEditTools(); 2958 showEditTools();
2959} 2959}
2960 2960
2961void QTReaderApp::jump() 2961void QTReaderApp::jump()
2962{ 2962{
2963 m_nRegAction = cJump; 2963 m_nRegAction = cJump;
2964 char lcn[20]; 2964 char lcn[20];
2965 sprintf(lcn, "%lu", reader->pagelocate()); 2965 sprintf(lcn, "%lu", reader->pagelocate());
2966 regEdit->setText(lcn); 2966 regEdit->setText(lcn);
2967 do_regedit(); 2967 do_regedit();
2968} 2968}
2969 2969
2970void QTReaderApp::do_jump(const QString& lcn) 2970void QTReaderApp::do_jump(const QString& lcn)
2971{ 2971{
2972 bool ok; 2972 bool ok;
2973 unsigned long ulcn = lcn.toULong(&ok); 2973 unsigned long ulcn = lcn.toULong(&ok);
2974 if (ok) 2974 if (ok)
2975 reader->locate(ulcn); 2975 reader->locate(ulcn);
2976 else 2976 else
2977 QMessageBox::information(this, PROGNAME, "Must be a number"); 2977 QMessageBox::information(this, PROGNAME, "Must be a number");
2978} 2978}
2979 2979
2980void QTReaderApp::do_regaction() 2980void QTReaderApp::do_regaction()
2981{ 2981{
2982 reader->bDoUpdates = false; 2982 reader->bDoUpdates = false;
2983 regBar->hide(); 2983 regBar->hide();
2984#ifdef USEQPE 2984#ifdef USEQPE
2985 Global::hideInputMethod(); 2985 Global::hideInputMethod();
2986#endif 2986#endif
2987 regVisible = false; 2987 regVisible = false;
2988 switch(m_nRegAction) 2988 switch(m_nRegAction)
2989 { 2989 {
2990 case cAutoGen: 2990 case cAutoGen:
2991 do_autogen(regEdit->text()); 2991 do_autogen(regEdit->text());
2992 break; 2992 break;
2993 case cAddBkmk: 2993 case cAddBkmk:
2994 do_addbkmk(regEdit->text()); 2994 do_addbkmk(regEdit->text());
2995 break; 2995 break;
2996 case cJump: 2996 case cJump:
2997 do_jump(regEdit->text()); 2997 do_jump(regEdit->text());
2998 break; 2998 break;
2999/* 2999/*
3000 case cMonoSpace: 3000 case cMonoSpace:
3001 do_mono(regEdit->text()); 3001 do_mono(regEdit->text());
3002 break; 3002 break;
3003*/ 3003*/
3004 case cSetTarget: 3004 case cSetTarget:
3005 do_settarget(regEdit->text()); 3005 do_settarget(regEdit->text());
3006 break; 3006 break;
3007#ifdef _SCROLLPIPE 3007#ifdef _SCROLLPIPE
3008 case cSetPipeTarget: 3008 case cSetPipeTarget:
3009 do_setpipetarget(regEdit->text()); 3009 do_setpipetarget(regEdit->text());
3010 break; 3010 break;
3011#endif 3011#endif
3012 case cSetConfigName: 3012 case cSetConfigName:
3013 // qDebug("Saving config"); 3013 // qDebug("Saving config");
3014 do_saveconfig(regEdit->text(), false); 3014 do_saveconfig(regEdit->text(), false);
3015 break; 3015 break;
3016 } 3016 }
3017// reader->restore(); 3017// reader->restore();
3018// fileBar->show(); 3018// fileBar->show();
3019 reader->setFocus(); 3019 reader->setFocus();
3020// qApp->processEvents(); 3020// qApp->processEvents();
3021 reader->bDoUpdates = true; 3021 reader->bDoUpdates = true;
3022 reader->update(); 3022 reader->update();
3023} 3023}
3024 3024
3025void QTReaderApp::do_settarget(const QString& _txt) 3025void QTReaderApp::do_settarget(const QString& _txt)
3026{ 3026{
3027 int ind = _txt.find('/'); 3027 int ind = _txt.find('/');
3028 if (ind == -1) 3028 if (ind == -1)
3029 { 3029 {
3030 m_targetapp = ""; 3030 m_targetapp = "";
3031 m_targetmsg = ""; 3031 m_targetmsg = "";
3032 QMessageBox::information(this, PROGNAME, "Format is\nappname/messagename"); 3032 QMessageBox::information(this, PROGNAME, "Format is\nappname/messagename");
3033 } 3033 }
3034 else 3034 else
3035 { 3035 {
3036 m_targetapp = _txt.left(ind); 3036 m_targetapp = _txt.left(ind);
3037 m_targetmsg = _txt.right(_txt.length()-ind-1); 3037 m_targetmsg = _txt.right(_txt.length()-ind-1);
3038 } 3038 }
3039} 3039}
3040 3040
3041void QTReaderApp::chooseencoding() 3041void QTReaderApp::chooseencoding()
3042{ 3042{
3043 m_fontSelector->clear(); 3043 m_fontSelector->clear();
3044 m_fontSelector->insertItem("Ascii"); 3044 m_fontSelector->insertItem("Ascii");
3045 m_fontSelector->insertItem("UTF-8"); 3045 m_fontSelector->insertItem("UTF-8");
3046 m_fontSelector->insertItem("UCS-2(BE)"); 3046 m_fontSelector->insertItem("UCS-2(BE)");
3047 m_fontSelector->insertItem("USC-2(LE)"); 3047 m_fontSelector->insertItem("USC-2(LE)");
3048 m_fontSelector->insertItem("Palm"); 3048 m_fontSelector->insertItem("Palm");
3049 for (unicodetable::iterator iter = unicodetable::begin(); iter != unicodetable::end(); iter++) 3049 for (unicodetable::iterator iter = unicodetable::begin(); iter != unicodetable::end(); iter++)
3050 { 3050 {
3051 m_fontSelector->insertItem(iter->mime); 3051 m_fontSelector->insertItem(iter->mime);
3052 } // delete the FontDatabase!!! 3052 } // delete the FontDatabase!!!
3053 m_fontSelector->setCurrentItem (reader->m_encd); 3053 m_fontSelector->setCurrentItem (reader->m_encd);
3054 m_fontAction = cChooseEncoding; 3054 m_fontAction = cChooseEncoding;
3055 m_fontBar->show(); 3055 m_fontBar->show();
3056 m_fontVisible = true; 3056 m_fontVisible = true;
3057} 3057}
3058 3058
3059void QTReaderApp::setfont() 3059void QTReaderApp::setfont()
3060{ 3060{
3061 m_fontSelector->clear(); 3061 m_fontSelector->clear();
3062 { 3062 {
3063#ifdef USEQPE 3063#ifdef USEQPE
3064 FontDatabase f; 3064 FontDatabase f;
3065#else 3065#else
3066 QFontDatabase f; 3066 QFontDatabase f;
3067#endif 3067#endif
3068 QStringList flist = f.families(); 3068 QStringList flist = f.families();
3069 m_fontSelector->insertStringList(flist); 3069 m_fontSelector->insertStringList(flist);
3070 } // delete the FontDatabase!!! 3070 } // delete the FontDatabase!!!
3071 3071
3072 for (int i = 1; i <= m_fontSelector->count(); i++) 3072 for (int i = 1; i <= m_fontSelector->count(); i++)
3073 { 3073 {
3074 if (m_fontSelector->text(i) == reader->m_fontname) 3074 if (m_fontSelector->text(i) == reader->m_fontname)
3075 { 3075 {
3076 m_fontSelector->setCurrentItem(i); 3076 m_fontSelector->setCurrentItem(i);
3077 break; 3077 break;
3078 } 3078 }
3079 } 3079 }
3080 m_fontAction = cChooseFont; 3080 m_fontAction = cChooseFont;
3081 m_fontBar->show(); 3081 m_fontBar->show();
3082 m_fontVisible = true; 3082 m_fontVisible = true;
3083} 3083}
3084 3084
3085void QTReaderApp::setfontHelper(const QString& lcn, int size) 3085void QTReaderApp::setfontHelper(const QString& lcn, int size)
3086{ 3086{
3087 if (size == 0) size = reader->m_fontControl.currentsize(); 3087 if (size == 0) size = reader->m_fontControl.currentsize();
3088 if (m_propogatefontchange) 3088 if (m_propogatefontchange)
3089 { 3089 {
3090 QFont f(lcn, 10); 3090 QFont f(lcn, 10);
3091 bkmkselector->setFont( f ); 3091 bkmkselector->setFont( f );
3092 regEdit->setFont( f ); 3092 regEdit->setFont( f );
3093 searchEdit->setFont( f ); 3093 searchEdit->setFont( f );
3094 m_annoWin->setFont( f ); 3094 m_annoWin->setFont( f );
3095 } 3095 }
3096 reader->m_fontname = lcn; 3096 reader->m_fontname = lcn;
3097 if (!reader->ChangeFont(size)) 3097 if (!reader->ChangeFont(size))
3098 { 3098 {
3099 reader->ChangeFont(size); 3099 reader->ChangeFont(size);
3100 } 3100 }
3101} 3101}
3102 3102
3103void QTReaderApp::do_setencoding(int i) 3103void QTReaderApp::do_setencoding(int i)
3104{ 3104{
3105// qDebug("setencoding:%d", i); 3105// qDebug("setencoding:%d", i);
3106 if (m_fontAction == cChooseEncoding) 3106 if (m_fontAction == cChooseEncoding)
3107 { 3107 {
3108 reader->setencoding(i); 3108 reader->setencoding(i);
3109 } 3109 }
3110 reader->refresh(); 3110 reader->refresh();
3111 m_fontBar->hide(); 3111 m_fontBar->hide();
3112 m_fontVisible = false; 3112 m_fontVisible = false;
3113// qDebug("showedit"); 3113// qDebug("showedit");
3114 if (reader->isVisible()) showEditTools(); 3114 if (reader->isVisible()) showEditTools();
3115// qDebug("showeditdone"); 3115// qDebug("showeditdone");
3116} 3116}
3117 3117
3118void QTReaderApp::do_setfont(const QString& lcn) 3118void QTReaderApp::do_setfont(const QString& lcn)
3119{ 3119{
3120 if (m_fontAction == cChooseFont) 3120 if (m_fontAction == cChooseFont)
3121 { 3121 {
3122 setfontHelper(lcn); 3122 setfontHelper(lcn);
3123 } 3123 }
3124 reader->refresh(); 3124 reader->refresh();
3125 m_fontBar->hide(); 3125 m_fontBar->hide();
3126 m_fontVisible = false; 3126 m_fontVisible = false;
3127// qDebug("showedit"); 3127// qDebug("showedit");
3128 //if (reader->isVisible()) 3128 //if (reader->isVisible())
3129 showEditTools(); 3129 showEditTools();
3130// qDebug("showeditdone"); 3130// qDebug("showeditdone");
3131} 3131}
3132 3132
3133void QTReaderApp::do_autogen(const QString& regText) 3133void QTReaderApp::do_autogen(const QString& regText)
3134{ 3134{
3135 unsigned long fs, ts; 3135 unsigned long fs, ts;
3136 reader->sizes(fs,ts); 3136 reader->sizes(fs,ts);
3137// // qDebug("Reg:%s\n", (const tchar*)(regEdit->text())); 3137// // qDebug("Reg:%s\n", (const tchar*)(regEdit->text()));
3138 m_autogenstr = regText; 3138 m_autogenstr = regText;
3139 QRegExp re(regText); 3139 QRegExp re(regText);
3140 CBuffer buff; 3140 CBuffer buff;
3141 if (pBkmklist != NULL) delete pBkmklist; 3141 if (pBkmklist != NULL) delete pBkmklist;
3142 pBkmklist = new CList<Bkmk>; 3142 pBkmklist = new CList<Bkmk>;
3143 m_fBkmksChanged = true; 3143 m_fBkmksChanged = true;
3144 3144
3145 pbar->setGeometry(regBar->x(),regBar->y(),regBar->width(), regBar->height()); 3145 pbar->setGeometry(regBar->x(),regBar->y(),regBar->width(), regBar->height());
3146 pbar->show(); 3146 pbar->show();
3147 pbar->raise(); 3147 pbar->raise();
3148 pbar->reset(); 3148 pbar->reset();
3149 reader->update(); 3149 reader->update();
3150 qApp->processEvents(); 3150 qApp->processEvents();
3151 reader->setFocus(); 3151 reader->setFocus();
3152 reader->jumpto(0); 3152 reader->jumpto(0);
3153 int lastpc = 0; 3153 int lastpc = 0;
3154 int i = 0; 3154 int i = 0;
3155 while (i >= 0) 3155 while (i >= 0)
3156 { 3156 {
3157 unsigned int lcn = reader->locate(); 3157 unsigned int lcn = reader->locate();
3158 int pc = (100*lcn)/ts; 3158 int pc = (100*lcn)/ts;
3159 if (pc != lastpc) 3159 if (pc != lastpc)
3160 { 3160 {
3161 pbar->setProgress(pc); 3161 pbar->setProgress(pc);
3162 qApp->processEvents(); 3162 qApp->processEvents();
3163 if (reader->locate() != lcn) reader->jumpto(lcn); 3163 if (reader->locate() != lcn) reader->jumpto(lcn);
3164 reader->setFocus(); 3164 reader->setFocus();
3165 lastpc = pc; 3165 lastpc = pc;
3166 } 3166 }
3167 i = reader->buffdoc.getpara(buff); 3167 i = reader->buffdoc.getpara(buff);
3168#ifdef _UNICODE 3168#ifdef _UNICODE
3169 if (re.match(toQString(buff.data())) != -1) 3169 if (re.match(toQString(buff.data())) != -1)
3170#else 3170#else
3171 if (re.match(buff.data()) != -1) 3171 if (re.match(buff.data()) != -1)
3172#endif 3172#endif
3173 pBkmklist->push_back(Bkmk(buff.data(), NULL, lcn)); 3173 pBkmklist->push_back(Bkmk(buff.data(), NULL, lcn));
3174 } 3174 }
3175 pBkmklist->sort(); 3175 pBkmklist->sort();
3176 pbar->setProgress(100); 3176 pbar->setProgress(100);
3177 qApp->processEvents(); 3177 qApp->processEvents();
3178 pbar->hide(); 3178 pbar->hide();
3179 reader->refresh(); 3179 reader->refresh();
3180} 3180}
3181 3181
3182void QTReaderApp::saveprefs() 3182void QTReaderApp::saveprefs()
3183{ 3183{
3184// qDebug("saveprefs"); 3184// qDebug("saveprefs");
3185// reader->saveprefs("uqtreader"); 3185// reader->saveprefs("uqtreader");
3186// if (!m_loadedconfig) 3186// if (!m_loadedconfig)
3187 do_saveconfig( APPDIR, true ); 3187 do_saveconfig( APPDIR, true );
3188 3188
3189/* 3189/*
3190 Config config( APPDIR ); 3190 Config config( APPDIR );
3191 config.setGroup( "View" ); 3191 config.setGroup( "View" );
3192 3192
3193 reader->m_lastposn = reader->pagelocate(); 3193 reader->m_lastposn = reader->pagelocate();
3194 3194
3195 config.writeEntry("FloatDialogs", m_bFloatingDialog); 3195 config.writeEntry("FloatDialogs", m_bFloatingDialog);
3196 config.writeEntry( "StripCr", reader->bstripcr ); 3196 config.writeEntry( "StripCr", reader->bstripcr );
3197 config.writeEntry( "AutoFmt", reader->bautofmt ); 3197 config.writeEntry( "AutoFmt", reader->bautofmt );
3198 config.writeEntry( "TextFmt", reader->btextfmt ); 3198 config.writeEntry( "TextFmt", reader->btextfmt );
3199 config.writeEntry( "StripHtml", reader->bstriphtml ); 3199 config.writeEntry( "StripHtml", reader->bstriphtml );
3200 config.writeEntry( "Dehyphen", reader->bdehyphen ); 3200 config.writeEntry( "Dehyphen", reader->bdehyphen );
3201 config.writeEntry( "Depluck", reader->bdepluck ); 3201 config.writeEntry( "Depluck", reader->bdepluck );
3202 config.writeEntry( "Dejpluck", reader->bdejpluck ); 3202 config.writeEntry( "Dejpluck", reader->bdejpluck );
3203 config.writeEntry( "OneSpace", reader->bonespace ); 3203 config.writeEntry( "OneSpace", reader->bonespace );
3204 config.writeEntry( "Unindent", reader->bunindent ); 3204 config.writeEntry( "Unindent", reader->bunindent );
3205 config.writeEntry( "Repara", reader->brepara ); 3205 config.writeEntry( "Repara", reader->brepara );
3206 config.writeEntry( "DoubleSpace", reader->bdblspce ); 3206 config.writeEntry( "DoubleSpace", reader->bdblspce );
3207 config.writeEntry( "Indent", reader->bindenter ); 3207 config.writeEntry( "Indent", reader->bindenter );
3208 config.writeEntry( "FontSize", (int)(reader->m_fontControl.currentsize()) ); 3208 config.writeEntry( "FontSize", (int)(reader->m_fontControl.currentsize()) );
3209 config.writeEntry( "ScrollDelay", reader->m_delay); 3209 config.writeEntry( "ScrollDelay", reader->m_delay);
3210 config.writeEntry( "LastFile", reader->m_lastfile ); 3210 config.writeEntry( "LastFile", reader->m_lastfile );
3211 config.writeEntry( "LastPosn", (int)(reader->pagelocate()) ); 3211 config.writeEntry( "LastPosn", (int)(reader->pagelocate()) );
3212 config.writeEntry( "PageMode", reader->m_bpagemode ); 3212 config.writeEntry( "PageMode", reader->m_bpagemode );
3213 config.writeEntry( "MonoSpaced", reader->m_bMonoSpaced ); 3213 config.writeEntry( "MonoSpaced", reader->m_bMonoSpaced );
3214 config.writeEntry( "SwapMouse", reader->m_swapmouse); 3214 config.writeEntry( "SwapMouse", reader->m_swapmouse);
3215 config.writeEntry( "Fontname", reader->m_fontname ); 3215 config.writeEntry( "Fontname", reader->m_fontname );
3216 config.writeEntry( "Encoding", reader->m_encd ); 3216 config.writeEntry( "Encoding", reader->m_encd );
3217 config.writeEntry( "CharSpacing", reader->m_charpc ); 3217 config.writeEntry( "CharSpacing", reader->m_charpc );
3218 config.writeEntry( "Overlap", (int)(reader->m_overlap) ); 3218 config.writeEntry( "Overlap", (int)(reader->m_overlap) );
3219 config.writeEntry( "Margin", (int)reader->m_border ); 3219 config.writeEntry( "Margin", (int)reader->m_border );
3220 config.writeEntry( "TargetApp", m_targetapp ); 3220 config.writeEntry( "TargetApp", m_targetapp );
3221 config.writeEntry( "TargetMsg", m_targetmsg ); 3221 config.writeEntry( "TargetMsg", m_targetmsg );
3222#ifdef _SCROLLPIPE 3222#ifdef _SCROLLPIPE
3223 config.writeEntry( "PipeTarget", reader->m_pipetarget ); 3223 config.writeEntry( "PipeTarget", reader->m_pipetarget );
3224 config.writeEntry( "PauseAfterPara", reader->m_pauseAfterEachPara ); 3224 config.writeEntry( "PauseAfterPara", reader->m_pauseAfterEachPara );
3225#endif 3225#endif
3226 config.writeEntry( "TwoTouch", m_twoTouch ); 3226 config.writeEntry( "TwoTouch", m_twoTouch );
3227 config.writeEntry( "Annotation", m_doAnnotation); 3227 config.writeEntry( "Annotation", m_doAnnotation);
3228 config.writeEntry( "Dictionary", m_doDictionary); 3228 config.writeEntry( "Dictionary", m_doDictionary);
3229 config.writeEntry( "Clipboard", m_doClipboard); 3229 config.writeEntry( "Clipboard", m_doClipboard);
3230 config.writeEntry( "SpaceTarget", m_spaceTarget); 3230 config.writeEntry( "SpaceTarget", m_spaceTarget);
3231 config.writeEntry( "EscapeTarget", m_escapeTarget); 3231 config.writeEntry( "EscapeTarget", m_escapeTarget);
3232 config.writeEntry( "ReturnTarget", m_returnTarget); 3232 config.writeEntry( "ReturnTarget", m_returnTarget);
3233 config.writeEntry( "LeftTarget", m_leftTarget); 3233 config.writeEntry( "LeftTarget", m_leftTarget);
3234 config.writeEntry( "RightTarget", m_rightTarget); 3234 config.writeEntry( "RightTarget", m_rightTarget);
3235 config.writeEntry( "UpTarget", m_upTarget); 3235 config.writeEntry( "UpTarget", m_upTarget);
3236 config.writeEntry( "DownTarget", m_downTarget); 3236 config.writeEntry( "DownTarget", m_downTarget);
3237 config.writeEntry("LeftScroll", m_leftScroll); 3237 config.writeEntry("LeftScroll", m_leftScroll);
3238 config.writeEntry("RightScroll", m_rightScroll); 3238 config.writeEntry("RightScroll", m_rightScroll);
3239 config.writeEntry("UpScroll", m_upScroll); 3239 config.writeEntry("UpScroll", m_upScroll);
3240 config.writeEntry("DownScroll", m_downScroll); 3240 config.writeEntry("DownScroll", m_downScroll);
3241#ifdef REPALM 3241#ifdef REPALM
3242 config.writeEntry( "Repalm", reader->brepalm ); 3242 config.writeEntry( "Repalm", reader->brepalm );
3243#endif 3243#endif
3244 config.writeEntry( "Remap", reader->bremap ); 3244 config.writeEntry( "Remap", reader->bremap );
3245 config.writeEntry( "Peanut", reader->bpeanut ); 3245 config.writeEntry( "Peanut", reader->bpeanut );
3246 config.writeEntry( "MakeBold", reader->bmakebold ); 3246 config.writeEntry( "MakeBold", reader->bmakebold );
3247 config.writeEntry( "Continuous", reader->m_continuousDocument ); 3247 config.writeEntry( "Continuous", reader->m_continuousDocument );
3248 config.writeEntry( "FullJust", reader->bfulljust ); 3248 config.writeEntry( "FullJust", reader->bfulljust );
3249 config.writeEntry( "ExtraSpace", reader->getextraspace() ); 3249 config.writeEntry( "ExtraSpace", reader->getextraspace() );
3250 config.writeEntry( "ExtraLead", reader->getlead() ); 3250 config.writeEntry( "ExtraLead", reader->getlead() );
3251 config.writeEntry( "Basesize", (int)reader->getBaseSize()); 3251 config.writeEntry( "Basesize", (int)reader->getBaseSize());
3252 config.writeEntry( "RequestorFontChange", m_propogatefontchange); 3252 config.writeEntry( "RequestorFontChange", m_propogatefontchange);
3253 3253
3254 config.setGroup( "Toolbar" ); 3254 config.setGroup( "Toolbar" );
3255 config.writeEntry("Movable", m_tbmovesave); 3255 config.writeEntry("Movable", m_tbmovesave);
3256 config.writeEntry("Policy", m_tbpolsave); 3256 config.writeEntry("Policy", m_tbpolsave);
3257 config.writeEntry("Position", m_tbposition); 3257 config.writeEntry("Position", m_tbposition);
3258*/ 3258*/
3259 savefilelist(); 3259 savefilelist();
3260} 3260}
3261 3261
3262/* 3262/*
3263void QTReaderApp::oldFile() 3263void QTReaderApp::oldFile()
3264{ 3264{
3265// qDebug("oldFile called"); 3265// qDebug("oldFile called");
3266 reader->setText(true); 3266 reader->setText(true);
3267// qDebug("settext called"); 3267// qDebug("settext called");
3268 showEditTools(); 3268 showEditTools();
3269// qDebug("showedit called"); 3269// qDebug("showedit called");
3270} 3270}
3271*/ 3271*/
3272 3272
3273/* 3273/*
3274void info_cb(Fl_Widget* o, void* _data) 3274void info_cb(Fl_Widget* o, void* _data)
3275{ 3275{
3276 3276
3277 if (infowin == NULL) 3277 if (infowin == NULL)
3278 { 3278 {
3279 3279
3280 infowin = new Fl_Window(160,240); 3280 infowin = new Fl_Window(160,240);
3281 filename = new Fl_Output(45,5,110,14,"Filename"); 3281 filename = new Fl_Output(45,5,110,14,"Filename");
3282 filesize = new Fl_Output(45,25,110,14,"Filesize"); 3282 filesize = new Fl_Output(45,25,110,14,"Filesize");
3283 textsize = new Fl_Output(45,45,110,14,"Textsize"); 3283 textsize = new Fl_Output(45,45,110,14,"Textsize");
3284 comprat = new CBar(45,65,110,14,"Ratio %"); 3284 comprat = new CBar(45,65,110,14,"Ratio %");
3285 posn = new Fl_Output(45,85,110,14,"Location"); 3285 posn = new Fl_Output(45,85,110,14,"Location");
3286 frcn = new CBar(45,105,110,14,"% Read"); 3286 frcn = new CBar(45,105,110,14,"% Read");
3287 about = new Fl_Multiline_Output(5,125,150,90); 3287 about = new Fl_Multiline_Output(5,125,150,90);
3288 about->value("TWReader - $Name$\n\nA file reader program for the Agenda\n\nReads text, PalmDoc and ppms format files"); 3288 about->value("TWReader - $Name$\n\nA file reader program for the Agenda\n\nReads text, PalmDoc and ppms format files");
3289 Fl_Button *jump_accept = new Fl_Button(62,220,35,14,"Okay"); 3289 Fl_Button *jump_accept = new Fl_Button(62,220,35,14,"Okay");
3290 infowin->set_modal(); 3290 infowin->set_modal();
3291 } 3291 }
3292 if (((reader_ui *)_data)->g_filename[0] != '\0') 3292 if (((reader_ui *)_data)->g_filename[0] != '\0')
3293 { 3293 {
3294 unsigned long fs,ts; 3294 unsigned long fs,ts;
3295 tchar sz[20]; 3295 tchar sz[20];
3296 ((reader_ui *)_data)->input->sizes(fs,ts); 3296 ((reader_ui *)_data)->input->sizes(fs,ts);
3297 unsigned long pl = ((reader_ui *)_data)->input->locate(); 3297 unsigned long pl = ((reader_ui *)_data)->input->locate();
3298 3298
3299 filename->value(((reader_ui *)_data)->g_filename); 3299 filename->value(((reader_ui *)_data)->g_filename);
3300 3300
3301 sprintf(sz,"%u",fs); 3301 sprintf(sz,"%u",fs);
3302 filesize->value(sz); 3302 filesize->value(sz);
3303 3303
3304 sprintf(sz,"%u",ts); 3304 sprintf(sz,"%u",ts);
3305 textsize->value(sz); 3305 textsize->value(sz);
3306 3306
3307 comprat->value(100-(100*fs + (ts >> 1))/ts); 3307 comprat->value(100-(100*fs + (ts >> 1))/ts);
3308 3308
3309 sprintf(sz,"%u",pl); 3309 sprintf(sz,"%u",pl);
3310 posn->value(sz); 3310 posn->value(sz);
3311 3311
3312 frcn->value((100*pl + (ts >> 1))/ts); 3312 frcn->value((100*pl + (ts >> 1))/ts);
3313 } 3313 }
3314 infowin->show(); 3314 infowin->show();
3315} 3315}
3316*/ 3316*/
3317 3317
3318void QTReaderApp::savebkmks() 3318void QTReaderApp::savebkmks()
3319{ 3319{
3320 if (pBkmklist != NULL) 3320 if (pBkmklist != NULL)
3321 { 3321 {
3322#ifndef USEQPE 3322#ifndef USEQPE
3323 QDir d = QDir::home(); // "/" 3323 QDir d = QDir::home(); // "/"
3324 d.cd(APPDIR); 3324 d.cd(APPDIR);
3325 QFileInfo fi(d, reader->m_string); 3325 QFileInfo fi(d, reader->m_string);
3326 BkmkFile bf((const char *)fi.absFilePath(), true); 3326 BkmkFile bf((const char *)fi.absFilePath(), true);
3327#else /* USEQPE */ 3327#else /* USEQPE */
3328 BkmkFile bf((const char *)Global::applicationFileName(APPDIR,reader->m_string), true); 3328 BkmkFile bf((const char *)Global::applicationFileName(APPDIR,reader->m_string), true);
3329#endif /* USEQPE */ 3329#endif /* USEQPE */
3330 bf.write(*pBkmklist); 3330 bf.write(*pBkmklist);
3331 } 3331 }
3332 m_fBkmksChanged = false; 3332 m_fBkmksChanged = false;
3333} 3333}
3334 3334
3335void QTReaderApp::readfilelist() 3335void QTReaderApp::readfilelist()
3336{ 3336{
3337#ifndef USEQPE 3337#ifndef USEQPE
3338 QDir d = QDir::home(); // "/" 3338 QDir d = QDir::home(); // "/"
3339 d.cd(APPDIR); 3339 d.cd(APPDIR);
3340 QFileInfo fi(d, ".openfiles"); 3340 QFileInfo fi(d, ".openfiles");
3341 BkmkFile bf((const char *)fi.absFilePath()); 3341 BkmkFile bf((const char *)fi.absFilePath());
3342#else /* USEQPE */ 3342#else /* USEQPE */
3343 BkmkFile bf((const char *)Global::applicationFileName(APPDIR,".openfiles")); 3343 BkmkFile bf((const char *)Global::applicationFileName(APPDIR,".openfiles"));
3344#endif /* USEQPE */ 3344#endif /* USEQPE */
3345// qDebug("Reading open files"); 3345// qDebug("Reading open files");
3346 pOpenlist = bf.readall(); 3346 pOpenlist = bf.readall();
3347// if (pOpenlist != NULL) qDebug("...with success"); 3347// if (pOpenlist != NULL) qDebug("...with success");
3348// else qDebug("...without success!"); 3348// else qDebug("...without success!");
3349} 3349}
3350 3350
3351void QTReaderApp::savefilelist() 3351void QTReaderApp::savefilelist()
3352{ 3352{
3353 if (pOpenlist != NULL) 3353 if (pOpenlist != NULL)
3354 { 3354 {
3355#ifndef USEQPE 3355#ifndef USEQPE
3356 QDir d = QDir::home(); // "/" 3356 QDir d = QDir::home(); // "/"
3357 d.cd(APPDIR); 3357 d.cd(APPDIR);
3358 QFileInfo fi(d, ".openfiles"); 3358 QFileInfo fi(d, ".openfiles");
3359 BkmkFile bf((const char *)fi.absFilePath(), true); 3359 BkmkFile bf((const char *)fi.absFilePath(), true);
3360#else /* USEQPE */ 3360#else /* USEQPE */
3361 BkmkFile bf((const char *)Global::applicationFileName(APPDIR,".openfiles"), true); 3361 BkmkFile bf((const char *)Global::applicationFileName(APPDIR,".openfiles"), true);
3362#endif /* USEQPE */ 3362#endif /* USEQPE */
3363 //qDebug("Writing open files"); 3363 //qDebug("Writing open files");
3364 bf.write(*pOpenlist); 3364 bf.write(*pOpenlist);
3365 } 3365 }
3366} 3366}
3367 3367
3368void QTReaderApp::readbkmks() 3368void QTReaderApp::readbkmks()
3369{ 3369{
3370 if (pBkmklist != NULL) 3370 if (pBkmklist != NULL)
3371 { 3371 {
3372 delete pBkmklist; 3372 delete pBkmklist;
3373 } 3373 }
3374 struct stat fnstat; 3374 struct stat fnstat;
3375 struct stat bkstat; 3375 struct stat bkstat;
3376#ifndef USEQPE 3376#ifndef USEQPE
3377 QDir d = QDir::home(); // "/" 3377 QDir d = QDir::home(); // "/"
3378 d.cd(APPDIR); 3378 d.cd(APPDIR);
3379 QFileInfo fi(d, reader->m_string); 3379 QFileInfo fi(d, reader->m_string);
3380#endif /* ! USEQPE */ 3380#endif /* ! USEQPE */
3381 if ( 3381 if (
3382 stat((const char *)reader->m_lastfile, &fnstat) == 0 3382 stat((const char *)reader->m_lastfile, &fnstat) == 0
3383 && 3383 &&
3384#ifndef USEQPE 3384#ifndef USEQPE
3385 stat((const char *)fi.absFilePath(), &bkstat) == 0 3385 stat((const char *)fi.absFilePath(), &bkstat) == 0
3386#else /* USEQPE */ 3386#else /* USEQPE */
3387 stat((const char *)Global::applicationFileName(APPDIR,reader->m_string), &bkstat) == 0 3387 stat((const char *)Global::applicationFileName(APPDIR,reader->m_string), &bkstat) == 0
3388#endif /* USEQPE */ 3388#endif /* USEQPE */
3389 ) 3389 )
3390 { 3390 {
3391 if (bkstat.st_mtime < fnstat.st_mtime) 3391 if (bkstat.st_mtime < fnstat.st_mtime)
3392 { 3392 {
3393#ifndef USEQPE 3393#ifndef USEQPE
3394 unlink((const char *)fi.absFilePath()); 3394 unlink((const char *)fi.absFilePath());
3395#else /* USEQPE */ 3395#else /* USEQPE */
3396 unlink((const char *)Global::applicationFileName(APPDIR,reader->m_string)); 3396 unlink((const char *)Global::applicationFileName(APPDIR,reader->m_string));
3397#endif /* USEQPE */ 3397#endif /* USEQPE */
3398 } 3398 }
3399 } 3399 }
3400 3400
3401#ifndef USEQPE 3401#ifndef USEQPE
3402 BkmkFile bf((const char *)fi.absFilePath()); 3402 BkmkFile bf((const char *)fi.absFilePath());
3403#else /* USEQPE */ 3403#else /* USEQPE */
3404 BkmkFile bf((const char *)Global::applicationFileName(APPDIR,reader->m_string)); 3404 BkmkFile bf((const char *)Global::applicationFileName(APPDIR,reader->m_string));
3405#endif /* USEQPE */ 3405#endif /* USEQPE */
3406 3406
3407 pBkmklist = bf.readall(); 3407 pBkmklist = bf.readall();
3408 m_fBkmksChanged = bf.upgraded(); 3408 m_fBkmksChanged = bf.upgraded();
3409 if (pBkmklist == NULL) 3409 if (pBkmklist == NULL)
3410 { 3410 {
3411 pBkmklist = reader->getbkmklist(); 3411 pBkmklist = reader->getbkmklist();
3412 } 3412 }
3413 if (pBkmklist != NULL) 3413 if (pBkmklist != NULL)
3414 pBkmklist->sort(); 3414 pBkmklist->sort();
3415} 3415}
3416 3416
3417void QTReaderApp::addbkmk() 3417void QTReaderApp::addbkmk()
3418{ 3418{
3419 m_nRegAction = cAddBkmk; 3419 m_nRegAction = cAddBkmk;
3420 regEdit->setText(reader->firstword()); 3420 regEdit->setText(reader->firstword());
3421 do_regedit(); 3421 do_regedit();
3422} 3422}
3423 3423
3424void QTReaderApp::do_addbkmk(const QString& text) 3424void QTReaderApp::do_addbkmk(const QString& text)
3425{ 3425{
3426 if (text.isEmpty()) 3426 if (text.isEmpty())
3427 { 3427 {
3428 QMessageBox::information(this, PROGNAME, "Need a name for the bookmark\nSelect add again", 1); 3428 QMessageBox::information(this, PROGNAME, "Need a name for the bookmark\nSelect add again", 1);
3429 } 3429 }
3430 else 3430 else
3431 { 3431 {
3432 if (pBkmklist == NULL) pBkmklist = new CList<Bkmk>; 3432 if (pBkmklist == NULL) pBkmklist = new CList<Bkmk>;
3433#ifdef _UNICODE 3433#ifdef _UNICODE
3434 CBuffer buff; 3434 CBuffer buff;
3435 int i = 0; 3435 int i = 0;
3436 for (i = 0; i < text.length(); i++) 3436 for (i = 0; i < text.length(); i++)
3437 { 3437 {
3438 buff[i] = text[i].unicode(); 3438 buff[i] = text[i].unicode();
3439 } 3439 }
3440 buff[i] = 0; 3440 buff[i] = 0;
3441 pBkmklist->push_front(Bkmk(buff.data(), NULL, reader->pagelocate())); 3441 pBkmklist->push_front(Bkmk(buff.data(), NULL, reader->pagelocate()));
3442#else 3442#else
3443 pBkmklist->push_front(Bkmk((const tchar*)text, reader->pagelocate())); 3443 pBkmklist->push_front(Bkmk((const tchar*)text, reader->pagelocate()));
3444#endif 3444#endif
3445 m_fBkmksChanged = true; 3445 m_fBkmksChanged = true;
3446 pBkmklist->sort(); 3446 pBkmklist->sort();
3447 } 3447 }
3448} 3448}
3449 3449
3450void QTReaderApp::OnRedraw() 3450void QTReaderApp::OnRedraw()
3451{ 3451{
3452 if ((pBkmklist != NULL) && (m_bkmkAvail != NULL)) 3452 if ((pBkmklist != NULL) && (m_bkmkAvail != NULL))
3453 { 3453 {
3454 bool found = findNextBookmark(reader->pagelocate()); 3454 bool found = findNextBookmark(reader->pagelocate());
3455 m_bkmkAvail->setEnabled(found); 3455 m_bkmkAvail->setEnabled(found);
3456 } 3456 }
3457} 3457}
3458 3458
3459void QTReaderApp::showAnnotation() 3459void QTReaderApp::showAnnotation()
3460{ 3460{
3461 m_annoWin->setName(toQString(m_anno->name())); 3461 m_annoWin->setName(toQString(m_anno->name()));
3462 m_annoWin->setAnno(toQString(m_anno->anno())); 3462 m_annoWin->setAnno(toQString(m_anno->anno()));
3463 m_annoIsEditing = false; 3463 m_annoIsEditing = false;
3464#ifdef USEQPE 3464#ifdef USEQPE
3465 Global::showInputMethod(); 3465 Global::showInputMethod();
3466#endif 3466#endif
3467 editorStack->raiseWidget( m_annoWin ); 3467 editorStack->raiseWidget( m_annoWin );
3468 m_annoWin->setFocus(); 3468 m_annoWin->setFocus();
3469} 3469}
3470 3470
3471void QTReaderApp::OnWordSelected(const QString& wrd, size_t posn, const QString& line) 3471void QTReaderApp::OnWordSelected(const QString& wrd, size_t posn, const QString& line)
3472{ 3472{
3473//// qDebug("OnWordSelected(%u):%s", posn, (const char*)wrd); 3473//// qDebug("OnWordSelected(%u):%s", posn, (const char*)wrd);
3474 3474
3475 if (m_doClipboard) 3475 if (m_doClipboard)
3476 { 3476 {
3477 QClipboard* cb = QApplication::clipboard(); 3477 QClipboard* cb = QApplication::clipboard();
3478 cb->setText(wrd); 3478 cb->setText(wrd);
3479#ifdef USEQPE 3479#ifdef USEQPE
3480 if (wrd.length() > 10) 3480 if (wrd.length() > 10)
3481 { 3481 {
3482 Global::statusMessage(wrd.left(8) + ".."); 3482 Global::statusMessage(wrd.left(8) + "..");
3483 } 3483 }
3484 else 3484 else
3485 { 3485 {
3486 Global::statusMessage(wrd); 3486 Global::statusMessage(wrd);
3487 } 3487 }
3488#endif 3488#endif
3489 } 3489 }
3490 if (m_doAnnotation) 3490 if (m_doAnnotation)
3491 { 3491 {
3492 //addAnno(wrd, "Need to be able to edit this", posn); 3492 //addAnno(wrd, "Need to be able to edit this", posn);
3493 m_annoWin->setName(line); 3493 m_annoWin->setName(line);
3494 m_annoWin->setAnno(""); 3494 m_annoWin->setAnno("");
3495 m_annoWin->setPosn(posn); 3495 m_annoWin->setPosn(posn);
3496 m_annoIsEditing = true; 3496 m_annoIsEditing = true;
3497#ifdef USEQPE 3497#ifdef USEQPE
3498 Global::showInputMethod(); 3498 Global::showInputMethod();
3499#endif 3499#endif
3500 editorStack->raiseWidget( m_annoWin ); 3500 editorStack->raiseWidget( m_annoWin );
3501 } 3501 }
3502#ifdef USEQPE 3502#ifdef USEQPE
3503 if (m_doDictionary) 3503 if (m_doDictionary)
3504 { 3504 {
3505 if (!m_targetapp.isEmpty() && !m_targetmsg.isEmpty()) 3505 if (!m_targetapp.isEmpty() && !m_targetmsg.isEmpty())
3506 { 3506 {
3507 QCopEnvelope e(("QPE/Application/"+m_targetapp).utf8(), (m_targetmsg+"(QString)").utf8()); 3507 QCopEnvelope e(("QPE/Application/"+m_targetapp).utf8(), (m_targetmsg+"(QString)").utf8());
3508 e << wrd; 3508 e << wrd;
3509 } 3509 }
3510 } 3510 }
3511#endif 3511#endif
3512} 3512}
3513 3513
3514void QTReaderApp::doAction(ActionTypes a, QKeyEvent* e) 3514void QTReaderApp::doAction(ActionTypes a, QKeyEvent* e)
3515{ 3515{
3516 if (a == 0) 3516 if (a == 0)
3517 { 3517 {
3518 e->ignore(); 3518 e->ignore();
3519 } 3519 }
3520 else 3520 else
3521 { 3521 {
3522 e->accept(); 3522 e->accept();
3523 //qDebug("Accepted"); 3523 //qDebug("Accepted");
3524 switch (a) 3524 switch (a)
3525 { 3525 {
3526 case cesOpenFile: 3526 case cesOpenFile:
3527 { 3527 {
3528 fileOpen(); 3528 fileOpen();
3529 } 3529 }
3530 break; 3530 break;
3531 case cesAutoScroll: 3531 case cesAutoScroll:
3532 { 3532 {
3533 reader->setautoscroll(!reader->m_autoScroll); 3533 reader->setautoscroll(!reader->m_autoScroll);
3534 setScrollState(reader->m_autoScroll); 3534 setScrollState(reader->m_autoScroll);
3535 } 3535 }
3536 break; 3536 break;
3537 case cesActionMark: 3537 case cesActionMark:
3538 { 3538 {
3539 addbkmk(); 3539 addbkmk();
3540 } 3540 }
3541 break; 3541 break;
3542 case cesFullScreen: 3542 case cesFullScreen:
3543 { 3543 {
3544 m_actFullscreen->setOn(!m_fullscreen); 3544 m_actFullscreen->setOn(!m_fullscreen);
3545 } 3545 }
3546 break; 3546 break;
3547 case cesActionAnno: 3547 case cesActionAnno:
3548 { 3548 {
3549 addanno(); 3549 addanno();
3550 } 3550 }
3551 break; 3551 break;
3552 case cesZoomIn: 3552 case cesZoomIn:
3553 zoomin(); 3553 zoomin();
3554 break; 3554 break;
3555 case cesZoomOut: 3555 case cesZoomOut:
3556 zoomout(); 3556 zoomout();
3557 break; 3557 break;
3558 case cesBack: 3558 case cesBack:
3559 reader->goBack(); 3559 reader->goBack();
3560 break; 3560 break;
3561 case cesForward: 3561 case cesForward:
3562 reader->goForward(); 3562 reader->goForward();
3563 break; 3563 break;
3564 case cesHome: 3564 case cesHome:
3565 reader->goHome(); 3565 reader->goHome();
3566 break; 3566 break;
3567 case cesPageUp: 3567 case cesPageUp:
3568 reader->dopageup(); 3568 reader->dopageup();
3569 break; 3569 break;
3570 case cesPageDown: 3570 case cesPageDown:
3571 reader->dopagedn(); 3571 reader->dopagedn();
3572 break; 3572 break;
3573 case cesLineUp: 3573 case cesLineUp:
3574 reader->lineUp(); 3574 reader->lineUp();
3575 break; 3575 break;
3576 case cesLineDown: 3576 case cesLineDown:
3577 reader->lineDown(); 3577 reader->lineDown();
3578 break; 3578 break;
3579 case cesStartDoc: 3579 case cesStartDoc:
3580 gotoStart(); 3580 gotoStart();
3581 break; 3581 break;
3582 case cesEndDoc: 3582 case cesEndDoc:
3583 gotoEnd(); 3583 gotoEnd();
3584 break; 3584 break;
3585 default: 3585 default:
3586 qDebug("Unknown ActionType:%u", a); 3586 qDebug("Unknown ActionType:%u", a);
3587 break; 3587 break;
3588 } 3588 }
3589 } 3589 }
3590} 3590}
3591 3591
3592void QTReaderApp::setTwoTouch(bool _b) { reader->setTwoTouch(_b); } 3592void QTReaderApp::setTwoTouch(bool _b) { reader->setTwoTouch(_b); }
3593void QTReaderApp::restoreFocus() { reader->setFocus(); } 3593void QTReaderApp::restoreFocus() { reader->setFocus(); }
3594 3594
3595void QTReaderApp::SaveConfig() 3595void QTReaderApp::SaveConfig()
3596{ 3596{
3597 m_nRegAction = cSetConfigName; 3597 m_nRegAction = cSetConfigName;
3598 regEdit->setText(reader->m_string); 3598 regEdit->setText(reader->m_string);
3599 do_regedit(); 3599 do_regedit();
3600} 3600}
3601 3601
3602void QTReaderApp::do_saveconfig(const QString& _txt, bool full) 3602void QTReaderApp::do_saveconfig(const QString& _txt, bool full)
3603{ 3603{
3604// qDebug("do_saveconfig:%s", (const char*)_txt); 3604// qDebug("do_saveconfig:%s", (const char*)_txt);
3605#ifdef USEQPE 3605#ifdef USEQPE
3606 QString configname; 3606 QString configname;
3607 Config::Domain dom; 3607 Config::Domain dom;
3608 3608
3609 if (full) 3609 if (full)
3610 { 3610 {
3611 configname = _txt; 3611 configname = _txt;
3612 dom = Config::User; 3612 dom = Config::User;
3613 } 3613 }
3614 else 3614 else
3615 { 3615 {
3616 configname = Global::applicationFileName(APPDIR "/configs", _txt); 3616 configname = Global::applicationFileName(APPDIR "/configs", _txt);
3617 dom = Config::File; 3617 dom = Config::File;
3618 } 3618 }
3619 3619
3620 Config config(configname, dom); 3620 Config config(configname, dom);
3621 config.setGroup( "View" ); 3621 config.setGroup( "View" );
3622 3622
3623#else 3623#else
3624 QFileInfo fi; 3624 QFileInfo fi;
3625 if (full) 3625 if (full)
3626 { 3626 {
3627 // qDebug("full:%s", (const char*)_txt); 3627 // qDebug("full:%s", (const char*)_txt);
3628 QDir d = QDir::home(); // "/" 3628 QDir d = QDir::home(); // "/"
3629 if ( !d.cd(_txt) ) 3629 if ( !d.cd(_txt) )
3630 { // "/tmp" 3630 { // "/tmp"
3631 qWarning( "Cannot find the \"~/%s\" directory", (const char*)_txt ); 3631 qWarning( "Cannot find the \"~/%s\" directory", (const char*)_txt );
3632 d = QDir::home(); 3632 d = QDir::home();
3633 d.mkdir(_txt); 3633 d.mkdir(_txt);
3634 d.cd(_txt); 3634 d.cd(_txt);
3635 } 3635 }
3636 fi.setFile(d, INIFILE); 3636 fi.setFile(d, INIFILE);
3637 } 3637 }
3638 else 3638 else
3639 { 3639 {
3640 QDir d = QDir::home(); // "/" 3640 QDir d = QDir::home(); // "/"
3641 if ( !d.cd(APPDIR) ) 3641 if ( !d.cd(APPDIR) )
3642 { // "/tmp" 3642 { // "/tmp"
3643 qWarning( "Cannot find the \"~/" APPDIR "\" directory" ); 3643 qWarning( "Cannot find the \"~/" APPDIR "\" directory" );
3644 d = QDir::home(); 3644 d = QDir::home();
3645 d.mkdir(APPDIR); 3645 d.mkdir(APPDIR);
3646 d.cd(APPDIR); 3646 d.cd(APPDIR);
3647 } 3647 }
3648 if ( !d.cd("configs") ) 3648 if ( !d.cd("configs") )
3649 { // "/tmp" 3649 { // "/tmp"
3650 qWarning( "Cannot find the \"~/" APPDIR "/configs\" directory" ); 3650 qWarning( "Cannot find the \"~/" APPDIR "/configs\" directory" );
3651 d = QDir::home(); 3651 d = QDir::home();
3652 d.cd(APPDIR); 3652 d.cd(APPDIR);
3653 d.mkdir("configs"); 3653 d.mkdir("configs");
3654 d.cd("configs"); 3654 d.cd("configs");
3655 } 3655 }
3656 fi.setFile(d, _txt); 3656 fi.setFile(d, _txt);
3657 } 3657 }
3658 //qDebug("Path:%s", (const char*)fi.absFilePath()); 3658 //qDebug("Path:%s", (const char*)fi.absFilePath());
3659 Config config(fi.absFilePath()); 3659 Config config(fi.absFilePath());
3660#endif 3660#endif
3661 3661
3662 3662
3663 config.writeEntry( "StripCr", reader->bstripcr ); 3663 config.writeEntry( "StripCr", reader->bstripcr );
3664 config.writeEntry( "AutoFmt", reader->bautofmt ); 3664 config.writeEntry( "AutoFmt", reader->bautofmt );
3665 config.writeEntry( "TextFmt", reader->btextfmt ); 3665 config.writeEntry( "TextFmt", reader->btextfmt );
3666 config.writeEntry( "StripHtml", reader->bstriphtml ); 3666 config.writeEntry( "StripHtml", reader->bstriphtml );
3667 config.writeEntry( "Dehyphen", reader->bdehyphen ); 3667 config.writeEntry( "Dehyphen", reader->bdehyphen );
3668 config.writeEntry( "Depluck", reader->bdepluck ); 3668 config.writeEntry( "Depluck", reader->bdepluck );
3669 config.writeEntry( "Dejpluck", reader->bdejpluck ); 3669 config.writeEntry( "Dejpluck", reader->bdejpluck );
3670 config.writeEntry( "OneSpace", reader->bonespace ); 3670 config.writeEntry( "OneSpace", reader->bonespace );
3671 config.writeEntry( "Unindent", reader->bunindent ); 3671 config.writeEntry( "Unindent", reader->bunindent );
3672 config.writeEntry( "Repara", reader->brepara ); 3672 config.writeEntry( "Repara", reader->brepara );
3673 config.writeEntry( "DoubleSpace", reader->bdblspce ); 3673 config.writeEntry( "DoubleSpace", reader->bdblspce );
3674 config.writeEntry( "Indent", reader->bindenter ); 3674 config.writeEntry( "Indent", reader->bindenter );
3675 config.writeEntry( "FontSize", (int)(reader->m_fontControl.currentsize()) ); 3675 config.writeEntry( "FontSize", (int)(reader->m_fontControl.currentsize()) );
3676 config.writeEntry( "ScrollDelay", reader->m_delay); 3676 config.writeEntry( "ScrollDelay", reader->m_delay);
3677 if (full) 3677 if (full)
3678 { 3678 {
3679 config.writeEntry("Debounce", m_debounce); 3679 config.writeEntry("Debounce", m_debounce);
3680 config.writeEntry("FloatDialogs", m_bFloatingDialog); 3680 config.writeEntry("FloatDialogs", m_bFloatingDialog);
3681 reader->m_lastposn = reader->pagelocate(); 3681 reader->m_lastposn = reader->pagelocate();
3682 config.writeEntry( "LastFile", reader->m_lastfile ); 3682 config.writeEntry( "LastFile", reader->m_lastfile );
3683 config.writeEntry( "LastPosn", (int)(reader->pagelocate()) ); 3683 config.writeEntry( "LastPosn", (int)(reader->pagelocate()) );
3684 } 3684 }
3685 config.writeEntry( "PageMode", reader->m_bpagemode ); 3685 config.writeEntry( "PageMode", reader->m_bpagemode );
3686 config.writeEntry( "MonoSpaced", reader->m_bMonoSpaced ); 3686 config.writeEntry( "MonoSpaced", reader->m_bMonoSpaced );
3687 config.writeEntry( "SwapMouse", reader->m_swapmouse); 3687 config.writeEntry( "SwapMouse", reader->m_swapmouse);
3688 config.writeEntry( "Fontname", reader->m_fontname ); 3688 config.writeEntry( "Fontname", reader->m_fontname );
3689 config.writeEntry( "Encoding", reader->m_encd ); 3689 config.writeEntry( "Encoding", reader->m_encd );
3690 config.writeEntry( "CharSpacing", reader->m_charpc ); 3690 config.writeEntry( "CharSpacing", reader->m_charpc );
3691 config.writeEntry( "Overlap", (int)(reader->m_overlap) ); 3691 config.writeEntry( "Overlap", (int)(reader->m_overlap) );
3692 config.writeEntry( "Margin", (int)reader->m_border ); 3692 config.writeEntry( "Margin", (int)reader->m_border );
3693 config.writeEntry( "TargetApp", m_targetapp ); 3693 config.writeEntry( "TargetApp", m_targetapp );
3694 config.writeEntry( "TargetMsg", m_targetmsg ); 3694 config.writeEntry( "TargetMsg", m_targetmsg );
3695#ifdef _SCROLLPIPE 3695#ifdef _SCROLLPIPE
3696 config.writeEntry( "PipeTarget", reader->m_pipetarget ); 3696 config.writeEntry( "PipeTarget", reader->m_pipetarget );
3697 config.writeEntry( "PauseAfterPara", reader->m_pauseAfterEachPara ); 3697 config.writeEntry( "PauseAfterPara", reader->m_pauseAfterEachPara );
3698#endif 3698#endif
3699 config.writeEntry( "TwoTouch", m_twoTouch ); 3699 config.writeEntry( "TwoTouch", m_twoTouch );
3700 config.writeEntry( "Annotation", m_doAnnotation); 3700 config.writeEntry( "Annotation", m_doAnnotation);
3701 config.writeEntry( "Dictionary", m_doDictionary); 3701 config.writeEntry( "Dictionary", m_doDictionary);
3702 config.writeEntry( "Clipboard", m_doClipboard); 3702 config.writeEntry( "Clipboard", m_doClipboard);
3703 config.writeEntry( "SpaceTarget", m_spaceTarget); 3703 config.writeEntry( "SpaceTarget", m_spaceTarget);
3704 config.writeEntry( "EscapeTarget", m_escapeTarget); 3704 config.writeEntry( "EscapeTarget", m_escapeTarget);
3705 config.writeEntry( "ReturnTarget", m_returnTarget); 3705 config.writeEntry( "ReturnTarget", m_returnTarget);
3706 config.writeEntry( "LeftTarget", m_leftTarget); 3706 config.writeEntry( "LeftTarget", m_leftTarget);
3707 config.writeEntry( "RightTarget", m_rightTarget); 3707 config.writeEntry( "RightTarget", m_rightTarget);
3708 config.writeEntry( "UpTarget", m_upTarget); 3708 config.writeEntry( "UpTarget", m_upTarget);
3709 config.writeEntry( "DownTarget", m_downTarget); 3709 config.writeEntry( "DownTarget", m_downTarget);
3710 config.writeEntry("LeftScroll", m_leftScroll); 3710 config.writeEntry("LeftScroll", m_leftScroll);
3711 config.writeEntry("RightScroll", m_rightScroll); 3711 config.writeEntry("RightScroll", m_rightScroll);
3712 config.writeEntry("UpScroll", m_upScroll); 3712 config.writeEntry("UpScroll", m_upScroll);
3713 config.writeEntry("DownScroll", m_downScroll); 3713 config.writeEntry("DownScroll", m_downScroll);
3714#ifdef REPALM 3714#ifdef REPALM
3715 config.writeEntry( "Repalm", reader->brepalm ); 3715 config.writeEntry( "Repalm", reader->brepalm );
3716#endif 3716#endif
3717 config.writeEntry( "Remap", reader->bremap ); 3717 config.writeEntry( "Remap", reader->bremap );
3718 config.writeEntry( "Peanut", reader->bpeanut ); 3718 config.writeEntry( "Peanut", reader->bpeanut );
3719 config.writeEntry( "MakeBold", reader->bmakebold ); 3719 config.writeEntry( "MakeBold", reader->bmakebold );
3720 config.writeEntry( "Continuous", reader->m_continuousDocument ); 3720 config.writeEntry( "Continuous", reader->m_continuousDocument );
3721 config.writeEntry( "FullJust", reader->bfulljust ); 3721 config.writeEntry( "FullJust", reader->bfulljust );
3722 config.writeEntry( "ExtraSpace", reader->getextraspace() ); 3722 config.writeEntry( "ExtraSpace", reader->getextraspace() );
3723 config.writeEntry( "ExtraLead", reader->getlead() ); 3723 config.writeEntry( "ExtraLead", reader->getlead() );
3724 config.writeEntry( "Basesize", (int)reader->getBaseSize()); 3724 config.writeEntry( "Basesize", (int)reader->getBaseSize());
3725 config.writeEntry( "RequestorFontChange", m_propogatefontchange); 3725 config.writeEntry( "RequestorFontChange", m_propogatefontchange);
3726 if (full) 3726 if (full)
3727 { 3727 {
3728 config.setGroup( "Toolbar" ); 3728 config.setGroup( "Toolbar" );
3729 config.writeEntry("Movable", m_tbmovesave); 3729 config.writeEntry("Movable", m_tbmovesave);
3730 config.writeEntry("Policy", m_tbpolsave); 3730 config.writeEntry("Policy", m_tbpolsave);
3731 config.writeEntry("Position", m_tbposition); 3731 config.writeEntry("Position", m_tbposition);
3732#ifndef USEQPE 3732#ifndef USEQPE
3733 config.setGroup( "Geometry" ); 3733 config.setGroup( "Geometry" );
3734 config.writeEntry( "x", x() ); 3734 config.writeEntry( "x", x() );
3735 config.writeEntry( "y", y() ); 3735 config.writeEntry( "y", y() );
3736 config.writeEntry( "width", width() ); 3736 config.writeEntry( "width", width() );
3737 config.writeEntry( "height", height() ); 3737 config.writeEntry( "height", height() );
3738#endif 3738#endif
3739 } 3739 }
3740} 3740}
3741 3741
3742/* 3742/*
3743void QTReaderApp::setstate(unsigned char* _sd, unsigned short _sdlen) 3743void QTReaderApp::setstate(unsigned char* _sd, unsigned short _sdlen)
3744{ 3744{
3745 unsigned short sdlen; 3745 unsigned short sdlen;
3746 memcpy(&sdlen, _sd, sizeof(sdlen)); 3746 memcpy(&sdlen, _sd, sizeof(sdlen));
3747 sdlen -= sizeof(sdlen); 3747 sdlen -= sizeof(sdlen);
3748 _sd += sizeof(sdlen); 3748 _sd += sizeof(sdlen);
3749 statedata* sd; 3749 statedata* sd;
3750 char* data; 3750 char* data;
3751 if (sdlen < sizeof(statedata)+1) 3751 if (sdlen < sizeof(statedata)+1)
3752 { 3752 {
3753 sdlen = sizeof(statedata)+1; 3753 sdlen = sizeof(statedata)+1;
3754 } 3754 }
3755 data = new char[sdlen]; 3755 data = new char[sdlen];
3756 sd = (statedata*)data; 3756 sd = (statedata*)data;
3757 memcpy(sd, _sd, sdlen); 3757 memcpy(sd, _sd, sdlen);
3758 data[sdlen] = 0; 3758 data[sdlen] = 0;
3759 reader->setstate(*sd); 3759 reader->setstate(*sd);
3760 delete [] data; 3760 delete [] data;
3761} 3761}
3762 3762
3763void QTReaderApp::getstate(unsigned char*& data, unsigned short& len) 3763void QTReaderApp::getstate(unsigned char*& data, unsigned short& len)
3764{ 3764{
3765 unsigned char* olddata = data; 3765 unsigned char* olddata = data;
3766 unsigned short oldlen = len; 3766 unsigned short oldlen = len;
3767 len = oldlen+sizeof(unsigned short)+sizeof(statedata)+reader->m_fontname.length(); 3767 len = oldlen+sizeof(unsigned short)+sizeof(statedata)+reader->m_fontname.length();
3768 data = new unsigned char[len]; 3768 data = new unsigned char[len];
3769 memcpy(data, olddata, oldlen); 3769 memcpy(data, olddata, oldlen);
3770 delete [] olddata; 3770 delete [] olddata;
3771 memcpy(data+oldlen, &len, sizeof(len)); 3771 memcpy(data+oldlen, &len, sizeof(len));
3772 statedata* sd = (statedata*)(data+oldlen+sizeof(unsigned short)); 3772 statedata* sd = (statedata*)(data+oldlen+sizeof(unsigned short));
3773 3773
3774 sd->bstripcr = reader->bstripcr; 3774 sd->bstripcr = reader->bstripcr;
3775 sd->btextfmt = reader->btextfmt; 3775 sd->btextfmt = reader->btextfmt;
3776 sd->bautofmt = reader->bautofmt; 3776 sd->bautofmt = reader->bautofmt;
3777 sd->bstriphtml = reader->bstriphtml; 3777 sd->bstriphtml = reader->bstriphtml;
3778 sd->bpeanut = reader->bpeanut; 3778 sd->bpeanut = reader->bpeanut;
3779 sd->bdehyphen = reader->bdehyphen; 3779 sd->bdehyphen = reader->bdehyphen;
3780 sd->bdepluck = reader->bdepluck; 3780 sd->bdepluck = reader->bdepluck;
3781 sd->bdejpluck = reader->bdejpluck; 3781 sd->bdejpluck = reader->bdejpluck;
3782 sd->bonespace = reader->bonespace; 3782 sd->bonespace = reader->bonespace;
3783 sd->bunindent = reader->bunindent; 3783 sd->bunindent = reader->bunindent;
3784 sd->brepara = reader->brepara; 3784 sd->brepara = reader->brepara;
3785 sd->bdblspce = reader->bdblspce; 3785 sd->bdblspce = reader->bdblspce;
3786 sd->m_bpagemode = reader->m_bpagemode; 3786 sd->m_bpagemode = reader->m_bpagemode;
3787 sd->m_bMonoSpaced = reader->m_bMonoSpaced; 3787 sd->m_bMonoSpaced = reader->m_bMonoSpaced;
3788 sd->bremap = reader->bremap; 3788 sd->bremap = reader->bremap;
3789 sd->bmakebold = reader->bmakebold; 3789 sd->bmakebold = reader->bmakebold;
3790 sd->Continuous = reader->m_continuousDocument; 3790 sd->Continuous = reader->m_continuousDocument;
3791#ifdef REPALM 3791#ifdef REPALM
3792 sd->brepalm = reader->brepalm; 3792 sd->brepalm = reader->brepalm;
3793#endif 3793#endif
3794 sd->bindenter = reader->bindenter; 3794 sd->bindenter = reader->bindenter;
3795 sd->m_textsize = reader->m_textsize; //reader->m_fontControl.currentsize() 3795 sd->m_textsize = reader->m_textsize; //reader->m_fontControl.currentsize()
3796 sd->m_encd = reader->m_encd; 3796 sd->m_encd = reader->m_encd;
3797 sd->m_charpc = reader->m_charpc; 3797 sd->m_charpc = reader->m_charpc;
3798 strcpy(sd->m_fontname, reader->m_fontname.latin1()); 3798 strcpy(sd->m_fontname, reader->m_fontname.latin1());
3799} 3799}
3800*/ 3800*/
3801#ifdef _SCRIPT 3801#ifdef _SCRIPT
3802void QTReaderApp::RunScript() 3802void QTReaderApp::RunScript()
3803{ 3803{
3804 fileBrowser* fb = new fileBrowser(this,"OpieReader",!m_bFloatingDialog, 3804 fileBrowser* fb = new fileBrowser(this,"OpieReader",!m_bFloatingDialog,
3805 0, 3805 0,
3806 // WStyle_Customize | WStyle_NoBorderEx, 3806 // WStyle_Customize | WStyle_NoBorderEx,
3807 "*", Global::applicationFileName(APPDIR "/scripts", "")); 3807 "*", Global::applicationFileName(APPDIR "/scripts", ""));
3808 3808
3809 QString fn; 3809 QString fn;
3810 if (fb->exec()) 3810 if (fb->exec())
3811 { 3811 {
3812 fn = fb->fileList[0]; 3812 fn = fb->fileList[0];
3813 } 3813 }
3814 delete fb; 3814 delete fb;
3815 if ( !fn.isEmpty() && fork() == 0 ) 3815 if ( !fn.isEmpty() && fork() == 0 )
3816 { 3816 {
3817 execlp((const char *)fn,(const char *)fn,NULL); 3817 execlp((const char *)fn,(const char *)fn,NULL);
3818 } 3818 }
3819} 3819}
3820 3820
3821void QTReaderApp::SaveScript(const char* sname) 3821void QTReaderApp::SaveScript(const char* sname)
3822{ 3822{
3823 FILE* f = fopen(sname,"w"); 3823 FILE* f = fopen(sname,"w");
3824 if (f != NULL) 3824 if (f != NULL)
3825 { 3825 {
3826#ifdef OPIE 3826#ifdef OPIE
3827 fprintf(f, "#!/bin/sh\nmsg() {\n\tqcop QPE/Application/reader \"$1\" \"$2\" \"$3\"\n}\n"); 3827 fprintf(f, "#!/bin/sh\nmsg() {\n\tqcop QPE/Application/reader \"$1\" \"$2\" \"$3\"\n}\n");
3828#else 3828#else
3829 fprintf(f, "#!/bin/bash\nmsg() {\n\tqcop QPE/Application/uqtreader \"$1\" \"$2\" \"$3\"\n}\n"); 3829 fprintf(f, "#!/bin/bash\nmsg() {\n\tqcop QPE/Application/uqtreader \"$1\" \"$2\" \"$3\"\n}\n");
3830#endif 3830#endif
3831 fprintf(f, "msg \"Update(int)\" 0\n"); 3831 fprintf(f, "msg \"Update(int)\" 0\n");
3832 fprintf(f, "msg \"Layout/StripCR(int)\" %d\n", (reader->bstripcr) ? 1:0); 3832 fprintf(f, "msg \"Layout/StripCR(int)\" %d\n", (reader->bstripcr) ? 1:0);
3833 if (reader->btextfmt) fprintf(f, "msg \"Markup(QString)\" \"Text\"\n"); 3833 if (reader->btextfmt) fprintf(f, "msg \"Markup(QString)\" \"Text\"\n");
3834 else if (reader->bautofmt) fprintf(f, "msg \"Markup(QString)\" \"Auto\"\n"); 3834 else if (reader->bautofmt) fprintf(f, "msg \"Markup(QString)\" \"Auto\"\n");
3835 else if (reader->bstriphtml) fprintf(f, "msg \"Markup(QString)\" \"HTML\"\n"); 3835 else if (reader->bstriphtml) fprintf(f, "msg \"Markup(QString)\" \"HTML\"\n");
3836 else if (reader->bpeanut) fprintf(f, "msg \"Markup(QString)\" \"Peanut/PML\"\n"); 3836 else if (reader->bpeanut) fprintf(f, "msg \"Markup(QString)\" \"Peanut/PML\"\n");
3837 else fprintf(f, "msg \"Markup(QString)\" \"None\"\n"); 3837 else fprintf(f, "msg \"Markup(QString)\" \"None\"\n");
3838 fprintf(f, "msg \"Layout/Dehyphen(int)\" %d\n", (reader->bdehyphen) ? 1:0); 3838 fprintf(f, "msg \"Layout/Dehyphen(int)\" %d\n", (reader->bdehyphen) ? 1:0);
3839 fprintf(f, "msg \"Layout/Depluck(int)\" %d\n", (reader->bdepluck) ? 1:0); 3839 fprintf(f, "msg \"Layout/Depluck(int)\" %d\n", (reader->bdepluck) ? 1:0);
3840 fprintf(f, "msg \"Layout/Dejpluck(int)\" %d\n", (reader->bdejpluck) ? 1:0); 3840 fprintf(f, "msg \"Layout/Dejpluck(int)\" %d\n", (reader->bdejpluck) ? 1:0);
3841 fprintf(f, "msg \"Layout/SingleSpace(int)\" %d\n", (reader->bonespace) ? 1:0); 3841 fprintf(f, "msg \"Layout/SingleSpace(int)\" %d\n", (reader->bonespace) ? 1:0);
3842 fprintf(f, "msg \"Layout/Unindent(int)\" %d\n", (reader->bunindent) ? 1:0); 3842 fprintf(f, "msg \"Layout/Unindent(int)\" %d\n", (reader->bunindent) ? 1:0);
3843 fprintf(f, "msg \"Layout/Re-paragraph(int)\" %d\n", (reader->brepara) ? 1:0); 3843 fprintf(f, "msg \"Layout/Re-paragraph(int)\" %d\n", (reader->brepara) ? 1:0);
3844 fprintf(f, "msg \"Layout/DoubleSpace(int)\" %d\n", (reader->bdblspce) ? 1:0); 3844 fprintf(f, "msg \"Layout/DoubleSpace(int)\" %d\n", (reader->bdblspce) ? 1:0);
3845 fprintf(f, "msg \"Layout/Indent(int)\" %d\n", reader->bindenter); 3845 fprintf(f, "msg \"Layout/Indent(int)\" %d\n", reader->bindenter);
3846 fprintf(f, "msg \"Format/SetFont(QString,int)\" \"%s\" %d\n", (const char*)reader->m_fontname, reader->m_textsize); 3846 fprintf(f, "msg \"Format/SetFont(QString,int)\" \"%s\" %d\n", (const char*)reader->m_fontname, reader->m_textsize);
3847 fprintf(f, "msg \"Navigation/Page/LineScroll(int)\" %d\n", (reader->m_bpagemode) ? 1:0); 3847 fprintf(f, "msg \"Navigation/Page/LineScroll(int)\" %d\n", (reader->m_bpagemode) ? 1:0);
3848 fprintf(f, "msg \"Format/Ideogram/Word(int)\" %d\n", (reader->m_bMonoSpaced) ? 1:0); 3848 fprintf(f, "msg \"Format/Ideogram/Word(int)\" %d\n", (reader->m_bMonoSpaced) ? 1:0);
3849 fprintf(f, "msg \"Format/Encoding(QString)\" \"%s\"\n", (const char*)m_EncodingAction[reader->m_encd]->text()); 3849 fprintf(f, "msg \"Format/Encoding(QString)\" \"%s\"\n", (const char*)m_EncodingAction[reader->m_encd]->text());
3850 fprintf(f, "msg \"Format/SetWidth(int)\" %d\n", reader->m_charpc); 3850 fprintf(f, "msg \"Format/SetWidth(int)\" %d\n", reader->m_charpc);
3851 fprintf(f, "msg \"Navigation/SetOverlap(int)\" %d\n", reader->m_overlap); 3851 fprintf(f, "msg \"Navigation/SetOverlap(int)\" %d\n", reader->m_overlap);
3852 fprintf(f, "msg \"Layout/Remap(int)\" %d\n", (reader->bremap) ? 1:0); 3852 fprintf(f, "msg \"Layout/Remap(int)\" %d\n", (reader->bremap) ? 1:0);
3853 fprintf(f, "msg \"Layout/Embolden(int)\" %d\n", (reader->bmakebold) ? 1:0); 3853 fprintf(f, "msg \"Layout/Embolden(int)\" %d\n", (reader->bmakebold) ? 1:0);
3854 fprintf(f, "msg \"File/Continuous(int)\" %d\n", (reader->m_continuousDocument) ? 1:0); 3854 fprintf(f, "msg \"File/Continuous(int)\" %d\n", (reader->m_continuousDocument) ? 1:0);
3855 fprintf(f, "msg \"File/SetDictionary(QString)\" \"%s/%s\"\n", (const char *)m_targetapp, (const char *)m_targetmsg); 3855 fprintf(f, "msg \"File/SetDictionary(QString)\" \"%s/%s\"\n", (const char *)m_targetapp, (const char *)m_targetmsg);
3856#ifdef _SCROLLPIPE 3856#ifdef _SCROLLPIPE
3857 fprintf(f, "msg \"File/SetScrollTarget(QString)\" \"%s\"\n", (const char *)reader->m_pipetarget); 3857 fprintf(f, "msg \"File/SetScrollTarget(QString)\" \"%s\"\n", (const char *)reader->m_pipetarget);
3858#endif 3858#endif
3859 fprintf(f, "msg \"File/Two/OneTouch(int)\" %d\n", (m_twoTouch) ? 1:0); 3859 fprintf(f, "msg \"File/Two/OneTouch(int)\" %d\n", (m_twoTouch) ? 1:0);
3860 fprintf(f, "msg \"Target/Annotation(int)\" %d\n", (m_doAnnotation) ? 1:0); 3860 fprintf(f, "msg \"Target/Annotation(int)\" %d\n", (m_doAnnotation) ? 1:0);
3861 fprintf(f, "msg \"Target/Dictionary(int)\" %d\n", (m_doDictionary) ? 1:0); 3861 fprintf(f, "msg \"Target/Dictionary(int)\" %d\n", (m_doDictionary) ? 1:0);
3862 fprintf(f, "msg \"Target/Clipboard(int)\" %d\n", (m_doClipboard) ? 1:0); 3862 fprintf(f, "msg \"Target/Clipboard(int)\" %d\n", (m_doClipboard) ? 1:0);
3863 fprintf(f, "msg \"File/Action(QString)\" \"%s\"\n", (const char *)m_buttonAction[m_spaceTarget]->text()); 3863 fprintf(f, "msg \"File/Action(QString)\" \"%s\"\n", (const char *)m_buttonAction[m_spaceTarget]->text());
3864 fprintf(f, "msg \"Update(int)\" 1\n"); 3864 fprintf(f, "msg \"Update(int)\" 1\n");
3865 fprintf(f, "msg \"info(QString)\" \"All Done\"\n"); 3865 fprintf(f, "msg \"info(QString)\" \"All Done\"\n");
3866 fclose(f); 3866 fclose(f);
3867 chmod(sname, S_IXUSR | S_IXGRP | S_IXOTH); 3867 chmod(sname, S_IXUSR | S_IXGRP | S_IXOTH);
3868 } 3868 }
3869} 3869}
3870 3870
3871void QTReaderApp::SaveConfig() 3871void QTReaderApp::SaveConfig()
3872{ 3872{
3873 m_nRegAction = cSetConfigName; 3873 m_nRegAction = cSetConfigName;
3874 regEdit->setText(""); 3874 regEdit->setText("");
3875 do_regedit(); 3875 do_regedit();
3876} 3876}
3877 3877
3878void QTReaderApp::do_saveconfig(const QString& _txt) 3878void QTReaderApp::do_saveconfig(const QString& _txt)
3879{ 3879{
3880 SaveScript(Global::applicationFileName(APPDIR "/scripts", _txt)); 3880 SaveScript(Global::applicationFileName(APPDIR "/scripts", _txt));
3881} 3881}
3882#endif 3882#endif
3883 3883
3884#ifdef _SCROLLPIPE 3884#ifdef _SCROLLPIPE
3885void QTReaderApp::setpipetarget() 3885void QTReaderApp::setpipetarget()
3886{ 3886{
3887 m_nRegAction = cSetPipeTarget; 3887 m_nRegAction = cSetPipeTarget;
3888 QString text = (reader->m_pipetarget.isEmpty()) ? QString("") : reader->m_pipetarget; 3888 QString text = (reader->m_pipetarget.isEmpty()) ? QString("") : reader->m_pipetarget;
3889 regEdit->setText(text); 3889 regEdit->setText(text);
3890 do_regedit(); 3890 do_regedit();
3891} 3891}
3892 3892
3893void QTReaderApp::do_setpipetarget(const QString& _txt) 3893void QTReaderApp::do_setpipetarget(const QString& _txt)
3894{ 3894{
3895 reader->m_pipetarget = _txt; 3895 reader->m_pipetarget = _txt;
3896} 3896}
3897 3897
3898void QTReaderApp::setpause(bool sfs) 3898void QTReaderApp::setpause(bool sfs)
3899{ 3899{
3900 reader->m_pauseAfterEachPara = sfs; 3900 reader->m_pauseAfterEachPara = sfs;
3901} 3901}
3902#endif 3902#endif
3903 3903
3904void QTReaderApp::monospace(bool _b) 3904void QTReaderApp::monospace(bool _b)
3905{ 3905{
3906 reader->setmono(_b); 3906 reader->setmono(_b);
3907} 3907}
3908 3908
3909bool QTReaderApp::readconfig(const QString& _txt, bool full=false) 3909bool QTReaderApp::readconfig(const QString& _txt, bool full=false)
3910{ 3910{
3911#ifdef USEQPE 3911#ifdef USEQPE
3912 QString configname; 3912 QString configname;
3913 Config::Domain dom; 3913 Config::Domain dom;
3914 3914
3915 if (full) 3915 if (full)
3916 { 3916 {
3917 configname = _txt; 3917 configname = _txt;
3918 dom = Config::User; 3918 dom = Config::User;
3919 } 3919 }
3920 else 3920 else
3921 { 3921 {
3922 configname = Global::applicationFileName(APPDIR "/configs", _txt); 3922 configname = Global::applicationFileName(APPDIR "/configs", _txt);
3923 QFileInfo fm(configname); 3923 QFileInfo fm(configname);
3924 if ( !fm.exists() ) return false; 3924 if ( !fm.exists() ) return false;
3925 dom = Config::File; 3925 dom = Config::File;
3926 } 3926 }
3927 3927
3928 Config config(configname, dom); 3928 Config config(configname, dom);
3929 config.setGroup( "View" ); 3929 config.setGroup( "View" );
3930 3930
3931#else 3931#else
3932 QFileInfo fi; 3932 QFileInfo fi;
3933 if (full) 3933 if (full)
3934 { 3934 {
3935 QDir d = QDir::home(); // "/" 3935 QDir d = QDir::home(); // "/"
3936 if ( !d.cd(_txt) ) 3936 if ( !d.cd(_txt) )
3937 { // "/tmp" 3937 { // "/tmp"
3938 qWarning( "Cannot find the \"~/%s\" directory", (const char*)_txt ); 3938 qWarning( "Cannot find the \"~/%s\" directory", (const char*)_txt );
3939 d = QDir::home(); 3939 d = QDir::home();
3940 d.mkdir(_txt); 3940 d.mkdir(_txt);
3941 d.cd(_txt); 3941 d.cd(_txt);
3942 } 3942 }
3943 fi.setFile(d, INIFILE); 3943 fi.setFile(d, INIFILE);
3944 } 3944 }
3945 else 3945 else
3946 { 3946 {
3947 QDir d = QDir::home(); // "/" 3947 QDir d = QDir::home(); // "/"
3948 if ( !d.cd(APPDIR) ) 3948 if ( !d.cd(APPDIR) )
3949 { // "/tmp" 3949 { // "/tmp"
3950 qWarning( "Cannot find the \"~/" APPDIR "\" directory" ); 3950 qWarning( "Cannot find the \"~/" APPDIR "\" directory" );
3951 d = QDir::home(); 3951 d = QDir::home();
3952 d.mkdir(APPDIR); 3952 d.mkdir(APPDIR);
3953 d.cd(APPDIR); 3953 d.cd(APPDIR);
3954 } 3954 }
3955 if ( !d.cd("configs") ) 3955 if ( !d.cd("configs") )
3956 { // "/tmp" 3956 { // "/tmp"
3957 qWarning( "Cannot find the \"~/" APPDIR "/configs\" directory" ); 3957 qWarning( "Cannot find the \"~/" APPDIR "/configs\" directory" );
3958 d = QDir::home(); 3958 d = QDir::home();
3959 d.mkdir("configs"); 3959 d.mkdir("configs");
3960 d.cd("configs"); 3960 d.cd("configs");
3961 } 3961 }
3962 fi.setFile(d, _txt); 3962 fi.setFile(d, _txt);
3963 } 3963 }
3964#ifdef _WINDOWS 3964#ifdef _WINDOWS
3965 struct stat fnstat; 3965 struct stat fnstat;
3966 if (stat((const char *)reader->m_lastfile, &fnstat) == 0) return false; // get round fileinfo bug on windows 3966 if (stat((const char *)reader->m_lastfile, &fnstat) == 0) return false; // get round fileinfo bug on windows
3967#else 3967#else
3968 if (!fi.exists()) return false; 3968 if (!fi.exists()) return false;
3969#endif 3969#endif
3970 Config config(fi.absFilePath()); 3970 Config config(fi.absFilePath());
3971#endif 3971#endif
3972 if (full) 3972 if (full)
3973 { 3973 {
3974 config.setGroup("Toolbar"); 3974 config.setGroup("Toolbar");
3975 m_tbmovesave = m_tbmove = config.readBoolEntry("Movable", false); 3975 m_tbmovesave = m_tbmove = config.readBoolEntry("Movable", false);
3976 m_tbpolsave = m_tbpol = (ToolbarPolicy)config.readNumEntry("Policy", 1); 3976 m_tbpolsave = m_tbpol = (ToolbarPolicy)config.readNumEntry("Policy", 1);
3977 m_tbposition = (ToolBarDock)config.readNumEntry("Position", 2); 3977 m_tbposition = (ToolBarDock)config.readNumEntry("Position", 2);
3978 } 3978 }
3979 config.setGroup( "View" ); 3979 config.setGroup( "View" );
3980 m_bFloatingDialog = config.readBoolEntry("FloatDialogs", false); 3980 m_bFloatingDialog = config.readBoolEntry("FloatDialogs", false);
3981 reader->bstripcr = config.readBoolEntry( "StripCr", true ); 3981 reader->bstripcr = config.readBoolEntry( "StripCr", true );
3982 reader->bfulljust = config.readBoolEntry( "FullJust", false ); 3982 reader->bfulljust = config.readBoolEntry( "FullJust", false );
3983 reader->setextraspace(config.readNumEntry( "ExtraSpace", 0 )); 3983 reader->setextraspace(config.readNumEntry( "ExtraSpace", 0 ));
3984 reader->setlead(config.readNumEntry( "ExtraLead", 0 )); 3984 reader->setlead(config.readNumEntry( "ExtraLead", 0 ));
3985 reader->btextfmt = config.readBoolEntry( "TextFmt", false ); 3985 reader->btextfmt = config.readBoolEntry( "TextFmt", false );
3986 reader->bautofmt = config.readBoolEntry( "AutoFmt", true ); 3986 reader->bautofmt = config.readBoolEntry( "AutoFmt", true );
3987 reader->bstriphtml = config.readBoolEntry( "StripHtml", false ); 3987 reader->bstriphtml = config.readBoolEntry( "StripHtml", false );
3988 reader->bpeanut = config.readBoolEntry( "Peanut", false ); 3988 reader->bpeanut = config.readBoolEntry( "Peanut", false );
3989 reader->bdehyphen = config.readBoolEntry( "Dehyphen", false ); 3989 reader->bdehyphen = config.readBoolEntry( "Dehyphen", false );
3990 reader->bdepluck = config.readBoolEntry( "Depluck", false ); 3990 reader->bdepluck = config.readBoolEntry( "Depluck", false );
3991 reader->bdejpluck = config.readBoolEntry( "Dejpluck", false ); 3991 reader->bdejpluck = config.readBoolEntry( "Dejpluck", false );
3992 reader->bonespace = config.readBoolEntry( "OneSpace", false ); 3992 reader->bonespace = config.readBoolEntry( "OneSpace", false );
3993 reader->bunindent = config.readBoolEntry( "Unindent", false ); 3993 reader->bunindent = config.readBoolEntry( "Unindent", false );
3994 reader->brepara = config.readBoolEntry( "Repara", false ); 3994 reader->brepara = config.readBoolEntry( "Repara", false );
3995 reader->bdblspce = config.readBoolEntry( "DoubleSpace", false ); 3995 reader->bdblspce = config.readBoolEntry( "DoubleSpace", false );
3996 reader->bindenter = config.readNumEntry( "Indent", 0 ); 3996 reader->bindenter = config.readNumEntry( "Indent", 0 );
3997 reader->m_textsize = config.readNumEntry( "FontSize", 12 ); 3997 reader->m_textsize = config.readNumEntry( "FontSize", 12 );
3998 reader->m_delay = config.readNumEntry( "ScrollDelay", 5184); 3998 reader->m_delay = config.readNumEntry( "ScrollDelay", 5184);
3999 if (full) 3999 if (full)
4000 { 4000 {
4001 reader->m_lastfile = config.readEntry( "LastFile", QString::null ); 4001 reader->m_lastfile = config.readEntry( "LastFile", QString::null );
4002 reader->m_lastposn = config.readNumEntry( "LastPosn", 0 ); 4002 reader->m_lastposn = config.readNumEntry( "LastPosn", 0 );
4003 } 4003 }
4004 reader->m_bpagemode = config.readBoolEntry( "PageMode", true ); 4004 reader->m_bpagemode = config.readBoolEntry( "PageMode", true );
4005 reader->m_bMonoSpaced = config.readBoolEntry( "MonoSpaced", false); 4005 reader->m_bMonoSpaced = config.readBoolEntry( "MonoSpaced", false);
4006 reader->m_swapmouse = config.readBoolEntry( "SwapMouse", false); 4006 reader->m_swapmouse = config.readBoolEntry( "SwapMouse", false);
4007 reader->m_fontname = config.readEntry( "Fontname", "helvetica" ); 4007 reader->m_fontname = config.readEntry( "Fontname", "helvetica" );
4008 reader->m_encd = config.readNumEntry( "Encoding", 0 ); 4008 reader->m_encd = config.readNumEntry( "Encoding", 0 );
4009 reader->m_charpc = config.readNumEntry( "CharSpacing", 100 ); 4009 reader->m_charpc = config.readNumEntry( "CharSpacing", 100 );
4010 reader->m_overlap = config.readNumEntry( "Overlap", 0 ); 4010 reader->m_overlap = config.readNumEntry( "Overlap", 0 );
4011 reader->m_border = config.readNumEntry( "Margin", 6 ); 4011 reader->m_border = config.readNumEntry( "Margin", 6 );
4012#ifdef REPALM 4012#ifdef REPALM
4013 reader->brepalm = config.readBoolEntry( "Repalm", true ); 4013 reader->brepalm = config.readBoolEntry( "Repalm", true );
4014#endif 4014#endif
4015 reader->bremap = config.readBoolEntry( "Remap", true ); 4015 reader->bremap = config.readBoolEntry( "Remap", true );
4016 reader->bmakebold = config.readBoolEntry( "MakeBold", false ); 4016 reader->bmakebold = config.readBoolEntry( "MakeBold", false );
4017 reader->setContinuous(config.readBoolEntry( "Continuous", true )); 4017 reader->setContinuous(config.readBoolEntry( "Continuous", true ));
4018 m_targetapp = config.readEntry( "TargetApp", QString::null ); 4018 m_targetapp = config.readEntry( "TargetApp", QString::null );
4019 m_targetmsg = config.readEntry( "TargetMsg", QString::null ); 4019 m_targetmsg = config.readEntry( "TargetMsg", QString::null );
4020#ifdef _SCROLLPIPE 4020#ifdef _SCROLLPIPE
4021 reader->m_pipetarget = config.readEntry( "PipeTarget", QString::null ); 4021 reader->m_pipetarget = config.readEntry( "PipeTarget", QString::null );
4022 reader->m_pauseAfterEachPara = config.readBoolEntry( "PauseAfterPara", true ); 4022 reader->m_pauseAfterEachPara = config.readBoolEntry( "PauseAfterPara", true );
4023#endif 4023#endif
4024 m_twoTouch = config.readBoolEntry( "TwoTouch", false); 4024 m_twoTouch = config.readBoolEntry( "TwoTouch", false);
4025 m_doAnnotation = config.readBoolEntry( "Annotation", false); 4025 m_doAnnotation = config.readBoolEntry( "Annotation", false);
4026 m_doDictionary = config.readBoolEntry( "Dictionary", false); 4026 m_doDictionary = config.readBoolEntry( "Dictionary", false);
4027 m_doClipboard = config.readBoolEntry( "Clipboard", false); 4027 m_doClipboard = config.readBoolEntry( "Clipboard", false);
4028 m_spaceTarget = (ActionTypes)config.readNumEntry("SpaceTarget", cesAutoScroll); 4028 m_spaceTarget = (ActionTypes)config.readNumEntry("SpaceTarget", cesAutoScroll);
4029 m_escapeTarget = (ActionTypes)config.readNumEntry("EscapeTarget", cesNone); 4029 m_escapeTarget = (ActionTypes)config.readNumEntry("EscapeTarget", cesNone);
4030 m_returnTarget = (ActionTypes)config.readNumEntry("ReturnTarget", cesFullScreen); 4030 m_returnTarget = (ActionTypes)config.readNumEntry("ReturnTarget", cesFullScreen);
4031 m_leftTarget = (ActionTypes)config.readNumEntry("LeftTarget", cesZoomOut); 4031 m_leftTarget = (ActionTypes)config.readNumEntry("LeftTarget", cesZoomOut);
4032 m_rightTarget = (ActionTypes)config.readNumEntry("RightTarget", cesZoomIn); 4032 m_rightTarget = (ActionTypes)config.readNumEntry("RightTarget", cesZoomIn);
4033 m_upTarget = (ActionTypes)config.readNumEntry("UpTarget", cesPageUp); 4033 m_upTarget = (ActionTypes)config.readNumEntry("UpTarget", cesPageUp);
4034 m_downTarget = (ActionTypes)config.readNumEntry("DownTarget", cesPageDown); 4034 m_downTarget = (ActionTypes)config.readNumEntry("DownTarget", cesPageDown);
4035 4035
4036 m_leftScroll = config.readBoolEntry("LeftScroll", false); 4036 m_leftScroll = config.readBoolEntry("LeftScroll", false);
4037 m_rightScroll = config.readBoolEntry("RightScroll", false); 4037 m_rightScroll = config.readBoolEntry("RightScroll", false);
4038 m_upScroll = config.readBoolEntry("UpScroll", true); 4038 m_upScroll = config.readBoolEntry("UpScroll", true);
4039 m_downScroll = config.readBoolEntry("DownScroll", true); 4039 m_downScroll = config.readBoolEntry("DownScroll", true);
4040 m_propogatefontchange = config.readBoolEntry( "RequestorFontChange", false); 4040 m_propogatefontchange = config.readBoolEntry( "RequestorFontChange", false);
4041 reader->setBaseSize(config.readNumEntry( "Basesize", 10 )); 4041 reader->setBaseSize(config.readNumEntry( "Basesize", 10 ));
4042 reader->setTwoTouch(m_twoTouch); 4042 reader->setTwoTouch(m_twoTouch);
4043 4043
4044 m_touch_action->setOn(m_twoTouch); 4044 m_touch_action->setOn(m_twoTouch);
4045 m_setmono_action->setOn(reader->m_bMonoSpaced); 4045 m_setmono_action->setOn(reader->m_bMonoSpaced);
4046 setfontHelper(reader->m_fontname); 4046 setfontHelper(reader->m_fontname);
4047 if (full) 4047 if (full)
4048 { 4048 {
4049 addtoolbars(&config); 4049 addtoolbars(&config);
4050 } 4050 }
4051 reader->setfilter(reader->getfilter()); 4051 reader->setfilter(reader->getfilter());
4052 reader->refresh(); 4052 reader->refresh();
4053 return true; 4053 return true;
4054} 4054}
4055 4055
4056bool QTReaderApp::PopulateConfig(const char* tgtdir) 4056bool QTReaderApp::PopulateConfig(const char* tgtdir)
4057{ 4057{
4058 bkmkselector->clear(); 4058 bkmkselector->clear();
4059 bkmkselector->setText("Cancel"); 4059 bkmkselector->setText("Cancel");
4060#ifndef USEQPE 4060#ifndef USEQPE
4061 int cnt = 0; 4061 int cnt = 0;
4062 4062
4063 QDir d = QDir::home(); // "/" 4063 QDir d = QDir::home(); // "/"
4064 if ( !d.cd(APPDIR) ) { // "/tmp" 4064 if ( !d.cd(APPDIR) ) { // "/tmp"
4065 qWarning( "Cannot find the \"~/" APPDIR "\" directory" ); 4065 qWarning( "Cannot find the \"~/" APPDIR "\" directory" );
4066 d = QDir::home(); 4066 d = QDir::home();
4067 d.mkdir(APPDIR); 4067 d.mkdir(APPDIR);
4068 d.cd(APPDIR); 4068 d.cd(APPDIR);
4069 } 4069 }
4070 if ( !d.cd(tgtdir) ) { // "/tmp" 4070 if ( !d.cd(tgtdir) ) { // "/tmp"
4071 qWarning( "Cannot find the \"~/" APPDIR "/%s\" directory", tgtdir ); 4071 qWarning( "Cannot find the \"~/" APPDIR "/%s\" directory", tgtdir );
4072 d = QDir::home(); 4072 d = QDir::home();
4073 d.mkdir(tgtdir); 4073 d.mkdir(tgtdir);
4074 d.cd(tgtdir); 4074 d.cd(tgtdir);
4075 } 4075 }
4076 d.setFilter( QDir::Files | QDir::NoSymLinks ); 4076 d.setFilter( QDir::Files | QDir::NoSymLinks );
4077// d.setSorting( QDir::Size | QDir::Reversed ); 4077// d.setSorting( QDir::Size | QDir::Reversed );
4078 4078
4079 const QFileInfoList *list = d.entryInfoList(); 4079 const QFileInfoList *list = d.entryInfoList();
4080 QFileInfoListIterator it( *list ); // create list iterator 4080 QFileInfoListIterator it( *list ); // create list iterator
4081 QFileInfo *fi; // pointer for traversing 4081 QFileInfo *fi; // pointer for traversing
4082 4082
4083 while ( (fi=it.current()) ) { // for each file... 4083 while ( (fi=it.current()) ) { // for each file...
4084 4084
4085 bkmkselector->insertItem(fi->fileName()); 4085 bkmkselector->insertItem(fi->fileName());
4086 cnt++; 4086 cnt++;
4087 4087
4088 //qDebug( "%10li %s", fi->size(), fi->fileName().data() ); 4088 //qDebug( "%10li %s", fi->size(), fi->fileName().data() );
4089 ++it; // goto next list element 4089 ++it; // goto next list element
4090 } 4090 }
4091 4091
4092#else /* USEQPE */ 4092#else /* USEQPE */
4093 int cnt = 0; 4093 int cnt = 0;
4094 DIR *d; 4094 DIR *d;
4095 char* finaldir; 4095 char* finaldir;
4096 finaldir = new char[strlen(APPDIR)+1+strlen(tgtdir)+1]; 4096 finaldir = new char[strlen(APPDIR)+1+strlen(tgtdir)+1];
4097 strcpy(finaldir, APPDIR); 4097 strcpy(finaldir, APPDIR);
4098 strcat(finaldir, "/"); 4098 strcat(finaldir, "/");
4099 strcat(finaldir, tgtdir); 4099 strcat(finaldir, tgtdir);
4100 d = opendir((const char *)Global::applicationFileName(finaldir,"")); 4100 d = opendir((const char *)Global::applicationFileName(finaldir,""));
4101 4101
4102 while(1) 4102 while(1)
4103 { 4103 {
4104 struct dirent* de; 4104 struct dirent* de;
4105 struct stat buf; 4105 struct stat buf;
4106 de = readdir(d); 4106 de = readdir(d);
4107 if (de == NULL) break; 4107 if (de == NULL) break;
4108 4108
4109 if (lstat((const char *)Global::applicationFileName(finaldir,de->d_name),&buf) == 0 && S_ISREG(buf.st_mode)) 4109 if (lstat((const char *)Global::applicationFileName(finaldir,de->d_name),&buf) == 0 && S_ISREG(buf.st_mode))
4110 { 4110 {
4111 bkmkselector->insertItem(de->d_name); 4111 bkmkselector->insertItem(de->d_name);
4112 cnt++; 4112 cnt++;
4113 } 4113 }
4114 } 4114 }
4115 delete [] finaldir; 4115 delete [] finaldir;
4116 closedir(d); 4116 closedir(d);
4117#endif 4117#endif
4118 return (cnt > 0); 4118 return (cnt > 0);
4119} 4119}
4120 4120
4121void QTReaderApp::LoadConfig() 4121void QTReaderApp::LoadConfig()
4122{ 4122{
4123 if (PopulateConfig("configs")) 4123 if (PopulateConfig("configs"))
4124 { 4124 {
4125 editorStack->raiseWidget( bkmkselector ); 4125 editorStack->raiseWidget( bkmkselector );
4126 hidetoolbars(); 4126 hidetoolbars();
4127 m_nBkmkAction = cLdConfig; 4127 m_nBkmkAction = cLdConfig;
4128 } 4128 }
4129 else 4129 else
4130 QMessageBox::information(this, PROGNAME, "No config files"); 4130 QMessageBox::information(this, PROGNAME, "No config files");
4131} 4131}
4132 4132
4133void QTReaderApp::TidyConfig() 4133void QTReaderApp::TidyConfig()
4134{ 4134{
4135 if (PopulateConfig("configs")) 4135 if (PopulateConfig("configs"))
4136 { 4136 {
4137 editorStack->raiseWidget( bkmkselector ); 4137 editorStack->raiseWidget( bkmkselector );
4138 hidetoolbars(); 4138 hidetoolbars();
4139 m_nBkmkAction = cRmConfig; 4139 m_nBkmkAction = cRmConfig;
4140 } 4140 }
4141 else 4141 else
4142 QMessageBox::information(this, PROGNAME, "No config files"); 4142 QMessageBox::information(this, PROGNAME, "No config files");
4143} 4143}
4144 4144
4145void QTReaderApp::ExportLinks() 4145void QTReaderApp::ExportLinks()
4146{ 4146{
4147 if (PopulateConfig("urls")) 4147 if (PopulateConfig("urls"))
4148 { 4148 {
4149 editorStack->raiseWidget( bkmkselector ); 4149 editorStack->raiseWidget( bkmkselector );
4150 hidetoolbars(); 4150 hidetoolbars();
4151 m_nBkmkAction = cExportLinks; 4151 m_nBkmkAction = cExportLinks;
4152 } 4152 }
4153 else 4153 else
4154 QMessageBox::information(this, PROGNAME, "No url files"); 4154 QMessageBox::information(this, PROGNAME, "No url files");
4155} 4155}
4156 4156
4157void QTReaderApp::OnURLSelected(const QString& href) 4157void QTReaderApp::OnURLSelected(const QString& href)
4158{ 4158{
4159 CURLDialog* urld = new CURLDialog(href, false, this); 4159 CURLDialog* urld = new CURLDialog(href, false, this);
4160 urld->clipboard(m_url_clipboard); 4160 urld->clipboard(m_url_clipboard);
4161 urld->localfile(m_url_localfile); 4161 urld->localfile(m_url_localfile);
4162 urld->globalfile(m_url_globalfile); 4162 urld->globalfile(m_url_globalfile);
4163 if (urld->exec()) 4163 if (urld->exec())
4164 { 4164 {
4165 m_url_clipboard = urld->clipboard(); 4165 m_url_clipboard = urld->clipboard();
4166 m_url_localfile = urld->localfile(); 4166 m_url_localfile = urld->localfile();
4167 m_url_globalfile = urld->globalfile(); 4167 m_url_globalfile = urld->globalfile();
4168 if (m_url_clipboard) 4168 if (m_url_clipboard)
4169 { 4169 {
4170 QClipboard* cb = QApplication::clipboard(); 4170 QClipboard* cb = QApplication::clipboard();
4171 cb->setText(href); 4171 cb->setText(href);
4172 qDebug("<a href=\"%s\">%s</a>", (const char*)href, (const char*)href); 4172 qDebug("<a href=\"%s\">%s</a>", (const char*)href, (const char*)href);
4173 } 4173 }
4174 if (m_url_localfile) 4174 if (m_url_localfile)
4175 { 4175 {
4176 writeUrl(reader->m_string, href); 4176 writeUrl(reader->m_string, href);
4177 } 4177 }
4178 if (m_url_globalfile) 4178 if (m_url_globalfile)
4179 { 4179 {
4180 writeUrl("GlobalURLFile", href); 4180 writeUrl("GlobalURLFile", href);
4181 } 4181 }
4182 } 4182 }
4183 delete urld; 4183 delete urld;
4184} 4184}
4185 4185
4186void QTReaderApp::writeUrl(const QString& file, const QString& href) 4186void QTReaderApp::writeUrl(const QString& file, const QString& href)
4187{ 4187{
4188 QString filename; 4188 QString filename;
4189#ifdef USEQPE 4189#ifdef USEQPE
4190 filename = Global::applicationFileName(APPDIR "/urls", file); 4190 filename = Global::applicationFileName(APPDIR "/urls", file);
4191#else 4191#else
4192 QFileInfo fi; 4192 QFileInfo fi;
4193 QDir d = QDir::home(); // "/" 4193 QDir d = QDir::home(); // "/"
4194 if ( !d.cd(APPDIR) ) 4194 if ( !d.cd(APPDIR) )
4195 { // "/tmp" 4195 { // "/tmp"
4196 qWarning( "Cannot find the \"~/" APPDIR "\" directory" ); 4196 qWarning( "Cannot find the \"~/" APPDIR "\" directory" );
4197 d = QDir::home(); 4197 d = QDir::home();
4198 d.mkdir(APPDIR); 4198 d.mkdir(APPDIR);
4199 d.cd(APPDIR); 4199 d.cd(APPDIR);
4200 } 4200 }
4201 if ( !d.cd("urls") ) 4201 if ( !d.cd("urls") )
4202 { // "/tmp" 4202 { // "/tmp"
4203 qWarning( "Cannot find the \"~/" APPDIR "/urls\" directory" ); 4203 qWarning( "Cannot find the \"~/" APPDIR "/urls\" directory" );
4204 d = QDir::home(); 4204 d = QDir::home();
4205 d.cd(APPDIR); 4205 d.cd(APPDIR);
4206 d.mkdir("urls"); 4206 d.mkdir("urls");
4207 d.cd("urls"); 4207 d.cd("urls");
4208 } 4208 }
4209 fi.setFile(d, file); 4209 fi.setFile(d, file);
4210 filename = fi.absFilePath(); 4210 filename = fi.absFilePath();
4211#endif 4211#endif
4212 FILE* fout = fopen(filename, "a"); 4212 FILE* fout = fopen(filename, "a");
4213 if (fout != NULL) 4213 if (fout != NULL)
4214 { 4214 {
4215 fprintf(fout, "<p><a href=\"%s\">%s</a>\n", (const char*)href, (const char*)href); 4215 fprintf(fout, "<p><a href=\"%s\">%s</a>\n", (const char*)href, (const char*)href);
4216 fclose(fout); 4216 fclose(fout);
4217 } 4217 }
4218 else 4218 else
4219 { 4219 {
4220 QMessageBox::warning(this, PROGNAME, "Problem with writing URL"); 4220 QMessageBox::warning(this, PROGNAME, "Problem with writing URL");
4221 } 4221 }
4222} 4222}
diff --git a/noncore/apps/opie-reader/ToolbarPrefs.cpp b/noncore/apps/opie-reader/ToolbarPrefs.cpp
index 361bf97..d878829 100644
--- a/noncore/apps/opie-reader/ToolbarPrefs.cpp
+++ b/noncore/apps/opie-reader/ToolbarPrefs.cpp
@@ -1,110 +1,112 @@
1/**************************************************************************** 1/****************************************************************************
2** Form implementation generated from reading ui file 'Prefs.ui' 2** Form implementation generated from reading ui file 'Prefs.ui'
3** 3**
4** Created: Tue Feb 11 23:53:35 2003 4** Created: Tue Feb 11 23:53:35 2003
5** by: The User Interface Compiler (uic) 5** by: The User Interface Compiler (uic)
6** 6**
7** WARNING! All changes made in this file will be lost! 7** WARNING! All changes made in this file will be lost!
8****************************************************************************/ 8****************************************************************************/
9#include "useqpe.h" 9#include "useqpe.h"
10#include "ToolbarPrefs.h" 10#include "ToolbarPrefs.h"
11 11
12#include <qcheckbox.h> 12#include <qcheckbox.h>
13#include <qlabel.h> 13#include <qlabel.h>
14#include <qpushbutton.h> 14#include <qpushbutton.h>
15#include <qspinbox.h> 15#include <qspinbox.h>
16#include <qlayout.h> 16#include <qlayout.h>
17#include <qvariant.h> 17#include <qvariant.h>
18#include <qtooltip.h> 18#include <qtooltip.h>
19#include <qwhatsthis.h> 19#include <qwhatsthis.h>
20#include <qcombobox.h> 20#include <qcombobox.h>
21#include <qbuttongroup.h> 21#include <qbuttongroup.h>
22#include <qlineedit.h> 22#include <qlineedit.h>
23#ifdef USEQPE 23#ifdef USEQPE
24#include <qpe/menubutton.h> 24#include <qpe/menubutton.h>
25#endif 25#endif
26#include <qpe/qpeapplication.h>
26 27
27CBarPrefs::CBarPrefs(const QString& appdir, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true), config( appdir ) 28CBarPrefs::CBarPrefs(const QString& appdir, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true), config( appdir )
28{ 29{
29 setCaption(tr( "Toolbar Settings" ) ); 30 setCaption(tr( "Toolbar Settings" ) );
30 QTabWidget* td = new QTabWidget(this); 31 QTabWidget* td = new QTabWidget(this);
31 misc = new CMiscBarPrefs(this); 32 misc = new CMiscBarPrefs(this);
32 filebar = new CFileBarPrefs(config, this); 33 filebar = new CFileBarPrefs(config, this);
33 navbar = new CNavBarPrefs(config, this); 34 navbar = new CNavBarPrefs(config, this);
34 viewbar = new CViewBarPrefs(config, this); 35 viewbar = new CViewBarPrefs(config, this);
35 markbar = new CMarkBarPrefs(config, this); 36 markbar = new CMarkBarPrefs(config, this);
36 indbar = new CIndBarPrefs(config, this); 37 indbar = new CIndBarPrefs(config, this);
37 td->addTab(filebar, tr("File")); 38 td->addTab(filebar, tr("File"));
38 td->addTab(navbar, tr("Navigation")); 39 td->addTab(navbar, tr("Navigation"));
39 td->addTab(viewbar, tr("View")); 40 td->addTab(viewbar, tr("View"));
40 td->addTab(markbar, tr("Marks")); 41 td->addTab(markbar, tr("Marks"));
41 td->addTab(indbar, tr("Indicators")); 42 td->addTab(indbar, tr("Indicators"));
42 td->addTab(misc, tr("Policy")); 43 td->addTab(misc, tr("Policy"));
43 QVBoxLayout* v = new QVBoxLayout(this); 44 QVBoxLayout* v = new QVBoxLayout(this);
44 v->addWidget(td); 45 v->addWidget(td);
45 46
46 if (fs) showMaximized(); 47 if (fs)
48 QPEApplication::showDialog( this );
47} 49}
48 50
49/* 51/*
50CBarPrefs1::CBarPrefs1( Config& _config, QWidget* parent, const char* name, WFlags fl ) 52CBarPrefs1::CBarPrefs1( Config& _config, QWidget* parent, const char* name, WFlags fl )
51 : QWidget( parent, name, fl ), config(_config) 53 : QWidget( parent, name, fl ), config(_config)
52{ 54{
53 config.setGroup( "Toolbar" ); 55 config.setGroup( "Toolbar" );
54 QVBoxLayout* vb = new QVBoxLayout(this); 56 QVBoxLayout* vb = new QVBoxLayout(this);
55 57
56 QGroupBox* bg = new QGroupBox(3, Qt::Horizontal, "File", this); 58 QGroupBox* bg = new QGroupBox(3, Qt::Horizontal, "File", this);
57 vb->addWidget(bg); 59 vb->addWidget(bg);
58 60
59 open = new QCheckBox( tr("Open"), bg ); 61 open = new QCheckBox( tr("Open"), bg );
60 open->setChecked(config.readBoolEntry( "Open", false )); 62 open->setChecked(config.readBoolEntry( "Open", false ));
61 connect(open, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 63 connect(open, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
62 close = new QCheckBox( tr("Close"), bg ); 64 close = new QCheckBox( tr("Close"), bg );
63 close->setChecked(config.readBoolEntry( "Close", false )); 65 close->setChecked(config.readBoolEntry( "Close", false ));
64 connect(close, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 66 connect(close, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
65 info = new QCheckBox( tr("Info"), bg ); 67 info = new QCheckBox( tr("Info"), bg );
66 info->setChecked(config.readBoolEntry( "Info", false )); 68 info->setChecked(config.readBoolEntry( "Info", false ));
67 connect(info, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 69 connect(info, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
68 twotouch = new QCheckBox( tr("Two/One\nTouch"), bg ); 70 twotouch = new QCheckBox( tr("Two/One\nTouch"), bg );
69 twotouch->setChecked(config.readBoolEntry( "Two/One Touch", false )); 71 twotouch->setChecked(config.readBoolEntry( "Two/One Touch", false ));
70 connect(twotouch, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 72 connect(twotouch, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
71 find = new QCheckBox( tr("Find"), bg ); 73 find = new QCheckBox( tr("Find"), bg );
72 find->setChecked(config.readBoolEntry( "Find", false )); 74 find->setChecked(config.readBoolEntry( "Find", false ));
73 connect(find, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 75 connect(find, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
74 76
75 bg = new QGroupBox(2, Qt::Horizontal, "Navigation", this); 77 bg = new QGroupBox(2, Qt::Horizontal, "Navigation", this);
76 vb->addWidget(bg); 78 vb->addWidget(bg);
77 scroll = new QCheckBox( tr("Scroll"), bg ); 79 scroll = new QCheckBox( tr("Scroll"), bg );
78 scroll->setChecked(config.readBoolEntry( "Scroll", false )); 80 scroll->setChecked(config.readBoolEntry( "Scroll", false ));
79 connect(scroll, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 81 connect(scroll, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
80 navigation = new QCheckBox( tr("Back/Home/Forward"), bg ); 82 navigation = new QCheckBox( tr("Back/Home/Forward"), bg );
81 navigation->setChecked(config.readBoolEntry( "Back/Home/Forward", false )); 83 navigation->setChecked(config.readBoolEntry( "Back/Home/Forward", false ));
82 connect(navigation, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 84 connect(navigation, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
83 page = new QCheckBox( tr("Page\nUp/Down"), bg ); 85 page = new QCheckBox( tr("Page\nUp/Down"), bg );
84 page->setChecked(config.readBoolEntry( "Page Up/Down", false )); 86 page->setChecked(config.readBoolEntry( "Page Up/Down", false ));
85 connect(page, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 87 connect(page, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
86 startend = new QCheckBox( tr("Goto Start/End"), bg ); 88 startend = new QCheckBox( tr("Goto Start/End"), bg );
87 startend->setChecked(config.readBoolEntry( "Goto Start/End", false )); 89 startend->setChecked(config.readBoolEntry( "Goto Start/End", false ));
88 connect(startend, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 90 connect(startend, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
89 jump = new QCheckBox( tr("Jump"), bg ); 91 jump = new QCheckBox( tr("Jump"), bg );
90 jump->setChecked(config.readBoolEntry( "Jump", false )); 92 jump->setChecked(config.readBoolEntry( "Jump", false ));
91 connect(jump, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 93 connect(jump, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
92 pageline = new QCheckBox( tr("Page/Line Scroll"), bg ); 94 pageline = new QCheckBox( tr("Page/Line Scroll"), bg );
93 pageline->setChecked(config.readBoolEntry( "Page/Line Scroll", false )); 95 pageline->setChecked(config.readBoolEntry( "Page/Line Scroll", false ));
94 connect(pageline, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) ); 96 connect(pageline, SIGNAL(stateChanged(int)), this, SLOT( isChanged(int) ) );
95 m_isChanged = false; 97 m_isChanged = false;
96} 98}
97 99
98void CBarPrefs1::saveall() 100void CBarPrefs1::saveall()
99{ 101{
100 config.setGroup( "Toolbar" ); 102 config.setGroup( "Toolbar" );
101 config.writeEntry( "Open", open->isChecked()); 103 config.writeEntry( "Open", open->isChecked());
102 config.writeEntry( "Close", close->isChecked()); 104 config.writeEntry( "Close", close->isChecked());
103 config.writeEntry( "Info", info->isChecked()); 105 config.writeEntry( "Info", info->isChecked());
104 config.writeEntry( "Two/One Touch", twotouch->isChecked()); 106 config.writeEntry( "Two/One Touch", twotouch->isChecked());
105 config.writeEntry( "Find", find->isChecked()); 107 config.writeEntry( "Find", find->isChecked());
106 config.writeEntry( "Scroll", scroll->isChecked()); 108 config.writeEntry( "Scroll", scroll->isChecked());
107 config.writeEntry( "Back/Home/Forward", navigation->isChecked()); 109 config.writeEntry( "Back/Home/Forward", navigation->isChecked());
108 config.writeEntry( "Page Up/Down", page->isChecked()); 110 config.writeEntry( "Page Up/Down", page->isChecked());
109 config.writeEntry( "Goto Start/End", startend->isChecked()); 111 config.writeEntry( "Goto Start/End", startend->isChecked());
110 config.writeEntry( "Jump", jump->isChecked()); 112 config.writeEntry( "Jump", jump->isChecked());
diff --git a/noncore/apps/opie-reader/URLDialog.cpp b/noncore/apps/opie-reader/URLDialog.cpp
index dd4568b..e572c80 100644
--- a/noncore/apps/opie-reader/URLDialog.cpp
+++ b/noncore/apps/opie-reader/URLDialog.cpp
@@ -1,14 +1,17 @@
1#include "URLDialog.h" 1#include "URLDialog.h"
2#include "qlayout.h" 2#include "qlayout.h"
3 3
4CURLDialog::CURLDialog(const QString& fname, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true) 4#include <qpe/qpeapplication.h>
5{ 5
6 setCaption(tr("Save URL")); 6CURLDialog::CURLDialog(const QString& fname, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true)
7 QVBoxLayout *tmp = new QVBoxLayout(this); 7{
8 QVButtonGroup* vb = new QVButtonGroup(fname, this); 8 setCaption(tr("Save URL"));
9 tmp->addWidget(vb); 9 QVBoxLayout *tmp = new QVBoxLayout(this);
10 m_clipboard = new QCheckBox(tr("Clipboard"), vb); 10 QVButtonGroup* vb = new QVButtonGroup(fname, this);
11 m_localfile = new QCheckBox(tr("Local file"), vb); 11 tmp->addWidget(vb);
12 m_globalfile = new QCheckBox(tr("Global file"), vb); 12 m_clipboard = new QCheckBox(tr("Clipboard"), vb);
13 if (fs) showMaximized(); 13 m_localfile = new QCheckBox(tr("Local file"), vb);
14} 14 m_globalfile = new QCheckBox(tr("Global file"), vb);
15 if (fs)
16 QPEApplication::showDialog( this );
17}
diff --git a/noncore/apps/opie-reader/fileBrowser.cpp b/noncore/apps/opie-reader/fileBrowser.cpp
index 9cd371d..05f2c31 100644
--- a/noncore/apps/opie-reader/fileBrowser.cpp
+++ b/noncore/apps/opie-reader/fileBrowser.cpp
@@ -1,182 +1,185 @@
1/**************************************************************************** 1/****************************************************************************
2 2
3Derived from a file browser which was 3Derived from a file browser which was
4 4
5** copyright 2001 ljp ljp@llornkcor.com 5** copyright 2001 ljp ljp@llornkcor.com
6 6
7Extensive modification by Tim Wentford to allow it to work in rotated mode 7Extensive modification by Tim Wentford to allow it to work in rotated mode
8 8
9****************************************************************************/ 9****************************************************************************/
10#include "fileBrowser.h" 10#include "fileBrowser.h"
11 11
12#include "QtrListView.h" 12#include "QtrListView.h"
13#include <qlineedit.h> 13#include <qlineedit.h>
14#include <qpushbutton.h> 14#include <qpushbutton.h>
15#include <qfile.h> 15#include <qfile.h>
16#include <qmessagebox.h> 16#include <qmessagebox.h>
17#ifndef _WINDOWS 17#ifndef _WINDOWS
18#include <unistd.h> 18#include <unistd.h>
19#endif 19#endif
20#include <qlayout.h> 20#include <qlayout.h>
21#ifdef _WINDOWS 21#ifdef _WINDOWS
22#include <direct.h> 22#include <direct.h>
23#endif 23#endif
24 24
25#include <qpe/qpeapplication.h>
26
25#include "opie.h" 27#include "opie.h"
26 28
27fileBrowser::fileBrowser( bool allownew, QWidget* parent, const char* name, bool modal, WFlags fl , const QString filter, const QString iPath ) 29fileBrowser::fileBrowser( bool allownew, QWidget* parent, const char* name, bool modal, WFlags fl , const QString filter, const QString iPath )
28 : QDialog( parent, name, true, 30 : QDialog( parent, name, true,
29 fl/* | WStyle_Customize | WStyle_Tool*/), 31 fl/* | WStyle_Customize | WStyle_Tool*/),
30 filterspec(QDir::All) 32 filterspec(QDir::All)
31{ 33{
32// showMaximized(); 34// showMaximized();
33 if ( !name ) 35 if ( !name )
34 setName( "fileBrowser" ); 36 setName( "fileBrowser" );
35/* 37/*
36 if (parent != NULL) 38 if (parent != NULL)
37 { 39 {
38#ifdef OPIE 40#ifdef OPIE
39 move(0,0); 41 move(0,0);
40 resize( parent->width(), parent->height() ); 42 resize( parent->width(), parent->height() );
41#else 43#else
42 setGeometry(parent->x(), parent->y(), parent->width(), parent->height() ); 44 setGeometry(parent->x(), parent->y(), parent->width(), parent->height() );
43#endif 45#endif
44 } 46 }
45*/ 47*/
46// showFullScreen(); 48// showFullScreen();
47 setCaption(tr( "Browse for file" ) ); 49 setCaption(tr( "Browse for file" ) );
48 filterStr=filter; 50 filterStr=filter;
49 51
50 buttonOk = new QPushButton( this, "buttonOk" ); 52 buttonOk = new QPushButton( this, "buttonOk" );
51 buttonOk->setFixedSize( 25, 25 ); 53 buttonOk->setFixedSize( 25, 25 );
52 buttonOk->setAutoDefault( false ); 54 buttonOk->setAutoDefault( false );
53 buttonOk->setText( tr( "/" ) ); 55 buttonOk->setText( tr( "/" ) );
54 56
55 buttonShowHidden = new QPushButton( this, "buttonShowHidden" ); 57 buttonShowHidden = new QPushButton( this, "buttonShowHidden" );
56// buttonShowHidden->setFixedSize( 50, 25 ); 58// buttonShowHidden->setFixedSize( 50, 25 );
57 buttonShowHidden->setText( tr( "Hidden" ) ); 59 buttonShowHidden->setText( tr( "Hidden" ) );
58 buttonShowHidden->setAutoDefault( false ); 60 buttonShowHidden->setAutoDefault( false );
59 buttonShowHidden->setToggleButton( true ); 61 buttonShowHidden->setToggleButton( true );
60 buttonShowHidden->setOn( false ); 62 buttonShowHidden->setOn( false );
61 63
62 dirLabel = new QLabel(this, "DirLabel"); 64 dirLabel = new QLabel(this, "DirLabel");
63 dirLabel->setAlignment(AlignLeft | AlignVCenter | ExpandTabs | WordBreak); 65 dirLabel->setAlignment(AlignLeft | AlignVCenter | ExpandTabs | WordBreak);
64 dirLabel->setText(currentDir.canonicalPath()); 66 dirLabel->setText(currentDir.canonicalPath());
65 67
66 ListView = new QtrListView( this, "ListView" ); 68 ListView = new QtrListView( this, "ListView" );
67 ListView->addColumn( tr( "Name" ) ); 69 ListView->addColumn( tr( "Name" ) );
68 ListView->setSorting( 2, FALSE); 70 ListView->setSorting( 2, FALSE);
69 ListView->addColumn( tr( "Size" ) ); 71 ListView->addColumn( tr( "Size" ) );
70 ListView->setSelectionMode(QListView::Single); 72 ListView->setSelectionMode(QListView::Single);
71 ListView->setAllColumnsShowFocus( TRUE ); 73 ListView->setAllColumnsShowFocus( TRUE );
72 ListView->setColumnWidthMode(0, QListView::Manual); 74 ListView->setColumnWidthMode(0, QListView::Manual);
73 ListView->setColumnWidthMode(1, QListView::Manual); 75 ListView->setColumnWidthMode(1, QListView::Manual);
74 76
75 // signals and slots connections 77 // signals and slots connections
76 connect( buttonShowHidden, SIGNAL( toggled(bool) ), this, SLOT( setHidden(bool) ) ); 78 connect( buttonShowHidden, SIGNAL( toggled(bool) ), this, SLOT( setHidden(bool) ) );
77 connect( buttonOk, SIGNAL( clicked() ), this, SLOT( OnRoot() ) ); 79 connect( buttonOk, SIGNAL( clicked() ), this, SLOT( OnRoot() ) );
78 connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) ); 80 connect( ListView, SIGNAL(doubleClicked( QListViewItem*)), SLOT(listDoubleClicked(QListViewItem *)) );
79 connect( ListView, SIGNAL(clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 81 connect( ListView, SIGNAL(clicked( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
80 connect( ListView, SIGNAL(OnOKButton( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 82 connect( ListView, SIGNAL(OnOKButton( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
81 connect( ListView, SIGNAL(OnCentreButton( QListViewItem*)), SLOT(listClicked(QListViewItem *)) ); 83 connect( ListView, SIGNAL(OnCentreButton( QListViewItem*)), SLOT(listClicked(QListViewItem *)) );
82 connect( ListView, SIGNAL(OnCancelButton()), SLOT(OnCancel()) ); 84 connect( ListView, SIGNAL(OnCancelButton()), SLOT(OnCancel()) );
83 85
84 QVBoxLayout* grid = new QVBoxLayout(this); 86 QVBoxLayout* grid = new QVBoxLayout(this);
85 QHBoxLayout* hgrid = new QHBoxLayout(grid); 87 QHBoxLayout* hgrid = new QHBoxLayout(grid);
86 hgrid->addWidget(dirLabel,1); 88 hgrid->addWidget(dirLabel,1);
87 hgrid->addWidget(buttonShowHidden); 89 hgrid->addWidget(buttonShowHidden);
88 hgrid->addWidget(buttonOk); 90 hgrid->addWidget(buttonOk);
89 grid->addWidget(ListView,1); 91 grid->addWidget(ListView,1);
90 if (allownew) 92 if (allownew)
91 { 93 {
92 m_filename = new QLineEdit(this); 94 m_filename = new QLineEdit(this);
93 grid->addWidget(m_filename); 95 grid->addWidget(m_filename);
94 connect( m_filename, SIGNAL( returnPressed() ), this, SLOT( onReturn() )); 96 connect( m_filename, SIGNAL( returnPressed() ), this, SLOT( onReturn() ));
95 } 97 }
96 else 98 else
97 { 99 {
98 m_filename = NULL; 100 m_filename = NULL;
99 } 101 }
100 102
101 if (QFileInfo(iPath).exists()) 103 if (QFileInfo(iPath).exists())
102 { 104 {
103 currentDir.setPath(iPath); 105 currentDir.setPath(iPath);
104#ifdef _WINDOWS 106#ifdef _WINDOWS
105 _chdir(iPath.latin1()); 107 _chdir(iPath.latin1());
106#else 108#else
107 chdir(iPath.latin1()); 109 chdir(iPath.latin1());
108#endif 110#endif
109 } 111 }
110 else 112 else
111 { 113 {
112 currentDir.setPath(QDir::currentDirPath()); 114 currentDir.setPath(QDir::currentDirPath());
113 chdir(QDir::currentDirPath().latin1()); 115 chdir(QDir::currentDirPath().latin1());
114 } 116 }
115 117
116 populateList(); 118 populateList();
117 119
118 if (modal) showMaximized(); 120 if (modal)
121 QPEApplication::showDialog( this );
119} 122}
120 123
121void fileBrowser::resizeEvent(QResizeEvent* e) 124void fileBrowser::resizeEvent(QResizeEvent* e)
122{ 125{
123 ListView->setColumnWidth(1,(ListView->width())/4); 126 ListView->setColumnWidth(1,(ListView->width())/4);
124 ListView->setColumnWidth(0,ListView->width()-20-ListView->columnWidth(1)); 127 ListView->setColumnWidth(0,ListView->width()-20-ListView->columnWidth(1));
125} 128}
126 129
127fileBrowser::~fileBrowser() 130fileBrowser::~fileBrowser()
128{ 131{
129} 132}
130 133
131 134
132void fileBrowser::populateList() 135void fileBrowser::populateList()
133{ 136{
134 ListView->clear(); 137 ListView->clear();
135////qDebug(currentDir.canonicalPath()); 138////qDebug(currentDir.canonicalPath());
136// currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::NoSymLinks ); 139// currentDir.setFilter( QDir::Files | QDir::Dirs | QDir::Hidden | QDir::NoSymLinks );
137 currentDir.setFilter( filterspec ); 140 currentDir.setFilter( filterspec );
138 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst); 141 currentDir.setSorting(/* QDir::Size*/ /*| QDir::Reversed | */QDir::DirsFirst);
139 currentDir.setMatchAllDirs(TRUE); 142 currentDir.setMatchAllDirs(TRUE);
140 143
141 currentDir.setNameFilter(filterStr); 144 currentDir.setNameFilter(filterStr);
142// currentDir.setNameFilter("*.txt;*.etx"); 145// currentDir.setNameFilter("*.txt;*.etx");
143 QString fileL, fileS; 146 QString fileL, fileS;
144 const QFileInfoList *list = currentDir.entryInfoList(); 147 const QFileInfoList *list = currentDir.entryInfoList();
145 QFileInfoListIterator it(*list); 148 QFileInfoListIterator it(*list);
146 QFileInfo *fi; 149 QFileInfo *fi;
147 while ( (fi=it.current()) ) 150 while ( (fi=it.current()) )
148 { 151 {
149 if (fi->fileName() != ".") 152 if (fi->fileName() != ".")
150 { 153 {
151 fileS.sprintf( "%10li", fi->size() ); 154 fileS.sprintf( "%10li", fi->size() );
152 fileL.sprintf( "%s",fi->fileName().data() ); 155 fileL.sprintf( "%s",fi->fileName().data() );
153 if( fi->isDir() ) 156 if( fi->isDir() )
154 { 157 {
155 fileL+="/"; 158 fileL+="/";
156 } 159 }
157 else 160 else
158 { 161 {
159//// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL); 162//// qDebug("Not a dir: "+currentDir.canonicalPath()+fileL);
160 } 163 }
161 new QListViewItem( ListView,fileL,fileS ); 164 new QListViewItem( ListView,fileL,fileS );
162 } 165 }
163 ++it; 166 ++it;
164 } 167 }
165 ListView->setSorting( 2, FALSE); 168 ListView->setSorting( 2, FALSE);
166 dirLabel->setText("Current Directory:\n"+currentDir.canonicalPath()); 169 dirLabel->setText("Current Directory:\n"+currentDir.canonicalPath());
167 ListView->setFocus(); 170 ListView->setFocus();
168} 171}
169 172
170void fileBrowser::upDir() 173void fileBrowser::upDir()
171{ 174{
172//// qDebug(currentDir.canonicalPath()); 175//// qDebug(currentDir.canonicalPath());
173} 176}
174 177
175void fileBrowser::listClicked(QListViewItem *selectedItem) 178void fileBrowser::listClicked(QListViewItem *selectedItem)
176{ 179{
177 if (selectedItem == NULL) return; 180 if (selectedItem == NULL) return;
178 QString strItem=selectedItem->text(0); 181 QString strItem=selectedItem->text(0);
179 182
180//// qDebug("%s", (const char*)strItem); 183//// qDebug("%s", (const char*)strItem);
181 184
182 185
diff --git a/noncore/apps/opie-sheet/mainwindow.cpp b/noncore/apps/opie-sheet/mainwindow.cpp
index bd98aca..3d3c688 100644
--- a/noncore/apps/opie-sheet/mainwindow.cpp
+++ b/noncore/apps/opie-sheet/mainwindow.cpp
@@ -1,87 +1,90 @@
1/*************************************************************************** 1/***************************************************************************
2 * * 2 * *
3 * This program is free software; you can redistribute it and/or modify * 3 * This program is free software; you can redistribute it and/or modify *
4 * it under the terms of the GNU General Public License as published by * 4 * it under the terms of the GNU General Public License as published by *
5 * the Free Software Foundation; either version 2 of the License, or * 5 * the Free Software Foundation; either version 2 of the License, or *
6 * (at your option) any later version. * 6 * (at your option) any later version. *
7 * * 7 * *
8 ***************************************************************************/ 8 ***************************************************************************/
9 9
10/* 10/*
11 * Opie Sheet (formerly Sheet/Qt) 11 * Opie Sheet (formerly Sheet/Qt)
12 * by Serdar Ozler <sozler@sitebest.com> 12 * by Serdar Ozler <sozler@sitebest.com>
13 */ 13 */
14 14
15#include "mainwindow.h" 15#include "mainwindow.h"
16 16
17#include <qpe/filemanager.h> 17#include <qpe/filemanager.h>
18#include <qpe/qcopenvelope_qws.h> 18#include <qpe/qcopenvelope_qws.h>
19#include <qpe/resource.h> 19#include <qpe/resource.h>
20#include <qpe/qpeapplication.h>
21
20#include <qmessagebox.h> 22#include <qmessagebox.h>
21#include <qfile.h> 23#include <qfile.h>
22#include <qtranslator.h> 24#include <qtranslator.h>
23#include <qradiobutton.h> 25#include <qradiobutton.h>
26
24#include "cellformat.h" 27#include "cellformat.h"
25#include "numberdlg.h" 28#include "numberdlg.h"
26#include "textdlg.h" 29#include "textdlg.h"
27#include "sortdlg.h" 30#include "sortdlg.h"
28#include "finddlg.h" 31#include "finddlg.h"
29 32
30#define DEFAULT_NUM_ROWS 300 33#define DEFAULT_NUM_ROWS 300
31#define DEFAULT_NUM_COLS (26*3) 34#define DEFAULT_NUM_COLS (26*3)
32#define DEFAULT_NUM_SHEETS 3 35#define DEFAULT_NUM_SHEETS 3
33 36
34MainWindow::MainWindow(QWidget *parent, const char* n, WFlags fl) 37MainWindow::MainWindow(QWidget *parent, const char* n, WFlags fl)
35 :QMainWindow(parent, n, fl) 38 :QMainWindow(parent, n, fl)
36{ 39{
37 // initialize variables 40 // initialize variables
38 documentModified=FALSE; 41 documentModified=FALSE;
39 42
40 // construct objects 43 // construct objects
41 currentDoc=0; 44 currentDoc=0;
42 fileSelector=new FileSelector("application/sheet-qt", this, QString::null); 45 fileSelector=new FileSelector("application/sheet-qt", this, QString::null);
43 ExcelSelector=new FileSelector("application/excel",this,QString::null,FALSE); 46 ExcelSelector=new FileSelector("application/excel",this,QString::null,FALSE);
44 connect(fileSelector, SIGNAL(closeMe()), this, SLOT(selectorHide())); 47 connect(fileSelector, SIGNAL(closeMe()), this, SLOT(selectorHide()));
45 connect(fileSelector, SIGNAL(newSelected(const DocLnk &)), this, SLOT(selectorFileNew(const DocLnk &))); 48 connect(fileSelector, SIGNAL(newSelected(const DocLnk &)), this, SLOT(selectorFileNew(const DocLnk &)));
46 connect(fileSelector, SIGNAL(fileSelected(const DocLnk &)), this, SLOT(selectorFileOpen(const DocLnk &))); 49 connect(fileSelector, SIGNAL(fileSelected(const DocLnk &)), this, SLOT(selectorFileOpen(const DocLnk &)));
47 connect(ExcelSelector,SIGNAL(fileSelected(const DocLnk &)),this,SLOT(slotImportExcel(const DocLnk &))); 50 connect(ExcelSelector,SIGNAL(fileSelected(const DocLnk &)),this,SLOT(slotImportExcel(const DocLnk &)));
48 connect(ExcelSelector,SIGNAL(closeMe()), this, SLOT(ExcelSelectorHide())); 51 connect(ExcelSelector,SIGNAL(closeMe()), this, SLOT(ExcelSelectorHide()));
49 52
50 53
51 listSheets.setAutoDelete(TRUE); 54 listSheets.setAutoDelete(TRUE);
52 55
53 initActions(); 56 initActions();
54 initMenu(); 57 initMenu();
55 initEditToolbar(); 58 initEditToolbar();
56 initFunctionsToolbar(); 59 initFunctionsToolbar();
57 initStandardToolbar(); 60 initStandardToolbar();
58 initSheet(); 61 initSheet();
59 62
60 // set window title 63 // set window title
61 setCaption(tr("Opie Sheet")); 64 setCaption(tr("Opie Sheet"));
62 65
63 // create sheets 66 // create sheets
64 selectorFileNew(DocLnk()); 67 selectorFileNew(DocLnk());
65} 68}
66 69
67MainWindow::~MainWindow() 70MainWindow::~MainWindow()
68{ 71{
69 if (currentDoc) delete currentDoc; 72 if (currentDoc) delete currentDoc;
70} 73}
71 74
72void MainWindow::documentSave(DocLnk *lnkDoc) 75void MainWindow::documentSave(DocLnk *lnkDoc)
73{ 76{
74 FileManager fm; 77 FileManager fm;
75 QByteArray streamBuffer; 78 QByteArray streamBuffer;
76 QDataStream stream(streamBuffer, IO_WriteOnly); 79 QDataStream stream(streamBuffer, IO_WriteOnly);
77 80
78 typeSheet *currentSheet=findSheet(sheet->getName()); 81 typeSheet *currentSheet=findSheet(sheet->getName());
79 if (!currentSheet) 82 if (!currentSheet)
80 { 83 {
81 QMessageBox::critical(this, tr("Error"), tr("Inconsistency error!")); 84 QMessageBox::critical(this, tr("Error"), tr("Inconsistency error!"));
82 return; 85 return;
83 } 86 }
84 sheet->copySheetData(&currentSheet->data); 87 sheet->copySheetData(&currentSheet->data);
85 stream.writeRawBytes("SQT100", 6); 88 stream.writeRawBytes("SQT100", 6);
86 stream << (Q_UINT32)listSheets.count(); 89 stream << (Q_UINT32)listSheets.count();
87 for (typeSheet *tempSheet=listSheets.first(); tempSheet; tempSheet=listSheets.next()) 90 for (typeSheet *tempSheet=listSheets.first(); tempSheet; tempSheet=listSheets.next())
@@ -686,129 +689,129 @@ void MainWindow::slotInsertCols()
686{ 689{
687 NumberDialog dialogNumber(this); 690 NumberDialog dialogNumber(this);
688 if (dialogNumber.exec(tr("Insert Columns"), tr("&Number of columns:"))==QDialog::Accepted) 691 if (dialogNumber.exec(tr("Insert Columns"), tr("&Number of columns:"))==QDialog::Accepted)
689 sheet->insertColumns(dialogNumber.getValue()); 692 sheet->insertColumns(dialogNumber.getValue());
690} 693}
691 694
692void MainWindow::slotInsertSheets() 695void MainWindow::slotInsertSheets()
693{ 696{
694 NumberDialog dialogNumber(this); 697 NumberDialog dialogNumber(this);
695 if (dialogNumber.exec(tr("Add Sheets"), tr("&Number of sheets:"))==QDialog::Accepted) 698 if (dialogNumber.exec(tr("Add Sheets"), tr("&Number of sheets:"))==QDialog::Accepted)
696 for (int i=dialogNumber.getValue(); i>0; --i) createNewSheet(); 699 for (int i=dialogNumber.getValue(); i>0; --i) createNewSheet();
697} 700}
698 701
699void MainWindow::slotCellClicked(const QString &cell) 702void MainWindow::slotCellClicked(const QString &cell)
700{ 703{
701 editCellSelect->setOn(FALSE); 704 editCellSelect->setOn(FALSE);
702 addToData(cell); 705 addToData(cell);
703} 706}
704 707
705typeSheet *MainWindow::createNewSheet() 708typeSheet *MainWindow::createNewSheet()
706{ 709{
707 typeSheet *newSheet=new typeSheet; 710 typeSheet *newSheet=new typeSheet;
708 int currentNo=1, tempNo=0; 711 int currentNo=1, tempNo=0;
709 bool ok; 712 bool ok;
710 713
711 for (typeSheet *tempSheet=listSheets.first(); tempSheet; tempSheet=listSheets.next()) 714 for (typeSheet *tempSheet=listSheets.first(); tempSheet; tempSheet=listSheets.next())
712 if (tempSheet->name.startsWith(tr("Sheet")) && (tempNo=tempSheet->name.mid(tr("Sheet").length()).toInt(&ok))>=currentNo && ok) 715 if (tempSheet->name.startsWith(tr("Sheet")) && (tempNo=tempSheet->name.mid(tr("Sheet").length()).toInt(&ok))>=currentNo && ok)
713 currentNo=tempNo+1; 716 currentNo=tempNo+1;
714 717
715 newSheet->name=tr("Sheet")+QString::number(currentNo); 718 newSheet->name=tr("Sheet")+QString::number(currentNo);
716 newSheet->data.setAutoDelete(TRUE); 719 newSheet->data.setAutoDelete(TRUE);
717 720
718 comboSheets->insertItem(newSheet->name); 721 comboSheets->insertItem(newSheet->name);
719 listSheets.append(newSheet); 722 listSheets.append(newSheet);
720 return newSheet; 723 return newSheet;
721} 724}
722 725
723typeSheet *MainWindow::findSheet(const QString &name) 726typeSheet *MainWindow::findSheet(const QString &name)
724{ 727{
725 for (typeSheet *tempSheet=listSheets.first(); tempSheet; tempSheet=listSheets.next()) 728 for (typeSheet *tempSheet=listSheets.first(); tempSheet; tempSheet=listSheets.next())
726 if (tempSheet->name==name) 729 if (tempSheet->name==name)
727 return tempSheet; 730 return tempSheet;
728 return NULL; 731 return NULL;
729} 732}
730 733
731void MainWindow::slotSheetChanged(const QString &name) 734void MainWindow::slotSheetChanged(const QString &name)
732{ 735{
733 sheet->copySheetData(&findSheet(sheet->getName())->data); 736 sheet->copySheetData(&findSheet(sheet->getName())->data);
734 sheet->setName(name); 737 sheet->setName(name);
735 sheet->setSheetData(&findSheet(name)->data); 738 sheet->setSheetData(&findSheet(name)->data);
736 sheet->ReCalc(); 739 sheet->ReCalc();
737} 740}
738 741
739void MainWindow::addFlyAction(const QString &text, const QString &menuText, const QString &tip, QWidget *w) 742void MainWindow::addFlyAction(const QString &text, const QString &menuText, const QString &tip, QWidget *w)
740{ 743{
741 QAction *action=new QAction(text, menuText, 0, this); 744 QAction *action=new QAction(text, menuText, 0, this);
742 action->setToolTip(tip); 745 action->setToolTip(tip);
743 connect(action, SIGNAL(activated()), this, SLOT(slotFuncOutput())); 746 connect(action, SIGNAL(activated()), this, SLOT(slotFuncOutput()));
744 action->addTo(w); 747 action->addTo(w);
745} 748}
746 749
747void MainWindow::slotFormatCells() 750void MainWindow::slotFormatCells()
748{ 751{
749 CellFormat dialogCellFormat(this); 752 CellFormat dialogCellFormat(this);
750 dialogCellFormat.showMaximized(); 753 QPEApplication::showDialog( &dialogCellFormat );
751 dialogCellFormat.exec(sheet); 754 dialogCellFormat.exec(sheet);
752} 755}
753 756
754void MainWindow::slotEditPaste() 757void MainWindow::slotEditPaste()
755{ 758{
756 sheet->editPaste(); 759 sheet->editPaste();
757} 760}
758 761
759void MainWindow::slotEditPasteContents() 762void MainWindow::slotEditPasteContents()
760{ 763{
761 sheet->editPaste(TRUE); 764 sheet->editPaste(TRUE);
762} 765}
763 766
764void MainWindow::slotRowHeight() 767void MainWindow::slotRowHeight()
765{ 768{
766 int row1, row2, col1, col2; 769 int row1, row2, col1, col2;
767 sheet->getSelection(&row1, &col1, &row2, &col2); 770 sheet->getSelection(&row1, &col1, &row2, &col2);
768 771
769 NumberDialog dialogNumber(this); 772 NumberDialog dialogNumber(this);
770 if (dialogNumber.exec(tr("Row Height"), tr("&Height of each row:"), sheet->rowHeight(row1))==QDialog::Accepted) 773 if (dialogNumber.exec(tr("Row Height"), tr("&Height of each row:"), sheet->rowHeight(row1))==QDialog::Accepted)
771 { 774 {
772 int newHeight=dialogNumber.getValue(), row; 775 int newHeight=dialogNumber.getValue(), row;
773 for (row=row1; row<=row2; ++row) 776 for (row=row1; row<=row2; ++row)
774 sheet->setRowHeight(row, newHeight); 777 sheet->setRowHeight(row, newHeight);
775 } 778 }
776} 779}
777 780
778void MainWindow::slotRowAdjust() 781void MainWindow::slotRowAdjust()
779{ 782{
780 int row1, row2, col1, col2; 783 int row1, row2, col1, col2;
781 sheet->getSelection(&row1, &col1, &row2, &col2); 784 sheet->getSelection(&row1, &col1, &row2, &col2);
782 785
783 for (int row=row1; row<=row2; ++row) 786 for (int row=row1; row<=row2; ++row)
784 sheet->adjustRow(row); 787 sheet->adjustRow(row);
785} 788}
786 789
787void MainWindow::slotRowShow() 790void MainWindow::slotRowShow()
788{ 791{
789 int row1, row2, col1, col2; 792 int row1, row2, col1, col2;
790 sheet->getSelection(&row1, &col1, &row2, &col2); 793 sheet->getSelection(&row1, &col1, &row2, &col2);
791 794
792 for (int row=row1; row<=row2; ++row) 795 for (int row=row1; row<=row2; ++row)
793 sheet->showRow(row); 796 sheet->showRow(row);
794} 797}
795 798
796void MainWindow::slotRowHide() 799void MainWindow::slotRowHide()
797{ 800{
798 int row1, row2, col1, col2; 801 int row1, row2, col1, col2;
799 sheet->getSelection(&row1, &col1, &row2, &col2); 802 sheet->getSelection(&row1, &col1, &row2, &col2);
800 803
801 for (int row=row1; row<=row2; ++row) 804 for (int row=row1; row<=row2; ++row)
802 sheet->hideRow(row); 805 sheet->hideRow(row);
803} 806}
804 807
805void MainWindow::slotColumnWidth() 808void MainWindow::slotColumnWidth()
806{ 809{
807 int row1, row2, col1, col2; 810 int row1, row2, col1, col2;
808 sheet->getSelection(&row1, &col1, &row2, &col2); 811 sheet->getSelection(&row1, &col1, &row2, &col2);
809 812
810 NumberDialog dialogNumber(this); 813 NumberDialog dialogNumber(this);
811 if (dialogNumber.exec(tr("Column Width"), tr("&Width of each column:"), sheet->columnWidth(col1))==QDialog::Accepted) 814 if (dialogNumber.exec(tr("Column Width"), tr("&Width of each column:"), sheet->columnWidth(col1))==QDialog::Accepted)
812 { 815 {
813 int newWidth=dialogNumber.getValue(), col; 816 int newWidth=dialogNumber.getValue(), col;
814 for (col=col1; col<=col2; ++col) 817 for (col=col1; col<=col2; ++col)
@@ -906,103 +909,103 @@ void MainWindow::slotImportExcel(const DocLnk &lnkDoc)
906 if (w1==1)//if i==0 link sheet1 with sheetview 909 if (w1==1)//if i==0 link sheet1 with sheetview
907 { 910 {
908 sheet->setName(newSheet->name); 911 sheet->setName(newSheet->name);
909 sheet->setSheetData(&newSheet->data); 912 sheet->setSheetData(&newSheet->data);
910 sheet->ReCalc(); 913 sheet->ReCalc();
911 }; 914 };
912 915
913 }; 916 };
914 file1.CloseFile(); 917 file1.CloseFile();
915 printf("Excel FILE read OK\r\n"); 918 printf("Excel FILE read OK\r\n");
916 documentModified=TRUE; 919 documentModified=TRUE;
917 920
918 921
919} 922}
920 923
921void MainWindow::slotSheetRename() 924void MainWindow::slotSheetRename()
922{ 925{
923 TextDialog dialogText(this); 926 TextDialog dialogText(this);
924 if (dialogText.exec(tr("Rename Sheet"), tr("&Sheet Name:"), sheet->getName())!=QDialog::Accepted || dialogText.getValue().isEmpty()) return; 927 if (dialogText.exec(tr("Rename Sheet"), tr("&Sheet Name:"), sheet->getName())!=QDialog::Accepted || dialogText.getValue().isEmpty()) return;
925 QString newName=dialogText.getValue(); 928 QString newName=dialogText.getValue();
926 929
927 typeSheet *tempSheet=findSheet(newName); 930 typeSheet *tempSheet=findSheet(newName);
928 if (tempSheet) 931 if (tempSheet)
929 { 932 {
930 QMessageBox::critical(this, tr("Error"), tr("There is already a sheet named '"+newName+'\'')); 933 QMessageBox::critical(this, tr("Error"), tr("There is already a sheet named '"+newName+'\''));
931 return; 934 return;
932 } 935 }
933 936
934 tempSheet=findSheet(sheet->getName()); 937 tempSheet=findSheet(sheet->getName());
935 for (int i=0; i<comboSheets->count(); ++i) 938 for (int i=0; i<comboSheets->count(); ++i)
936 if (comboSheets->text(i)==tempSheet->name) 939 if (comboSheets->text(i)==tempSheet->name)
937 { 940 {
938 comboSheets->changeItem(newName, i); 941 comboSheets->changeItem(newName, i);
939 break; 942 break;
940 } 943 }
941 tempSheet->name=newName; 944 tempSheet->name=newName;
942 sheet->setName(newName); 945 sheet->setName(newName);
943} 946}
944 947
945void MainWindow::slotSheetRemove() 948void MainWindow::slotSheetRemove()
946{ 949{
947 if (comboSheets->count()<2) 950 if (comboSheets->count()<2)
948 { 951 {
949 QMessageBox::warning(this, tr("Error"), tr("There is only one sheet!")); 952 QMessageBox::warning(this, tr("Error"), tr("There is only one sheet!"));
950 return; 953 return;
951 } 954 }
952 if (QMessageBox::information(this, tr("Remove Sheet"), tr("Are you sure?"), QMessageBox::Yes, QMessageBox::No)==QMessageBox::Yes) 955 if (QMessageBox::information(this, tr("Remove Sheet"), tr("Are you sure?"), QMessageBox::Yes, QMessageBox::No)==QMessageBox::Yes)
953 { 956 {
954 typeSheet *tempSheet=findSheet(sheet->getName()); 957 typeSheet *tempSheet=findSheet(sheet->getName());
955 for (int i=0; i<comboSheets->count(); ++i) 958 for (int i=0; i<comboSheets->count(); ++i)
956 if (comboSheets->text(i)==tempSheet->name) 959 if (comboSheets->text(i)==tempSheet->name)
957 { 960 {
958 comboSheets->removeItem(i); 961 comboSheets->removeItem(i);
959 break; 962 break;
960 } 963 }
961 comboSheets->setCurrentItem(0); 964 comboSheets->setCurrentItem(0);
962 slotSheetChanged(comboSheets->currentText()); 965 slotSheetChanged(comboSheets->currentText());
963 listSheets.remove(tempSheet); 966 listSheets.remove(tempSheet);
964 } 967 }
965} 968}
966 969
967void MainWindow::slotDataSort() 970void MainWindow::slotDataSort()
968{ 971{
969 SortDialog dialogSort(this); 972 SortDialog dialogSort(this);
970 dialogSort.showMaximized(); 973 QPEApplication::showDialog( &dialogSort );
971 dialogSort.exec(sheet); 974 dialogSort.exec(sheet);
972} 975}
973 976
974void MainWindow::slotDocModified() 977void MainWindow::slotDocModified()
975{ 978{
976 documentModified=TRUE; 979 documentModified=TRUE;
977} 980}
978 981
979void MainWindow::slotInsertCells() 982void MainWindow::slotInsertCells()
980{ 983{
981 QDialog dialogInsert(this, 0, TRUE); 984 QDialog dialogInsert(this, 0, TRUE);
982 dialogInsert.resize(180, 130); 985 dialogInsert.resize(180, 130);
983 dialogInsert.setCaption(tr("Insert Cells")); 986 dialogInsert.setCaption(tr("Insert Cells"));
984 987
985 QVButtonGroup *group=new QVButtonGroup(tr("&Type"), &dialogInsert); 988 QVButtonGroup *group=new QVButtonGroup(tr("&Type"), &dialogInsert);
986 group->setGeometry(10, 10, 160, 110); 989 group->setGeometry(10, 10, 160, 110);
987 QRadioButton *radio=new QRadioButton(tr("Shift cells &down"), group); 990 QRadioButton *radio=new QRadioButton(tr("Shift cells &down"), group);
988 radio=new QRadioButton(tr("Shift cells &right"), group); 991 radio=new QRadioButton(tr("Shift cells &right"), group);
989 radio=new QRadioButton(tr("Entire ro&w"), group); 992 radio=new QRadioButton(tr("Entire ro&w"), group);
990 radio=new QRadioButton(tr("Entire &column"), group); 993 radio=new QRadioButton(tr("Entire &column"), group);
991 group->setButton(0); 994 group->setButton(0);
992 995
993 if (dialogInsert.exec()==QDialog::Accepted) 996 if (dialogInsert.exec()==QDialog::Accepted)
994 switch (group->id(group->selected())) 997 switch (group->id(group->selected()))
995 { 998 {
996 case 0: sheet->insertRows(1, FALSE); break; 999 case 0: sheet->insertRows(1, FALSE); break;
997 case 1: sheet->insertColumns(1, FALSE); break; 1000 case 1: sheet->insertColumns(1, FALSE); break;
998 case 2: sheet->insertRows(1, TRUE); break; 1001 case 2: sheet->insertRows(1, TRUE); break;
999 case 3: sheet->insertColumns(1, TRUE); break; 1002 case 3: sheet->insertColumns(1, TRUE); break;
1000 } 1003 }
1001} 1004}
1002 1005
1003void MainWindow::slotDataFindReplace() 1006void MainWindow::slotDataFindReplace()
1004{ 1007{
1005 FindDialog dialogFind(this); 1008 FindDialog dialogFind(this);
1006 dialogFind.showMaximized(); 1009 QPEApplication::showDialog( &dialogFind );
1007 dialogFind.exec(sheet); 1010 dialogFind.exec(sheet);
1008} 1011}
diff --git a/noncore/apps/tableviewer/ui/tveditview.cpp b/noncore/apps/tableviewer/ui/tveditview.cpp
index 23e2b42..20a24c8 100644
--- a/noncore/apps/tableviewer/ui/tveditview.cpp
+++ b/noncore/apps/tableviewer/ui/tveditview.cpp
@@ -1,131 +1,133 @@
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 21
22/* The edit view widget. For each key in the DB display an 22/* The edit view widget. For each key in the DB display an
23 * appropriate edit box, and a 'key' button to change that particular 23 * appropriate edit box, and a 'key' button to change that particular
24 * key information (delete or edit). 24 * key information (delete or edit).
25 * 25 *
26 * Bottem line should be a 'new key' button. Should be able to scroll 26 * Bottem line should be a 'new key' button. Should be able to scroll
27 * in both directions. 27 * in both directions.
28 */ 28 */
29 29
30#include "tveditview.h" 30#include "tveditview.h"
31#include "commonwidgets.h" 31#include "commonwidgets.h"
32 32
33#include <qlayout.h> 33#include <qlayout.h>
34#include <qgrid.h> 34#include <qgrid.h>
35#include <qvbox.h> 35#include <qvbox.h>
36#include <qlineedit.h> 36#include <qlineedit.h>
37#include <qcheckbox.h> 37#include <qcheckbox.h>
38#include <qlist.h> 38#include <qlist.h>
39#include <qlabel.h> 39#include <qlabel.h>
40#include <qscrollview.h> 40#include <qscrollview.h>
41#include <qsignalmapper.h> 41#include <qsignalmapper.h>
42 42
43TVEditView::TVEditView(TableState *s, DataElem *d, QWidget* parent, 43#include <qpe/qpeapplication.h>
44
45TVEditView::TVEditView(TableState *s, DataElem *d, QWidget* parent,
44 const char *name, WFlags fl ) : QDialog(parent, name, true, fl) 46 const char *name, WFlags fl ) : QDialog(parent, name, true, fl)
45{ 47{
46 if (!name) 48 if (!name)
47 setName("TVEditView"); 49 setName("TVEditView");
48 50
49 QVBoxLayout *layout = new QVBoxLayout(this, 0); /* only so that will resize 51 QVBoxLayout *layout = new QVBoxLayout(this, 0); /* only so that will resize
50 correctly in other 52 correctly in other
51 widgets */ 53 widgets */
52 54
53 toggles = new QSignalMapper(this); 55 toggles = new QSignalMapper(this);
54 QScrollView *sv = new QScrollView(this, 0); 56 QScrollView *sv = new QScrollView(this, 0);
55 sv->setResizePolicy(QScrollView::AutoOneFit); 57 sv->setResizePolicy(QScrollView::AutoOneFit);
56 58
57 layout->addWidget(sv); 59 layout->addWidget(sv);
58 60
59 editDisplay = new QGrid(3, sv, 0); 61 editDisplay = new QGrid(3, sv, 0);
60 editDisplay->setSpacing(3); 62 editDisplay->setSpacing(3);
61 sv->addChild(editDisplay); 63 sv->addChild(editDisplay);
62 64
63 connect(toggles, SIGNAL(mapped(int)), this, SLOT(toggleEnabled(int))); 65 connect(toggles, SIGNAL(mapped(int)), this, SLOT(toggleEnabled(int)));
64 66
65 setData(s, d); 67 setData(s, d);
66#ifdef Q_WS_QWS 68#ifdef Q_WS_QWS
67 showMaximized(); 69 QPEApplication::showDialog( this );
68#endif 70#endif
69} 71}
70 72
71TVEditView::~TVEditView() 73TVEditView::~TVEditView()
72{ 74{
73} 75}
74 76
75/*! set up the widgets in the grid, Set up initial values */ 77/*! set up the widgets in the grid, Set up initial values */
76void TVEditView::setData(TableState *t, DataElem *d) 78void TVEditView::setData(TableState *t, DataElem *d)
77{ 79{
78 80
79 /* TODO need to somehow clear old children... a delete of each 81 /* TODO need to somehow clear old children... a delete of each
80 * child? */ 82 * child? */
81 keyIds.clear(); 83 keyIds.clear();
82 84
83 KeyListIterator it(*t->kRep); 85 KeyListIterator it(*t->kRep);
84 86
85 int i = 0; 87 int i = 0;
86 while(it.current()) { 88 while(it.current()) {
87 if (t->kRep->validIndex(it.currentKey())) { 89 if (t->kRep->validIndex(it.currentKey())) {
88 new QLabel(it.current()->name(), editDisplay); 90 new QLabel(it.current()->name(), editDisplay);
89 keyIds.insert(i, it.currentKey()); 91 keyIds.insert(i, it.currentKey());
90 if (d->hasValidValue(it.currentKey())) { 92 if (d->hasValidValue(it.currentKey())) {
91 switch(it.current()->type()) { 93 switch(it.current()->type()) {
92 case TVVariant::String: { 94 case TVVariant::String: {
93 QLineEdit *edit = new QLineEdit(editDisplay, 0); 95 QLineEdit *edit = new QLineEdit(editDisplay, 0);
94 edit->setText(d->getField(it.currentKey()).toString()); 96 edit->setText(d->getField(it.currentKey()).toString());
95 edits.append(edit); 97 edits.append(edit);
96 break; 98 break;
97 } 99 }
98 case TVVariant::Int: { 100 case TVVariant::Int: {
99 IntEdit *edit = new IntEdit(editDisplay, 0); 101 IntEdit *edit = new IntEdit(editDisplay, 0);
100 edit->setValue(d->getField(it.currentKey()).toInt()); 102 edit->setValue(d->getField(it.currentKey()).toInt());
101 edits.append(edit); 103 edits.append(edit);
102 break; 104 break;
103 } 105 }
104 case TVVariant::Time: { 106 case TVVariant::Time: {
105 TimeEdit *edit = new TimeEdit(editDisplay, 0); 107 TimeEdit *edit = new TimeEdit(editDisplay, 0);
106 edit->setTime(d->getField(it.currentKey()).toTime()); 108 edit->setTime(d->getField(it.currentKey()).toTime());
107 edits.append(edit); 109 edits.append(edit);
108 break; 110 break;
109 } 111 }
110 case TVVariant::Date: { 112 case TVVariant::Date: {
111 DateEdit *edit = new DateEdit(editDisplay, 0); 113 DateEdit *edit = new DateEdit(editDisplay, 0);
112 edit->setDate(d->getField(it.currentKey()).toDate()); 114 edit->setDate(d->getField(it.currentKey()).toDate());
113 edits.append(edit); 115 edits.append(edit);
114 break; 116 break;
115 } 117 }
116 default: 118 default:
117 edits.append(new QLabel("<B><I>Uknown key type</I></B>", editDisplay)); 119 edits.append(new QLabel("<B><I>Uknown key type</I></B>", editDisplay));
118 } 120 }
119 QCheckBox *tb = new QCheckBox(editDisplay); 121 QCheckBox *tb = new QCheckBox(editDisplay);
120 tb->setChecked(TRUE); 122 tb->setChecked(TRUE);
121 toggles->setMapping(tb, i); 123 toggles->setMapping(tb, i);
122 connect(tb, SIGNAL(clicked()), toggles, SLOT(map())); 124 connect(tb, SIGNAL(clicked()), toggles, SLOT(map()));
123 buttons.append(tb); 125 buttons.append(tb);
124 } else { 126 } else {
125 /* No valid value.. set to null */ 127 /* No valid value.. set to null */
126 switch(it.current()->type()) { 128 switch(it.current()->type()) {
127 case TVVariant::String: { 129 case TVVariant::String: {
128 QLineEdit *edit = new QLineEdit(editDisplay, 0); 130 QLineEdit *edit = new QLineEdit(editDisplay, 0);
129 edit->setEnabled(false); 131 edit->setEnabled(false);
130 edits.append(edit); 132 edits.append(edit);
131 break; 133 break;
diff --git a/noncore/apps/tableviewer/ui/tvfilterview.cpp b/noncore/apps/tableviewer/ui/tvfilterview.cpp
index 0182127..b03e846 100644
--- a/noncore/apps/tableviewer/ui/tvfilterview.cpp
+++ b/noncore/apps/tableviewer/ui/tvfilterview.cpp
@@ -1,162 +1,164 @@
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#include "tvfilterview.h" 20#include "tvfilterview.h"
21#include <qtoolbutton.h> 21#include <qtoolbutton.h>
22#include <qcombobox.h> 22#include <qcombobox.h>
23#include <qlistview.h> 23#include <qlistview.h>
24#include <qlayout.h> 24#include <qlayout.h>
25#include <qheader.h> 25#include <qheader.h>
26#include <qpushbutton.h> 26#include <qpushbutton.h>
27#include <qlabel.h> 27#include <qlabel.h>
28 28
29TVFilterView::TVFilterView(TableState *t, QWidget* parent, 29#include <qpe/qpeapplication.h>
30
31TVFilterView::TVFilterView(TableState *t, QWidget* parent,
30 const char *name, WFlags fl ) : QDialog(parent, name, TRUE, fl) 32 const char *name, WFlags fl ) : QDialog(parent, name, TRUE, fl)
31{ 33{
32 if ( !name ) 34 if ( !name )
33 setName( "Filter View" ); 35 setName( "Filter View" );
34 36
35 QVBoxLayout *vlayout = new QVBoxLayout(this); 37 QVBoxLayout *vlayout = new QVBoxLayout(this);
36 38
37 display = new QListView(this, "display"); 39 display = new QListView(this, "display");
38 display->addColumn("Key"); 40 display->addColumn("Key");
39 display->addColumn("Constraint"); 41 display->addColumn("Constraint");
40 display->addColumn("Value"); 42 display->addColumn("Value");
41 display->header()->setClickEnabled(FALSE); 43 display->header()->setClickEnabled(FALSE);
42 display->header()->setResizeEnabled(FALSE); 44 display->header()->setResizeEnabled(FALSE);
43 45
44 vlayout->addWidget(display); 46 vlayout->addWidget(display);
45 47
46 QHBoxLayout *hlayout = new QHBoxLayout; 48 QHBoxLayout *hlayout = new QHBoxLayout;
47 hlayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum)); 49 hlayout->addItem(new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum));
48 50
49 newFilterButton = new QPushButton(this, "new Filter"); 51 newFilterButton = new QPushButton(this, "new Filter");
50 newFilterButton->setMaximumSize(QSize(50, 32767)); 52 newFilterButton->setMaximumSize(QSize(50, 32767));
51 newFilterButton->setText("New"); 53 newFilterButton->setText("New");
52 hlayout->addWidget(newFilterButton); 54 hlayout->addWidget(newFilterButton);
53 55
54 deleteFilterButton = new QPushButton(this, "delete Filter"); 56 deleteFilterButton = new QPushButton(this, "delete Filter");
55 deleteFilterButton->setMaximumSize(QSize(50, 32767)); 57 deleteFilterButton->setMaximumSize(QSize(50, 32767));
56 deleteFilterButton->setText("Delete"); 58 deleteFilterButton->setText("Delete");
57 hlayout->addWidget(deleteFilterButton); 59 hlayout->addWidget(deleteFilterButton);
58 60
59 clearFilterButton = new QPushButton(this, "delete Filter"); 61 clearFilterButton = new QPushButton(this, "delete Filter");
60 clearFilterButton->setMaximumSize(QSize(60, 32767)); 62 clearFilterButton->setMaximumSize(QSize(60, 32767));
61 clearFilterButton->setText("Clear All"); 63 clearFilterButton->setText("Clear All");
62 hlayout->addWidget(clearFilterButton); 64 hlayout->addWidget(clearFilterButton);
63 65
64 vlayout->addLayout(hlayout); 66 vlayout->addLayout(hlayout);
65 67
66 QHBoxLayout *hlayout2 = new QHBoxLayout; 68 QHBoxLayout *hlayout2 = new QHBoxLayout;
67 69
68 keyNameCombo = new QComboBox(FALSE, this, "key name"); 70 keyNameCombo = new QComboBox(FALSE, this, "key name");
69 keyNameCombo->setEnabled(FALSE); 71 keyNameCombo->setEnabled(FALSE);
70 hlayout2->addWidget(keyNameCombo); 72 hlayout2->addWidget(keyNameCombo);
71 73
72 QLabel *label = new QLabel(this); 74 QLabel *label = new QLabel(this);
73 label->setText("has value"); 75 label->setText("has value");
74 hlayout2->addWidget(label); 76 hlayout2->addWidget(label);
75 77
76 keyEntry = new TVFilterKeyEntry(this, "key entry"); 78 keyEntry = new TVFilterKeyEntry(this, "key entry");
77 keyEntry->setEnabled(FALSE); 79 keyEntry->setEnabled(FALSE);
78 80
79 vlayout->addLayout(hlayout2); 81 vlayout->addLayout(hlayout2);
80 vlayout->addWidget(keyEntry); 82 vlayout->addWidget(keyEntry);
81 83
82 connect(newFilterButton, SIGNAL( clicked() ), this, SLOT( newTerm() )); 84 connect(newFilterButton, SIGNAL( clicked() ), this, SLOT( newTerm() ));
83 connect(deleteFilterButton, SIGNAL( clicked() ), this, SLOT( deleteTerm())); 85 connect(deleteFilterButton, SIGNAL( clicked() ), this, SLOT( deleteTerm()));
84 connect(clearFilterButton, SIGNAL( clicked() ), this, SLOT( clearTerms())); 86 connect(clearFilterButton, SIGNAL( clicked() ), this, SLOT( clearTerms()));
85 87
86 connect(keyEntry, SIGNAL(valueChanged()), this, SLOT( updateTerm() )); 88 connect(keyEntry, SIGNAL(valueChanged()), this, SLOT( updateTerm() ));
87 connect(keyNameCombo, SIGNAL(activated(int)), this, SLOT( updateTerm() )); 89 connect(keyNameCombo, SIGNAL(activated(int)), this, SLOT( updateTerm() ));
88 90
89 connect(display, SIGNAL(selectionChanged(QListViewItem*)), this, 91 connect(display, SIGNAL(selectionChanged(QListViewItem*)), this,
90 SLOT(setTerm(QListViewItem *))); 92 SLOT(setTerm(QListViewItem *)));
91 93
92 ts = t; 94 ts = t;
93 current = 0; 95 current = 0;
94 terms.setAutoDelete(true); 96 terms.setAutoDelete(true);
95 do_filter = false; 97 do_filter = false;
96 98
97#ifdef Q_WS_QWS 99#ifdef Q_WS_QWS
98 showMaximized(); 100 QPEApplication::showDialog( this );
99#endif 101#endif
100} 102}
101 103
102/*! 104/*!
103 Destroys the TVFilterView widget 105 Destroys the TVFilterView widget
104*/ 106*/
105TVFilterView::~TVFilterView() 107TVFilterView::~TVFilterView()
106{ 108{
107} 109}
108 110
109void TVFilterView::rebuildData() 111void TVFilterView::rebuildData()
110{ 112{
111} 113}
112 114
113void TVFilterView::reset() 115void TVFilterView::reset()
114{ 116{
115 keyNameCombo->clear(); 117 keyNameCombo->clear();
116 keyIds.clear(); 118 keyIds.clear();
117} 119}
118 120
119void TVFilterView::rebuildKeys() 121void TVFilterView::rebuildKeys()
120{ 122{
121 int i; 123 int i;
122 124
123 if (!ts) return; 125 if (!ts) return;
124 if(!ts->kRep) return; 126 if(!ts->kRep) return;
125 keyEntry->setTableState(ts); 127 keyEntry->setTableState(ts);
126 128
127 /* set up the list of keys that can be compared on */ 129 /* set up the list of keys that can be compared on */
128 keyNameCombo->clear(); 130 keyNameCombo->clear();
129 KeyListIterator it(*ts->kRep); 131 KeyListIterator it(*ts->kRep);
130 132
131 i = 0; 133 i = 0;
132 while(it.current()) { 134 while(it.current()) {
133 if(ts->kRep->validIndex(it.currentKey())) { 135 if(ts->kRep->validIndex(it.currentKey())) {
134 keyNameCombo->insertItem(it.current()->name()); 136 keyNameCombo->insertItem(it.current()->name());
135 keyIds.insert(i, it.currentKey()); 137 keyIds.insert(i, it.currentKey());
136 ++i; 138 ++i;
137 } 139 }
138 ++it; 140 ++it;
139 } 141 }
140} 142}
141 143
142bool TVFilterView::passesFilter(DataElem *d) { 144bool TVFilterView::passesFilter(DataElem *d) {
143 if (!filterActive()) return true; 145 if (!filterActive()) return true;
144 146
145 147
146 FilterTerm *t; 148 FilterTerm *t;
147 149
148 for (t = terms.first(); t != 0; t = terms.next() ) { 150 for (t = terms.first(); t != 0; t = terms.next() ) {
149 /* check against filter */ 151 /* check against filter */
150 switch(t->ct) { 152 switch(t->ct) {
151 case ct_less: 153 case ct_less:
152 if (!d->lessThan(t->keyIndex, t->value)) 154 if (!d->lessThan(t->keyIndex, t->value))
153 return false; 155 return false;
154 break; 156 break;
155 case ct_more: 157 case ct_more:
156 if (!d->moreThan(t->keyIndex, t->value)) 158 if (!d->moreThan(t->keyIndex, t->value))
157 return false; 159 return false;
158 break; 160 break;
159 case ct_equal: 161 case ct_equal:
160 if (!d->equalTo(t->keyIndex, t->value)) 162 if (!d->equalTo(t->keyIndex, t->value))
161 return false; 163 return false;
162 break; 164 break;
diff --git a/noncore/apps/tableviewer/ui/tvkeyedit.cpp b/noncore/apps/tableviewer/ui/tvkeyedit.cpp
index 4849e87..c22ecd3 100644
--- a/noncore/apps/tableviewer/ui/tvkeyedit.cpp
+++ b/noncore/apps/tableviewer/ui/tvkeyedit.cpp
@@ -1,214 +1,216 @@
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#include "tvkeyedit.h" 20#include "tvkeyedit.h"
21#include <qtoolbutton.h> 21#include <qtoolbutton.h>
22#include <qlineedit.h> 22#include <qlineedit.h>
23#include <qcombobox.h> 23#include <qcombobox.h>
24#include <qlistview.h> 24#include <qlistview.h>
25#include <qmessagebox.h> 25#include <qmessagebox.h>
26#include <stdlib.h> 26#include <stdlib.h>
27#include <qpushbutton.h> 27#include <qpushbutton.h>
28 28
29#include <qpe/qpeapplication.h>
30
29/* QList view item... ?? that can store and update the values that I will 31/* QList view item... ?? that can store and update the values that I will
30 * be changing */ 32 * be changing */
31 33
32class TVKEListViewItem : public QListViewItem 34class TVKEListViewItem : public QListViewItem
33{ 35{
34public: 36public:
35 TVKEListViewItem(QString n, TVVariant::KeyType kt, int p, QListView *parent) : 37 TVKEListViewItem(QString n, TVVariant::KeyType kt, int p, QListView *parent) :
36 QListViewItem(parent) 38 QListViewItem(parent)
37 { 39 {
38 name = n; 40 name = n;
39 keyType = kt; 41 keyType = kt;
40 position = p; 42 position = p;
41 } 43 }
42 44
43 QString text(int i) const 45 QString text(int i) const
44 { 46 {
45 if(i) { 47 if(i) {
46 return TVVariant::typeToName(keyType); 48 return TVVariant::typeToName(keyType);
47 } 49 }
48 return name; 50 return name;
49 } 51 }
50 52
51 /* always sort by key index, ignore i */ 53 /* always sort by key index, ignore i */
52 QString key(int, bool) const 54 QString key(int, bool) const
53 { 55 {
54 return QString().sprintf("%08d", position); 56 return QString().sprintf("%08d", position);
55 } 57 }
56 58
57 void setText(int i, const QString &) 59 void setText(int i, const QString &)
58 { 60 {
59 ; 61 ;
60 } 62 }
61 63
62 QString getName() const 64 QString getName() const
63 { 65 {
64 return name; 66 return name;
65 } 67 }
66 68
67 void setName(QString n) 69 void setName(QString n)
68 { 70 {
69 name = n; 71 name = n;
70 repaint(); 72 repaint();
71 } 73 }
72 74
73 TVVariant::KeyType getKeyType() const 75 TVVariant::KeyType getKeyType() const
74 { 76 {
75 return keyType; 77 return keyType;
76 } 78 }
77 79
78 void setKeyType(TVVariant::KeyType k) 80 void setKeyType(TVVariant::KeyType k)
79 { 81 {
80 keyType = k; 82 keyType = k;
81 repaint(); 83 repaint();
82 } 84 }
83 85
84 inline int getPos() const 86 inline int getPos() const
85 { 87 {
86 return position; 88 return position;
87 } 89 }
88 90
89private: 91private:
90 QString name; 92 QString name;
91 TVVariant::KeyType keyType; 93 TVVariant::KeyType keyType;
92 int position; 94 int position;
93}; 95};
94 96
95TVKeyEdit::TVKeyEdit(TableState *t, QWidget* parent, const char *name, 97TVKeyEdit::TVKeyEdit(TableState *t, QWidget* parent, const char *name,
96 WFlags fl) : TVKeyEdit_gen(parent, name, true, fl) 98 WFlags fl) : TVKeyEdit_gen(parent, name, true, fl)
97{ 99{
98 int i; 100 int i;
99 ts = t; 101 ts = t;
100 102
101 if(!ts) return; 103 if(!ts) return;
102 if(!ts->kRep) return; 104 if(!ts->kRep) return;
103 105
104 working_state = *ts->kRep; 106 working_state = *ts->kRep;
105 107
106 i = 1; 108 i = 1;
107 keyTypeEdit->insertItem(TVVariant::typeToName((TVVariant::KeyType)i)); 109 keyTypeEdit->insertItem(TVVariant::typeToName((TVVariant::KeyType)i));
108 i++; 110 i++;
109 keyTypeEdit->insertItem(TVVariant::typeToName((TVVariant::KeyType)i)); 111 keyTypeEdit->insertItem(TVVariant::typeToName((TVVariant::KeyType)i));
110 i++; 112 i++;
111 keyTypeEdit->insertItem(TVVariant::typeToName((TVVariant::KeyType)i)); 113 keyTypeEdit->insertItem(TVVariant::typeToName((TVVariant::KeyType)i));
112 i++; 114 i++;
113 keyTypeEdit->insertItem(TVVariant::typeToName((TVVariant::KeyType)i)); 115 keyTypeEdit->insertItem(TVVariant::typeToName((TVVariant::KeyType)i));
114 116
115 KeyListIterator it(*ts->kRep); 117 KeyListIterator it(*ts->kRep);
116 while(it.current()) { 118 while(it.current()) {
117 if(t->kRep->validIndex(it.currentKey())) { 119 if(t->kRep->validIndex(it.currentKey())) {
118 new TVKEListViewItem(it.current()->name(), 120 new TVKEListViewItem(it.current()->name(),
119 it.current()->type(), 121 it.current()->type(),
120 it.currentKey(), 122 it.currentKey(),
121 display); 123 display);
122 } 124 }
123 ++it; 125 ++it;
124 } 126 }
125 num_keys = ts->kRep->getNumFields(); 127 num_keys = ts->kRep->getNumFields();
126 if(display->childCount() > 0) { 128 if(display->childCount() > 0) {
127 display->setCurrentItem(display->firstChild()); 129 display->setCurrentItem(display->firstChild());
128 setTerm(display->currentItem()); 130 setTerm(display->currentItem());
129 } else { 131 } else {
130 deleteKeyButton->setEnabled(FALSE); 132 deleteKeyButton->setEnabled(FALSE);
131 clearKeysButton->setEnabled(FALSE); 133 clearKeysButton->setEnabled(FALSE);
132 keyNameEdit->setEnabled(FALSE); 134 keyNameEdit->setEnabled(FALSE);
133 keyTypeEdit->setEnabled(FALSE); 135 keyTypeEdit->setEnabled(FALSE);
134 } 136 }
135 137
136 display->setSorting(0); 138 display->setSorting(0);
137#ifdef Q_WS_QWS 139#ifdef Q_WS_QWS
138 showMaximized(); 140 QPEApplication::showDialog( this );
139#endif 141#endif
140} 142}
141 143
142/*! 144/*!
143 Destroys the TVKeyEdit widget 145 Destroys the TVKeyEdit widget
144*/ 146*/
145TVKeyEdit::~TVKeyEdit() 147TVKeyEdit::~TVKeyEdit()
146{ 148{
147} 149}
148 150
149/* SLOTS */ 151/* SLOTS */
150void TVKeyEdit::newTerm() 152void TVKeyEdit::newTerm()
151{ 153{
152 /* new item, make current Item */ 154 /* new item, make current Item */
153 int i; 155 int i;
154 156
155 i = working_state.addKey("<New Key>", TVVariant::String); 157 i = working_state.addKey("<New Key>", TVVariant::String);
156 //working_state.setNewFlag(i, TRUE); 158 //working_state.setNewFlag(i, TRUE);
157 TVKEListViewItem *nItem = new TVKEListViewItem("<New Key>", 159 TVKEListViewItem *nItem = new TVKEListViewItem("<New Key>",
158 TVVariant::String, 160 TVVariant::String,
159 i, 161 i,
160 display); 162 display);
161 display->setCurrentItem(nItem); 163 display->setCurrentItem(nItem);
162 setTerm(nItem); 164 setTerm(nItem);
163 165
164 num_keys++; 166 num_keys++;
165 if(display->childCount() == 1) { 167 if(display->childCount() == 1) {
166 deleteKeyButton->setEnabled(TRUE); 168 deleteKeyButton->setEnabled(TRUE);
167 clearKeysButton->setEnabled(TRUE); 169 clearKeysButton->setEnabled(TRUE);
168 keyNameEdit->setEnabled(TRUE); 170 keyNameEdit->setEnabled(TRUE);
169 keyTypeEdit->setEnabled(TRUE); 171 keyTypeEdit->setEnabled(TRUE);
170 } 172 }
171} 173}
172 174
173void TVKeyEdit::updateTerm(const QString &newName) 175void TVKeyEdit::updateTerm(const QString &newName)
174{ 176{
175 /* TODO if name matches a deleted term, prompt for 177 /* TODO if name matches a deleted term, prompt for
176 renewing old data instead */ 178 renewing old data instead */
177 TVKEListViewItem *i = (TVKEListViewItem *)display->currentItem(); 179 TVKEListViewItem *i = (TVKEListViewItem *)display->currentItem();
178 if(i) { 180 if(i) {
179 i->setName(newName); 181 i->setName(newName);
180 working_state.setKeyName(i->getPos(), newName); 182 working_state.setKeyName(i->getPos(), newName);
181 } 183 }
182} 184}
183 185
184void TVKeyEdit::updateTerm(int t) 186void TVKeyEdit::updateTerm(int t)
185{ 187{
186 /* t is an index to a combo in a menu, NOT a type */ 188 /* t is an index to a combo in a menu, NOT a type */
187 t++; /* menu counts from 0, types count from 1 */ 189 t++; /* menu counts from 0, types count from 1 */
188 TVKEListViewItem *i = (TVKEListViewItem *)display->currentItem(); 190 TVKEListViewItem *i = (TVKEListViewItem *)display->currentItem();
189 if (i) { 191 if (i) {
190 i->setKeyType((TVVariant::KeyType)t); 192 i->setKeyType((TVVariant::KeyType)t);
191 working_state.setKeyType(i->getPos(), (TVVariant::KeyType)t); 193 working_state.setKeyType(i->getPos(), (TVVariant::KeyType)t);
192 } 194 }
193} 195}
194 196
195/* deletes current term 197/* deletes current term
196 * really just marks key as deleted so is now invalid. 198 * really just marks key as deleted so is now invalid.
197 * the actual delete will happen when data is 'cleaned' 199 * the actual delete will happen when data is 'cleaned'
198 * or when file is saved. 200 * or when file is saved.
199 */ 201 */
200 202
201void TVKeyEdit::deleteTerm() 203void TVKeyEdit::deleteTerm()
202{ 204{
203 TVKEListViewItem *i = (TVKEListViewItem *)display->currentItem(); 205 TVKEListViewItem *i = (TVKEListViewItem *)display->currentItem();
204 if (i) { 206 if (i) {
205 working_state.setDeleteFlag(i->getPos(), TRUE); 207 working_state.setDeleteFlag(i->getPos(), TRUE);
206 delete i; 208 delete i;
207 } 209 }
208 if(!display->childCount()) { 210 if(!display->childCount()) {
209 /* disable the delete and clear buttons, etc */ 211 /* disable the delete and clear buttons, etc */
210 deleteKeyButton->setEnabled(FALSE); 212 deleteKeyButton->setEnabled(FALSE);
211 clearKeysButton->setEnabled(FALSE); 213 clearKeysButton->setEnabled(FALSE);
212 keyNameEdit->setEnabled(FALSE); 214 keyNameEdit->setEnabled(FALSE);
213 keyTypeEdit->setEnabled(FALSE); 215 keyTypeEdit->setEnabled(FALSE);
214 } 216 }
diff --git a/noncore/apps/tinykate/libkate/view/kateview.cpp b/noncore/apps/tinykate/libkate/view/kateview.cpp
index af3b30d..794fbdb 100644
--- a/noncore/apps/tinykate/libkate/view/kateview.cpp
+++ b/noncore/apps/tinykate/libkate/view/kateview.cpp
@@ -23,128 +23,129 @@
23 23
24 This library is free software; you can redistribute it and/or 24 This library is free software; you can redistribute it and/or
25 modify it under the terms of the GNU Library General Public 25 modify it under the terms of the GNU Library General Public
26 License as published by the Free Software Foundation; either 26 License as published by the Free Software Foundation; either
27 version 2 of the License, or (at your option) any later version. 27 version 2 of the License, or (at your option) any later version.
28 28
29 This library is distributed in the hope that it will be useful, 29 This library is distributed in the hope that it will be useful,
30 but WITHOUT ANY WARRANTY; without even the implied warranty of 30 but WITHOUT ANY WARRANTY; without even the implied warranty of
31 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 31 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
32 Library General Public License for more details. 32 Library General Public License for more details.
33 33
34 You should have received a copy of the GNU Library General Public License 34 You should have received a copy of the GNU Library General Public License
35 along with this library; see the file COPYING.LIB. If not, write to 35 along with this library; see the file COPYING.LIB. If not, write to
36 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 36 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
37 Boston, MA 02111-1307, USA. 37 Boston, MA 02111-1307, USA.
38*/ 38*/
39 39
40 40
41 41
42#include "kateview.h" 42#include "kateview.h"
43 43
44#include "../document/katedocument.h" 44#include "../document/katedocument.h"
45#include "../document/katecmd.h" 45#include "../document/katecmd.h"
46#include "../document/katehighlight.h" 46#include "../document/katehighlight.h"
47#include "kateviewdialog.h" 47#include "kateviewdialog.h"
48#include "../document/katedialogs.h" 48#include "../document/katedialogs.h"
49#include <kateconfig.h> 49#include <kateconfig.h>
50 50
51#include <qfocusdata.h> 51#include <qfocusdata.h>
52#include <kdebug.h> 52#include <kdebug.h>
53#include <kapplication.h> 53#include <kapplication.h>
54#include <qscrollbar.h> 54#include <qscrollbar.h>
55#include <qiodevice.h> 55#include <qiodevice.h>
56#include <qpopupmenu.h> 56#include <qpopupmenu.h>
57#include <kpopupmenu.h> 57#include <kpopupmenu.h>
58#include <qkeycode.h> 58#include <qkeycode.h>
59#include <qintdict.h> 59#include <qintdict.h>
60#include <qfont.h> 60#include <qfont.h>
61#include <qpainter.h> 61#include <qpainter.h>
62#include <qpixmap.h> 62#include <qpixmap.h>
63#include <qfileinfo.h> 63#include <qfileinfo.h>
64#include <qfile.h> 64#include <qfile.h>
65#include <qevent.h> 65#include <qevent.h>
66#include <qdir.h> 66#include <qdir.h>
67#include <qvbox.h> 67#include <qvbox.h>
68#include <qprintdialog.h> 68#include <qprintdialog.h>
69#include <qpaintdevicemetrics.h> 69#include <qpaintdevicemetrics.h>
70#include <qiodevice.h> 70#include <qiodevice.h>
71#include <qbuffer.h> 71#include <qbuffer.h>
72#include <qfocusdata.h> 72#include <qfocusdata.h>
73#include <klocale.h> 73#include <klocale.h>
74#include <kglobal.h> 74#include <kglobal.h>
75#include <kdebug.h> 75#include <kdebug.h>
76#include <kmessagebox.h> 76#include <kmessagebox.h>
77#include <qregexp.h> 77#include <qregexp.h>
78#include <kdialogbase.h> 78#include <kdialogbase.h>
79#include <klineeditdlg.h> 79#include <klineeditdlg.h>
80#include <qapplication.h> 80#include <qapplication.h>
81#include <kfiledialog.h> 81#include <kfiledialog.h>
82#include <kiconloader.h> 82#include <kiconloader.h>
83#include "../document/katetextline.h" 83#include "../document/katetextline.h"
84#include "kateviewdialog.h" 84#include "kateviewdialog.h"
85#include "kateundohistory.h" 85#include "kateundohistory.h"
86#include <qlayout.h> 86#include <qlayout.h>
87#include <qpe/qpeapplication.h>
87 88
88KateViewInternal::KateViewInternal(KateView *view, KateDocument *doc) : QWidget(view) 89KateViewInternal::KateViewInternal(KateView *view, KateDocument *doc) : QWidget(view)
89{ 90{
90 waitForPreHighlight=-1; 91 waitForPreHighlight=-1;
91 myView = view; 92 myView = view;
92 myDoc = doc; 93 myDoc = doc;
93 94
94 iconBorderWidth = 16; 95 iconBorderWidth = 16;
95 iconBorderHeight = 800; 96 iconBorderHeight = 800;
96 97
97 QWidget::setCursor(ibeamCursor); 98 QWidget::setCursor(ibeamCursor);
98 setBackgroundMode(NoBackground); 99 setBackgroundMode(NoBackground);
99 100
100 setFocusPolicy(StrongFocus); 101 setFocusPolicy(StrongFocus);
101 102
102 xScroll = new QScrollBar(QScrollBar::Horizontal,myView); 103 xScroll = new QScrollBar(QScrollBar::Horizontal,myView);
103 yScroll = new QScrollBar(QScrollBar::Vertical,myView); 104 yScroll = new QScrollBar(QScrollBar::Vertical,myView);
104 connect(xScroll,SIGNAL(valueChanged(int)),SLOT(changeXPos(int))); 105 connect(xScroll,SIGNAL(valueChanged(int)),SLOT(changeXPos(int)));
105 connect(yScroll,SIGNAL(valueChanged(int)),SLOT(changeYPos(int))); 106 connect(yScroll,SIGNAL(valueChanged(int)),SLOT(changeYPos(int)));
106 connect(yScroll,SIGNAL(valueChanged(int)),myView,SIGNAL(scrollValueChanged(int))); 107 connect(yScroll,SIGNAL(valueChanged(int)),myView,SIGNAL(scrollValueChanged(int)));
107 connect( doc, SIGNAL (preHighlightChanged(long)),this,SLOT(slotPreHighlightUpdate(long))); 108 connect( doc, SIGNAL (preHighlightChanged(long)),this,SLOT(slotPreHighlightUpdate(long)));
108 109
109 xPos = 0; 110 xPos = 0;
110 yPos = 0; 111 yPos = 0;
111 112
112 scrollTimer = 0; 113 scrollTimer = 0;
113 114
114 cursor.x = 0; 115 cursor.x = 0;
115 cursor.y = 0; 116 cursor.y = 0;
116 cursorOn = false; 117 cursorOn = false;
117 cursorTimer = 0; 118 cursorTimer = 0;
118 cXPos = 0; 119 cXPos = 0;
119 cOldXPos = 0; 120 cOldXPos = 0;
120 121
121 startLine = 0; 122 startLine = 0;
122 endLine = -1; 123 endLine = -1;
123 124
124 exposeCursor = false; 125 exposeCursor = false;
125 updateState = 0; 126 updateState = 0;
126 numLines = 0; 127 numLines = 0;
127 lineRanges = 0L; 128 lineRanges = 0L;
128 newXPos = -1; 129 newXPos = -1;
129 newYPos = -1; 130 newYPos = -1;
130 131
131 drawBuffer = new QPixmap (); 132 drawBuffer = new QPixmap ();
132 drawBuffer->setOptimization (QPixmap::BestOptim); 133 drawBuffer->setOptimization (QPixmap::BestOptim);
133 134
134 bm.sXPos = 0; 135 bm.sXPos = 0;
135 bm.eXPos = -1; 136 bm.eXPos = -1;
136 137
137} 138}
138 139
139 140
140KateViewInternal::~KateViewInternal() 141KateViewInternal::~KateViewInternal()
141{ 142{
142 delete [] lineRanges; 143 delete [] lineRanges;
143 delete drawBuffer; 144 delete drawBuffer;
144} 145}
145 146
146 147
147void KateViewInternal::slotPreHighlightUpdate(long line) 148void KateViewInternal::slotPreHighlightUpdate(long line)
148{ 149{
149 //kdDebug()<<QString("slotPreHighlightUpdate - Wait for: %1, line: %2").arg(waitForPreHighlight).arg(line)<<endl; 150 //kdDebug()<<QString("slotPreHighlightUpdate - Wait for: %1, line: %2").arg(waitForPreHighlight).arg(line)<<endl;
150 if (waitForPreHighlight!=-1) 151 if (waitForPreHighlight!=-1)
@@ -2266,130 +2267,129 @@ void KateView::writeSessionConfig(KateConfig *config)
2266 2267
2267void KateView::configDialog() 2268void KateView::configDialog()
2268{ 2269{
2269 2270
2270#warning fixme 2271#warning fixme
2271 2272
2272#if 1 2273#if 1
2273 KDialogBase *kd = new KDialogBase(KDialogBase::IconList, 2274 KDialogBase *kd = new KDialogBase(KDialogBase::IconList,
2274 i18n("Configure Editor"), 2275 i18n("Configure Editor"),
2275 KDialogBase::Ok | KDialogBase::Cancel | 2276 KDialogBase::Ok | KDialogBase::Cancel |
2276 KDialogBase::Help , 2277 KDialogBase::Help ,
2277 KDialogBase::Ok, this, "tabdialog"); 2278 KDialogBase::Ok, this, "tabdialog");
2278 2279
2279 // color options 2280 // color options
2280 QFrame *page=kd->addPage(i18n("Colors")); 2281 QFrame *page=kd->addPage(i18n("Colors"));
2281 (new QVBoxLayout(page))->setAutoAdd(true); 2282 (new QVBoxLayout(page))->setAutoAdd(true);
2282 ColorConfig *colorConfig = new ColorConfig(page); 2283 ColorConfig *colorConfig = new ColorConfig(page);
2283 QColor* colors = getColors(); 2284 QColor* colors = getColors();
2284 colorConfig->setColors(colors); 2285 colorConfig->setColors(colors);
2285 2286
2286 page = kd->addPage(i18n("Fonts")); 2287 page = kd->addPage(i18n("Fonts"));
2287 (new QVBoxLayout(page))->setAutoAdd(true); 2288 (new QVBoxLayout(page))->setAutoAdd(true);
2288 2289
2289 FontConfig *fontConfig = new FontConfig(page); 2290 FontConfig *fontConfig = new FontConfig(page);
2290 fontConfig->setFont (myDoc->getFont()); 2291 fontConfig->setFont (myDoc->getFont());
2291 2292
2292 // indent options 2293 // indent options
2293 page=kd->addPage(i18n("Indent")); 2294 page=kd->addPage(i18n("Indent"));
2294 (new QVBoxLayout(page))->setAutoAdd(true); 2295 (new QVBoxLayout(page))->setAutoAdd(true);
2295 2296
2296 IndentConfigTab *indentConfig = new IndentConfigTab(page, this); 2297 IndentConfigTab *indentConfig = new IndentConfigTab(page, this);
2297 2298
2298 // select options 2299 // select options
2299 page=kd->addPage(i18n("Select")); 2300 page=kd->addPage(i18n("Select"));
2300 (new QVBoxLayout(page))->setAutoAdd(true); 2301 (new QVBoxLayout(page))->setAutoAdd(true);
2301 2302
2302 SelectConfigTab *selectConfig = new SelectConfigTab(page, this); 2303 SelectConfigTab *selectConfig = new SelectConfigTab(page, this);
2303 2304
2304 // edit options 2305 // edit options
2305 page=kd->addPage(i18n("Edit")); 2306 page=kd->addPage(i18n("Edit"));
2306 (new QVBoxLayout(page))->setAutoAdd(true); 2307 (new QVBoxLayout(page))->setAutoAdd(true);
2307 2308
2308 EditConfigTab *editConfig = new EditConfigTab(page, this); 2309 EditConfigTab *editConfig = new EditConfigTab(page, this);
2309 2310
2310 2311
2311 2312
2312 HighlightDialogPage *hlPage; 2313 HighlightDialogPage *hlPage;
2313 HlManager *hlManager; 2314 HlManager *hlManager;
2314 HlDataList hlDataList; 2315 HlDataList hlDataList;
2315 ItemStyleList defaultStyleList; 2316 ItemStyleList defaultStyleList;
2316 2317
2317 hlManager = HlManager::self(); 2318 hlManager = HlManager::self();
2318 2319
2319 defaultStyleList.setAutoDelete(true); 2320 defaultStyleList.setAutoDelete(true);
2320 hlManager->getDefaults(defaultStyleList); 2321 hlManager->getDefaults(defaultStyleList);
2321 2322
2322 hlDataList.setAutoDelete(true); 2323 hlDataList.setAutoDelete(true);
2323 //this gets the data from the KateConfig object 2324 //this gets the data from the KateConfig object
2324 hlManager->getHlDataList(hlDataList); 2325 hlManager->getHlDataList(hlDataList);
2325 2326
2326 page=kd->addPage(i18n("Highlighting")); 2327 page=kd->addPage(i18n("Highlighting"));
2327 (new QVBoxLayout(page))->setAutoAdd(true); 2328 (new QVBoxLayout(page))->setAutoAdd(true);
2328 2329
2329 hlPage = new HighlightDialogPage(hlManager, &defaultStyleList, &hlDataList, 0, page); 2330 hlPage = new HighlightDialogPage(hlManager, &defaultStyleList, &hlDataList, 0, page);
2330 kd->showMaximized(); 2331 if ( QPEApplication::execDialog( kd )) {
2331 if (kd->exec()) {
2332 // color options 2332 // color options
2333 colorConfig->getColors(colors); 2333 colorConfig->getColors(colors);
2334 myDoc->setFont (fontConfig->getFont()); 2334 myDoc->setFont (fontConfig->getFont());
2335 2335
2336 applyColors(); 2336 applyColors();
2337 // indent options 2337 // indent options
2338 indentConfig->getData(this); 2338 indentConfig->getData(this);
2339 // select options 2339 // select options
2340 selectConfig->getData(this); 2340 selectConfig->getData(this);
2341 // edit options 2341 // edit options
2342 editConfig->getData(this); 2342 editConfig->getData(this);
2343 // spell checker 2343 // spell checker
2344 hlManager->setHlDataList(hlDataList); 2344 hlManager->setHlDataList(hlDataList);
2345 hlManager->setDefaults(defaultStyleList); 2345 hlManager->setDefaults(defaultStyleList);
2346 hlPage->saveData(); 2346 hlPage->saveData();
2347 } 2347 }
2348 2348
2349// delete kd; 2349// delete kd;
2350 2350
2351#endif 2351#endif
2352} 2352}
2353 2353
2354int KateView::getHl() { 2354int KateView::getHl() {
2355 return myDoc->highlightNum(); 2355 return myDoc->highlightNum();
2356} 2356}
2357 2357
2358void KateView::setDontChangeHlOnSave() 2358void KateView::setDontChangeHlOnSave()
2359{ 2359{
2360 myDoc->setDontChangeHlOnSave(); 2360 myDoc->setDontChangeHlOnSave();
2361} 2361}
2362 2362
2363void KateView::setHl(int n) { 2363void KateView::setHl(int n) {
2364 myDoc->setHighlight(n); 2364 myDoc->setHighlight(n);
2365 myDoc->setDontChangeHlOnSave(); 2365 myDoc->setDontChangeHlOnSave();
2366 myDoc->updateViews(); 2366 myDoc->updateViews();
2367} 2367}
2368 2368
2369int KateView::getEol() { 2369int KateView::getEol() {
2370 return myDoc->eolMode; 2370 return myDoc->eolMode;
2371} 2371}
2372 2372
2373void KateView::setEol(int eol) { 2373void KateView::setEol(int eol) {
2374 if (isReadOnly()) 2374 if (isReadOnly())
2375 return; 2375 return;
2376 2376
2377 myDoc->eolMode = eol; 2377 myDoc->eolMode = eol;
2378 myDoc->setModified(true); 2378 myDoc->setModified(true);
2379} 2379}
2380 2380
2381 2381
2382 2382
2383void KateView::paintEvent(QPaintEvent *e) { 2383void KateView::paintEvent(QPaintEvent *e) {
2384 int x, y; 2384 int x, y;
2385 2385
2386 QRect updateR = e->rect(); // update rectangle 2386 QRect updateR = e->rect(); // update rectangle
2387// debug("Update rect = ( %i, %i, %i, %i )", 2387// debug("Update rect = ( %i, %i, %i, %i )",
2388// updateR.x(),updateR.y(), updateR.width(), updateR.height() ); 2388// updateR.x(),updateR.y(), updateR.width(), updateR.height() );
2389 2389
2390 int ux1 = updateR.x(); 2390 int ux1 = updateR.x();
2391 int uy1 = updateR.y(); 2391 int uy1 = updateR.y();
2392 int ux2 = ux1 + updateR.width(); 2392 int ux2 = ux1 + updateR.width();
2393 int uy2 = uy1 + updateR.height(); 2393 int uy2 = uy1 + updateR.height();
2394 2394
2395 QPainter paint; 2395 QPainter paint;
diff --git a/noncore/apps/zsafe/scqtfileedit.cpp b/noncore/apps/zsafe/scqtfileedit.cpp
index effd86b..7a3d906 100644
--- a/noncore/apps/zsafe/scqtfileedit.cpp
+++ b/noncore/apps/zsafe/scqtfileedit.cpp
@@ -1,94 +1,96 @@
1/*************************************************************************** 1/***************************************************************************
2 scqtfileedit.cpp - description 2 scqtfileedit.cpp - description
3 ------------------- 3 -------------------
4 begin : Mon Sep 3 2001 4 begin : Mon Sep 3 2001
5 copyright : (C) 2001 by Werner Schulte 5 copyright : (C) 2001 by Werner Schulte
6 email : sc@schulte-ac.de 6 email : sc@schulte-ac.de
7 ***************************************************************************/ 7 ***************************************************************************/
8 8
9/* $Id$ */ 9/* $Id$ */
10 10
11/*************************************************************************** 11/***************************************************************************
12 * * 12 * *
13 * This program is free software; you can redistribute it and/or modify * 13 * This program is free software; you can redistribute it and/or modify *
14 * it under the terms of the GNU General Public License as published by * 14 * it under the terms of the GNU General Public License as published by *
15 * the Free Software Foundation; either version 2 of the License, or * 15 * the Free Software Foundation; either version 2 of the License, or *
16 * (at your option) any later version. * 16 * (at your option) any later version. *
17 * * 17 * *
18 ***************************************************************************/ 18 ***************************************************************************/
19#include <stdio.h> 19#include <stdio.h>
20#include <stdlib.h> 20#include <stdlib.h>
21 21
22#include "qdir.h" 22#include "qdir.h"
23#include "qdialog.h" 23#include "qdialog.h"
24#include "qpixmap.h" 24#include "qpixmap.h"
25#include "qlistview.h" 25#include "qlistview.h"
26#include "qlineedit.h" 26#include "qlineedit.h"
27#include "qtoolbutton.h" 27#include "qtoolbutton.h"
28 28
29#include "scqtfileedit.h" 29#include "scqtfileedit.h"
30 30
31#include <qpe/qpeapplication.h>
32
31// #define DEBUGFILEEDIT 33// #define DEBUGFILEEDIT
32 34
33/* XPM */ 35/* XPM */
34static const char* const file_xpm[]={ 36static const char* const file_xpm[]={
35 "16 16 5 1", 37 "16 16 5 1",
36 ". c #7f7f7f", 38 ". c #7f7f7f",
37 "# c None", 39 "# c None",
38 "c c #000000", 40 "c c #000000",
39 "b c #bfbfbf", 41 "b c #bfbfbf",
40 "a c #ffffff", 42 "a c #ffffff",
41 "################", 43 "################",
42 "..........######", 44 "..........######",
43 ".aaaaaaaab.#####", 45 ".aaaaaaaab.#####",
44 ".aaaaaaaaba.####", 46 ".aaaaaaaaba.####",
45 ".aaaaaaaacccc###", 47 ".aaaaaaaacccc###",
46 ".aaaaaaaaaabc###", 48 ".aaaaaaaaaabc###",
47 ".aaaaaaaaaabc###", 49 ".aaaaaaaaaabc###",
48 ".aaaaaaaaaabc###", 50 ".aaaaaaaaaabc###",
49 ".aaaaaaaaaabc###", 51 ".aaaaaaaaaabc###",
50 ".aaaaaaaaaabc###", 52 ".aaaaaaaaaabc###",
51 ".aaaaaaaaaabc###", 53 ".aaaaaaaaaabc###",
52 ".aaaaaaaaaabc###", 54 ".aaaaaaaaaabc###",
53 ".aaaaaaaaaabc###", 55 ".aaaaaaaaaabc###",
54 ".aaaaaaaaaabc###", 56 ".aaaaaaaaaabc###",
55 ".bbbbbbbbbbbc###", 57 ".bbbbbbbbbbbc###",
56 "ccccccccccccc###"}; 58 "ccccccccccccc###"};
57 59
58/* XPM */ 60/* XPM */
59static const char * const link_file_xpm[]={ 61static const char * const link_file_xpm[]={
60 "16 16 10 1", 62 "16 16 10 1",
61 "h c #808080", 63 "h c #808080",
62 "g c #a0a0a0", 64 "g c #a0a0a0",
63 "d c #c3c3c3", 65 "d c #c3c3c3",
64 ". c #7f7f7f", 66 ". c #7f7f7f",
65 "c c #000000", 67 "c c #000000",
66 "b c #bfbfbf", 68 "b c #bfbfbf",
67 "f c #303030", 69 "f c #303030",
68 "e c #585858", 70 "e c #585858",
69 "a c #ffffff", 71 "a c #ffffff",
70 "# c None", 72 "# c None",
71 "################", 73 "################",
72 "..........######", 74 "..........######",
73 ".aaaaaaaab.#####", 75 ".aaaaaaaab.#####",
74 ".aaaaaaaaba.####", 76 ".aaaaaaaaba.####",
75 ".aaaaaaaacccc###", 77 ".aaaaaaaacccc###",
76 ".aaaaaaaaaabc###", 78 ".aaaaaaaaaabc###",
77 ".aaaaaaaaaabc###", 79 ".aaaaaaaaaabc###",
78 ".aaaaaaaaaadc###", 80 ".aaaaaaaaaadc###",
79 ".aaaaaaaaaadc###", 81 ".aaaaaaaaaadc###",
80 ".aaaacccccccc###", 82 ".aaaacccccccc###",
81 ".aaaacaaaaaac###", 83 ".aaaacaaaaaac###",
82 ".aaaacaeaeaac###", 84 ".aaaacaeaeaac###",
83 ".aaaacaefcfac###", 85 ".aaaacaefcfac###",
84 ".aaaacaagchac###", 86 ".aaaacaagchac###",
85 ".ddddcaaahaac###", 87 ".ddddcaaahaac###",
86 "ccccccccccccc###"}; 88 "ccccccccccccc###"};
87 89
88/* XPM */ 90/* XPM */
89static const char * const closed_xpm[]={ 91static const char * const closed_xpm[]={
90 "16 16 6 1", 92 "16 16 6 1",
91 ". c None", 93 ". c None",
92 "b c #ffff00", 94 "b c #ffff00",
93 "d c #000000", 95 "d c #000000",
94 "* c #999999", 96 "* c #999999",
@@ -97,129 +99,129 @@ static const char * const closed_xpm[]={
97 "................", 99 "................",
98 "................", 100 "................",
99 "..*****.........", 101 "..*****.........",
100 ".*ababa*........", 102 ".*ababa*........",
101 "*abababa******..", 103 "*abababa******..",
102 "*cccccccccccc*d.", 104 "*cccccccccccc*d.",
103 "*cbababababab*d.", 105 "*cbababababab*d.",
104 "*cabababababa*d.", 106 "*cabababababa*d.",
105 "*cbababababab*d.", 107 "*cbababababab*d.",
106 "*cabababababa*d.", 108 "*cabababababa*d.",
107 "*cbababababab*d.", 109 "*cbababababab*d.",
108 "*cabababababa*d.", 110 "*cabababababa*d.",
109 "*cbababababab*d.", 111 "*cbababababab*d.",
110 "**************d.", 112 "**************d.",
111 ".dddddddddddddd.", 113 ".dddddddddddddd.",
112 "................"}; 114 "................"};
113 115
114/* XPM */ 116/* XPM */
115static const char* const cdtoparent_xpm[]={ 117static const char* const cdtoparent_xpm[]={
116 "15 13 3 1", 118 "15 13 3 1",
117 ". c None", 119 ". c None",
118 "* c #000000", 120 "* c #000000",
119 "a c #ffff99", 121 "a c #ffff99",
120 "..*****........", 122 "..*****........",
121 ".*aaaaa*.......", 123 ".*aaaaa*.......",
122 "***************", 124 "***************",
123 "*aaaaaaaaaaaaa*", 125 "*aaaaaaaaaaaaa*",
124 "*aaaa*aaaaaaaa*", 126 "*aaaa*aaaaaaaa*",
125 "*aaa***aaaaaaa*", 127 "*aaa***aaaaaaa*",
126 "*aa*****aaaaaa*", 128 "*aa*****aaaaaa*",
127 "*aaaa*aaaaaaaa*", 129 "*aaaa*aaaaaaaa*",
128 "*aaaa*aaaaaaaa*", 130 "*aaaa*aaaaaaaa*",
129 "*aaaa******aaa*", 131 "*aaaa******aaa*",
130 "*aaaaaaaaaaaaa*", 132 "*aaaaaaaaaaaaa*",
131 "*aaaaaaaaaaaaa*", 133 "*aaaaaaaaaaaaa*",
132 "***************"}; 134 "***************"};
133 135
134ScQtFileEditDlg::ScQtFileEditDlg( QWidget *parent, const char *name, 136ScQtFileEditDlg::ScQtFileEditDlg( QWidget *parent, const char *name,
135 const QString &path, const QString &filter ) 137 const QString &path, const QString &filter )
136 : ScQtFileDlg( parent, name, TRUE ), QDir( path, filter ) 138 : ScQtFileDlg( parent, name, TRUE ), QDir( path, filter )
137{ 139{
138// ListView->setRootIsDecorated ( TRUE ); 140// ListView->setRootIsDecorated ( TRUE );
139 141
140#ifdef DEBUGFILEEDIT 142#ifdef DEBUGFILEEDIT
141 printf ("\nScQtFileEditDlg:: constructor name=%s", name ); 143 printf ("\nScQtFileEditDlg:: constructor name=%s", name );
142 printf ("\n path=%s", (const char *)path ); 144 printf ("\n path=%s", (const char *)path );
143 printf ("\n filter=%s", (const char *)filter ); 145 printf ("\n filter=%s", (const char *)filter );
144 printf ("\n parent=%p", parent ); 146 printf ("\n parent=%p", parent );
145 fflush(stdout); 147 fflush(stdout);
146#endif 148#endif
147 149
148 bpath = path; 150 bpath = path;
149 bfilter = filter; 151 bfilter = filter;
150 exflag = false; 152 exflag = false;
151 153
152 ListView->setAllColumnsShowFocus( TRUE ); 154 ListView->setAllColumnsShowFocus( TRUE );
153 ListView->setColumnAlignment( 1, Qt::AlignRight ); 155 ListView->setColumnAlignment( 1, Qt::AlignRight );
154 156
155 fileIcon = new QPixmap( (const char **)file_xpm); 157 fileIcon = new QPixmap( (const char **)file_xpm);
156 dirIcon = new QPixmap( (const char **)closed_xpm); 158 dirIcon = new QPixmap( (const char **)closed_xpm);
157 linkIcon = new QPixmap( (const char **)link_file_xpm); 159 linkIcon = new QPixmap( (const char **)link_file_xpm);
158 cdToParentIcon = new QPixmap( (const char **)cdtoparent_xpm); 160 cdToParentIcon = new QPixmap( (const char **)cdtoparent_xpm);
159 161
160#ifdef QWS 162#ifdef QWS
161 showMaximized(); 163 QPEApplication::execDialog( this );
162#endif 164#endif
163 165
164 mkdirflag = false; 166 mkdirflag = false;
165 MkDirButton->setEnabled( false ); 167 MkDirButton->setEnabled( false );
166 168
167 initDirCombo( bpath ); 169 initDirCombo( bpath );
168 initTypeCombo( bfilter ); 170 initTypeCombo( bfilter );
169 171
170 dirstr = tr("dir"); 172 dirstr = tr("dir");
171 filestr = tr("file"); 173 filestr = tr("file");
172 linkstr = tr("link"); 174 linkstr = tr("link");
173 175
174 rFlag = false; 176 rFlag = false;
175 177
176 showTimer.stop(); 178 showTimer.stop();
177 connect( &showTimer, SIGNAL(timeout()), SLOT( slotShowDir() ) ); 179 connect( &showTimer, SIGNAL(timeout()), SLOT( slotShowDir() ) );
178 180
179 fmode = QDir::All; 181 fmode = QDir::All;
180 fnfilter = false; 182 fnfilter = false;
181 fsorting = false; 183 fsorting = false;
182 184
183} 185}
184 186
185ScQtFileEditDlg::~ScQtFileEditDlg() 187ScQtFileEditDlg::~ScQtFileEditDlg()
186{ 188{
187#ifdef DEBUGFILEEDIT 189#ifdef DEBUGFILEEDIT
188 printf ("\nScQtFileEditDlg::destructor called" ); 190 printf ("\nScQtFileEditDlg::destructor called" );
189 fflush(stdout); 191 fflush(stdout);
190#endif 192#endif
191 193
192 if ( fileIcon != NULL ) 194 if ( fileIcon != NULL )
193 { 195 {
194 delete fileIcon; 196 delete fileIcon;
195 fileIcon = NULL; 197 fileIcon = NULL;
196 } 198 }
197 if ( dirIcon != NULL ) 199 if ( dirIcon != NULL )
198 { 200 {
199 delete dirIcon; 201 delete dirIcon;
200 dirIcon = NULL; 202 dirIcon = NULL;
201 } 203 }
202 if ( linkIcon != NULL ) 204 if ( linkIcon != NULL )
203 { 205 {
204 delete linkIcon; 206 delete linkIcon;
205 linkIcon = NULL; 207 linkIcon = NULL;
206 } 208 }
207 if ( cdToParentIcon != NULL ) 209 if ( cdToParentIcon != NULL )
208 { 210 {
209 delete cdToParentIcon; 211 delete cdToParentIcon;
210 cdToParentIcon = NULL; 212 cdToParentIcon = NULL;
211 } 213 }
212} 214}
213 215
214void ScQtFileEditDlg::readIt( ) 216void ScQtFileEditDlg::readIt( )
215{ 217{
216 qfil = readDir( bpath, bfilter ); 218 qfil = readDir( bpath, bfilter );
217 slotShowDir( ); 219 slotShowDir( );
218} 220}
219 221
220void ScQtFileEditDlg::setAutoExtension( bool ex ) 222void ScQtFileEditDlg::setAutoExtension( bool ex )
221{ 223{
222 exflag = ex; 224 exflag = ex;
223} 225}
224 226
225 227
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp
index ee1da77..bdd2aed 100644
--- a/noncore/apps/zsafe/zsafe.cpp
+++ b/noncore/apps/zsafe/zsafe.cpp
@@ -714,208 +714,196 @@ ZSafe::~ZSafe()
714void ZSafe::slotLoadDocu() 714void ZSafe::slotLoadDocu()
715{ 715{
716 openDocument (filename); 716 openDocument (filename);
717} 717}
718 718
719void ZSafe::deletePwd() 719void ZSafe::deletePwd()
720{ 720{
721 721
722 if (!selectedItem) 722 if (!selectedItem)
723 return; 723 return;
724 if (!isCategory(selectedItem)) 724 if (!isCategory(selectedItem))
725 { 725 {
726 switch( QMessageBox::information( this, tr("ZSafe"), 726 switch( QMessageBox::information( this, tr("ZSafe"),
727 tr("Do you want to delete?"), 727 tr("Do you want to delete?"),
728 tr("&Delete"), tr("D&on't Delete"), 728 tr("&Delete"), tr("D&on't Delete"),
729 0 // Enter == button 0 729 0 // Enter == button 0
730 ) ) { // Escape == button 2 730 ) ) { // Escape == button 2
731 case 0: // Delete clicked, Alt-S or Enter pressed. 731 case 0: // Delete clicked, Alt-S or Enter pressed.
732 // Delete 732 // Delete
733 modified = true; 733 modified = true;
734 selectedItem->parent()->takeItem(selectedItem); 734 selectedItem->parent()->takeItem(selectedItem);
735 selectedItem = NULL; 735 selectedItem = NULL;
736 break; 736 break;
737 case 1: // Don't delete 737 case 1: // Don't delete
738 break; 738 break;
739 } 739 }
740 } 740 }
741 else 741 else
742 { 742 {
743 delCategory(); 743 delCategory();
744 } 744 }
745} 745}
746 746
747void ZSafe::editPwd() 747void ZSafe::editPwd()
748{ 748{
749 if (!selectedItem) 749 if (!selectedItem)
750 return; 750 return;
751 if (!isCategory(selectedItem)) 751 if (!isCategory(selectedItem))
752 { 752 {
753 // open the 'New Entry' dialog 753 // open the 'New Entry' dialog
754 NewDialog *dialog = new NewDialog(this, tr("Edit Entry"), TRUE); 754 NewDialog *dialog = new NewDialog(this, tr("Edit Entry"), TRUE);
755#ifdef WIN32 755#ifdef WIN32
756 dialog->setCaption ("Qt " + tr("Edit Entry")); 756 dialog->setCaption ("Qt " + tr("Edit Entry"));
757 dialog->setGeometry(200, 250, 220, 310 ); 757 dialog->setGeometry(200, 250, 220, 310 );
758#endif 758#endif
759 759
760 // set the labels 760 // set the labels
761 dialog->Name->setText(getFieldLabel (selectedItem, "1", tr("Name"))); 761 dialog->Name->setText(getFieldLabel (selectedItem, "1", tr("Name")));
762 dialog->Username->setText(getFieldLabel (selectedItem, "2", tr("Username"))); 762 dialog->Username->setText(getFieldLabel (selectedItem, "2", tr("Username")));
763 dialog->Password->setText(getFieldLabel (selectedItem, "3", tr("Password"))); 763 dialog->Password->setText(getFieldLabel (selectedItem, "3", tr("Password")));
764 dialog->Comment->setText(getFieldLabel (selectedItem, "4", tr("Comment"))); 764 dialog->Comment->setText(getFieldLabel (selectedItem, "4", tr("Comment")));
765 dialog->Field5Label->setText(getFieldLabel (selectedItem,"5", tr("Field 4"))); 765 dialog->Field5Label->setText(getFieldLabel (selectedItem,"5", tr("Field 4")));
766 dialog->Field6Label->setText(getFieldLabel (selectedItem,"6", tr("Field 5"))); 766 dialog->Field6Label->setText(getFieldLabel (selectedItem,"6", tr("Field 5")));
767 767
768 // set the fields 768 // set the fields
769 dialog->NameField->setText(selectedItem->text (0)); 769 dialog->NameField->setText(selectedItem->text (0));
770 dialog->UsernameField->setText(selectedItem->text (1)); 770 dialog->UsernameField->setText(selectedItem->text (1));
771 dialog->PasswordField->setText(selectedItem->text (2)); 771 dialog->PasswordField->setText(selectedItem->text (2));
772 QString comment = selectedItem->text (3); 772 QString comment = selectedItem->text (3);
773 comment.replace (QRegExp("<br>"), "\n"); 773 comment.replace (QRegExp("<br>"), "\n");
774 dialog->Field5->setText(selectedItem->text (4)); 774 dialog->Field5->setText(selectedItem->text (4));
775 dialog->Field6->setText(selectedItem->text (5)); 775 dialog->Field6->setText(selectedItem->text (5));
776 dialog->CommentField->insertLine(comment); 776 dialog->CommentField->insertLine(comment);
777 dialog->CommentField->setCursorPosition(0,0); 777 dialog->CommentField->setCursorPosition(0,0);
778#ifdef DESKTOP 778
779#ifndef WIN32 779 DialogCode result = (DialogCode) QPEApplication::execDialog( dialog );
780 dialog->show();
781#endif
782#else
783 dialog->showMaximized();
784#endif
785 DialogCode result = (DialogCode) dialog->exec();
786 780
787#ifdef DESKTOP 781#ifdef DESKTOP
788 result = Accepted; 782 result = Accepted;
789#endif 783#endif
790 if (result == Accepted) 784 if (result == Accepted)
791 { 785 {
792 modified = true; 786 modified = true;
793 // edit the selected item 787 // edit the selected item
794 QString name = dialog->NameField->text(); 788 QString name = dialog->NameField->text();
795 selectedItem->setText (0, tr (name)); 789 selectedItem->setText (0, tr (name));
796 QString user = dialog->UsernameField->text(); 790 QString user = dialog->UsernameField->text();
797 selectedItem->setText (1, tr (user)); 791 selectedItem->setText (1, tr (user));
798 QString pwd = dialog->PasswordField->text(); 792 QString pwd = dialog->PasswordField->text();
799 selectedItem->setText (2, tr (pwd)); 793 selectedItem->setText (2, tr (pwd));
800 QString comment = dialog->CommentField->text(); 794 QString comment = dialog->CommentField->text();
801 comment.replace (QRegExp("\n"), "<br>"); 795 comment.replace (QRegExp("\n"), "<br>");
802 selectedItem->setText (3, tr (comment)); 796 selectedItem->setText (3, tr (comment));
803 QString f5 = dialog->Field5->text(); 797 QString f5 = dialog->Field5->text();
804 selectedItem->setText (4, tr (f5)); 798 selectedItem->setText (4, tr (f5));
805 QString f6 = dialog->Field6->text(); 799 QString f6 = dialog->Field6->text();
806 selectedItem->setText (5, tr (f6)); 800 selectedItem->setText (5, tr (f6));
807 } 801 }
808 802
809 delete dialog; 803 delete dialog;
810 } 804 }
811 else 805 else
812 { 806 {
813 editCategory(); 807 editCategory();
814 } 808 }
815} 809}
816 810
817void ZSafe::newPwd() 811void ZSafe::newPwd()
818{ 812{
819 if (!selectedItem) 813 if (!selectedItem)
820 return; 814 return;
821 815
822 if (!isCategory(selectedItem)) 816 if (!isCategory(selectedItem))
823 selectedItem = selectedItem->parent(); 817 selectedItem = selectedItem->parent();
824 818
825 if (isCategory(selectedItem)) 819 if (isCategory(selectedItem))
826 { 820 {
827 QString cat = selectedItem->text(0); 821 QString cat = selectedItem->text(0);
828 822
829 // open the 'New Entry' dialog 823 // open the 'New Entry' dialog
830 NewDialog *dialog = new NewDialog(this, tr("New Entry"), TRUE); 824 NewDialog *dialog = new NewDialog(this, tr("New Entry"), TRUE);
831#ifdef WIN32 825#ifdef WIN32
832 dialog->setCaption ("Qt " + tr("New Entry")); 826 dialog->setCaption ("Qt " + tr("New Entry"));
833 dialog->setGeometry(200, 250, 220, 310 ); 827 dialog->setGeometry(200, 250, 220, 310 );
834#endif 828#endif
835 // set the labels 829 // set the labels
836 dialog->Name->setText(getFieldLabel (selectedItem, "1", tr("Name"))); 830 dialog->Name->setText(getFieldLabel (selectedItem, "1", tr("Name")));
837 dialog->Username->setText(getFieldLabel (selectedItem, "2", tr("Username"))); 831 dialog->Username->setText(getFieldLabel (selectedItem, "2", tr("Username")));
838 dialog->Password->setText(getFieldLabel (selectedItem, "3", tr("Password"))); 832 dialog->Password->setText(getFieldLabel (selectedItem, "3", tr("Password")));
839 dialog->Comment->setText(getFieldLabel (selectedItem, "4", tr("Comment"))); 833 dialog->Comment->setText(getFieldLabel (selectedItem, "4", tr("Comment")));
840 dialog->Field5Label->setText(getFieldLabel (selectedItem,"5", tr("Field 4"))); 834 dialog->Field5Label->setText(getFieldLabel (selectedItem,"5", tr("Field 4")));
841 dialog->Field6Label->setText(getFieldLabel (selectedItem,"6", tr("Field 5"))); 835 dialog->Field6Label->setText(getFieldLabel (selectedItem,"6", tr("Field 5")));
842retype: 836retype:
843#ifdef DESKTOP 837
844#ifndef WIN32 838 DialogCode result = (DialogCode) QPEApplication::execDialog( dialog );
845 dialog->show();
846#endif
847#else
848 dialog->showMaximized();
849#endif
850 DialogCode result = (DialogCode) dialog->exec();
851#ifdef DESKTOP 839#ifdef DESKTOP
852 result = Accepted; 840 result = Accepted;
853#endif 841#endif
854 842
855 if (result == Accepted) 843 if (result == Accepted)
856 { 844 {
857 845
858 QString name = dialog->NameField->text(); 846 QString name = dialog->NameField->text();
859 if (cat == name) 847 if (cat == name)
860 { 848 {
861 QMessageBox::critical( 0, tr("ZSafe"), 849 QMessageBox::critical( 0, tr("ZSafe"),
862 tr("Entry name must be different\nfrom the category name.") ); 850 tr("Entry name must be different\nfrom the category name.") );
863 goto retype; // it's not a good programming style :-) 851 goto retype; // it's not a good programming style :-)
864 } 852 }
865 853
866 modified = true; 854 modified = true;
867 // add the new item 855 // add the new item
868 QListViewItem *i = new ShadedListItem (0, selectedItem); 856 QListViewItem *i = new ShadedListItem (0, selectedItem);
869 i->setOpen (TRUE); 857 i->setOpen (TRUE);
870 858
871 i->setText (0, tr (name)); 859 i->setText (0, tr (name));
872 QString user = dialog->UsernameField->text(); 860 QString user = dialog->UsernameField->text();
873 i->setText (1, tr (user)); 861 i->setText (1, tr (user));
874 QString pwd = dialog->PasswordField->text(); 862 QString pwd = dialog->PasswordField->text();
875 i->setText (2, tr (pwd)); 863 i->setText (2, tr (pwd));
876 QString comment = dialog->CommentField->text(); 864 QString comment = dialog->CommentField->text();
877 comment.replace (QRegExp("\n"), "<br>"); 865 comment.replace (QRegExp("\n"), "<br>");
878 i->setText (3, tr (comment)); 866 i->setText (3, tr (comment));
879 QString f5 = dialog->Field5->text(); 867 QString f5 = dialog->Field5->text();
880 i->setText (4, tr (f5)); 868 i->setText (4, tr (f5));
881 QString f6 = dialog->Field6->text(); 869 QString f6 = dialog->Field6->text();
882 i->setText (5, tr (f6)); 870 i->setText (5, tr (f6));
883 } 871 }
884 872
885 delete dialog; 873 delete dialog;
886 } 874 }
887} 875}
888 876
889void ZSafe::findPwd() 877void ZSafe::findPwd()
890{ 878{
891 879
892 // open the 'Search' dialog 880 // open the 'Search' dialog
893 SearchDialog *dialog = new SearchDialog(this, tr("Search"), TRUE); 881 SearchDialog *dialog = new SearchDialog(this, tr("Search"), TRUE);
894#ifdef WIN32 882#ifdef WIN32
895 dialog->setCaption ("Qt " + tr("Search")); 883 dialog->setCaption ("Qt " + tr("Search"));
896#endif 884#endif
897 885
898#ifdef DESKTOP 886#ifdef DESKTOP
899#endif 887#endif
900 if (lastSearchedName) 888 if (lastSearchedName)
901 dialog->NameField->setText(lastSearchedName); 889 dialog->NameField->setText(lastSearchedName);
902 else 890 else
903 dialog->NameField->setText(""); 891 dialog->NameField->setText("");
904 if (lastSearchedUsername) 892 if (lastSearchedUsername)
905 dialog->UsernameField->setText(lastSearchedUsername); 893 dialog->UsernameField->setText(lastSearchedUsername);
906 else 894 else
907 dialog->UsernameField->setText(""); 895 dialog->UsernameField->setText("");
908 if (lastSearchedComment) 896 if (lastSearchedComment)
909 dialog->CommentField->setText(lastSearchedComment); 897 dialog->CommentField->setText(lastSearchedComment);
910 else 898 else
911 dialog->CommentField->setText(""); 899 dialog->CommentField->setText("");
912 DialogCode result = (DialogCode) dialog->exec(); 900 DialogCode result = (DialogCode) dialog->exec();
913#ifdef DESKTOP 901#ifdef DESKTOP
914 result = Accepted; 902 result = Accepted;
915#endif 903#endif
916 904
917 QString name; 905 QString name;
918 QString username; 906 QString username;
919 QString comment; 907 QString comment;
920 if (result == Accepted) 908 if (result == Accepted)
921 { 909 {
@@ -1127,144 +1115,139 @@ void ZSafe::showInfo( QListViewItem *_item)
1127 text = "<html><body><div align=""center""><u><b>"; 1115 text = "<html><body><div align=""center""><u><b>";
1128 text += selectedItem->text(0); 1116 text += selectedItem->text(0);
1129 text += "</b></u><br></div><br>"; 1117 text += "</b></u><br></div><br>";
1130 1118
1131 entry = selectedItem->text(1); 1119 entry = selectedItem->text(1);
1132 if (!entry.isEmpty() && entry.compare(" ")) 1120 if (!entry.isEmpty() && entry.compare(" "))
1133 { 1121 {
1134 text += "<u><b>"; 1122 text += "<u><b>";
1135 text += getFieldLabel (selectedItem, "2", tr("Username")); 1123 text += getFieldLabel (selectedItem, "2", tr("Username"));
1136 text += ":<br></b></u><blockquote>"; 1124 text += ":<br></b></u><blockquote>";
1137 text += entry; 1125 text += entry;
1138 text += "</blockquote>"; 1126 text += "</blockquote>";
1139 // text += "<br>"; 1127 // text += "<br>";
1140 } 1128 }
1141 1129
1142 entry = selectedItem->text(2); 1130 entry = selectedItem->text(2);
1143 if (!entry.isEmpty() && entry.compare(" ")) 1131 if (!entry.isEmpty() && entry.compare(" "))
1144 { 1132 {
1145 text += "<u><b>"; 1133 text += "<u><b>";
1146 text += getFieldLabel (selectedItem, "3", tr("Password")); 1134 text += getFieldLabel (selectedItem, "3", tr("Password"));
1147 text += ":<br> </b></u><blockquote>"; 1135 text += ":<br> </b></u><blockquote>";
1148 text += entry; 1136 text += entry;
1149 text += "</blockquote>"; 1137 text += "</blockquote>";
1150 // text += "<br>"; 1138 // text += "<br>";
1151 } 1139 }
1152 1140
1153 entry = selectedItem->text(4); 1141 entry = selectedItem->text(4);
1154 if (!entry.isEmpty() && entry.compare(" ")) 1142 if (!entry.isEmpty() && entry.compare(" "))
1155 { 1143 {
1156 text += "<u><b>"; 1144 text += "<u><b>";
1157 text += getFieldLabel (selectedItem, "5", tr("Field 4")); 1145 text += getFieldLabel (selectedItem, "5", tr("Field 4"));
1158 text += ":<br> </b></u><blockquote>"; 1146 text += ":<br> </b></u><blockquote>";
1159 text += entry; 1147 text += entry;
1160 text += "</blockquote>"; 1148 text += "</blockquote>";
1161 // text += "<br>"; 1149 // text += "<br>";
1162 } 1150 }
1163 1151
1164 entry = selectedItem->text(5); 1152 entry = selectedItem->text(5);
1165 if (!entry.isEmpty() && entry.compare(" ")) 1153 if (!entry.isEmpty() && entry.compare(" "))
1166 { 1154 {
1167 text += "<u><b>"; 1155 text += "<u><b>";
1168 text += getFieldLabel (selectedItem, "6", tr("Field 5")); 1156 text += getFieldLabel (selectedItem, "6", tr("Field 5"));
1169 text += ":<br> </b></u><blockquote>"; 1157 text += ":<br> </b></u><blockquote>";
1170 text += entry; 1158 text += entry;
1171 text += "</blockquote>"; 1159 text += "</blockquote>";
1172 // text += "<br>"; 1160 // text += "<br>";
1173 } 1161 }
1174 1162
1175 entry = selectedItem->text(3); 1163 entry = selectedItem->text(3);
1176 if (!entry.isEmpty() && entry.compare(" ")) 1164 if (!entry.isEmpty() && entry.compare(" "))
1177 { 1165 {
1178 text += "<u><b>"; 1166 text += "<u><b>";
1179 text += getFieldLabel (selectedItem, "4", tr("Comment")); 1167 text += getFieldLabel (selectedItem, "4", tr("Comment"));
1180 text += ":<br> </b></u>"; 1168 text += ":<br> </b></u>";
1181 QString comment = selectedItem->text(3); 1169 QString comment = selectedItem->text(3);
1182 comment.replace (QRegExp("\n"), "<br>"); 1170 comment.replace (QRegExp("\n"), "<br>");
1183 text += comment; 1171 text += comment;
1184 // text += "<br>"; 1172 // text += "<br>";
1185 } 1173 }
1186 1174
1187 text += "</body></html>"; 1175 text += "</body></html>";
1188 1176
1189 infoForm->InfoText->setText(text); 1177 infoForm->InfoText->setText(text);
1190 infoForm->hide(); 1178 infoForm->hide();
1191#ifdef DESKTOP 1179 QPEApplication::showDialog( infoForm );
1192 infoForm->show();
1193#else
1194 infoForm->showMaximized();
1195#endif
1196
1197 } 1180 }
1198} 1181}
1199 1182
1200void ZSafe::listViewSelected( QListViewItem *_item) 1183void ZSafe::listViewSelected( QListViewItem *_item)
1201{ 1184{
1202 if (!_item) 1185 if (!_item)
1203 return; 1186 return;
1204 if (selectedItem != NULL) 1187 if (selectedItem != NULL)
1205 selectedItem->setSelected(FALSE); 1188 selectedItem->setSelected(FALSE);
1206 1189
1207 selectedItem = _item; 1190 selectedItem = _item;
1208 1191
1209#ifndef DESKTOP 1192#ifndef DESKTOP
1210 // set the column text dependent on the selected item 1193 // set the column text dependent on the selected item
1211 ListView->setColumnText(0, getFieldLabel (selectedItem, "1", tr("Name"))); 1194 ListView->setColumnText(0, getFieldLabel (selectedItem, "1", tr("Name")));
1212 ListView->setColumnText(1, getFieldLabel (selectedItem, "2", tr("Field 2"))); 1195 ListView->setColumnText(1, getFieldLabel (selectedItem, "2", tr("Field 2")));
1213 ListView->setColumnText(2, getFieldLabel (selectedItem, "3", tr("Field 3"))); 1196 ListView->setColumnText(2, getFieldLabel (selectedItem, "3", tr("Field 3")));
1214 ListView->setColumnText(3, getFieldLabel (selectedItem, "4", tr("Comment"))); 1197 ListView->setColumnText(3, getFieldLabel (selectedItem, "4", tr("Comment")));
1215 ListView->setColumnText(4, getFieldLabel (selectedItem, "5", tr("Field 4"))); 1198 ListView->setColumnText(4, getFieldLabel (selectedItem, "5", tr("Field 4")));
1216 ListView->setColumnText(5, getFieldLabel (selectedItem, "6", tr("Field 5"))); 1199 ListView->setColumnText(5, getFieldLabel (selectedItem, "6", tr("Field 5")));
1217#endif 1200#endif
1218#ifdef WIN32 1201#ifdef WIN32
1219 // set the column text dependent on the selected item 1202 // set the column text dependent on the selected item
1220 ListView->setColumnText(0, getFieldLabel (selectedItem, "1", tr("Name"))); 1203 ListView->setColumnText(0, getFieldLabel (selectedItem, "1", tr("Name")));
1221 ListView->setColumnText(1, getFieldLabel (selectedItem, "2", tr("Field 2"))); 1204 ListView->setColumnText(1, getFieldLabel (selectedItem, "2", tr("Field 2")));
1222 ListView->setColumnText(2, getFieldLabel (selectedItem, "3", tr("Field 3"))); 1205 ListView->setColumnText(2, getFieldLabel (selectedItem, "3", tr("Field 3")));
1223 ListView->setColumnText(3, getFieldLabel (selectedItem, "4", tr("Comment"))); 1206 ListView->setColumnText(3, getFieldLabel (selectedItem, "4", tr("Comment")));
1224 ListView->setColumnText(4, getFieldLabel (selectedItem, "5", tr("Field 4"))); 1207 ListView->setColumnText(4, getFieldLabel (selectedItem, "5", tr("Field 4")));
1225 ListView->setColumnText(5, getFieldLabel (selectedItem, "6", tr("Field 5"))); 1208 ListView->setColumnText(5, getFieldLabel (selectedItem, "6", tr("Field 5")));
1226#endif 1209#endif
1227 1210
1228} 1211}
1229 1212
1230bool ZSafe::isCategory(QListViewItem *_item) 1213bool ZSafe::isCategory(QListViewItem *_item)
1231{ 1214{
1232 if (_item == NULL) 1215 if (_item == NULL)
1233 return FALSE; 1216 return FALSE;
1234 1217
1235 QString categoryName = _item->text (0); 1218 QString categoryName = _item->text (0);
1236 if (categories.find (categoryName)) 1219 if (categories.find (categoryName))
1237 return TRUE; 1220 return TRUE;
1238 else 1221 else
1239 return FALSE; 1222 return FALSE;
1240} 1223}
1241 1224
1242void ZSafe::removeAsciiFile() 1225void ZSafe::removeAsciiFile()
1243{ 1226{
1244 // QString fn = filename + ".txt"; 1227 // QString fn = filename + ".txt";
1245 // open the file dialog 1228 // open the file dialog
1246#ifndef DESKTOP 1229#ifndef DESKTOP
1247#ifndef NO_OPIE 1230#ifndef NO_OPIE
1248 QMap<QString, QStringList> mimeTypes; 1231 QMap<QString, QStringList> mimeTypes;
1249 mimeTypes.insert(tr("All"), QStringList() ); 1232 mimeTypes.insert(tr("All"), QStringList() );
1250 mimeTypes.insert(tr("Text"), "text/*" ); 1233 mimeTypes.insert(tr("Text"), "text/*" );
1251 QString fn = OFileDialog::getOpenFileName( OFileSelector::EXTENDED_ALL, 1234 QString fn = OFileDialog::getOpenFileName( OFileSelector::EXTENDED_ALL,
1252 QDir::homeDirPath() + "/Documents/application/zsafe", 1235 QDir::homeDirPath() + "/Documents/application/zsafe",
1253 QString::null, 1236 QString::null,
1254 mimeTypes, 1237 mimeTypes,
1255 this, 1238 this,
1256 tr ("Remove text file")); 1239 tr ("Remove text file"));
1257#else 1240#else
1258 QString fn = ScQtFileEdit::getOpenFileName(this, 1241 QString fn = ScQtFileEdit::getOpenFileName(this,
1259 tr ("Remove text file"), 1242 tr ("Remove text file"),
1260 QDir::homeDirPath() + "/Documents/application/zsafe", 1243 QDir::homeDirPath() + "/Documents/application/zsafe",
1261 "*.txt"); 1244 "*.txt");
1262#endif 1245#endif
1263#else 1246#else
1264 QString fn = QFileDialog::getOpenFileName( 1247 QString fn = QFileDialog::getOpenFileName(
1265 QDir::homeDirPath() + "/Documents/application/zsafe", 1248 QDir::homeDirPath() + "/Documents/application/zsafe",
1266 "ZSafe (*.txt)", 1249 "ZSafe (*.txt)",
1267 this, 1250 this,
1268 "ZSafe File Dialog" 1251 "ZSafe File Dialog"
1269 "Choose a text file" ); 1252 "Choose a text file" );
1270#endif 1253#endif
diff --git a/noncore/comm/keypebble/kvnc.cpp b/noncore/comm/keypebble/kvnc.cpp
index 25c8919..2fa8d1f 100644
--- a/noncore/comm/keypebble/kvnc.cpp
+++ b/noncore/comm/keypebble/kvnc.cpp
@@ -66,146 +66,143 @@ KVNC::KVNC( QWidget *parent, const char *name, WFlags f) : QMainWindow( 0, name
66 66
67 bookmarkSelector=new KVNCBookmarkDlg(); 67 bookmarkSelector=new KVNCBookmarkDlg();
68 stack->addWidget(bookmarkSelector,get_unique_id()); 68 stack->addWidget(bookmarkSelector,get_unique_id());
69 stack->raiseWidget( bookmarkSelector ); 69 stack->raiseWidget( bookmarkSelector );
70 70
71 canvas = new KRFBCanvas( stack, "canvas" ); 71 canvas = new KRFBCanvas( stack, "canvas" );
72 stack->addWidget(canvas,get_unique_id()); 72 stack->addWidget(canvas,get_unique_id());
73 setCentralWidget( stack ); 73 setCentralWidget( stack );
74 74
75 75
76 connect( bookmarkSelector->bookmarkList, SIGNAL(clicked(QListBoxItem *)), 76 connect( bookmarkSelector->bookmarkList, SIGNAL(clicked(QListBoxItem *)),
77 this, SLOT(openConnection(QListBoxItem *)) ); 77 this, SLOT(openConnection(QListBoxItem *)) );
78 connect( canvas->connection(), SIGNAL(statusChanged(const QString &)), 78 connect( canvas->connection(), SIGNAL(statusChanged(const QString &)),
79 this, SLOT(statusMessage(const QString &)) ); 79 this, SLOT(statusMessage(const QString &)) );
80 connect( canvas->connection(), SIGNAL(error(const QString &)), 80 connect( canvas->connection(), SIGNAL(error(const QString &)),
81 this, SLOT(error(const QString &)) ); 81 this, SLOT(error(const QString &)) );
82 connect( canvas->connection(), SIGNAL(connected()), this, SLOT(connected()) ); 82 connect( canvas->connection(), SIGNAL(connected()), this, SLOT(connected()) );
83 connect( canvas->connection(), SIGNAL(loggedIn()), this, SLOT(loggedIn()) ); 83 connect( canvas->connection(), SIGNAL(loggedIn()), this, SLOT(loggedIn()) );
84 connect( canvas->connection(), SIGNAL(disconnected()), this, SLOT(disconnected()) ); 84 connect( canvas->connection(), SIGNAL(disconnected()), this, SLOT(disconnected()) );
85 85
86 setupActions(); 86 setupActions();
87 87
88 cornerButton = new QPushButton( this ); 88 cornerButton = new QPushButton( this );
89 cornerButton->setPixmap( QPixmap( (const char**)menu_xpm ) ); 89 cornerButton->setPixmap( QPixmap( (const char**)menu_xpm ) );
90 connect( cornerButton, SIGNAL(pressed()), this, SLOT(showMenu()) ); 90 connect( cornerButton, SIGNAL(pressed()), this, SLOT(showMenu()) );
91 canvas->setCornerWidget( cornerButton ); 91 canvas->setCornerWidget( cornerButton );
92 92
93 stack->raiseWidget( bookmarkSelector ); 93 stack->raiseWidget( bookmarkSelector );
94 94
95 95
96 bar= new QToolBar( this ); 96 bar= new QToolBar( this );
97 setToolBarsMovable( false ); 97 setToolBarsMovable( false );
98 setRightJustification(false); 98 setRightJustification(false);
99 99
100 100
101 QAction *n = new QAction( tr( "New Connection" ), Resource::loadPixmap( "new" ), 101 QAction *n = new QAction( tr( "New Connection" ), Resource::loadPixmap( "new" ),
102 QString::null, 0, this, 0 ); 102 QString::null, 0, this, 0 );
103 connect( n, SIGNAL( activated() ), 103 connect( n, SIGNAL( activated() ),
104 this, SLOT( newConnection() ) ); 104 this, SLOT( newConnection() ) );
105 n->addTo( bar ); 105 n->addTo( bar );
106 106
107 QAction *o = new QAction( tr( "Open Bookmark" ), Resource::loadPixmap( "fileopen" ), 107 QAction *o = new QAction( tr( "Open Bookmark" ), Resource::loadPixmap( "fileopen" ),
108 QString::null, 0, this, 0 ); 108 QString::null, 0, this, 0 );
109 connect( o, SIGNAL( activated() ), 109 connect( o, SIGNAL( activated() ),
110 this, SLOT( openConnection() ) ); 110 this, SLOT( openConnection() ) );
111 o->addTo( bar ); 111 o->addTo( bar );
112 112
113 QAction *d = new QAction( tr( "Delete Bookmark" ), Resource::loadPixmap( "trash" ), 113 QAction *d = new QAction( tr( "Delete Bookmark" ), Resource::loadPixmap( "trash" ),
114 QString::null, 0, this, 0 ); 114 QString::null, 0, this, 0 );
115 connect( d, SIGNAL( activated() ), 115 connect( d, SIGNAL( activated() ),
116 this, SLOT( deleteBookmark() ) ); 116 this, SLOT( deleteBookmark() ) );
117 d->addTo( bar ); 117 d->addTo( bar );
118} 118}
119 119
120KVNC::~KVNC() 120KVNC::~KVNC()
121{ 121{
122 122
123} 123}
124 124
125void KVNC::newConnection() 125void KVNC::newConnection()
126{ 126{
127 curServer=new KRFBServer; 127 curServer=new KRFBServer;
128 128
129 KVNCConnDlg dlg( curServer,this); 129 KVNCConnDlg dlg( curServer,this);
130 dlg.showMaximized(); 130 if ( QPEApplication::execDialog( &dlg )) {
131 if (dlg.exec()) {
132 if (!curServer->name.isEmpty()) 131 if (!curServer->name.isEmpty())
133 bookmarkSelector->addBookmark(curServer); 132 bookmarkSelector->addBookmark(curServer);
134 canvas->openConnection(*curServer); 133 canvas->openConnection(*curServer);
135 } else 134 } else
136 curServer=0; 135 curServer=0;
137} 136}
138 137
139void KVNC::openConnection( QString name) 138void KVNC::openConnection( QString name)
140{ 139{
141 curServer=bookmarkSelector->getServer(name); 140 curServer=bookmarkSelector->getServer(name);
142 141
143 if (curServer) { 142 if (curServer) {
144 KVNCConnDlg dlg( curServer,this); 143 KVNCConnDlg dlg( curServer,this);
145 dlg.showMaximized(); 144 if ( QPEApplication::execDialog( &dlg ) ) {
146
147 if ( dlg.exec() ) {
148 canvas->openConnection(*curServer); 145 canvas->openConnection(*curServer);
149 bookmarkSelector->writeBookmarks(); 146 bookmarkSelector->writeBookmarks();
150 } else 147 } else
151 curServer=0; 148 curServer=0;
152 } 149 }
153} 150}
154 151
155void KVNC::openConnection( void ) 152void KVNC::openConnection( void )
156{ 153{
157 openConnection( bookmarkSelector->selectedBookmark()); 154 openConnection( bookmarkSelector->selectedBookmark());
158} 155}
159 156
160void KVNC::openConnection( QListBoxItem * item) 157void KVNC::openConnection( QListBoxItem * item)
161{ 158{
162 if (item) 159 if (item)
163 openConnection(item->text()); 160 openConnection(item->text());
164} 161}
165 162
166void KVNC::setupActions() 163void KVNC::setupActions()
167{ 164{
168 cornerMenu = new QPopupMenu( this ); 165 cornerMenu = new QPopupMenu( this );
169 166
170 fullScreenAction = new QAction( tr("Full Screen"), QString::null, 0, 0 ); 167 fullScreenAction = new QAction( tr("Full Screen"), QString::null, 0, 0 );
171 connect( fullScreenAction, SIGNAL(activated()), 168 connect( fullScreenAction, SIGNAL(activated()),
172 this, SLOT( toggleFullScreen() ) ); 169 this, SLOT( toggleFullScreen() ) );
173 fullScreenAction->addTo( cornerMenu ); 170 fullScreenAction->addTo( cornerMenu );
174 fullScreenAction->setEnabled( false ); 171 fullScreenAction->setEnabled( false );
175 172
176 ctlAltDelAction = new QAction( tr("Send Contrl-Alt-Delete"), QString::null, 0, 0 ); 173 ctlAltDelAction = new QAction( tr("Send Contrl-Alt-Delete"), QString::null, 0, 0 );
177 connect( ctlAltDelAction, SIGNAL(activated()), 174 connect( ctlAltDelAction, SIGNAL(activated()),
178 canvas, SLOT( sendCtlAltDel() ) ); 175 canvas, SLOT( sendCtlAltDel() ) );
179 ctlAltDelAction->addTo( cornerMenu ); 176 ctlAltDelAction->addTo( cornerMenu );
180 ctlAltDelAction->setEnabled( false ); 177 ctlAltDelAction->setEnabled( false );
181 178
182 disconnectAction = new QAction( tr("Disconnect"), QString::null, 0, 0 ); 179 disconnectAction = new QAction( tr("Disconnect"), QString::null, 0, 0 );
183 connect( disconnectAction, SIGNAL(activated()), 180 connect( disconnectAction, SIGNAL(activated()),
184 this, SLOT( closeConnection() ) ); 181 this, SLOT( closeConnection() ) );
185 disconnectAction->addTo( cornerMenu ); 182 disconnectAction->addTo( cornerMenu );
186 disconnectAction->setEnabled( false ); 183 disconnectAction->setEnabled( false );
187 184
188 doubleClickAction = new QAction( tr("Next Click is Double Click"), QString::null, 0, 0 ); 185 doubleClickAction = new QAction( tr("Next Click is Double Click"), QString::null, 0, 0 );
189 connect( doubleClickAction, SIGNAL(activated()), 186 connect( doubleClickAction, SIGNAL(activated()),
190 canvas, SLOT( markDoubleClick() ) ); 187 canvas, SLOT( markDoubleClick() ) );
191 doubleClickAction->addTo( cornerMenu ); 188 doubleClickAction->addTo( cornerMenu );
192 doubleClickAction->setEnabled( false ); 189 doubleClickAction->setEnabled( false );
193 190
194 rightClickAction = new QAction( tr("Next Click is Right Click"), QString::null, 0, 0 ); 191 rightClickAction = new QAction( tr("Next Click is Right Click"), QString::null, 0, 0 );
195 connect( rightClickAction, SIGNAL(activated()), 192 connect( rightClickAction, SIGNAL(activated()),
196 canvas, SLOT( markRightClick() ) ); 193 canvas, SLOT( markRightClick() ) );
197 rightClickAction->addTo( cornerMenu ); 194 rightClickAction->addTo( cornerMenu );
198 rightClickAction->setEnabled( false ); 195 rightClickAction->setEnabled( false );
199} 196}
200 197
201void KVNC::toggleFullScreen() 198void KVNC::toggleFullScreen()
202{ 199{
203 if ( fullscreen ) { 200 if ( fullscreen ) {
204 canvas->releaseKeyboard(); 201 canvas->releaseKeyboard();
205 canvas->reparent( stack, 0, QPoint(0,0), false ); 202 canvas->reparent( stack, 0, QPoint(0,0), false );
206 canvas->setFrameStyle( QFrame::Panel | QFrame::Sunken ); 203 canvas->setFrameStyle( QFrame::Panel | QFrame::Sunken );
207 setCentralWidget( stack ); 204 setCentralWidget( stack );
208 stack->addWidget(canvas,get_unique_id()); 205 stack->addWidget(canvas,get_unique_id());
209 stack->raiseWidget(canvas); 206 stack->raiseWidget(canvas);
210 canvas->show(); 207 canvas->show();
211 stack->show(); 208 stack->show();