author | ar <ar> | 2004-02-08 19:14:56 (UTC) |
---|---|---|
committer | ar <ar> | 2004-02-08 19:14:56 (UTC) |
commit | 5f698069bca9dde2c8be9ff1bf863ee3a7a33cf0 (patch) (unidiff) | |
tree | 525f35c4937c9f4ae99538289c5d1f96c53d7fa7 | |
parent | 2dc8add65c44b3dd240cf2bd3c276c3c0155f46b (diff) | |
download | opie-5f698069bca9dde2c8be9ff1bf863ee3a7a33cf0.zip opie-5f698069bca9dde2c8be9ff1bf863ee3a7a33cf0.tar.gz opie-5f698069bca9dde2c8be9ff1bf863ee3a7a33cf0.tar.bz2 |
improve support for BigScreen
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 | ||
49 | void AdvancedFm::doDirChange() { | 49 | void 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 | ||
61 | void AdvancedFm::showMenuHidden() { | 61 | void 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 | ||
75 | void AdvancedFm::showHidden() { | 75 | void 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 | ||
86 | QString AdvancedFm::dealWithSymName(const QString &fileName) { | 86 | QString 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 | ||
91 | void AdvancedFm::runThis() { | 91 | void 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 | ||
128 | void AdvancedFm::runText() { | 128 | void 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 | ||
140 | void AdvancedFm::makeDir() { | 140 | void 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 | ||
152 | void AdvancedFm::doDelete() { | 152 | void 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 | ||
234 | void AdvancedFm::filePerms() { | 234 | void 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 | 250 | void AdvancedFm::doProperties() { | |
251 | void 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 | } | 270 | void AdvancedFm::upDir() { |
271 | 271 | QDir *thisDir = CurrentDir(); | |
272 | void 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 | } | 283 | void AdvancedFm::copy() { |
284 | 284 | qApp->processEvents(); | |
285 | void 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 | } | 345 | void AdvancedFm::copyAs() { |
346 | 346 | qApp->processEvents(); | |
347 | void 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 | } | 394 | void AdvancedFm::copySameDir() { |
395 | 395 | qApp->processEvents(); | |
396 | void 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 | } | 442 | void AdvancedFm::move() { |
443 | 443 | qApp->processEvents(); | |
444 | void 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 | } | 487 | bool AdvancedFm::moveDirectory( const QString & src, const QString & dest ) { |
488 | 488 | int err = 0; | |
489 | bool 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 | } | 501 | bool AdvancedFm::copyDirectory( const QString & src, const QString & dest ) { |
502 | 502 | ||
503 | bool 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 | 516 | bool AdvancedFm::copyFile( const QString & src, const QString & dest ) { | |
517 | 517 | ||
518 | bool 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 | } | 580 | void AdvancedFm::runCommand() { |
581 | 581 | if( !CurrentView()->currentItem()) return; | |
582 | void 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 | } | 608 | void AdvancedFm::runCommandStd() { |
609 | } | 609 | if( !CurrentView()->currentItem()) return; |
610 | 610 | QString curFile; | |
611 | void 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 | } | 627 | void AdvancedFm::fileStatus() { |
628 | } | 628 | if( !CurrentView()->currentItem()) return; |
629 | 629 | QString curFile; | |
630 | void 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(); | 644 | void AdvancedFm::mkDir() { |
645 | } | 645 | makeDir(); |
646 | 646 | } | |
647 | 647 | ||
648 | void AdvancedFm::mkDir() { | 648 | void AdvancedFm::rn() { |
649 | makeDir(); | 649 | renameIt(); |
650 | } | 650 | } |
651 | 651 | ||
652 | void AdvancedFm::rn() { | 652 | void AdvancedFm::del() { |
653 | renameIt(); | 653 | doDelete(); |
654 | } | 654 | } |
655 | 655 | ||
656 | void AdvancedFm::del() { | 656 | void AdvancedFm::mkSym() { |
657 | doDelete(); | 657 | QString cmd; |
658 | } | 658 | QStringList curFileList = getPath(); |
659 | 659 | if( curFileList.count() > 0) { | |
660 | void 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(); | 685 | void AdvancedFm::doBeam() { |
686 | } | 686 | Ir ir; |
687 | } | 687 | if(!ir.supported()) { |
688 | 688 | } else { | |
689 | void 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 | } | 705 | void AdvancedFm::fileBeamFinished( Ir *) { |
706 | } | 706 | QMessageBox::message( tr("Advancedfm Beam out"), tr("Ir sent.") ,tr("Ok") ); |
707 | } | 707 | } |
708 | 708 | ||
709 | void AdvancedFm::fileBeamFinished( Ir *) { | 709 | void 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); | |
713 | void AdvancedFm::selectAll() { | 713 | } |
714 | QListView *thisView = CurrentView(); | 714 | |
715 | thisView->selectAll(true); | 715 | void AdvancedFm::startProcess(const QString & cmd) { |
716 | thisView->setSelected( thisView->firstChild(),false); | 716 | QStringList command; |
717 | } | 717 | OProcess *process; |
718 | 718 | process = new OProcess(); | |
719 | void 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) ) | 733 | void AdvancedFm::processEnded(OProcess *) { |
734 | qDebug("could not start process"); | 734 | rePopulate(); |
735 | } | 735 | } |
736 | 736 | ||
737 | void AdvancedFm::processEnded(OProcess *) { | 737 | void AdvancedFm::oprocessStderr(OProcess*, char *buffer, int ) { |
738 | rePopulate(); | 738 | // qWarning("received stderrt %d bytes", buflen); |
739 | } | 739 | |
740 | 740 | QString lineStr = buffer; | |
741 | void 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; | 744 | bool 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; | |
748 | bool 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 ); | 779 | void AdvancedFm::cancelRename() { |
780 | } | 780 | // qDebug("cancel rename"); |
781 | 781 | QListView * view; | |
782 | 782 | view = CurrentView(); | |
783 | void 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(); | 793 | void AdvancedFm::doRename(QListView * view) { |
794 | } | 794 | if( !CurrentView()->currentItem()) return; |
795 | } | 795 | |
796 | 796 | QRect r = view->itemRect( view->currentItem( )); | |
797 | void 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(); | 822 | void AdvancedFm::renameIt() { |
823 | } | 823 | if( !CurrentView()->currentItem()) return; |
824 | 824 | ||
825 | 825 | QListView *thisView = CurrentView(); | |
826 | void 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); | 830 | void AdvancedFm::okRename() { |
831 | doRename( thisView ); | 831 | if( !CurrentView()->currentItem()) return; |
832 | } | 832 | |
833 | 833 | QString newName = renameBox->text(); | |
834 | void 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(); | 848 | void AdvancedFm::openSearch() { |
849 | rePopulate(); | 849 | QMessageBox::message(tr("Note"),tr("Not Yet Implemented")); |
850 | } | 850 | } |
851 | |||
852 | void 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 | ||
450 | void Checkbook::slotNameChanged( const QString &newname ) | 450 | void 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 ---------------------------------------------- |
468 | void Checkbook::slotStartingBalanceChanged( const QString &newbalance ) | 468 | void 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 ------------------------------------------------------------ |
477 | void Checkbook::slotNewTran() | 477 | void 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 ----------------------------------------------------------- |
522 | void Checkbook::slotEditTran() | 521 | void 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 ----------------------------------------------------------- |
565 | void Checkbook::slotMenuTran(QListViewItem *item, const QPoint &pnt) | 563 | void 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 --------------------------------------------------------- |
592 | void Checkbook::slotDeleteTran() | 590 | void 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 | ||
51 | MainWindow::MainWindow( QWidget* parent, const char* name, WFlags /*fl*/ ) | 51 | MainWindow::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() | |||
153 | void MainWindow::buildList() | 153 | void 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 | ||
189 | void MainWindow::addCheckbook( CBInfo *cb ) | 189 | void 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 | ||
205 | void MainWindow::buildFilename( const QString &name ) | 205 | void 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 | ||
212 | void MainWindow::slotNew() | 212 | void 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 --------------------------------------------------------------- |
234 | void MainWindow::slotEdit() | 233 | void 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 --------------------------------------------------------------- |
245 | void MainWindow::openBook(QListViewItem *curritem) | 244 | void 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 ------------------------------------------------------------- |
327 | void MainWindow::slotDelete() | 325 | void 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 ---------------------------------------------------------- |
345 | void MainWindow::slotConfigure() | 343 | void 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 -------------------------------------------------------------- |
361 | void MainWindow::writeConfig() | 358 | void 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 | ||
32 | ConfigDlg::ConfigDlg(QWidget *parent, const char *name, bool modal) : QDialog(parent, name, modal) | 33 | ConfigDlg::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 | ||
59 | void ConfigDlg::slotNewMethod() | 60 | void 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 | ||
70 | void ConfigDlg::slotChangeMethod() | 71 | void 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 | ||
84 | void ConfigDlg::slotDeleteMethod() | 85 | void 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 | ||
97 | void ConfigDlg::loadSearchMethodNames() | 98 | void 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 | ||
34 | SearchMethodDlg::SearchMethodDlg(QWidget *parent, const char *name, bool modal, QString itemname) : QDialog(parent, name, modal) | 35 | SearchMethodDlg::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 | ||
81 | void SearchMethodDlg::setupEntries( QString item ) | 82 | void 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 | ||
92 | void SearchMethodDlg::slotBrowse() | 93 | void 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 | ||
98 | void SearchMethodDlg::saveItem() | 99 | void 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 | ||
128 | Bartender::~Bartender() { | 128 | Bartender::~Bartender() { |
129 | } | 129 | } |
130 | 130 | ||
131 | /* | 131 | /* |
132 | this happens right before exit */ | 132 | this happens right before exit */ |
133 | void Bartender::cleanUp() { | 133 | void Bartender::cleanUp() { |
134 | dbFile.close(); | 134 | dbFile.close(); |
135 | 135 | ||
136 | } | 136 | } |
137 | 137 | ||
138 | void Bartender::initDrinkDb() { | 138 | void 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 | ||
148 | void Bartender::fillList() { | 148 | void 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 | ||
167 | void Bartender::fileNew() { | 167 | void 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 | ||
196 | void Bartender::showDrink(int mouse, QListViewItem * item, const QPoint&, int) { | 195 | void 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 | ||
207 | void Bartender::showDrink( QListViewItem *item) { | 206 | void 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 | ||
238 | void Bartender::askSearch() { | 236 | void 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 */ |
252 | void Bartender::doSearchByName() { | 250 | void 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 | ||
276 | void Bartender::doSearchByDrink() { | 274 | void 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 | ||
313 | void Bartender::showSearchResult(QStringList &searchList) { | 311 | void 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 | } |
334 | delete searchDlg; | 331 | delete searchDlg; |
335 | } | 332 | } |
336 | 333 | ||
337 | void Bartender::doEdit() { | 334 | void 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 | ||
397 | void Bartender::clearList() { | 394 | void Bartender::clearList() { |
398 | DrinkView->clear(); | 395 | DrinkView->clear(); |
399 | } | 396 | } |
400 | 397 | ||
401 | void Bartender::doBac() { | 398 | void 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 | ||
409 | void Bartender::openCurrentDrink() { | 405 | void 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 | ||
414 | void Bartender::fileMenuActivated( int item) { | 410 | void 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 | ||
435 | void Bartender::editMenuActivated(int item) { | 431 | void 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 | ||
7 | class ConfigListItem : public QListViewItem { | 9 | class ConfigListItem : public QListViewItem { |
8 | public: | 10 | public: |
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 | ||
13 | private: | 15 | private: |
14 | Profile m_prof; | 16 | Profile m_prof; |
15 | }; | 17 | }; |
16 | ConfigListItem::ConfigListItem( QListView* item, const Profile& prof ) | 18 | ConfigListItem::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 | } |
21 | ConfigListItem::~ConfigListItem() { | 23 | ConfigListItem::~ConfigListItem() { |
22 | 24 | ||
23 | } | 25 | } |
24 | Profile ConfigListItem::profile()const { | 26 | Profile ConfigListItem::profile()const { |
25 | return m_prof; | 27 | return m_prof; |
26 | } | 28 | } |
27 | 29 | ||
28 | /* Dialog */ | 30 | /* Dialog */ |
29 | 31 | ||
30 | ConfigDialog::ConfigDialog( const Profile::ValueList& lis, MetaFactory* fa, | 32 | ConfigDialog::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 | } |
42 | ConfigDialog::~ConfigDialog() { | 44 | ConfigDialog::~ConfigDialog() { |
43 | 45 | ||
44 | } | 46 | } |
45 | Profile::ValueList ConfigDialog::list()const { | 47 | Profile::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 */ |
56 | void ConfigDialog::slotRemove() { | 58 | void 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 | ||
65 | void ConfigDialog::slotEdit() { | 67 | void 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 | ||
91 | void ConfigDialog::slotAdd() { | 92 | void 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 | ||
27 | MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) { | 28 | MainWindow::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 | ||
46 | void MainWindow::initUI() { | 47 | void 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 | ||
262 | ProfileManager* MainWindow::manager() { | 263 | ProfileManager* MainWindow::manager() { |
263 | return m_manager; | 264 | return m_manager; |
264 | } | 265 | } |
265 | TabWidget* MainWindow::tabWidget() { | 266 | TabWidget* MainWindow::tabWidget() { |
266 | return m_consoleWindow; | 267 | return m_consoleWindow; |
267 | } | 268 | } |
268 | void MainWindow::populateProfiles() { | 269 | void 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 | ||
277 | void MainWindow::populateScripts() { | 278 | void 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 | ||
294 | MainWindow::~MainWindow() { | 295 | MainWindow::~MainWindow() { |
295 | delete m_factory; | 296 | delete m_factory; |
296 | manager()->save(); | 297 | manager()->save(); |
297 | } | 298 | } |
298 | 299 | ||
299 | MetaFactory* MainWindow::factory() { | 300 | MetaFactory* MainWindow::factory() { |
300 | return m_factory; | 301 | return m_factory; |
301 | } | 302 | } |
302 | 303 | ||
303 | Session* MainWindow::currentSession() { | 304 | Session* MainWindow::currentSession() { |
304 | return m_curSession; | 305 | return m_curSession; |
305 | } | 306 | } |
306 | 307 | ||
307 | QList<Session> MainWindow::sessions() { | 308 | QList<Session> MainWindow::sessions() { |
308 | return m_sessions; | 309 | return m_sessions; |
309 | } | 310 | } |
310 | 311 | ||
311 | void MainWindow::slotNew() { | 312 | void 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 | ||
322 | void MainWindow::slotRecordScript() { | 322 | void 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 | ||
330 | void MainWindow::slotSaveScript() { | 330 | void 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 | ||
355 | void MainWindow::slotRunScript(int id) { | 355 | void 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 | ||
365 | void MainWindow::slotConnect() { | 365 | void 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 | ||
388 | void MainWindow::slotDisconnect() { | 388 | void 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 | ||
400 | void MainWindow::slotTerminate() { | 400 | void 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 | ||
413 | void MainWindow::slotQuickLaunch() { | 413 | void 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 | ||
426 | void MainWindow::slotConfigure() { | 426 | void 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 | */ |
445 | void MainWindow::slotClose() { | 444 | void 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 | */ |
479 | void MainWindow::slotProfile( int id) { | 478 | void 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 | ||
486 | void MainWindow::create( const Profile& prof ) { | 485 | void 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 | ||
10 | namespace { | 13 | namespace { |
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 | ||
24 | ModemConfigWidget::ModemConfigWidget( const QString& name, QWidget* parent, | 27 | ModemConfigWidget::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 | ||
61 | ModemConfigWidget::~ModemConfigWidget() { | 64 | ModemConfigWidget::~ModemConfigWidget() { |
62 | 65 | ||
63 | } | 66 | } |
64 | void ModemConfigWidget::load( const Profile& prof ) { | 67 | void 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 | ||
234 | void ModemConfigWidget::slotAT() { | 237 | void 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 | ||
246 | void ModemConfigWidget::slotDial() { | 248 | void 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 | |||
4 | CCloseDialog::CCloseDialog(const QString& fname, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true) | 6 | CCloseDialog::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 | |||
30 | CLayoutPrefs::CLayoutPrefs( QWidget* parent, const char* name, WFlags fl ) | 32 | CLayoutPrefs::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 | */ |
69 | CLayoutPrefs::~CLayoutPrefs() | 71 | CLayoutPrefs::~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 | ||
76 | CLayoutPrefs2::CLayoutPrefs2( QWidget* parent, const char* name, WFlags fl ) | 78 | CLayoutPrefs2::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 | ||
408 | CMiscPrefs::~CMiscPrefs() | 410 | CMiscPrefs::~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 | ||
413 | CPrefs::CPrefs(bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true) | 415 | CPrefs::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 | ||
436 | Unicode | 439 | Unicode |
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 | ||
445 | CInterPrefs::CInterPrefs( QWidget* parent, const char* name, WFlags fl ) | 448 | CInterPrefs::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 | ||
87 | bool CheckVersion(int&, int&, char&); | 87 | bool 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 | ||
99 | unsigned long QTReaderApp::m_uid = 0; | 99 | unsigned long QTReaderApp::m_uid = 0; |
100 | 100 | ||
101 | void QTReaderApp::setScrollState(bool _b) { m_scrollButton->setOn(_b); } | 101 | void 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 | ||
120 | void QTReaderApp::listBkmkFiles() | 120 | void 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 | ||
186 | void QTReaderApp::hidetoolbars() | 186 | void 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 | ||
210 | QTReaderApp::QTReaderApp( QWidget *parent, const char *name, WFlags f ) | 210 | QTReaderApp::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 | ||
877 | void QTReaderApp::addtoolbars(Config* config) | 877 | void 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 | ||
1019 | bool QTReaderApp::checkbar(Config* _config, const QString& key) | 1019 | bool 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 | ||
1025 | QToolBar* QTReaderApp::filebar() | 1025 | QToolBar* 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 | } |
1047 | QToolBar* QTReaderApp::viewbar() | 1047 | QToolBar* 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 | } |
1066 | QToolBar* QTReaderApp::navbar() | 1066 | QToolBar* 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 | } |
1087 | QToolBar* QTReaderApp::markbar() | 1087 | QToolBar* 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 | ||
1107 | void QTReaderApp::addfilebar(Config* _config, const QString& key, QAction* a) | 1107 | void 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 | } |
1111 | void QTReaderApp::addnavbar(Config* _config, const QString& key, QAction* a) | 1111 | void 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 | } |
1115 | void QTReaderApp::addmarkbar(Config* _config, const QString& key, QAction* a) | 1115 | void 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 | } |
1119 | void QTReaderApp::addviewbar(Config* _config, const QString& key, QAction* a) | 1119 | void 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 | ||
1124 | void QTReaderApp::suspend() { reader->suspend(); } | 1124 | void QTReaderApp::suspend() { reader->suspend(); } |
1125 | 1125 | ||
1126 | #ifdef USEMSGS | 1126 | #ifdef USEMSGS |
1127 | void QTReaderApp::msgHandler(const QCString& _msg, const QByteArray& _data) | 1127 | void 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 |
1464 | ActionTypes QTReaderApp::ActNameToInt(const QString& _enc) | 1464 | ActionTypes 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 | ||
1473 | void QTReaderApp::setfullscreen(bool sfs) | 1473 | void 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 | ||
1483 | void QTReaderApp::buttonActionSelected(QAction* _a) | 1483 | void 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 | ||
1489 | QTReaderApp::~QTReaderApp() | 1489 | QTReaderApp::~QTReaderApp() |
1490 | { | 1490 | { |
1491 | } | 1491 | } |
1492 | 1492 | ||
1493 | void QTReaderApp::autoScroll(bool _b) | 1493 | void 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 | ||
1499 | void QTReaderApp::zoomin() | 1499 | void QTReaderApp::zoomin() |
1500 | { | 1500 | { |
1501 | reader->zoomin(); | 1501 | reader->zoomin(); |
1502 | } | 1502 | } |
1503 | 1503 | ||
1504 | void QTReaderApp::zoomout() | 1504 | void QTReaderApp::zoomout() |
1505 | { | 1505 | { |
1506 | reader->zoomout(); | 1506 | reader->zoomout(); |
1507 | } | 1507 | } |
1508 | 1508 | ||
1509 | void QTReaderApp::clearBkmkList() | 1509 | void 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 | ||
1516 | void QTReaderApp::fileClose() | 1516 | void 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 | ||
1561 | void QTReaderApp::updatefileinfo() | 1561 | void 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 | ||
1607 | void QTReaderApp::fileOpen() | 1607 | void 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 | ||
1621 | void QTReaderApp::fileOpen2() | 1621 | void 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 | ||
1659 | QString QTReaderApp::usefilebrowser() | 1659 | QString 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 | ||
1683 | void QTReaderApp::showgraphic(QImage& pm) | 1683 | void 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 | ||
1693 | void QTReaderApp::showprefs() | 1693 | void 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 | ||
1858 | void QTReaderApp::showtoolbarprefs() | 1858 | void 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 | ||
1920 | void QTReaderApp::showinfo() | 1920 | void 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 | ||
1941 | void QTReaderApp::addAnno(const QString& name, const QString& text, size_t posn) | 1941 | void 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 | ||
1966 | void QTReaderApp::addAnno(const QString& name, const QString& text) | 1966 | void 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 | ||
2007 | bool QTReaderApp::findNextBookmark(size_t start) | 2007 | bool 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 | ||
2025 | void QTReaderApp::addanno() | 2025 | void 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 | ||
2045 | void QTReaderApp::infoClose() | 2045 | void QTReaderApp::infoClose() |
2046 | { | 2046 | { |
2047 | showEditTools(); | 2047 | showEditTools(); |
2048 | } | 2048 | } |
2049 | 2049 | ||
2050 | /* | 2050 | /* |
2051 | void QTReaderApp::fileRevert() | 2051 | void QTReaderApp::fileRevert() |
2052 | { | 2052 | { |
2053 | clear(); | 2053 | clear(); |
2054 | fileOpen(); | 2054 | fileOpen(); |
2055 | } | 2055 | } |
2056 | 2056 | ||
2057 | void QTReaderApp::editCut() | 2057 | void 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 | */ |
2064 | void QTReaderApp::editMark() | 2064 | void QTReaderApp::editMark() |
2065 | { | 2065 | { |
2066 | m_savedpos = reader->pagelocate(); | 2066 | m_savedpos = reader->pagelocate(); |
2067 | } | 2067 | } |
2068 | 2068 | ||
2069 | void QTReaderApp::editCopy() | 2069 | void 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 | ||
2090 | void QTReaderApp::gotoStart() | 2090 | void QTReaderApp::gotoStart() |
2091 | { | 2091 | { |
2092 | reader->locate(reader->buffdoc.startSection()); | 2092 | reader->locate(reader->buffdoc.startSection()); |
2093 | } | 2093 | } |
2094 | 2094 | ||
2095 | void QTReaderApp::gotoEnd() | 2095 | void QTReaderApp::gotoEnd() |
2096 | { | 2096 | { |
2097 | reader->dopageup(reader->buffdoc.endSection()); | 2097 | reader->dopageup(reader->buffdoc.endSection()); |
2098 | } | 2098 | } |
2099 | 2099 | ||
2100 | void QTReaderApp::pageup() | 2100 | void QTReaderApp::pageup() |
2101 | { | 2101 | { |
2102 | reader->NavUp(); | 2102 | reader->NavUp(); |
2103 | } | 2103 | } |
2104 | 2104 | ||
2105 | void QTReaderApp::pagedn() | 2105 | void QTReaderApp::pagedn() |
2106 | { | 2106 | { |
2107 | reader->NavDown(); | 2107 | reader->NavDown(); |
2108 | } | 2108 | } |
2109 | 2109 | ||
2110 | void QTReaderApp::pagemode(bool _b) | 2110 | void QTReaderApp::pagemode(bool _b) |
2111 | { | 2111 | { |
2112 | reader->setpagemode(_b); | 2112 | reader->setpagemode(_b); |
2113 | } | 2113 | } |
2114 | 2114 | ||
2115 | /* | 2115 | /* |
2116 | void QTReaderApp::setspacing() | 2116 | void 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 | */ |
2125 | void QTReaderApp::settarget() | 2125 | void 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 | /* |
2136 | void QTReaderApp::do_mono(const QString& lcn) | 2136 | void 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 | /* |
2152 | void QTReaderApp::editPaste() | 2152 | void 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 | ||
2160 | void QTReaderApp::editFind() | 2160 | void 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 | ||
2177 | void QTReaderApp::findNext() | 2177 | void 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 | ||
2192 | void QTReaderApp::findClose() | 2192 | void 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 | ||
2211 | void QTReaderApp::regClose() | 2211 | void 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 |
2223 | bool QTReaderApp::dosearch(size_t start, CDrawBuffer& test, const QString& arg) | 2223 | bool QTReaderApp::dosearch(size_t start, CDrawBuffer& test, const QString& arg) |
2224 | #else | 2224 | #else |
2225 | bool QTReaderApp::dosearch(size_t start, CDrawBuffer& test, const QRegExp& arg) | 2225 | bool 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 |
2296 | void QTReaderApp::search(const QString & arg) | 2296 | void 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 |
2329 | void QTReaderApp::search() | 2329 | void QTReaderApp::search() |
2330 | { | 2330 | { |
2331 | findNext(); | 2331 | findNext(); |
2332 | } | 2332 | } |
2333 | #endif | 2333 | #endif |
2334 | 2334 | ||
2335 | void QTReaderApp::openFile( const QString &f ) | 2335 | void 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 | /* |
2373 | void QTReaderApp::resizeEvent(QResizeEvent* e) | 2373 | void 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 | */ |
2382 | void QTReaderApp::handlekey(QKeyEvent* e) | 2382 | void 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 | ||
2488 | void QTReaderApp::showEditTools() | 2488 | void 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 | /* |
2554 | void QTReaderApp::save() | 2554 | void 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 | ||
2584 | void QTReaderApp::clear() | 2584 | void 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 | ||
2596 | void QTReaderApp::updateCaption() | 2596 | void 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 | ||
2608 | void QTReaderApp::setDocument(const QString& fileref) | 2608 | void 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 | ||
2616 | void QTReaderApp::closeEvent( QCloseEvent *e ) | 2616 | void 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 | ||
2686 | void QTReaderApp::do_gotomark() | 2686 | void 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 | ||
2693 | void QTReaderApp::do_delmark() | 2693 | void 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 | ||
2700 | bool QTReaderApp::listbkmk(CList<Bkmk>* plist, const QString& _lab) | 2700 | bool 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 | ||
2731 | void QTReaderApp::do_autogen() | 2731 | void 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 | ||
2738 | void QTReaderApp::do_regedit() | 2738 | void 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 | ||
2755 | bool QTReaderApp::openfrombkmk(Bkmk* bk) | 2755 | bool 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 | ||
2797 | void QTReaderApp::gotobkmk(int ind) | 2797 | void 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 | ||
2951 | void QTReaderApp::cancelbkmk() | 2951 | void 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 | ||
2961 | void QTReaderApp::jump() | 2961 | void 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 | ||
2970 | void QTReaderApp::do_jump(const QString& lcn) | 2970 | void 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 | ||
2980 | void QTReaderApp::do_regaction() | 2980 | void 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 | ||
3025 | void QTReaderApp::do_settarget(const QString& _txt) | 3025 | void 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 | ||
3041 | void QTReaderApp::chooseencoding() | 3041 | void 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 | ||
3059 | void QTReaderApp::setfont() | 3059 | void 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 | ||
3085 | void QTReaderApp::setfontHelper(const QString& lcn, int size) | 3085 | void 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 | ||
3103 | void QTReaderApp::do_setencoding(int i) | 3103 | void 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 | ||
3118 | void QTReaderApp::do_setfont(const QString& lcn) | 3118 | void 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 | ||
3133 | void QTReaderApp::do_autogen(const QString& regText) | 3133 | void 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 | ||
3182 | void QTReaderApp::saveprefs() | 3182 | void 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 | /* |
3263 | void QTReaderApp::oldFile() | 3263 | void 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 | /* |
3274 | void info_cb(Fl_Widget* o, void* _data) | 3274 | void 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 | ||
3318 | void QTReaderApp::savebkmks() | 3318 | void 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 | ||
3335 | void QTReaderApp::readfilelist() | 3335 | void 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 | ||
3351 | void QTReaderApp::savefilelist() | 3351 | void 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 | ||
3368 | void QTReaderApp::readbkmks() | 3368 | void 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 | ||
3417 | void QTReaderApp::addbkmk() | 3417 | void 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 | ||
3424 | void QTReaderApp::do_addbkmk(const QString& text) | 3424 | void 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 | ||
3450 | void QTReaderApp::OnRedraw() | 3450 | void 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 | ||
3459 | void QTReaderApp::showAnnotation() | 3459 | void 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 | ||
3471 | void QTReaderApp::OnWordSelected(const QString& wrd, size_t posn, const QString& line) | 3471 | void 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 | ||
3514 | void QTReaderApp::doAction(ActionTypes a, QKeyEvent* e) | 3514 | void 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 | ||
3592 | void QTReaderApp::setTwoTouch(bool _b) { reader->setTwoTouch(_b); } | 3592 | void QTReaderApp::setTwoTouch(bool _b) { reader->setTwoTouch(_b); } |
3593 | void QTReaderApp::restoreFocus() { reader->setFocus(); } | 3593 | void QTReaderApp::restoreFocus() { reader->setFocus(); } |
3594 | 3594 | ||
3595 | void QTReaderApp::SaveConfig() | 3595 | void 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 | ||
3602 | void QTReaderApp::do_saveconfig(const QString& _txt, bool full) | 3602 | void 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 | /* |
3743 | void QTReaderApp::setstate(unsigned char* _sd, unsigned short _sdlen) | 3743 | void 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 | ||
3763 | void QTReaderApp::getstate(unsigned char*& data, unsigned short& len) | 3763 | void 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 |
3802 | void QTReaderApp::RunScript() | 3802 | void 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 | ||
3821 | void QTReaderApp::SaveScript(const char* sname) | 3821 | void 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 | ||
3871 | void QTReaderApp::SaveConfig() | 3871 | void 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 | ||
3878 | void QTReaderApp::do_saveconfig(const QString& _txt) | 3878 | void 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 |
3885 | void QTReaderApp::setpipetarget() | 3885 | void 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 | ||
3893 | void QTReaderApp::do_setpipetarget(const QString& _txt) | 3893 | void QTReaderApp::do_setpipetarget(const QString& _txt) |
3894 | { | 3894 | { |
3895 | reader->m_pipetarget = _txt; | 3895 | reader->m_pipetarget = _txt; |
3896 | } | 3896 | } |
3897 | 3897 | ||
3898 | void QTReaderApp::setpause(bool sfs) | 3898 | void QTReaderApp::setpause(bool sfs) |
3899 | { | 3899 | { |
3900 | reader->m_pauseAfterEachPara = sfs; | 3900 | reader->m_pauseAfterEachPara = sfs; |
3901 | } | 3901 | } |
3902 | #endif | 3902 | #endif |
3903 | 3903 | ||
3904 | void QTReaderApp::monospace(bool _b) | 3904 | void QTReaderApp::monospace(bool _b) |
3905 | { | 3905 | { |
3906 | reader->setmono(_b); | 3906 | reader->setmono(_b); |
3907 | } | 3907 | } |
3908 | 3908 | ||
3909 | bool QTReaderApp::readconfig(const QString& _txt, bool full=false) | 3909 | bool 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 | ||
4056 | bool QTReaderApp::PopulateConfig(const char* tgtdir) | 4056 | bool 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 | ||
4121 | void QTReaderApp::LoadConfig() | 4121 | void 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 | ||
4133 | void QTReaderApp::TidyConfig() | 4133 | void 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 | ||
4145 | void QTReaderApp::ExportLinks() | 4145 | void 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 | ||
4157 | void QTReaderApp::OnURLSelected(const QString& href) | 4157 | void 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 | ||
4186 | void QTReaderApp::writeUrl(const QString& file, const QString& href) | 4186 | void 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 | ||
27 | CBarPrefs::CBarPrefs(const QString& appdir, bool fs, QWidget* parent, const char* name) : QDialog(parent, name, true), config( appdir ) | 28 | CBarPrefs::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 | /* |
50 | CBarPrefs1::CBarPrefs1( Config& _config, QWidget* parent, const char* name, WFlags fl ) | 52 | CBarPrefs1::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 | ||
98 | void CBarPrefs1::saveall() | 100 | void 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 | ||
4 | CURLDialog::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")); | 6 | CURLDialog::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 | ||
3 | Derived from a file browser which was | 3 | Derived from a file browser which was |
4 | 4 | ||
5 | ** copyright 2001 ljp ljp@llornkcor.com | 5 | ** copyright 2001 ljp ljp@llornkcor.com |
6 | 6 | ||
7 | Extensive modification by Tim Wentford to allow it to work in rotated mode | 7 | Extensive 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 | ||
27 | fileBrowser::fileBrowser( bool allownew, QWidget* parent, const char* name, bool modal, WFlags fl , const QString filter, const QString iPath ) | 29 | fileBrowser::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 | ||
121 | void fileBrowser::resizeEvent(QResizeEvent* e) | 124 | void 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 | ||
127 | fileBrowser::~fileBrowser() | 130 | fileBrowser::~fileBrowser() |
128 | { | 131 | { |
129 | } | 132 | } |
130 | 133 | ||
131 | 134 | ||
132 | void fileBrowser::populateList() | 135 | void 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 | ||
170 | void fileBrowser::upDir() | 173 | void fileBrowser::upDir() |
171 | { | 174 | { |
172 | //// qDebug(currentDir.canonicalPath()); | 175 | //// qDebug(currentDir.canonicalPath()); |
173 | } | 176 | } |
174 | 177 | ||
175 | void fileBrowser::listClicked(QListViewItem *selectedItem) | 178 | void 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 | ||
34 | MainWindow::MainWindow(QWidget *parent, const char* n, WFlags fl) | 37 | MainWindow::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 | ||
67 | MainWindow::~MainWindow() | 70 | MainWindow::~MainWindow() |
68 | { | 71 | { |
69 | if (currentDoc) delete currentDoc; | 72 | if (currentDoc) delete currentDoc; |
70 | } | 73 | } |
71 | 74 | ||
72 | void MainWindow::documentSave(DocLnk *lnkDoc) | 75 | void 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(¤tSheet->data); | 87 | sheet->copySheetData(¤tSheet->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 | ||
692 | void MainWindow::slotInsertSheets() | 695 | void 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 | ||
699 | void MainWindow::slotCellClicked(const QString &cell) | 702 | void 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 | ||
705 | typeSheet *MainWindow::createNewSheet() | 708 | typeSheet *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 | ||
723 | typeSheet *MainWindow::findSheet(const QString &name) | 726 | typeSheet *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 | ||
731 | void MainWindow::slotSheetChanged(const QString &name) | 734 | void 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 | ||
739 | void MainWindow::addFlyAction(const QString &text, const QString &menuText, const QString &tip, QWidget *w) | 742 | void 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 | ||
747 | void MainWindow::slotFormatCells() | 750 | void 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 | ||
754 | void MainWindow::slotEditPaste() | 757 | void MainWindow::slotEditPaste() |
755 | { | 758 | { |
756 | sheet->editPaste(); | 759 | sheet->editPaste(); |
757 | } | 760 | } |
758 | 761 | ||
759 | void MainWindow::slotEditPasteContents() | 762 | void MainWindow::slotEditPasteContents() |
760 | { | 763 | { |
761 | sheet->editPaste(TRUE); | 764 | sheet->editPaste(TRUE); |
762 | } | 765 | } |
763 | 766 | ||
764 | void MainWindow::slotRowHeight() | 767 | void 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 | ||
778 | void MainWindow::slotRowAdjust() | 781 | void 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 | ||
787 | void MainWindow::slotRowShow() | 790 | void 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 | ||
796 | void MainWindow::slotRowHide() | 799 | void 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 | ||
805 | void MainWindow::slotColumnWidth() | 808 | void 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 | ||
921 | void MainWindow::slotSheetRename() | 924 | void 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 | ||
945 | void MainWindow::slotSheetRemove() | 948 | void 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 | ||
967 | void MainWindow::slotDataSort() | 970 | void 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 | ||
974 | void MainWindow::slotDocModified() | 977 | void MainWindow::slotDocModified() |
975 | { | 978 | { |
976 | documentModified=TRUE; | 979 | documentModified=TRUE; |
977 | } | 980 | } |
978 | 981 | ||
979 | void MainWindow::slotInsertCells() | 982 | void 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 | ||
1003 | void MainWindow::slotDataFindReplace() | 1006 | void 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 | ||
43 | TVEditView::TVEditView(TableState *s, DataElem *d, QWidget* parent, | 43 | #include <qpe/qpeapplication.h> |
44 | |||
45 | TVEditView::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 | ||
71 | TVEditView::~TVEditView() | 73 | TVEditView::~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 */ |
76 | void TVEditView::setData(TableState *t, DataElem *d) | 78 | void 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 | ||
29 | TVFilterView::TVFilterView(TableState *t, QWidget* parent, | 29 | #include <qpe/qpeapplication.h> |
30 | |||
31 | TVFilterView::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 | */ |
105 | TVFilterView::~TVFilterView() | 107 | TVFilterView::~TVFilterView() |
106 | { | 108 | { |
107 | } | 109 | } |
108 | 110 | ||
109 | void TVFilterView::rebuildData() | 111 | void TVFilterView::rebuildData() |
110 | { | 112 | { |
111 | } | 113 | } |
112 | 114 | ||
113 | void TVFilterView::reset() | 115 | void TVFilterView::reset() |
114 | { | 116 | { |
115 | keyNameCombo->clear(); | 117 | keyNameCombo->clear(); |
116 | keyIds.clear(); | 118 | keyIds.clear(); |
117 | } | 119 | } |
118 | 120 | ||
119 | void TVFilterView::rebuildKeys() | 121 | void 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 | ||
142 | bool TVFilterView::passesFilter(DataElem *d) { | 144 | bool 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 | ||
32 | class TVKEListViewItem : public QListViewItem | 34 | class TVKEListViewItem : public QListViewItem |
33 | { | 35 | { |
34 | public: | 36 | public: |
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 | ||
89 | private: | 91 | private: |
90 | QString name; | 92 | QString name; |
91 | TVVariant::KeyType keyType; | 93 | TVVariant::KeyType keyType; |
92 | int position; | 94 | int position; |
93 | }; | 95 | }; |
94 | 96 | ||
95 | TVKeyEdit::TVKeyEdit(TableState *t, QWidget* parent, const char *name, | 97 | TVKeyEdit::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 | */ |
145 | TVKeyEdit::~TVKeyEdit() | 147 | TVKeyEdit::~TVKeyEdit() |
146 | { | 148 | { |
147 | } | 149 | } |
148 | 150 | ||
149 | /* SLOTS */ | 151 | /* SLOTS */ |
150 | void TVKeyEdit::newTerm() | 152 | void 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 | ||
173 | void TVKeyEdit::updateTerm(const QString &newName) | 175 | void 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 | ||
184 | void TVKeyEdit::updateTerm(int t) | 186 | void 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 | ||
201 | void TVKeyEdit::deleteTerm() | 203 | void 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 | ||
88 | KateViewInternal::KateViewInternal(KateView *view, KateDocument *doc) : QWidget(view) | 89 | KateViewInternal::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 | ||
140 | KateViewInternal::~KateViewInternal() | 141 | KateViewInternal::~KateViewInternal() |
141 | { | 142 | { |
142 | delete [] lineRanges; | 143 | delete [] lineRanges; |
143 | delete drawBuffer; | 144 | delete drawBuffer; |
144 | } | 145 | } |
145 | 146 | ||
146 | 147 | ||
147 | void KateViewInternal::slotPreHighlightUpdate(long line) | 148 | void 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 | ||
2267 | void KateView::configDialog() | 2268 | void 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 | ||
2354 | int KateView::getHl() { | 2354 | int KateView::getHl() { |
2355 | return myDoc->highlightNum(); | 2355 | return myDoc->highlightNum(); |
2356 | } | 2356 | } |
2357 | 2357 | ||
2358 | void KateView::setDontChangeHlOnSave() | 2358 | void KateView::setDontChangeHlOnSave() |
2359 | { | 2359 | { |
2360 | myDoc->setDontChangeHlOnSave(); | 2360 | myDoc->setDontChangeHlOnSave(); |
2361 | } | 2361 | } |
2362 | 2362 | ||
2363 | void KateView::setHl(int n) { | 2363 | void 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 | ||
2369 | int KateView::getEol() { | 2369 | int KateView::getEol() { |
2370 | return myDoc->eolMode; | 2370 | return myDoc->eolMode; |
2371 | } | 2371 | } |
2372 | 2372 | ||
2373 | void KateView::setEol(int eol) { | 2373 | void 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 | ||
2383 | void KateView::paintEvent(QPaintEvent *e) { | 2383 | void 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 */ |
34 | static const char* const file_xpm[]={ | 36 | static 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 */ |
59 | static const char * const link_file_xpm[]={ | 61 | static 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 */ |
89 | static const char * const closed_xpm[]={ | 91 | static 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 */ |
115 | static const char* const cdtoparent_xpm[]={ | 117 | static 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 | ||
134 | ScQtFileEditDlg::ScQtFileEditDlg( QWidget *parent, const char *name, | 136 | ScQtFileEditDlg::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 | ||
185 | ScQtFileEditDlg::~ScQtFileEditDlg() | 187 | ScQtFileEditDlg::~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 | ||
214 | void ScQtFileEditDlg::readIt( ) | 216 | void ScQtFileEditDlg::readIt( ) |
215 | { | 217 | { |
216 | qfil = readDir( bpath, bfilter ); | 218 | qfil = readDir( bpath, bfilter ); |
217 | slotShowDir( ); | 219 | slotShowDir( ); |
218 | } | 220 | } |
219 | 221 | ||
220 | void ScQtFileEditDlg::setAutoExtension( bool ex ) | 222 | void 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() | |||
714 | void ZSafe::slotLoadDocu() | 714 | void ZSafe::slotLoadDocu() |
715 | { | 715 | { |
716 | openDocument (filename); | 716 | openDocument (filename); |
717 | } | 717 | } |
718 | 718 | ||
719 | void ZSafe::deletePwd() | 719 | void 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 | ||
747 | void ZSafe::editPwd() | 747 | void 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 | ||
817 | void ZSafe::newPwd() | 811 | void 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"))); |
842 | retype: | 836 | retype: |
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 | ||
889 | void ZSafe::findPwd() | 877 | void 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 | ||
1200 | void ZSafe::listViewSelected( QListViewItem *_item) | 1183 | void 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 | ||
1230 | bool ZSafe::isCategory(QListViewItem *_item) | 1213 | bool 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 | ||
1242 | void ZSafe::removeAsciiFile() | 1225 | void 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 | ||
120 | KVNC::~KVNC() | 120 | KVNC::~KVNC() |
121 | { | 121 | { |
122 | 122 | ||
123 | } | 123 | } |
124 | 124 | ||
125 | void KVNC::newConnection() | 125 | void 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 | ||
139 | void KVNC::openConnection( QString name) | 138 | void 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 | ||
155 | void KVNC::openConnection( void ) | 152 | void KVNC::openConnection( void ) |
156 | { | 153 | { |
157 | openConnection( bookmarkSelector->selectedBookmark()); | 154 | openConnection( bookmarkSelector->selectedBookmark()); |
158 | } | 155 | } |
159 | 156 | ||
160 | void KVNC::openConnection( QListBoxItem * item) | 157 | void KVNC::openConnection( QListBoxItem * item) |
161 | { | 158 | { |
162 | if (item) | 159 | if (item) |
163 | openConnection(item->text()); | 160 | openConnection(item->text()); |
164 | } | 161 | } |
165 | 162 | ||
166 | void KVNC::setupActions() | 163 | void 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 | ||
201 | void KVNC::toggleFullScreen() | 198 | void 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(); |