summaryrefslogtreecommitdiff
authorzcarsten <zcarsten>2003-08-20 16:57:52 (UTC)
committer zcarsten <zcarsten>2003-08-20 16:57:52 (UTC)
commitfb3e8cda0d2c929278c7ecbf829475f8b1c92956 (patch) (unidiff)
treefa99523aecbfe5b1c7312a6f39aabfc5c727e4a2
parent9845e740ab9707dc77165a236510a9103e372c26 (diff)
downloadopie-fb3e8cda0d2c929278c7ecbf829475f8b1c92956.zip
opie-fb3e8cda0d2c929278c7ecbf829475f8b1c92956.tar.gz
opie-fb3e8cda0d2c929278c7ecbf829475f8b1c92956.tar.bz2
zecke's modifications added
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/zsafe/zsafe.cpp30
1 files changed, 17 insertions, 13 deletions
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp
index 43565ee..ee1da77 100644
--- a/noncore/apps/zsafe/zsafe.cpp
+++ b/noncore/apps/zsafe/zsafe.cpp
@@ -134,643 +134,645 @@ const QString APP_KEY="";
134#include "pics/zsafe/import.xpm" 134#include "pics/zsafe/import.xpm"
135#include "pics/zsafe/zsafe.xpm" 135#include "pics/zsafe/zsafe.xpm"
136 136
137static const char* const bank_cards_data[] = { 137static const char* const bank_cards_data[] = {
138"14 14 16 1", 138"14 14 16 1",
139". c None", 139". c None",
140"# c #000000", 140"# c #000000",
141"b c #0000de", 141"b c #0000de",
142"a c #0000e6", 142"a c #0000e6",
143"j c #41de83", 143"j c #41de83",
144"k c #4acecd", 144"k c #4acecd",
145"h c #4aced5", 145"h c #4aced5",
146"g c #5a40cd", 146"g c #5a40cd",
147"d c #5a44d5", 147"d c #5a44d5",
148"l c #9440d5", 148"l c #9440d5",
149"m c #b4ce4a", 149"m c #b4ce4a",
150"n c #cd4883", 150"n c #cd4883",
151"e c #d5ae10", 151"e c #d5ae10",
152"f c #de3ce6", 152"f c #de3ce6",
153"i c #e640e6", 153"i c #e640e6",
154"c c #ffffff", 154"c c #ffffff",
155"..............", 155"..............",
156".###########..", 156".###########..",
157".#ababababa#..", 157".#ababababa#..",
158".#babbbabbb#..", 158".#babbbabbb#..",
159".#ccccccccc#..", 159".#ccccccccc#..",
160".#cdcefcghc#..", 160".#cdcefcghc#..",
161".#ccccccccc#..", 161".#ccccccccc#..",
162".#cicjkclic#..", 162".#cicjkclic#..",
163".#ccccccccc#..", 163".#ccccccccc#..",
164".#cmchlcnec#..", 164".#cmchlcnec#..",
165".#ccccccccc#..", 165".#ccccccccc#..",
166".###########..", 166".###########..",
167"..............", 167"..............",
168".............."}; 168".............."};
169 169
170 170
171static const char* const passwords_data[] = { 171static const char* const passwords_data[] = {
172"16 16 20 1", 172"16 16 20 1",
173". c None", 173". c None",
174"# c #000000", 174"# c #000000",
175"r c #000083", 175"r c #000083",
176"p c #0000c5", 176"p c #0000c5",
177"q c #0000ff", 177"q c #0000ff",
178"n c #008100", 178"n c #008100",
179"l c #00c200", 179"l c #00c200",
180"m c #00ff00", 180"m c #00ff00",
181"j c #838100", 181"j c #838100",
182"a c #c55900", 182"a c #c55900",
183"h c #c5c200", 183"h c #c5c200",
184"o c #c5c2ff", 184"o c #c5c2ff",
185"k c #c5ffc5", 185"k c #c5ffc5",
186"f c #ff0000", 186"f c #ff0000",
187"d c #ff8100", 187"d c #ff8100",
188"b c #ffaa5a", 188"b c #ffaa5a",
189"e c #ffc2c5", 189"e c #ffc2c5",
190"c c #ffdeac", 190"c c #ffdeac",
191"i c #ffff00", 191"i c #ffff00",
192"g c #ffffc5", 192"g c #ffffc5",
193"............###.", 193"............###.",
194"...........#abb#", 194"...........#abb#",
195"..........#cbab#", 195"..........#cbab#",
196".........#cbdd#.", 196".........#cbdd#.",
197"######..#cbdd#..", 197"######..#cbdd#..",
198"#eeff#..#add#...", 198"#eeff#..#add#...",
199"#eeff#######....", 199"#eeff#######....",
200"#ccdbdd#........", 200"#ccdbdd#........",
201"#dddbdd###......", 201"#dddbdd###......",
202"#gghihhjj#......", 202"#gghihhjj#......",
203"#hhhihhjj###....", 203"#hhhihhjj###....",
204"#kklmllnnnn#....", 204"#kklmllnnnn#....",
205"#lllmllnnnn#....", 205"#lllmllnnnn#....",
206"#oopqpprprr#....", 206"#oopqpprprr#....",
207"#oopqpprprr#....", 207"#oopqpprprr#....",
208"############...."}; 208"############...."};
209 209
210static const char* const software_data[] = { 210static const char* const software_data[] = {
211"16 16 5 1", 211"16 16 5 1",
212". c None", 212". c None",
213"# c #000000", 213"# c #000000",
214"b c #838183", 214"b c #838183",
215"c c #c5ffff", 215"c c #c5ffff",
216"a c #ffffff", 216"a c #ffffff",
217"................", 217"................",
218".##############.", 218".##############.",
219"#aaaaaaaaaaaaaa#", 219"#aaaaaaaaaaaaaa#",
220"#abbbbbbbbbbbbb#", 220"#abbbbbbbbbbbbb#",
221"#ab##########ab#", 221"#ab##########ab#",
222"#ab#c########ab#", 222"#ab#c########ab#",
223"#ab#c#c######ab#", 223"#ab#c#c######ab#",
224"#ab##########ab#", 224"#ab##########ab#",
225"#ab##########ab#", 225"#ab##########ab#",
226"#ab##########ab#", 226"#ab##########ab#",
227"#ab##########ab#", 227"#ab##########ab#",
228"#ab##########ab#", 228"#ab##########ab#",
229"#aaaaaaaaaaaaab#", 229"#aaaaaaaaaaaaab#",
230"#bbbbbbbbbbbbbb#", 230"#bbbbbbbbbbbbbb#",
231".##############.", 231".##############.",
232"................"}; 232"................"};
233 233
234static const char* const general_data[] = { 234static const char* const general_data[] = {
235"14 14 98 2", 235"14 14 98 2",
236"Qt c None", 236"Qt c None",
237".k c #000000", 237".k c #000000",
238"#x c #080808", 238"#x c #080808",
239"#F c #101008", 239"#F c #101008",
240"#q c #101010", 240"#q c #101010",
241"#i c #101410", 241"#i c #101410",
242"## c #101810", 242"## c #101810",
243".m c #181818", 243".m c #181818",
244".3 c #181c18", 244".3 c #181c18",
245".I c #182018", 245".I c #182018",
246".T c #202420", 246".T c #202420",
247"#D c #202820", 247"#D c #202820",
248"#y c #292c29", 248"#y c #292c29",
249".c c #293029", 249".c c #293029",
250".d c #313031", 250".d c #313031",
251"#E c #313429", 251"#E c #313429",
252"#r c #313831", 252"#r c #313831",
253".j c #393c31", 253".j c #393c31",
254"#j c #394039", 254"#j c #394039",
255"#C c #414841", 255"#C c #414841",
256".w c #4a554a", 256".w c #4a554a",
257".a c #4a594a", 257".a c #4a594a",
258".# c #525052", 258".# c #525052",
259".l c #52594a", 259".l c #52594a",
260"#f c #525952", 260"#f c #525952",
261"#v c #525d52", 261"#v c #525d52",
262".O c #5a4c4a", 262".O c #5a4c4a",
263".9 c #5a595a", 263".9 c #5a595a",
264".A c #5a5d52", 264".A c #5a5d52",
265".B c #624c52", 265".B c #624c52",
266".0 c #625552", 266".0 c #625552",
267"#o c #626562", 267"#o c #626562",
268".R c #626962", 268".R c #626962",
269"#. c #626d5a", 269"#. c #626d5a",
270"#p c #626d62", 270"#p c #626d62",
271".2 c #627162", 271".2 c #627162",
272"#h c #6a6d62", 272"#h c #6a6d62",
273"#z c #6a7562", 273"#z c #6a7562",
274"#w c #6a756a", 274"#w c #6a756a",
275".C c #73656a", 275".C c #73656a",
276".P c #73696a", 276".P c #73696a",
277"#a c #737d6a", 277"#a c #737d6a",
278".U c #738573", 278".U c #738573",
279".E c #7b817b", 279".E c #7b817b",
280"#B c #7b857b", 280"#B c #7b857b",
281"#s c #7b897b", 281"#s c #7b897b",
282"#n c #7b917b", 282"#n c #7b917b",
283".b c #838d83", 283".b c #838d83",
284".7 c #839583", 284".7 c #839583",
285".n c #8b7d7b", 285".n c #8b7d7b",
286"#g c #8b8583", 286"#g c #8b8583",
287".g c #8b858b", 287".g c #8b858b",
288".r c #8b898b", 288".r c #8b898b",
289".s c #8b8d8b", 289".s c #8b8d8b",
290".i c #8b9183", 290".i c #8b9183",
291".8 c #8b918b", 291".8 c #8b918b",
292"#A c #8b9d8b", 292"#A c #8b9d8b",
293".S c #8ba183", 293".S c #8ba183",
294".Z c #94918b", 294".Z c #94918b",
295".N c #949994", 295".N c #949994",
296".F c #949d94", 296".F c #949d94",
297".x c #94a18b", 297".x c #94a18b",
298".v c #94a194", 298".v c #94a194",
299".Y c #94aa94", 299".Y c #94aa94",
300".h c #9c999c", 300".h c #9c999c",
301".Q c #9ca19c", 301".Q c #9ca19c",
302"#u c #9ca59c", 302"#u c #9ca59c",
303".H c #9caa9c", 303".H c #9caa9c",
304"#e c #9cb29c", 304"#e c #9cb29c",
305"#m c #a4b29c", 305"#m c #a4b29c",
306"#t c #a4b2a4", 306"#t c #a4b2a4",
307".M c #a4b69c", 307".M c #a4b69c",
308"#l c #a4b6a4", 308"#l c #a4b6a4",
309".z c #a4baa4", 309".z c #a4baa4",
310".f c #aca5ac", 310".f c #aca5ac",
311".q c #acaaac", 311".q c #acaaac",
312"#d c #acbeac", 312"#d c #acbeac",
313".6 c #acc2ac", 313".6 c #acc2ac",
314".o c #b4b2b4", 314".o c #b4b2b4",
315".t c #b4beb4", 315".t c #b4beb4",
316"#k c #b4c2ac", 316"#k c #b4c2ac",
317".5 c #b4cab4", 317".5 c #b4cab4",
318".D c #bdb6bd", 318".D c #bdb6bd",
319".G c #bdc6b4", 319".G c #bdc6b4",
320"#c c #bdceb4", 320"#c c #bdceb4",
321".X c #bdd2bd", 321".X c #bdd2bd",
322".4 c #bdd6bd", 322".4 c #bdd6bd",
323".1 c #c5bec5", 323".1 c #c5bec5",
324".e c #c5c2c5", 324".e c #c5c2c5",
325".u c #c5cac5", 325".u c #c5cac5",
326"#b c #c5d6c5", 326"#b c #c5d6c5",
327".J c #c5dec5", 327".J c #c5dec5",
328".p c #cdcacd", 328".p c #cdcacd",
329".W c #cddecd", 329".W c #cddecd",
330".L c #cde2cd", 330".L c #cde2cd",
331".K c #d5eacd", 331".K c #d5eacd",
332".V c #d5ead5", 332".V c #d5ead5",
333".y c #d5eed5", 333".y c #d5eed5",
334"QtQtQtQtQtQtQtQtQtQtQtQtQtQt", 334"QtQtQtQtQtQtQtQtQtQtQtQtQtQt",
335"QtQtQt.#.a.b.cQtQtQtQtQtQtQt", 335"QtQtQt.#.a.b.cQtQtQtQtQtQtQt",
336"QtQt.d.e.f.g.h.i.c.j.dQt.kQt", 336"QtQt.d.e.f.g.h.i.c.j.dQt.kQt",
337".a.l.m.n.o.p.q.r.s.t.u.v.wQt", 337".a.l.m.n.o.p.q.r.s.t.u.v.wQt",
338".x.y.z.A.B.C.D.p.q.E.F.G.H.I", 338".x.y.z.A.B.C.D.p.q.E.F.G.H.I",
339".I.J.K.L.M.N.O.P.o.p.Q.R.S.T", 339".I.J.K.L.M.N.O.P.o.p.Q.R.S.T",
340"Qt.U.V.L.W.X.Y.Z.0.P.1.s.2.3", 340"Qt.U.V.L.W.X.Y.Z.0.P.1.s.2.3",
341"Qt.3.X.W.4.X.5.6.7.8.9.s#.##", 341"Qt.3.X.W.4.X.5.6.7.8.9.s#.##",
342"QtQt#a.X#b#c.5.6#d#e#f#g#h#i", 342"QtQt#a.X#b#c.5.6#d#e#f#g#h#i",
343"QtQtQt#j.7#k.6#d#l#m#n#o#p#q", 343"QtQtQt#j.7#k.6#d#l#m#n#o#p#q",
344"QtQtQtQt.k#r#s#m#t.H#u#v#w#x", 344"QtQtQtQt.k#r#s#m#t.H#u#v#w#x",
345"QtQtQtQtQtQt.k#y#z.v#A#B#C#x", 345"QtQtQtQtQtQt.k#y#z.v#A#B#C#x",
346"QtQtQtQtQtQtQtQt.k#D.w#s#E.k", 346"QtQtQtQtQtQtQtQt.k#D.w#s#E.k",
347"QtQtQtQtQtQtQtQtQtQtQt#x#FQt"}; 347"QtQtQtQtQtQtQtQtQtQtQt#x#FQt"};
348 348
349// exit ZSafe and clear the clipboard for security reasons 349// exit ZSafe and clear the clipboard for security reasons
350 void ZSafe::exitZs (int ec) 350 void ZSafe::exitZs (int ec)
351 { 351 {
352 QClipboard *cb = QApplication::clipboard(); 352 QClipboard *cb = QApplication::clipboard();
353 cb->clear(); 353 cb->clear();
354 354
355 exit (ec); 355 exit (ec);
356 } 356 }
357 357
358 358
359// save the configuration into the file 359// save the configuration into the file
360 void ZSafe::saveConf () 360 void ZSafe::saveConf ()
361 { 361 {
362 if (conf) 362 if (conf)
363 { 363 {
364 delete conf; 364 delete conf;
365 365
366#ifdef DESKTOP 366#ifdef DESKTOP
367#ifndef WIN32 367#ifndef WIN32
368 conf = new QSettings (); 368 conf = new QSettings ();
369 conf->insertSearchPath (QSettings::Unix, QDir::homeDirPath()); 369 conf->insertSearchPath (QSettings::Unix, QDir::homeDirPath());
370#else 370#else
371 conf = new QSettings (cfgFile); 371 conf = new QSettings (cfgFile);
372 conf->insertSearchPath (QSettings::Unix, cfgFile); 372 conf->insertSearchPath (QSettings::Unix, cfgFile);
373#endif 373#endif
374#else 374#else
375 conf = new Config (cfgFile, Config::File); 375 conf = new Config (cfgFile, Config::File);
376 conf->setGroup ("zsafe"); 376 conf->setGroup ("zsafe");
377#endif 377#endif
378 } 378 }
379 } 379 }
380 380
381 381
382/* 382/*
383 * Constructs a ZSafe which is a child of 'parent', with the 383 * Constructs a ZSafe which is a child of 'parent', with the
384 * name 'name' and widget flags set to 'f' 384 * name 'name' and widget flags set to 'f'
385 * 385 *
386 * The dialog will by default be modeless, unless you set 'modal' to 386 * The dialog will by default be modeless, unless you set 'modal' to
387 * TRUE to construct a modal dialog. 387 * TRUE to construct a modal dialog.
388 */ 388 */
389ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl ) 389ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
390 : QDialog( parent, name, modal, fl ) 390 : QDialog( parent, name, modal, fl ),
391 Edit(0l), Delete(0l), Find(0l), New(0l), ListView(0l)
391{ 392{
392 IsCut = false; 393 IsCut = false;
393 IsCopy = false; 394 IsCopy = false;
394 modified = false; 395 modified = false;
395 396
396 // set the config file 397 // set the config file
397 cfgFile=QDir::homeDirPath(); 398 cfgFile=QDir::homeDirPath();
398 cfgFile += "/.zsafe.cfg"; 399 cfgFile += "/.zsafe.cfg";
399 // set the icon path 400 // set the icon path
401#ifdef NO_OPIE
400 QString qpedir ((const char *)getenv("QPEDIR")); 402 QString qpedir ((const char *)getenv("QPEDIR"));
403#else
404 QString qpedir ((const char *)getenv("OPIEDIR"));
405#endif
406
401#ifdef DESKTOP 407#ifdef DESKTOP
402 iconPath = QDir::homeDirPath() + "/pics/"; 408 iconPath = QDir::homeDirPath() + "/pics/";
403#else 409#else
404 if (qpedir.isEmpty()) 410 if (qpedir.isEmpty())
405 iconPath = "/home/QtPalmtop/pics/"; 411 iconPath = "/home/QtPalmtop/pics/";
406 else 412 else
407 iconPath = qpedir + "/pics/"; 413 iconPath = qpedir + "/pics/";
408#endif 414#endif
409 415
410 // create a zsafe configuration object 416 // create a zsafe configuration object
411#ifdef DESKTOP 417#ifdef DESKTOP
412#ifndef WIN32 418#ifndef WIN32
413 conf = new QSettings (); 419 conf = new QSettings ();
414 conf->insertSearchPath (QSettings::Unix, QDir::homeDirPath()); 420 conf->insertSearchPath (QSettings::Unix, QDir::homeDirPath());
415#else 421#else
416 conf = new QSettings (cfgFile); 422 conf = new QSettings (cfgFile);
417 conf->insertSearchPath (QSettings::Unix, cfgFile); 423 conf->insertSearchPath (QSettings::Unix, cfgFile);
418#endif 424#endif
419#else 425#else
420 conf = new Config (cfgFile, Config::File); 426 conf = new Config (cfgFile, Config::File);
421 conf->setGroup ("zsafePrefs"); 427 conf->setGroup ("zsafePrefs");
422#endif 428#endif
423#ifdef DESKTOP 429#ifdef DESKTOP
424// #ifndef WIN32 430// #ifndef WIN32
425 expandTree = conf->readBoolEntry(APP_KEY+"expandTree", false); 431 expandTree = conf->readBoolEntry(APP_KEY+"expandTree", false);
426// #endif 432// #endif
427#else 433#else
428 expandTree = conf->readNumEntry(APP_KEY+"expandTree", 0); 434 expandTree = conf->readNumEntry(APP_KEY+"expandTree", 0);
429#endif 435#endif
430#ifndef DESKTOP 436#ifndef DESKTOP
431 conf->setGroup ("zsafe"); 437 conf->setGroup ("zsafe");
432#endif 438#endif
433 439
434 QPixmap copy_img((const char**) copy_xpm); 440 QPixmap copy_img((const char**) copy_xpm);
435 QPixmap cut_img((const char**) cut_xpm); 441 QPixmap cut_img((const char**) cut_xpm);
436 QPixmap edit_img((const char**) edit_xpm); 442 QPixmap edit_img((const char**) edit_xpm);
437 QPixmap editdelete_img((const char**) editdelete_xpm); 443 QPixmap editdelete_img((const char**) editdelete_xpm);
438 QPixmap find_img((const char**) find_xpm); 444 QPixmap find_img((const char**) find_xpm);
439 QPixmap folder_open_img((const char**) folder_open_xpm); 445 QPixmap folder_open_img((const char**) folder_open_xpm);
440 QPixmap help_icon_img((const char**) help_icon_xpm); 446 QPixmap help_icon_img((const char**) help_icon_xpm);
441 QPixmap new_img((const char**) new_xpm); 447 QPixmap new_img((const char**) new_xpm);
442 QPixmap paste_img((const char**) paste_xpm); 448 QPixmap paste_img((const char**) paste_xpm);
443 QPixmap quit_icon_img((const char**) quit_icon_xpm); 449 QPixmap quit_icon_img((const char**) quit_icon_xpm);
444 QPixmap save_img((const char**) save_xpm); 450 QPixmap save_img((const char**) save_xpm);
445 QPixmap trash_img((const char**) trash_xpm); 451 QPixmap trash_img((const char**) trash_xpm);
446 QPixmap expand_img((const char**) expand_xpm); 452 QPixmap expand_img((const char**) expand_xpm);
447 QPixmap export_img((const char**) export_xpm); 453 QPixmap export_img((const char**) export_xpm);
448 QPixmap import_img((const char**) import_xpm); 454 QPixmap import_img((const char**) import_xpm);
449 455
450 QPixmap bank_cards( ( const char** ) bank_cards_data ); 456 QPixmap bank_cards( ( const char** ) bank_cards_data );
451 QPixmap passwords( ( const char** ) passwords_data ); 457 QPixmap passwords( ( const char** ) passwords_data );
452 QPixmap software( ( const char** ) software_data ); 458 QPixmap software( ( const char** ) software_data );
453 QPixmap general( ( const char** ) general_data ); 459 QPixmap general( ( const char** ) general_data );
454 if ( !name ) 460 if ( !name )
455 setName( "ZSafe" ); 461 setName( "ZSafe" );
456 462
457#ifdef DESKTOP 463#ifdef DESKTOP
458#ifdef WIN32 464#ifdef WIN32
459 setGeometry(100, 150, DeskW, DeskH-30 ); 465 setGeometry(100, 150, DeskW, DeskH-30 );
460#else 466#else
461 resize( DeskW, DeskH-30 ); 467 resize( DeskW, DeskH-30 );
462#endif 468#endif
463 469
464#else 470#else
465 471
466#ifdef JPATCH_HDE 472#ifdef JPATCH_HDE
467 int DeskS; 473 int DeskS;
468 if(DeskW > DeskH) 474 if(DeskW > DeskH)
469 { 475 {
470 DeskS = DeskW; 476 DeskS = DeskW;
471 } 477 }
472 else 478 else
473 { 479 {
474 DeskS = DeskH; 480 DeskS = DeskH;
475 } 481 }
476 resize( DeskW, DeskH ); 482 resize( DeskW, DeskH );
477 setMinimumSize( QSize( DeskS, DeskS ) ); 483 setMinimumSize( QSize( DeskS, DeskS ) );
478 setMaximumSize( QSize( DeskS, DeskS ) ); 484 setMaximumSize( QSize( DeskS, DeskS ) );
479#else 485#else
480 resize( DeskW, DeskH-30 ); 486 resize( DeskW, DeskH-30 );
481#endif 487#endif
482 488
483#endif 489#endif
484 // setCaption( tr( "ZSafe" ) ); 490 // setCaption( tr( "ZSafe" ) );
485 491
486 filename = conf->readEntry(APP_KEY+"document"); 492 filename = conf->readEntry(APP_KEY+"document");
487 if (filename.isEmpty() || filename.isNull()) 493 if (filename.isEmpty() || filename.isNull())
488 { 494 {
489 495
490 // check if the directory application exists, if not 496 // check if the directory application exists, if not
491 // create it 497 // create it
492// #ifndef WIN32 498// #ifndef WIN32
493 // QString d1("Documents/application"); 499 // QString d1("Documents/application");
494// #else 500// #else
495 QString d1(QDir::homeDirPath() + "/Documents/application"); 501 QString d1(QDir::homeDirPath() + "/Documents/application");
496// #endif 502// #endif
497 QDir pd1(d1); 503 QDir pd1(d1);
498 if (!pd1.exists()) 504 if (!pd1.exists())
499 { 505 {
500 QDir pd1("Documents"); 506 QDir pd1("Documents");
501 if (!pd1.mkdir("application", FALSE)) 507 if (!pd1.mkdir("application", FALSE))
502 { 508 {
503 QMessageBox::critical( 0, tr("ZSafe"), 509 QMessageBox::critical( 0, tr("ZSafe"),
504#ifdef JPATCH_HDE 510#ifdef JPATCH_HDE
505 tr("Can't create directory\n.../Documents/application\n\nZSafe will now exit.")); 511 tr("Can't create directory\n.../Documents/application\n\nZSafe will now exit."));
506#else 512#else
507 tr("Can't create directory\n%1\n\nZSafe will now exit.").arg(d1)); 513 tr("Can't create directory\n%1\n\nZSafe will now exit.").arg(d1));
508#endif 514#endif
509 exitZs (1); 515 exitZs (1);
510 } 516 }
511 } 517 }
512// #ifndef WIN32 518 QString d2(QDir::homeDirPath() + "/Documents/application/zsafe");
513 // QString d2("Documents/application/zsafe");
514// #else
515 QString d2(QDir::homeDirPath() + "/Documents/application/zsafe");
516// #endif
517 QDir pd2(d2); 519 QDir pd2(d2);
518 if (!pd2.exists()) 520 if (!pd2.exists())
519 { 521 {
520 QDir pd2("Documents/application"); 522 QDir pd2(QDir::homeDirPath() + "Documents/application");
521 if (!pd2.mkdir("zsafe", FALSE)) 523 if (!pd2.mkdir("zsafe", FALSE))
522 { 524 {
523 QMessageBox::critical( 0, tr("ZSafe"), 525 QMessageBox::critical( 0, tr("ZSafe"),
524#ifdef JPATCH_HDE 526#ifdef JPATCH_HDE
525 tr("Can't create directory\n...//Documents/application/zsafe\n\nZSafe will now exit.")); 527 tr("Can't create directory\n...//Documents/application/zsafe\n\nZSafe will now exit."));
526#else 528#else
527 tr("Can't create directory\n%1\n\nZSafe will now exit.").arg(d2)); 529 tr("Can't create directory\n%1\n\nZSafe will now exit.").arg(d2));
528#endif 530#endif
529 exitZs (1); 531 exitZs (1);
530 } 532 }
531 } 533 }
532 534
533 535
534 // set the default filename 536 // set the default filename
535 filename=d2 + "/passwords.zsf"; 537 filename=d2 + "/passwords.zsf";
536 538
537 // save the current filename to the config file 539 // save the current filename to the config file
538 conf->writeEntry(APP_KEY+"document", filename); 540 conf->writeEntry(APP_KEY+"document", filename);
539 saveConf(); 541 saveConf();
540 } 542 }
541 543
542 //if (filename == "INVALIDPWD") 544 //if (filename == "INVALIDPWD")
543 //filename = ""; 545 //filename = "";
544 546
545 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1); 547 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1);
546#ifdef WIN32 548#ifdef WIN32
547 this->setCaption("Qt ZSafe: " + ti); 549 this->setCaption("Qt ZSafe: " + ti);
548#else 550#else
549 this->setCaption("ZSafe: " + ti); 551 this->setCaption("ZSafe: " + ti);
550#endif 552#endif
551 553
552 selectedItem = NULL; 554 selectedItem = NULL;
553 lastSearchedCategory = NULL; 555 lastSearchedCategory = NULL;
554 lastSearchedItem = NULL; 556 lastSearchedItem = NULL;
555 lastSearchedName = ""; 557 lastSearchedName = "";
556 lastSearchedUsername = ""; 558 lastSearchedUsername = "";
557 lastSearchedComment = ""; 559 lastSearchedComment = "";
558 560
559 infoForm = new InfoForm(); 561 infoForm = new InfoForm();
560 categoryDialog = NULL; 562 categoryDialog = NULL;
561 563
562 // add a menu bar 564 // add a menu bar
563 QMenuBar *menu = new QMenuBar( this ); 565 QMenuBar *menu = new QMenuBar( this );
564 566
565 // add file menu 567 // add file menu
566 // QPopupMenu *file = new QPopupMenu( this ); 568 // QPopupMenu *file = new QPopupMenu( this );
567 file = new QPopupMenu( this ); 569 file = new QPopupMenu( this );
568 570
569// #ifdef DESKTOP 571// #ifdef DESKTOP
570 file->insertItem( new_img, tr("&New document"), this, SLOT(newDocument()) ); 572 file->insertItem( new_img, tr("&New document"), this, SLOT(newDocument()) );
571 file->insertItem( folder_open_img, tr("&Open document"), this, SLOT(loadDocument()) ); 573 file->insertItem( folder_open_img, tr("&Open document"), this, SLOT(loadDocument()) );
572 file->insertItem( save_img, tr("&Save document as .."), this, SLOT(saveDocumentAs()) ); 574 file->insertItem( save_img, tr("&Save document as .."), this, SLOT(saveDocumentAs()) );
573 file->insertSeparator(); 575 file->insertSeparator();
574// #endif 576// #endif
575 577
576 file->insertItem( save_img, tr("&Save document"), this, SLOT(saveDocumentWithoutPwd()) ); 578 file->insertItem( save_img, tr("&Save document"), this, SLOT(saveDocumentWithoutPwd()) );
577 file->insertItem( save_img, tr("S&ave document with new Password"), this, 579 file->insertItem( save_img, tr("S&ave document with new Password"), this,
578 SLOT(saveDocumentWithPwd()) ); 580 SLOT(saveDocumentWithPwd()) );
579 file->insertSeparator(); 581 file->insertSeparator();
580 file->insertItem( export_img, tr("&Export text file"), this, SLOT(writeAllEntries()) ); 582 file->insertItem( export_img, tr("&Export text file"), this, SLOT(writeAllEntries()) );
581 file->insertItem( import_img, tr("&Import text file"), this, SLOT(readAllEntries()) ); 583 file->insertItem( import_img, tr("&Import text file"), this, SLOT(readAllEntries()) );
582 file->insertItem( trash_img, tr("&Remove text file"), this, SLOT(removeAsciiFile()) ); 584 file->insertItem( trash_img, tr("&Remove text file"), this, SLOT(removeAsciiFile()) );
583 file->insertSeparator(); 585 file->insertSeparator();
584 file->insertItem( expand_img, tr("&Open entries expanded"), this, 586 file->insertItem( expand_img, tr("&Open entries expanded"), this,
585 SLOT(setExpandFlag()), 0, 'o'); 587 SLOT(setExpandFlag()), 0, 'o');
586 file->setItemChecked('o', expandTree); 588 file->setItemChecked('o', expandTree);
587 file->insertSeparator(); 589 file->insertSeparator();
588 file->insertItem( quit_icon_img, tr("E&xit"), this, SLOT(quitMe()) ); 590 file->insertItem( quit_icon_img, tr("E&xit"), this, SLOT(quitMe()) );
589 menu->insertItem( tr("&File"), file ); 591 menu->insertItem( tr("&File"), file );
590 592
591 QPopupMenu *cat = new QPopupMenu( this ); 593 QPopupMenu *cat = new QPopupMenu( this );
592 cat->insertItem( new_img, tr("&New"), this, SLOT(addCategory()) ); 594 cat->insertItem( new_img, tr("&New"), this, SLOT(addCategory()) );
593 cat->insertItem( edit_img, tr("&Edit"), this, SLOT(editCategory()) ); 595 cat->insertItem( edit_img, tr("&Edit"), this, SLOT(editCategory()) );
594 cat->insertItem( trash_img, tr("&Delete"), this, SLOT(delCategory()) ); 596 cat->insertItem( trash_img, tr("&Delete"), this, SLOT(delCategory()) );
595 menu->insertItem( tr("&Category"), cat ); 597 menu->insertItem( tr("&Category"), cat );
596 598
597 QPopupMenu *it = new QPopupMenu( this ); 599 QPopupMenu *it = new QPopupMenu( this );
598 it->insertItem( cut_img, tr("&Cut"), this, SLOT(cutItem()) ); 600 it->insertItem( cut_img, tr("&Cut"), this, SLOT(cutItem()) );
599 it->insertItem( copy_img, tr("C&opy"), this, SLOT(copyItem()) ); 601 it->insertItem( copy_img, tr("C&opy"), this, SLOT(copyItem()) );
600 it->insertItem( paste_img, tr("&Paste"), this, SLOT(pasteItem()) ); 602 it->insertItem( paste_img, tr("&Paste"), this, SLOT(pasteItem()) );
601 it->insertSeparator(); 603 it->insertSeparator();
602 it->insertItem( new_img, tr("&New"), this, SLOT(newPwd()) ); 604 it->insertItem( new_img, tr("&New"), this, SLOT(newPwd()) );
603 it->insertItem( edit_img, tr("&Edit"), this, SLOT(editPwd()) ); 605 it->insertItem( edit_img, tr("&Edit"), this, SLOT(editPwd()) );
604 it->insertItem( trash_img, tr("&Delete"), this, SLOT(deletePwd()) ); 606 it->insertItem( trash_img, tr("&Delete"), this, SLOT(deletePwd()) );
605 it->insertItem( find_img, tr("&Search"), this, SLOT(findPwd()) ); 607 it->insertItem( find_img, tr("&Search"), this, SLOT(findPwd()) );
606 menu->insertItem( tr("&Entry"), it ); 608 menu->insertItem( tr("&Entry"), it );
607 609
608 QPopupMenu *help = new QPopupMenu( this ); 610 QPopupMenu *help = new QPopupMenu( this );
609 help->insertItem( help_icon_img, tr("&About"), this, SLOT(about()) ); 611 help->insertItem( help_icon_img, tr("&About"), this, SLOT(about()) );
610 menu->insertItem( tr("&Help"), help ); 612 menu->insertItem( tr("&Help"), help );
611 613
612 // toolbar icons 614 // toolbar icons
613 615
614 New = new QToolButton( menu, "New" ); 616 New = new QToolButton( menu, "New" );
615 New->setGeometry( QRect( DeskW-84, 2, 20, 20 ) ); 617 New->setGeometry( QRect( DeskW-84, 2, 20, 20 ) );
616 New->setMouseTracking( TRUE ); 618 New->setMouseTracking( TRUE );
617 New->setText( tr( "" ) ); 619 New->setText( tr( "" ) );
618 New->setPixmap( new_img ); 620 New->setPixmap( new_img );
619 QToolTip::add( New, tr( "New entry" ) ); 621 QToolTip::add( New, tr( "New entry" ) );
620 622
621 Edit = new QToolButton( menu, "Edit" ); 623 Edit = new QToolButton( menu, "Edit" );
622 Edit->setGeometry( QRect( DeskW-64, 2, 20, 20 ) ); 624 Edit->setGeometry( QRect( DeskW-64, 2, 20, 20 ) );
623 Edit->setText( tr( "" ) ); 625 Edit->setText( tr( "" ) );
624 Edit->setPixmap( edit_img ); 626 Edit->setPixmap( edit_img );
625 QToolTip::add( Edit, tr( "Edit category or entry" ) ); 627 QToolTip::add( Edit, tr( "Edit category or entry" ) );
626 628
627 Delete = new QToolButton( menu, "Delete" ); 629 Delete = new QToolButton( menu, "Delete" );
628 Delete->setGeometry( QRect( DeskW-44, 2, 20, 20 ) ); 630 Delete->setGeometry( QRect( DeskW-44, 2, 20, 20 ) );
629 Delete->setText( tr( "" ) ); 631 Delete->setText( tr( "" ) );
630 Delete->setPixmap( trash_img ); 632 Delete->setPixmap( trash_img );
631 QToolTip::add( Delete, tr( "Delete category or entry" ) ); 633 QToolTip::add( Delete, tr( "Delete category or entry" ) );
632 634
633 Find = new QToolButton( menu, "Find" ); 635 Find = new QToolButton( menu, "Find" );
634 Find->setGeometry( QRect( DeskW-24, 2, 20, 20 ) ); 636 Find->setGeometry( QRect( DeskW-24, 2, 20, 20 ) );
635 Find->setText( tr( "" ) ); 637 Find->setText( tr( "" ) );
636 Find->setPixmap( find_img ); 638 Find->setPixmap( find_img );
637 QToolTip::add( Find, tr( "Find entry" ) ); 639 QToolTip::add( Find, tr( "Find entry" ) );
638 640
639/* 641/*
640 QBoxLayout * h = new QHBoxLayout( this ); 642 QBoxLayout * h = new QHBoxLayout( this );
641 h->addWidget (menu); 643 h->addWidget (menu);
642 h->addWidget (New); 644 h->addWidget (New);
643 h->addWidget (Edit); 645 h->addWidget (Edit);
644 h->addWidget (Delete); 646 h->addWidget (Delete);
645 h->addWidget (Find); 647 h->addWidget (Find);
646*/ 648*/
647 649
648 ListView = new ZListView( this, "ListView" ); 650 ListView = new ZListView( this, "ListView" );
649 ListView->addColumn( tr( "Name" ) ); 651 ListView->addColumn( tr( "Name" ) );
650 ListView->addColumn( tr( "Field 2" ) ); 652 ListView->addColumn( tr( "Field 2" ) );
651 ListView->addColumn( tr( "Field 3" ) ); 653 ListView->addColumn( tr( "Field 3" ) );
652 ListView->addColumn( tr( "Comment" ) ); 654 ListView->addColumn( tr( "Comment" ) );
653 ListView->addColumn( tr( "Field 4" ) ); 655 ListView->addColumn( tr( "Field 4" ) );
654 ListView->addColumn( tr( "Field 5" ) ); 656 ListView->addColumn( tr( "Field 5" ) );
655 ListView->setAllColumnsShowFocus(TRUE); 657 ListView->setAllColumnsShowFocus(TRUE);
656 658
657#ifdef DESKTOP 659#ifdef DESKTOP
658 ListView->setResizePolicy(QScrollView::AutoOneFit); 660 ListView->setResizePolicy(QScrollView::AutoOneFit);
659 // ListView->setGeometry( QRect( 0, 22, this->width(), this->height() - 30 ) ); 661 // ListView->setGeometry( QRect( 0, 22, this->width(), this->height() - 30 ) );
660#else 662#else
661 ListView->setResizePolicy(QScrollView::AutoOneFit); 663 ListView->setResizePolicy(QScrollView::AutoOneFit);
662 // ListView->setGeometry( QRect( 0, 22, 664 // ListView->setGeometry( QRect( 0, 22,
663 // this->width(), this->height() - 30 ) ); 665 // this->width(), this->height() - 30 ) );
664 // ListView->setMaximumSize( QSize( 440, 290 ) ); 666 // ListView->setMaximumSize( QSize( 440, 290 ) );
665#endif 667#endif
666 ListView->setVScrollBarMode( QListView::Auto ); 668 ListView->setVScrollBarMode( QListView::Auto );
667 669
668 QBoxLayout * l = new QVBoxLayout( this ); 670 QBoxLayout * l = new QVBoxLayout( this );
669 l->addWidget (menu); 671 l->addWidget (menu);
670 l->addWidget (ListView); 672 l->addWidget (ListView);
671 673
672#ifndef DESKTOP 674#ifndef DESKTOP
673 // start a timer (100 ms) to load the default document 675 // start a timer (100 ms) to load the default document
674 docuTimer.start( 100, true ); 676 docuTimer.start( 100, true );
675 connect( &docuTimer, SIGNAL(timeout()), SLOT( slotLoadDocu() ) ); 677 connect( &docuTimer, SIGNAL(timeout()), SLOT( slotLoadDocu() ) );
676 raiseFlag = true; 678 raiseFlag = true;
677 connect( &raiseTimer, SIGNAL(timeout()), SLOT( slotRaiseTimer() ) ); 679 connect( &raiseTimer, SIGNAL(timeout()), SLOT( slotRaiseTimer() ) );
678#else 680#else
679 // open the default document 681 // open the default document
680 openDocument(filename); 682 openDocument(filename);
681#endif 683#endif
682 684
683 // signals and slots connections for QTollButton 685 // signals and slots connections for QTollButton
684 connect( New, SIGNAL( clicked() ), this, SLOT( newPwd() ) ); 686 connect( New, SIGNAL( clicked() ), this, SLOT( newPwd() ) );
685 connect( Edit, SIGNAL( clicked() ), this, SLOT( editPwd() ) ); 687 connect( Edit, SIGNAL( clicked() ), this, SLOT( editPwd() ) );
686 connect( Delete, SIGNAL( clicked() ), this, SLOT( deletePwd() ) ); 688 connect( Delete, SIGNAL( clicked() ), this, SLOT( deletePwd() ) );
687 connect( Find, SIGNAL( clicked() ), this, SLOT( findPwd() ) ); 689 connect( Find, SIGNAL( clicked() ), this, SLOT( findPwd() ) );
688 // signals and slots connections for QListView 690 // signals and slots connections for QListView
689 connect( ListView, SIGNAL( selectionChanged( QListViewItem* ) ), 691 connect( ListView, SIGNAL( selectionChanged( QListViewItem* ) ),
690 this, SLOT( listViewSelected( QListViewItem* ) ) ); 692 this, SLOT( listViewSelected( QListViewItem* ) ) );
691 connect( ListView, SIGNAL( doubleClicked( QListViewItem* ) ), 693 connect( ListView, SIGNAL( doubleClicked( QListViewItem* ) ),
692 this, SLOT( showInfo( QListViewItem* ) ) ); 694 this, SLOT( showInfo( QListViewItem* ) ) );
693 connect( ListView, SIGNAL( returnPressed( QListViewItem* ) ), 695 connect( ListView, SIGNAL( returnPressed( QListViewItem* ) ),
694 this, SLOT( showInfo( QListViewItem* ) ) ); 696 this, SLOT( showInfo( QListViewItem* ) ) );
695 697
696} 698}
697 699
698const QColor *ZSafe::evenRowColor = &Qt::white; 700const QColor *ZSafe::evenRowColor = &Qt::white;
699// const QColor *ZSafe::oddRowColor = &Qt::lightGray; 701// const QColor *ZSafe::oddRowColor = &Qt::lightGray;
700const QColor *ZSafe::oddRowColor = new QColor(216,240,255); 702const QColor *ZSafe::oddRowColor = new QColor(216,240,255);
701 703
702/* 704/*
703 * Destroys the object and frees any allocated resources 705 * Destroys the object and frees any allocated resources
704 */ 706 */
705ZSafe::~ZSafe() 707ZSafe::~ZSafe()
706{ 708{
707 // no need to delete child widgets, Qt does it all for us 709 // no need to delete child widgets, Qt does it all for us
708 quitMe(); 710 quitMe();
709} 711}
710 712
711// load the default document 713// load the default document
712void ZSafe::slotLoadDocu() 714void ZSafe::slotLoadDocu()
713{ 715{
714 openDocument (filename); 716 openDocument (filename);
715} 717}
716 718
717void ZSafe::deletePwd() 719void ZSafe::deletePwd()
718{ 720{
719 721
720 if (!selectedItem) 722 if (!selectedItem)
721 return; 723 return;
722 if (!isCategory(selectedItem)) 724 if (!isCategory(selectedItem))
723 { 725 {
724 switch( QMessageBox::information( this, tr("ZSafe"), 726 switch( QMessageBox::information( this, tr("ZSafe"),
725 tr("Do you want to delete?"), 727 tr("Do you want to delete?"),
726 tr("&Delete"), tr("D&on't Delete"), 728 tr("&Delete"), tr("D&on't Delete"),
727 0 // Enter == button 0 729 0 // Enter == button 0
728 ) ) { // Escape == button 2 730 ) ) { // Escape == button 2
729 case 0: // Delete clicked, Alt-S or Enter pressed. 731 case 0: // Delete clicked, Alt-S or Enter pressed.
730 // Delete 732 // Delete
731 modified = true; 733 modified = true;
732 selectedItem->parent()->takeItem(selectedItem); 734 selectedItem->parent()->takeItem(selectedItem);
733 selectedItem = NULL; 735 selectedItem = NULL;
734 break; 736 break;
735 case 1: // Don't delete 737 case 1: // Don't delete
736 break; 738 break;
737 } 739 }
738 } 740 }
739 else 741 else
740 { 742 {
741 delCategory(); 743 delCategory();
742 } 744 }
743} 745}
744 746
745void ZSafe::editPwd() 747void ZSafe::editPwd()
746{ 748{
747 if (!selectedItem) 749 if (!selectedItem)
748 return; 750 return;
749 if (!isCategory(selectedItem)) 751 if (!isCategory(selectedItem))
750 { 752 {
751 // open the 'New Entry' dialog 753 // open the 'New Entry' dialog
752 NewDialog *dialog = new NewDialog(this, tr("Edit Entry"), TRUE); 754 NewDialog *dialog = new NewDialog(this, tr("Edit Entry"), TRUE);
753#ifdef WIN32 755#ifdef WIN32
754 dialog->setCaption ("Qt " + tr("Edit Entry")); 756 dialog->setCaption ("Qt " + tr("Edit Entry"));
755 dialog->setGeometry(200, 250, 220, 310 ); 757 dialog->setGeometry(200, 250, 220, 310 );
756#endif 758#endif
757 759
758 // set the labels 760 // set the labels
759 dialog->Name->setText(getFieldLabel (selectedItem, "1", tr("Name"))); 761 dialog->Name->setText(getFieldLabel (selectedItem, "1", tr("Name")));
760 dialog->Username->setText(getFieldLabel (selectedItem, "2", tr("Username"))); 762 dialog->Username->setText(getFieldLabel (selectedItem, "2", tr("Username")));
761 dialog->Password->setText(getFieldLabel (selectedItem, "3", tr("Password"))); 763 dialog->Password->setText(getFieldLabel (selectedItem, "3", tr("Password")));
762 dialog->Comment->setText(getFieldLabel (selectedItem, "4", tr("Comment"))); 764 dialog->Comment->setText(getFieldLabel (selectedItem, "4", tr("Comment")));
763 dialog->Field5Label->setText(getFieldLabel (selectedItem,"5", tr("Field 4"))); 765 dialog->Field5Label->setText(getFieldLabel (selectedItem,"5", tr("Field 4")));
764 dialog->Field6Label->setText(getFieldLabel (selectedItem,"6", tr("Field 5"))); 766 dialog->Field6Label->setText(getFieldLabel (selectedItem,"6", tr("Field 5")));
765 767
766 // set the fields 768 // set the fields
767 dialog->NameField->setText(selectedItem->text (0)); 769 dialog->NameField->setText(selectedItem->text (0));
768 dialog->UsernameField->setText(selectedItem->text (1)); 770 dialog->UsernameField->setText(selectedItem->text (1));
769 dialog->PasswordField->setText(selectedItem->text (2)); 771 dialog->PasswordField->setText(selectedItem->text (2));
770 QString comment = selectedItem->text (3); 772 QString comment = selectedItem->text (3);
771 comment.replace (QRegExp("<br>"), "\n"); 773 comment.replace (QRegExp("<br>"), "\n");
772 dialog->Field5->setText(selectedItem->text (4)); 774 dialog->Field5->setText(selectedItem->text (4));
773 dialog->Field6->setText(selectedItem->text (5)); 775 dialog->Field6->setText(selectedItem->text (5));
774 dialog->CommentField->insertLine(comment); 776 dialog->CommentField->insertLine(comment);
775 dialog->CommentField->setCursorPosition(0,0); 777 dialog->CommentField->setCursorPosition(0,0);
776#ifdef DESKTOP 778#ifdef DESKTOP
@@ -3394,351 +3396,353 @@ void ZSafe::newDocument()
3394 categories.clear(); 3396 categories.clear();
3395 3397
3396 // m_password = ""; 3398 // m_password = "";
3397 selectedItem = NULL; 3399 selectedItem = NULL;
3398 3400
3399 filename = newFile; 3401 filename = newFile;
3400 3402
3401 // save the current filename to the config file 3403 // save the current filename to the config file
3402 conf->writeEntry(APP_KEY+"document", filename); 3404 conf->writeEntry(APP_KEY+"document", filename);
3403 saveConf(); 3405 saveConf();
3404 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1); 3406 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1);
3405#ifdef WIN32 3407#ifdef WIN32
3406 this->setCaption("Qt ZSafe: " + ti); 3408 this->setCaption("Qt ZSafe: " + ti);
3407#else 3409#else
3408 this->setCaption("ZSafe: " + ti); 3410 this->setCaption("ZSafe: " + ti);
3409#endif 3411#endif
3410 3412
3411 // openDocument(filename); 3413 // openDocument(filename);
3412 3414
3413 QMessageBox::information( this, tr("ZSafe"), 3415 QMessageBox::information( this, tr("ZSafe"),
3414 tr("Now you have to enter\na password twice for your\nnewly created document."), tr("&OK"), 0); 3416 tr("Now you have to enter\na password twice for your\nnewly created document."), tr("&OK"), 0);
3415 3417
3416 saveDocumentWithPwd(); 3418 saveDocumentWithPwd();
3417 } 3419 }
3418} 3420}
3419 3421
3420void ZSafe::loadDocument() 3422void ZSafe::loadDocument()
3421{ 3423{
3422 3424
3423 // open the file dialog 3425 // open the file dialog
3424#ifndef DESKTOP 3426#ifndef DESKTOP
3425#ifndef NO_OPIE 3427#ifndef NO_OPIE
3426 QMap<QString, QStringList> mimeTypes; 3428 QMap<QString, QStringList> mimeTypes;
3427 mimeTypes.insert(tr("All"), QStringList() ); 3429 mimeTypes.insert(tr("All"), QStringList() );
3428 mimeTypes.insert(tr("ZSafe"), "zsafe/*" ); 3430 mimeTypes.insert(tr("ZSafe"), "zsafe/*" );
3429 QString newFile = OFileDialog::getOpenFileName( OFileSelector::EXTENDED_ALL, 3431 QString newFile = OFileDialog::getOpenFileName( OFileSelector::EXTENDED_ALL,
3430 QDir::homeDirPath() + "/Documents/application/zsafe", 3432 QDir::homeDirPath() + "/Documents/application/zsafe",
3431 QString::null, 3433 QString::null,
3432 mimeTypes, 3434 mimeTypes,
3433 this, 3435 this,
3434 tr ("Open ZSafe document")); 3436 tr ("Open ZSafe document"));
3435#else 3437#else
3436 QString newFile = ScQtFileEdit::getOpenFileName(this, 3438 QString newFile = ScQtFileEdit::getOpenFileName(this,
3437 tr ("Open ZSafe document"), 3439 tr ("Open ZSafe document"),
3438 QDir::homeDirPath() + "/Documents/application/zsafe", 3440 QDir::homeDirPath() + "/Documents/application/zsafe",
3439 "*.zsf"); 3441 "*.zsf");
3440#endif 3442#endif
3441#else 3443#else
3442 QString newFile = QFileDialog::getOpenFileName( 3444 QString newFile = QFileDialog::getOpenFileName(
3443 QDir::homeDirPath() + "/Documents/application/zsafe", 3445 QDir::homeDirPath() + "/Documents/application/zsafe",
3444 "ZSafe (*.zsf)", 3446 "ZSafe (*.zsf)",
3445 this, 3447 this,
3446 "ZSafe File Dialog" 3448 "ZSafe File Dialog"
3447 "Choose a ZSafe file" ); 3449 "Choose a ZSafe file" );
3448#endif 3450#endif
3449 3451
3450 // open the new document 3452 // open the new document
3451 if (newFile && newFile.length() > 0 ) 3453 if (newFile && newFile.length() > 0 )
3452 { 3454 {
3453 // save the previous opened document 3455 // save the previous opened document
3454 if (!filename.isEmpty()) 3456 if (!filename.isEmpty())
3455 saveDocument(filename, FALSE); 3457 saveDocument(filename, FALSE);
3456 3458
3457 // clear the password list 3459 // clear the password list
3458 QListViewItem *i; 3460 QListViewItem *i;
3459 QListViewItem *c = NULL; 3461 QListViewItem *c = NULL;
3460 // step through all categories 3462 // step through all categories
3461 for (i = ListView->firstChild(); 3463 for (i = ListView->firstChild();
3462 i != NULL; 3464 i != NULL;
3463 i = i->nextSibling()) 3465 i = i->nextSibling())
3464 { 3466 {
3465 if (c) delete c; // delete the previous category 3467 if (c) delete c; // delete the previous category
3466 3468
3467 c = i; 3469 c = i;
3468 // step through all subitems 3470 // step through all subitems
3469 QListViewItem *si; 3471 QListViewItem *si;
3470 for (si = i->firstChild(); 3472 for (si = i->firstChild();
3471 si != NULL; ) 3473 si != NULL; )
3472 { 3474 {
3473 QListViewItem *_si = si; 3475 QListViewItem *_si = si;
3474 si = si->nextSibling(); 3476 si = si->nextSibling();
3475 i->takeItem(_si); // remove from view list 3477 i->takeItem(_si); // remove from view list
3476 if (_si) delete _si; 3478 if (_si) delete _si;
3477 } 3479 }
3478 } 3480 }
3479 if (c) delete c; // delete the previous category 3481 if (c) delete c; // delete the previous category
3480 categories.clear(); 3482 categories.clear();
3481 m_password = ""; 3483 m_password = "";
3482 selectedItem = NULL; 3484 selectedItem = NULL;
3483 filename = newFile; 3485 filename = newFile;
3484 3486
3485 // save the current filename to the config file 3487 // save the current filename to the config file
3486 conf->writeEntry(APP_KEY+"document", filename); 3488 conf->writeEntry(APP_KEY+"document", filename);
3487 saveConf(); 3489 saveConf();
3488 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1); 3490 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1);
3489#ifdef WIN32 3491#ifdef WIN32
3490 this->setCaption("Qt ZSafe: " + ti); 3492 this->setCaption("Qt ZSafe: " + ti);
3491#else 3493#else
3492 this->setCaption("ZSafe: " + ti); 3494 this->setCaption("ZSafe: " + ti);
3493#endif 3495#endif
3494 3496
3495 openDocument(filename); 3497 openDocument(filename);
3496 } 3498 }
3497} 3499}
3498 3500
3499void ZSafe::saveDocumentAs() 3501void ZSafe::saveDocumentAs()
3500{ 3502{
3501 3503
3502#ifndef DESKTOP 3504#ifndef DESKTOP
3503#ifndef NO_OPIE 3505#ifndef NO_OPIE
3504 QMap<QString, QStringList> mimeTypes; 3506 QMap<QString, QStringList> mimeTypes;
3505 mimeTypes.insert(tr("All"), QStringList() ); 3507 mimeTypes.insert(tr("All"), QStringList() );
3506 mimeTypes.insert(tr("ZSafe"), "zsafe/*" ); 3508 mimeTypes.insert(tr("ZSafe"), "zsafe/*" );
3507 QString newFile = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL, 3509 QString newFile = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL,
3508 QDir::homeDirPath() + "/Documents/application/zsafe", 3510 QDir::homeDirPath() + "/Documents/application/zsafe",
3509 QString::null, 3511 QString::null,
3510 mimeTypes, 3512 mimeTypes,
3511 this, 3513 this,
3512 tr ("Save ZSafe document as..")); 3514 tr ("Save ZSafe document as.."));
3513#else 3515#else
3514 QString newFile = ScQtFileEdit::getSaveAsFileName(this, 3516 QString newFile = ScQtFileEdit::getSaveAsFileName(this,
3515 tr ("Save ZSafe document as.."), 3517 tr ("Save ZSafe document as.."),
3516 QDir::homeDirPath() + "/Documents/application/zsafe", 3518 QDir::homeDirPath() + "/Documents/application/zsafe",
3517 "*.zsf"); 3519 "*.zsf");
3518#endif 3520#endif
3519#else 3521#else
3520 // open the file dialog 3522 // open the file dialog
3521 QString newFile = QFileDialog::getSaveFileName( 3523 QString newFile = QFileDialog::getSaveFileName(
3522 QDir::homeDirPath() + "/Documents/application/zsafe", 3524 QDir::homeDirPath() + "/Documents/application/zsafe",
3523 "ZSafe (*.zsf)", 3525 "ZSafe (*.zsf)",
3524 this, 3526 this,
3525 "ZSafe File Dialog" 3527 "ZSafe File Dialog"
3526 "Choose a ZSafe file" ); 3528 "Choose a ZSafe file" );
3527#endif 3529#endif
3528 3530
3529 // open the new document 3531 // open the new document
3530 if (newFile && newFile.length() > 0 ) 3532 if (newFile && newFile.length() > 0 )
3531 { 3533 {
3532 // save the previous opened document 3534 // save the previous opened document
3533 if (!filename.isEmpty()) 3535 if (!filename.isEmpty())
3534 saveDocument(filename, FALSE); 3536 saveDocument(filename, FALSE);
3535 3537
3536 selectedItem = NULL; 3538 selectedItem = NULL;
3537 filename = newFile; 3539 filename = newFile;
3538 3540
3539 // save the current filename to the config file 3541 // save the current filename to the config file
3540 conf->writeEntry(APP_KEY+"document", filename); 3542 conf->writeEntry(APP_KEY+"document", filename);
3541 saveConf(); 3543 saveConf();
3542 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1); 3544 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1);
3543#ifdef WIN32 3545#ifdef WIN32
3544 this->setCaption("Qt ZSafe: " + ti); 3546 this->setCaption("Qt ZSafe: " + ti);
3545#else 3547#else
3546 this->setCaption("ZSafe: " + ti); 3548 this->setCaption("ZSafe: " + ti);
3547#endif 3549#endif
3548 3550
3549 QMessageBox::information( this, tr("ZSafe"), 3551 QMessageBox::information( this, tr("ZSafe"),
3550 tr("Now you have to enter\na password twice for your\nnewly created document."), tr("&OK"), 0); 3552 tr("Now you have to enter\na password twice for your\nnewly created document."), tr("&OK"), 0);
3551 3553
3552 saveDocumentWithPwd(); 3554 saveDocumentWithPwd();
3553 } 3555 }
3554} 3556}
3555 3557
3556void ZSafe::saveDocumentWithoutPwd() 3558void ZSafe::saveDocumentWithoutPwd()
3557{ 3559{
3558 saveDocument(filename, FALSE); 3560 saveDocument(filename, FALSE);
3559} 3561}
3560 3562
3561void ZSafe::saveDocumentWithPwd() 3563void ZSafe::saveDocumentWithPwd()
3562{ 3564{
3563 saveDocument(filename, TRUE); 3565 saveDocument(filename, TRUE);
3564} 3566}
3565 3567
3566void ZSafe::about() 3568void ZSafe::about()
3567{ 3569{
3568 QString info; 3570 QString info;
3569#ifdef JPATCH_HDE 3571#ifdef JPATCH_HDE
3570 info = "<html><body><div align=""center"">"; 3572 info = "<html><body><div align=""center"">";
3571 info += "<b>"; 3573 info += "<b>";
3572 info += tr("Zaurus Password Manager<br>"); 3574 info += tr("Zaurus Password Manager<br>");
3573 info += tr("ZSafe version 2.1.2-jv01b<br>"); 3575 info += tr("ZSafe version 2.1.2-jv01b<br>");
3574 info += "</b>"; 3576 info += "</b>";
3575 info += tr("by Carsten Schneider<br>"); 3577 info += tr("by Carsten Schneider<br>");
3576 info += "zcarsten@gmx.net<br>"; 3578 info += "zcarsten@gmx.net<br>";
3577 info += "http://z-soft.z-portal.info/zsafe"; 3579 info += "http://z-soft.z-portal.info/zsafe";
3578 info += "<br>"; 3580 info += "<br>";
3579 info += tr("Translations by Robert Ernst<br>"); 3581 info += tr("Translations by Robert Ernst<br>");
3580 info += "robert.ernst@linux-solutions.at<br>"; 3582 info += "robert.ernst@linux-solutions.at<br>";
3581 3583
3582 info += "<br><br>"; 3584 info += "<br><br>";
3583 info += QString::fromUtf8("æ~W¥æ~\\¬èª~^/VGA Zaurus対å¿~\\ã~C~Qã~C~Cã~C~Aä½~\\æ ~H~P<br>"); 3585 info += QString::fromUtf8("æ~W¥æ~\\¬èª~^/VGA Zaurus対å¿~\\ã~C~Qã~C~Cã~C~Aä½~\\æ ~H~P<br>");
3584 info += "HADECO R&D<br>"; 3586 info += "HADECO R&D<br>";
3585 info += "r&d@hadeco.co.jp<br>"; 3587 info += "r&d@hadeco.co.jp<br>";
3586 info += "http://www.hadeco.co.jp/r&d/<br>"; 3588 info += "http://www.hadeco.co.jp/r&d/<br>";
3587 info += "<br></div>"; 3589 info += "<br></div>";
3588 info += "</body></html>"; 3590 info += "</body></html>";
3589#else 3591#else
3590 info = "<html><body><div align=""center"">"; 3592 info = "<html><body><div align=""center"">";
3591 info += "<b>"; 3593 info += "<b>";
3592 info += tr("Zaurus Password Manager<br>"); 3594 info += tr("Zaurus Password Manager<br>");
3593 info += tr("ZSafe version 2.1.2<br>"); 3595 info += tr("ZSafe version 2.1.2<br>");
3594 info += "</b>"; 3596 info += "</b>";
3595 info += tr("by Carsten Schneider<br>"); 3597 info += tr("by Carsten Schneider<br>");
3596 info += "zcarsten@gmx.net<br>"; 3598 info += "zcarsten@gmx.net<br>";
3597 info += "http://z-soft.z-portal.info/zsafe"; 3599 info += "http://z-soft.z-portal.info/zsafe";
3598 info += "<br>"; 3600 info += "<br>";
3599 info += tr("Translations by Robert Ernst<br>"); 3601 info += tr("Translations by Robert Ernst<br>");
3600 info += "robert.ernst@linux-solutions.at<br>"; 3602 info += "robert.ernst@linux-solutions.at<br>";
3601 info += "<br></div>"; 3603 info += "<br></div>";
3602 info += "</body></html>"; 3604 info += "</body></html>";
3603#endif 3605#endif
3604 3606
3605 // QMessageBox::information( this, tr("ZSafe"), info, tr("&OK"), 0); 3607 // QMessageBox::information( this, tr("ZSafe"), info, tr("&OK"), 0);
3606 3608
3607 QMessageBox mb( this, tr("ZSafe")); 3609 QMessageBox mb( this, tr("ZSafe"));
3608 mb.setText (info); 3610 mb.setText (info);
3609 mb.setButtonText (QMessageBox::Ok, tr ("&OK")); 3611 mb.setButtonText (QMessageBox::Ok, tr ("&OK"));
3610 QPixmap zsafe_img((const char**) zsafe_xpm); 3612 QPixmap zsafe_img((const char**) zsafe_xpm);
3611 mb.setIconPixmap (zsafe_img); 3613 mb.setIconPixmap (zsafe_img);
3612 mb.exec(); 3614 mb.exec();
3613} 3615}
3614 3616
3615void ZSafe::setExpandFlag() 3617void ZSafe::setExpandFlag()
3616{ 3618{
3617 expandTree = !expandTree; 3619 expandTree = !expandTree;
3618 file->setItemChecked('o', expandTree); 3620 file->setItemChecked('o', expandTree);
3619#ifndef DESKTOP 3621#ifndef DESKTOP
3620 conf->setGroup ("zsafePrefs"); 3622 conf->setGroup ("zsafePrefs");
3621#endif 3623#endif
3622// #ifndef WIN32 3624// #ifndef WIN32
3623 conf->writeEntry (APP_KEY+"expandTree", expandTree); 3625 conf->writeEntry (APP_KEY+"expandTree", expandTree);
3624// #endif 3626// #endif
3625 saveConf(); 3627 saveConf();
3626 3628
3627} 3629}
3628 3630
3629void ZSafe::paintEvent( QPaintEvent * ) 3631void ZSafe::paintEvent( QPaintEvent * )
3630{ 3632{
3631 if (raiseFlag) 3633 if (raiseFlag)
3632 { 3634 {
3633 raiseFlag = false; 3635 raiseFlag = false;
3634 raiseTimer.start (1, true); 3636 raiseTimer.start (1, true);
3635 if (infoForm->isVisible()) 3637 if (infoForm->isVisible())
3636 infoForm->raise(); 3638 infoForm->raise();
3637 } 3639 }
3638} 3640}
3639 3641
3640void ZSafe::resizeEvent ( QResizeEvent * ) 3642void ZSafe::resizeEvent ( QResizeEvent * )
3641{ 3643{
3642 // qWarning ("resizeEvent"); 3644 // qWarning ("resizeEvent");
3643#ifndef DESKTOP 3645#ifndef DESKTOP
3644 DeskW = appl->desktop()->width(); 3646 DeskW = appl->desktop()->width();
3645 DeskH = appl->desktop()->height(); 3647 DeskH = appl->desktop()->height();
3646#else 3648#else
3647 DeskW = this->width(); 3649 DeskW = this->width();
3648 DeskH = this->height(); 3650 DeskH = this->height();
3649#endif 3651#endif
3650 qWarning( QString("Width : %1").arg(DeskW), 2000 );
3651 qWarning( QString("Height: %1").arg(DeskH), 2000 );
3652 3652
3653 New->setGeometry ( QRect( DeskW-84, 2, 20, 20 ) ); 3653 if (New)
3654 Edit->setGeometry ( QRect( DeskW-64, 2, 20, 20 ) ); 3654 New->setGeometry ( QRect( DeskW-84, 2, 20, 20 ) );
3655 Delete->setGeometry( QRect( DeskW-44, 2, 20, 20 ) ); 3655 if (Edit)
3656 Find->setGeometry ( QRect( DeskW-24, 2, 20, 20 ) ); 3656 Edit->setGeometry ( QRect( DeskW-64, 2, 20, 20 ) );
3657 if (Delete)
3658 Delete->setGeometry( QRect( DeskW-44, 2, 20, 20 ) );
3659 if (Find)
3660 Find->setGeometry ( QRect( DeskW-24, 2, 20, 20 ) );
3657} 3661}
3658 3662
3659void ZSafe::slotRaiseTimer() 3663void ZSafe::slotRaiseTimer()
3660{ 3664{
3661 if (infoForm->isVisible()) 3665 if (infoForm->isVisible())
3662 infoForm->raise(); 3666 infoForm->raise();
3663 raiseFlag = true; 3667 raiseFlag = true;
3664} 3668}
3665 3669
3666QPixmap * ZSafe::getPredefinedIcon(QString category) 3670QPixmap * ZSafe::getPredefinedIcon(QString category)
3667{ 3671{
3668 QPixmap *pm; 3672 QPixmap *pm;
3669 if (category == "Bank cards") 3673 if (category == "Bank cards")
3670 pm = new QPixmap((const char**)bank_cards_data); 3674 pm = new QPixmap((const char**)bank_cards_data);
3671 else if (category == "Passwords") 3675 else if (category == "Passwords")
3672 pm = new QPixmap((const char**)passwords_data); 3676 pm = new QPixmap((const char**)passwords_data);
3673 else if (category == "Software") 3677 else if (category == "Software")
3674 pm = new QPixmap((const char**)software_data); 3678 pm = new QPixmap((const char**)software_data);
3675 else if (category == "General") 3679 else if (category == "General")
3676 pm = new QPixmap((const char**)general_data); 3680 pm = new QPixmap((const char**)general_data);
3677 else 3681 else
3678 pm = new QPixmap((const char**)general_data); 3682 pm = new QPixmap((const char**)general_data);
3679 return pm; 3683 return pm;
3680} 3684}
3681 3685
3682void ZSafe::setDocument(const QString& fileref) 3686void ZSafe::setDocument(const QString& fileref)
3683{ 3687{
3684#ifndef DESKTOP 3688#ifndef DESKTOP
3685 // stop the timer to prevent loading of the default document 3689 // stop the timer to prevent loading of the default document
3686 docuTimer.stop(); 3690 docuTimer.stop();
3687 3691
3688 DocLnk link(fileref); 3692 DocLnk link(fileref);
3689 if ( link.isValid() ) 3693 if ( link.isValid() )
3690 { 3694 {
3691 // if (filename != link.file()) 3695 // if (filename != link.file())
3692 // saveDocument(filename, FALSE); 3696 // saveDocument(filename, FALSE);
3693 filename = link.file(); 3697 filename = link.file();
3694 } 3698 }
3695 else 3699 else
3696 { 3700 {
3697 // if (filename != fileref) 3701 // if (filename != fileref)
3698 // saveDocument(filename, FALSE); 3702 // saveDocument(filename, FALSE);
3699 filename = fileref; 3703 filename = fileref;
3700 } 3704 }
3701 // save the current filename to the config file 3705 // save the current filename to the config file
3702 conf->writeEntry(APP_KEY+"document", filename); 3706 conf->writeEntry(APP_KEY+"document", filename);
3703 saveConf(); 3707 saveConf();
3704 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1); 3708 QString ti = filename.right (filename.length() - filename.findRev ('/') - 1);
3705#ifdef WIN32 3709#ifdef WIN32
3706 this->setCaption("Qt ZSafe: " + ti); 3710 this->setCaption("Qt ZSafe: " + ti);
3707#else 3711#else
3708 this->setCaption("ZSafe: " + ti); 3712 this->setCaption("ZSafe: " + ti);
3709#endif 3713#endif
3710 3714
3711 // clear the password list 3715 // clear the password list
3712 QListViewItem *i; 3716 QListViewItem *i;
3713 QListViewItem *c = NULL; 3717 QListViewItem *c = NULL;
3714 // step through all categories 3718 // step through all categories
3715 for (i = ListView->firstChild(); 3719 for (i = ListView->firstChild();
3716 i != NULL; 3720 i != NULL;
3717 i = i->nextSibling()) 3721 i = i->nextSibling())
3718 { 3722 {
3719 if (c) delete c; // delete the previous category 3723 if (c) delete c; // delete the previous category
3720 3724
3721 c = i; 3725 c = i;
3722 // step through all subitems 3726 // step through all subitems
3723 QListViewItem *si; 3727 QListViewItem *si;
3724 for (si = i->firstChild(); 3728 for (si = i->firstChild();
3725 si != NULL; ) 3729 si != NULL; )
3726 { 3730 {
3727 QListViewItem *_si = si; 3731 QListViewItem *_si = si;
3728 si = si->nextSibling(); 3732 si = si->nextSibling();
3729 i->takeItem(_si); // remove from view list 3733 i->takeItem(_si); // remove from view list
3730 if (_si) delete _si; 3734 if (_si) delete _si;
3731 } 3735 }
3732 } 3736 }
3733 if (c) delete c; // delete the previous category 3737 if (c) delete c; // delete the previous category
3734 categories.clear(); 3738 categories.clear();
3735 3739
3736 m_password = ""; 3740 m_password = "";
3737 selectedItem = NULL; 3741 selectedItem = NULL;
3738 3742
3739 openDocument(filename); 3743 openDocument(filename);
3740#endif 3744#endif
3741} 3745}
3742 3746
3743 3747
3744 3748