summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2004-07-14 07:17:17 (UTC)
committer llornkcor <llornkcor>2004-07-14 07:17:17 (UTC)
commitc70dbfde7f9605be295cdc7f789c7e3e8d823d39 (patch) (unidiff)
tree75c5fa13be08c30515685f1a6ef6b237809bbc71
parenta309681894af2632f9db2fcc252a058f218a82b2 (diff)
downloadopie-c70dbfde7f9605be295cdc7f789c7e3e8d823d39.zip
opie-c70dbfde7f9605be295cdc7f789c7e3e8d823d39.tar.gz
opie-c70dbfde7f9605be295cdc7f789c7e3e8d823d39.tar.bz2
allow new user to create new doc on first startup
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/zsafe/zsafe.cpp137
-rw-r--r--noncore/apps/zsafe/zsafe.h1
2 files changed, 54 insertions, 84 deletions
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp
index f3d57f8..41c572a 100644
--- a/noncore/apps/zsafe/zsafe.cpp
+++ b/noncore/apps/zsafe/zsafe.cpp
@@ -361,17 +361,17 @@ static const char* const general_data[] = {
361 void ZSafe::saveConf () 361 void ZSafe::saveConf ()
362 { 362 {
363 if (conf) 363 if (conf)
364 { 364 {
365 delete conf; 365 delete conf;
366 366
367#ifdef DESKTOP 367#ifdef DESKTOP
368#ifndef Q_WS_WIN 368#ifndef Q_WS_WIN
369 conf = new QSettings (); 369 conf = new QSettings();
370 conf->insertSearchPath (QSettings::Unix, QDir::homeDirPath()); 370 conf->insertSearchPath (QSettings::Unix, QDir::homeDirPath());
371#else 371#else
372 conf = new QSettings (cfgFile); 372 conf = new QSettings (cfgFile);
373 conf->insertSearchPath (QSettings::Unix, cfgFile); 373 conf->insertSearchPath (QSettings::Unix, cfgFile);
374#endif 374#endif
375#else 375#else
376 conf = new Config (cfgFile, Config::File); 376 conf = new Config (cfgFile, Config::File);
377 conf->setGroup ("zsafe"); 377 conf->setGroup ("zsafe");
@@ -488,33 +488,31 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
488#else 488#else
489 resize( DeskW, DeskH-30 ); 489 resize( DeskW, DeskH-30 );
490#endif 490#endif
491 491
492#endif 492#endif
493 setCaption( tr( "ZSafe" ) ); 493 setCaption( tr( "ZSafe" ) );
494 QString zsafeAppDirPath = QDir::homeDirPath() + "/Documents/application/zsafe"; 494 QString zsafeAppDirPath = QDir::homeDirPath() + "/Documents/application/zsafe";
495 QString filename = conf->readEntry(APP_KEY+"document"); 495 QString filename = conf->readEntry(APP_KEY+"document");
496 if (filename.isEmpty() || filename.isNull()) 496 if ( !QFileInfo(filename).exists() || !QDir(zsafeAppDirPath).exists() )
497 { 497 {
498
499 // check if the directory application exists, if not 498 // check if the directory application exists, if not
500 // create it 499 // create it
501// #ifndef Q_WS_WIN 500// #ifndef Q_WS_WIN
502 // QString d1("Documents/application"); 501 // QString d1("Documents/application");
503// #else 502// #else
504 QString d1(QDir::homeDirPath() + "/Documents/application"); 503 QString d1(QDir::homeDirPath() + "/Documents/application");
505// #endif 504// #endif
506 QDir pd1(d1); 505 QDir pd1(d1);
507 if (!pd1.exists()) 506 if (!pd1.exists())
508 { 507 {
509
510 QDir pd2(QDir::homeDirPath() + "/Documents"); 508 QDir pd2(QDir::homeDirPath() + "/Documents");
511 if (!pd2.exists()) { 509 if (!pd2.exists()) {
512 QDir pd3(QDir::homeDirPath()); 510 QDir pd3(QDir::homeDirPath());
513 if (!pd3.mkdir("Documents", FALSE)) { 511 if (!pd3.mkdir("Documents", FALSE)) {
514 } 512 }
515 } 513 }
516 514
517 if (!pd2.mkdir("application", FALSE)) 515 if (!pd2.mkdir("application", FALSE))
518 { 516 {
519 QMessageBox::critical( 0, tr("ZSafe"), 517 QMessageBox::critical( 0, tr("ZSafe"),
520#ifdef JPATCH_HDE 518#ifdef JPATCH_HDE
@@ -540,17 +538,16 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
540 tr("<P>Can't create directory ...//Documents/application/zsafe</P><P>ZSafe will now exit.</P")); 538 tr("<P>Can't create directory ...//Documents/application/zsafe</P><P>ZSafe will now exit.</P"));
541#else 539#else
542 tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d2)); 540 tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d2));
543#endif 541#endif
544 exitZs (1); 542 exitZs (1);
545 } 543 }
546 } 544 }
547 545
548 // set the default filename
549 filename = zsafeAppDirPath + "/passwords.zsf"; 546 filename = zsafeAppDirPath + "/passwords.zsf";
550 547
551 // save the current filename to the config file 548 // save the current filename to the config file
552 conf->writeEntry(APP_KEY+"document", filename); 549 conf->writeEntry(APP_KEY+"document", filename);
553 saveConf(); 550 saveConf();
554 } 551 }
555 //if (filename == "INVALIDPWD") 552 //if (filename == "INVALIDPWD")
556 //filename = ""; 553 //filename = "";
@@ -1334,42 +1331,17 @@ void ZSafe::writeAllEntries()
1334 if (filename.isEmpty()) 1331 if (filename.isEmpty())
1335 { 1332 {
1336 QMessageBox::critical( 0, tr("ZSafe"), 1333 QMessageBox::critical( 0, tr("ZSafe"),
1337 tr("No document defined.\nYou have to create a new document")); 1334 tr("No document defined.\nYou have to create a new document"));
1338 return; 1335 return;
1339 } 1336 }
1340 1337
1341 // open the file dialog 1338 // open the file dialog
1342#ifndef DESKTOP 1339 QString fn = zsaveDialog();
1343#ifndef NO_OPIE
1344 QMap<QString, QStringList> mimeTypes;
1345 mimeTypes.insert(tr("All"), QStringList() );
1346 mimeTypes.insert(tr("Text"), "text/*" );
1347 QString fn = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL,
1348 QDir::homeDirPath() + "/Documents/application/zsafe",
1349 QString::null,
1350 mimeTypes,
1351 this,
1352 tr ("Export text file"));
1353#else
1354 QString fn = ScQtFileEdit::getSaveAsFileName(this,
1355 tr ("Export text file"),
1356 QDir::homeDirPath() + "/Documents/application/zsafe",
1357 "*.txt");
1358#endif
1359#else
1360 QString fn = QFileDialog::getSaveFileName(
1361 QDir::homeDirPath() + "/Documents/application/zsafe",
1362 "ZSafe (*.txt)",
1363 this,
1364 "ZSafe File Dialog"
1365 "Choose a text file" );
1366#endif
1367
1368 // open the new document 1340 // open the new document
1369 if (fn && fn.length() > 0 ) 1341 if (fn && fn.length() > 0 )
1370 { 1342 {
1371 QFile f( fn ); 1343 QFile f( fn );
1372 if ( !f.open( IO_WriteOnly ) ) { 1344 if ( !f.open( IO_WriteOnly ) ) {
1373#ifndef NO_OPIE 1345#ifndef NO_OPIE
1374 owarn << "Could not write to file " << fn << oendl; 1346 owarn << "Could not write to file " << fn << oendl;
1375#else 1347#else
@@ -1916,16 +1888,18 @@ void ZSafe::resume(int)
1916 } 1888 }
1917} 1889}
1918 1890
1919//--------------------------------------------- 1891//---------------------------------------------
1920 1892
1921 1893
1922bool ZSafe::openDocument(const char* _filename, const char* ) 1894bool ZSafe::openDocument(const char* _filename, const char* )
1923{ 1895{
1896 QString name= _filename;
1897 qWarning("openDocument "+name);
1924 int retval; 1898 int retval;
1925 char* entry[FIELD_SIZE]; 1899 char* entry[FIELD_SIZE];
1926// #ifndef Q_WS_WIN 1900// #ifndef Q_WS_WIN
1927 int validationFlag = conf->readNumEntry(APP_KEY+"valzsafe", 1); 1901 int validationFlag = conf->readNumEntry(APP_KEY+"valzsafe", 1);
1928// #else 1902// #else
1929 // int validationFlag = 1; 1903 // int validationFlag = 1;
1930// #endif 1904// #endif
1931 1905
@@ -1965,17 +1939,31 @@ bool ZSafe::openDocument(const char* _filename, const char* )
1965 else 1939 else
1966 { 1940 {
1967#ifdef Q_WS_WIN 1941#ifdef Q_WS_WIN
1968 this->setCaption("Qt ZSafe"); 1942 this->setCaption("Qt ZSafe");
1969#else 1943#else
1970 this->setCaption("ZSafe"); 1944 this->setCaption("ZSafe");
1971#endif 1945#endif
1972 filename = ""; 1946 filename = "";
1947 switch( QMessageBox::warning( this, tr("ZSafe"),
1948 tr("<P>You must create a new document first. Ok to create?</P>"),
1949 tr("&Yes"), tr("&No."),
1950 0
1951 ) )
1952 {
1953 case 1: // No
1973 return false; 1954 return false;
1955 break;
1956 case 0: // Yes
1957 newDocument();
1958 return false;
1959 break;
1960 }
1961
1974 } 1962 }
1975 1963
1976 1964
1977 // load the validation entry 1965 // load the validation entry
1978 if (validationFlag == 0) 1966 if (validationFlag == 0)
1979 { 1967 {
1980 pwdOk = 1; 1968 pwdOk = 1;
1981 break; 1969 break;
@@ -3442,41 +3430,17 @@ void ZSafe::pasteItem()
3442 IsCut = false; 3430 IsCut = false;
3443 IsCopy = false; 3431 IsCopy = false;
3444} 3432}
3445 3433
3446void ZSafe::newDocument() 3434void ZSafe::newDocument()
3447{ 3435{
3448 3436
3449 // open the file dialog 3437 // open the file dialog
3450#ifndef DESKTOP 3438 QString newFile = zsaveDialog();
3451#ifndef NO_OPIE
3452 QMap<QString, QStringList> mimeTypes;
3453 mimeTypes.insert(tr("All"), QStringList() );
3454 mimeTypes.insert(tr("ZSafe"), "zsafe/*" );
3455 QString newFile = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL,
3456 QDir::homeDirPath() + "/Documents/application/zsafe",
3457 QString::null,
3458 mimeTypes,
3459 this,
3460 tr ("Create new ZSafe document"));
3461#else
3462 QString newFile = ScQtFileEdit::getSaveAsFileName(this,
3463 tr ("Create new ZSafe document"),
3464 QDir::homeDirPath() + "/Documents/application/zsafe",
3465 "*.zsf");
3466#endif
3467#else
3468 QString newFile = QFileDialog::getSaveFileName(
3469 QDir::homeDirPath() + "/Documents/application/zsafe",
3470 "ZSafe (*.zsf)",
3471 this,
3472 "ZSafe File Dialog"
3473 "Choose a ZSafe file" );
3474#endif
3475 3439
3476 // open the new document 3440 // open the new document
3477 if (newFile && newFile.length() > 0 ) 3441 if (newFile && newFile.length() > 0 )
3478 { 3442 {
3479 // save the previous opened document 3443 // save the previous opened document
3480 if (!filename.isEmpty()) 3444 if (!filename.isEmpty())
3481 saveDocument(filename, FALSE); 3445 saveDocument(filename, FALSE);
3482 3446
@@ -3608,43 +3572,17 @@ void ZSafe::loadDocument()
3608 3572
3609 openDocument(filename); 3573 openDocument(filename);
3610 } 3574 }
3611} 3575}
3612 3576
3613void ZSafe::saveDocumentAs() 3577void ZSafe::saveDocumentAs()
3614{ 3578{
3615 3579
3616#ifndef DESKTOP 3580QString newFile = zsaveDialog();
3617#ifndef NO_OPIE
3618 QMap<QString, QStringList> mimeTypes;
3619 mimeTypes.insert(tr("All"), QStringList() );
3620 mimeTypes.insert(tr("ZSafe"), "zsafe/*" );
3621 QString newFile = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL,
3622 QDir::homeDirPath() + "/Documents/application/zsafe",
3623 QString::null,
3624 mimeTypes,
3625 this,
3626 tr ("Save ZSafe document as.."));
3627#else
3628 QString newFile = ScQtFileEdit::getSaveAsFileName(this,
3629 tr ("Save ZSafe document as.."),
3630 QDir::homeDirPath() + "/Documents/application/zsafe",
3631 "*.zsf");
3632#endif
3633#else
3634 // open the file dialog
3635 QString newFile = QFileDialog::getSaveFileName(
3636 QDir::homeDirPath() + "/Documents/application/zsafe",
3637 "ZSafe (*.zsf)",
3638 this,
3639 "ZSafe File Dialog"
3640 "Choose a ZSafe file" );
3641#endif
3642
3643 // open the new document 3581 // open the new document
3644 if (newFile && newFile.length() > 0 ) 3582 if (newFile && newFile.length() > 0 )
3645 { 3583 {
3646 // save the previous opened document 3584 // save the previous opened document
3647 if (!filename.isEmpty()) 3585 if (!filename.isEmpty())
3648 saveDocument(filename, FALSE); 3586 saveDocument(filename, FALSE);
3649 3587
3650 selectedItem = NULL; 3588 selectedItem = NULL;
@@ -3848,16 +3786,18 @@ void ZSafe::setDocument(const QString& fileref)
3848 } 3786 }
3849 if (c) delete c; // delete the previous category 3787 if (c) delete c; // delete the previous category
3850 categories.clear(); 3788 categories.clear();
3851 3789
3852 m_password = ""; 3790 m_password = "";
3853 selectedItem = NULL; 3791 selectedItem = NULL;
3854 3792
3855 openDocument(filename); 3793 openDocument(filename);
3794#else
3795Q_UNUSED(fileref);
3856#endif 3796#endif
3857} 3797}
3858 3798
3859 3799
3860void ZSafe::ListPressed(int mouse, QListViewItem *item, const QPoint&, int column) { 3800void ZSafe::ListPressed(int mouse, QListViewItem *item, const QPoint&, int column) {
3861 if(item ==0) return; 3801 if(item ==0) return;
3862 switch (mouse) { 3802 switch (mouse) {
3863 case 1: 3803 case 1:
@@ -3899,8 +3839,37 @@ void ZSafe::ListPressed(int mouse, QListViewItem *item, const QPoint&, int colum
3899} 3839}
3900 3840
3901void ZSafe::copyClip( const QString &text) { 3841void ZSafe::copyClip( const QString &text) {
3902 QClipboard *cb = QApplication::clipboard(); 3842 QClipboard *cb = QApplication::clipboard();
3903 cb->setText( text); 3843 cb->setText( text);
3904} 3844}
3905 3845
3906 3846
3847QString ZSafe::zsaveDialog() {
3848
3849 QString fn;
3850#ifndef DESKTOP
3851#ifndef NO_OPIE
3852 QMap<QString, QStringList> mimeTypes;
3853 mimeTypes.insert(tr("All"), QStringList() );
3854 mimeTypes.insert(tr("Text"), "text/*" );
3855 fn = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL,
3856 QDir::homeDirPath() + "/Documents/application/zsafe",
3857 QString::null,
3858 mimeTypes,
3859 this,
3860 tr ("Export text file"));
3861#else
3862 fn = ScQtFileEdit::getSaveAsFileName(this,
3863 tr ("Export text file"),
3864 QDir::homeDirPath() + "/Documents/application/zsafe",
3865 "*.txt");
3866#endif
3867#else
3868 fn = QFileDialog::getSaveFileName(
3869 QDir::homeDirPath() + "/Documents/application/zsafe",
3870 "ZSafe (*.txt)",
3871 this,
3872 "ZSafe");
3873#endif
3874 return fn;
3875}
diff --git a/noncore/apps/zsafe/zsafe.h b/noncore/apps/zsafe/zsafe.h
index ca041ff..7419797 100644
--- a/noncore/apps/zsafe/zsafe.h
+++ b/noncore/apps/zsafe/zsafe.h
@@ -148,16 +148,17 @@ public:
148 void setCategoryDialogFields(CategoryDialog *dialog); 148 void setCategoryDialogFields(CategoryDialog *dialog);
149 void setCategoryDialogFields(CategoryDialog *dialog, QString category); 149 void setCategoryDialogFields(CategoryDialog *dialog, QString category);
150 void saveCategoryDialogFields(CategoryDialog *dialog); 150 void saveCategoryDialogFields(CategoryDialog *dialog);
151 151
152 152
153 void resume(int signum); 153 void resume(int signum);
154 void exitZs (int ec); 154 void exitZs (int ec);
155 155
156 QString zsaveDialog();
156 157
157public slots: 158public slots:
158 virtual void deletePwd(); 159 virtual void deletePwd();
159 virtual void editPwd(); 160 virtual void editPwd();
160 virtual void newPwd(); 161 virtual void newPwd();
161 virtual void findPwd(); 162 virtual void findPwd();
162 virtual void quitMe(); 163 virtual void quitMe();
163 virtual void listViewSelected( QListViewItem *_item); 164 virtual void listViewSelected( QListViewItem *_item);