-rw-r--r-- | noncore/apps/zsafe/zsafe.cpp | 137 | ||||
-rw-r--r-- | noncore/apps/zsafe/zsafe.h | 1 |
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 @@ -363,13 +363,13 @@ static const char* const general_data[] = { if (conf) { delete conf; #ifdef DESKTOP #ifndef Q_WS_WIN - conf = new QSettings (); + conf = new QSettings(); conf->insertSearchPath (QSettings::Unix, QDir::homeDirPath()); #else conf = new QSettings (cfgFile); conf->insertSearchPath (QSettings::Unix, cfgFile); #endif #else @@ -490,29 +490,27 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl ) #endif #endif setCaption( tr( "ZSafe" ) ); QString zsafeAppDirPath = QDir::homeDirPath() + "/Documents/application/zsafe"; QString filename = conf->readEntry(APP_KEY+"document"); - if (filename.isEmpty() || filename.isNull()) + if ( !QFileInfo(filename).exists() || !QDir(zsafeAppDirPath).exists() ) { - // check if the directory application exists, if not // create it // #ifndef Q_WS_WIN // QString d1("Documents/application"); // #else QString d1(QDir::homeDirPath() + "/Documents/application"); // #endif QDir pd1(d1); if (!pd1.exists()) { - QDir pd2(QDir::homeDirPath() + "/Documents"); if (!pd2.exists()) { - QDir pd3(QDir::homeDirPath()); + QDir pd3(QDir::homeDirPath()); if (!pd3.mkdir("Documents", FALSE)) { } } if (!pd2.mkdir("application", FALSE)) { @@ -542,13 +540,12 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl ) tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d2)); #endif exitZs (1); } } - // set the default filename filename = zsafeAppDirPath + "/passwords.zsf"; // save the current filename to the config file conf->writeEntry(APP_KEY+"document", filename); saveConf(); } @@ -1336,38 +1333,13 @@ void ZSafe::writeAllEntries() QMessageBox::critical( 0, tr("ZSafe"), tr("No document defined.\nYou have to create a new document")); return; } // open the file dialog -#ifndef DESKTOP -#ifndef NO_OPIE - QMap<QString, QStringList> mimeTypes; - mimeTypes.insert(tr("All"), QStringList() ); - mimeTypes.insert(tr("Text"), "text/*" ); - QString fn = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL, - QDir::homeDirPath() + "/Documents/application/zsafe", - QString::null, - mimeTypes, - this, - tr ("Export text file")); -#else - QString fn = ScQtFileEdit::getSaveAsFileName(this, - tr ("Export text file"), - QDir::homeDirPath() + "/Documents/application/zsafe", - "*.txt"); -#endif -#else - QString fn = QFileDialog::getSaveFileName( - QDir::homeDirPath() + "/Documents/application/zsafe", - "ZSafe (*.txt)", - this, - "ZSafe File Dialog" - "Choose a text file" ); -#endif - + QString fn = zsaveDialog(); // open the new document if (fn && fn.length() > 0 ) { QFile f( fn ); if ( !f.open( IO_WriteOnly ) ) { #ifndef NO_OPIE @@ -1918,12 +1890,14 @@ void ZSafe::resume(int) //--------------------------------------------- bool ZSafe::openDocument(const char* _filename, const char* ) { + QString name= _filename; + qWarning("openDocument "+name); int retval; char* entry[FIELD_SIZE]; // #ifndef Q_WS_WIN int validationFlag = conf->readNumEntry(APP_KEY+"valzsafe", 1); // #else // int validationFlag = 1; @@ -1967,13 +1941,27 @@ bool ZSafe::openDocument(const char* _filename, const char* ) #ifdef Q_WS_WIN this->setCaption("Qt ZSafe"); #else this->setCaption("ZSafe"); #endif filename = ""; + switch( QMessageBox::warning( this, tr("ZSafe"), + tr("<P>You must create a new document first. Ok to create?</P>"), + tr("&Yes"), tr("&No."), + 0 + ) ) + { + case 1: // No return false; + break; + case 0: // Yes + newDocument(); + return false; + break; + } + } // load the validation entry if (validationFlag == 0) { @@ -3444,37 +3432,13 @@ void ZSafe::pasteItem() } void ZSafe::newDocument() { // open the file dialog -#ifndef DESKTOP -#ifndef NO_OPIE - QMap<QString, QStringList> mimeTypes; - mimeTypes.insert(tr("All"), QStringList() ); - mimeTypes.insert(tr("ZSafe"), "zsafe/*" ); - QString newFile = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL, - QDir::homeDirPath() + "/Documents/application/zsafe", - QString::null, - mimeTypes, - this, - tr ("Create new ZSafe document")); -#else - QString newFile = ScQtFileEdit::getSaveAsFileName(this, - tr ("Create new ZSafe document"), - QDir::homeDirPath() + "/Documents/application/zsafe", - "*.zsf"); -#endif -#else - QString newFile = QFileDialog::getSaveFileName( - QDir::homeDirPath() + "/Documents/application/zsafe", - "ZSafe (*.zsf)", - this, - "ZSafe File Dialog" - "Choose a ZSafe file" ); -#endif + QString newFile = zsaveDialog(); // open the new document if (newFile && newFile.length() > 0 ) { // save the previous opened document if (!filename.isEmpty()) @@ -3610,39 +3574,13 @@ void ZSafe::loadDocument() } } void ZSafe::saveDocumentAs() { -#ifndef DESKTOP -#ifndef NO_OPIE - QMap<QString, QStringList> mimeTypes; - mimeTypes.insert(tr("All"), QStringList() ); - mimeTypes.insert(tr("ZSafe"), "zsafe/*" ); - QString newFile = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL, - QDir::homeDirPath() + "/Documents/application/zsafe", - QString::null, - mimeTypes, - this, - tr ("Save ZSafe document as..")); -#else - QString newFile = ScQtFileEdit::getSaveAsFileName(this, - tr ("Save ZSafe document as.."), - QDir::homeDirPath() + "/Documents/application/zsafe", - "*.zsf"); -#endif -#else - // open the file dialog - QString newFile = QFileDialog::getSaveFileName( - QDir::homeDirPath() + "/Documents/application/zsafe", - "ZSafe (*.zsf)", - this, - "ZSafe File Dialog" - "Choose a ZSafe file" ); -#endif - +QString newFile = zsaveDialog(); // open the new document if (newFile && newFile.length() > 0 ) { // save the previous opened document if (!filename.isEmpty()) saveDocument(filename, FALSE); @@ -3850,12 +3788,14 @@ void ZSafe::setDocument(const QString& fileref) categories.clear(); m_password = ""; selectedItem = NULL; openDocument(filename); +#else +Q_UNUSED(fileref); #endif } void ZSafe::ListPressed(int mouse, QListViewItem *item, const QPoint&, int column) { if(item ==0) return; @@ -3901,6 +3841,35 @@ void ZSafe::ListPressed(int mouse, QListViewItem *item, const QPoint&, int colum void ZSafe::copyClip( const QString &text) { QClipboard *cb = QApplication::clipboard(); cb->setText( text); } +QString ZSafe::zsaveDialog() { + + QString fn; +#ifndef DESKTOP +#ifndef NO_OPIE + QMap<QString, QStringList> mimeTypes; + mimeTypes.insert(tr("All"), QStringList() ); + mimeTypes.insert(tr("Text"), "text/*" ); + fn = OFileDialog::getSaveFileName( OFileSelector::EXTENDED_ALL, + QDir::homeDirPath() + "/Documents/application/zsafe", + QString::null, + mimeTypes, + this, + tr ("Export text file")); +#else + fn = ScQtFileEdit::getSaveAsFileName(this, + tr ("Export text file"), + QDir::homeDirPath() + "/Documents/application/zsafe", + "*.txt"); +#endif +#else + fn = QFileDialog::getSaveFileName( + QDir::homeDirPath() + "/Documents/application/zsafe", + "ZSafe (*.txt)", + this, + "ZSafe"); +#endif + return fn; +} 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 @@ -150,12 +150,13 @@ public: void saveCategoryDialogFields(CategoryDialog *dialog); void resume(int signum); void exitZs (int ec); + QString zsaveDialog(); public slots: virtual void deletePwd(); virtual void editPwd(); virtual void newPwd(); virtual void findPwd(); |