summaryrefslogtreecommitdiff
authorllornkcor <llornkcor>2004-07-10 01:04:49 (UTC)
committer llornkcor <llornkcor>2004-07-10 01:04:49 (UTC)
commitf16bf63fc655c1e85fed6ce96c464553b260f796 (patch) (unidiff)
tree798963e12adcddf320802101982001afa8ee639e
parent944adb8bf2741a16cf627d19e08f51c08920ad89 (diff)
downloadopie-f16bf63fc655c1e85fed6ce96c464553b260f796.zip
opie-f16bf63fc655c1e85fed6ce96c464553b260f796.tar.gz
opie-f16bf63fc655c1e85fed6ce96c464553b260f796.tar.bz2
add right click menu, and drag and drop for desktop version. show icons
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/zsafe/zsafe.cpp132
-rw-r--r--noncore/apps/zsafe/zsafe.h8
2 files changed, 122 insertions, 18 deletions
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp
index 189453e..5cad7cb 100644
--- a/noncore/apps/zsafe/zsafe.cpp
+++ b/noncore/apps/zsafe/zsafe.cpp
@@ -55,4 +55,5 @@ using namespace Opie::Ui;
55#ifdef DESKTOP 55#ifdef DESKTOP
56#include <qfiledialog.h> 56#include <qfiledialog.h>
57#include <qdragobject.h>
57#ifndef WIN32 58#ifndef WIN32
58#include <qsettings.h> 59#include <qsettings.h>
@@ -394,4 +395,5 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
394 IsCopy = false; 395 IsCopy = false;
395 modified = false; 396 modified = false;
397 showpwd = false;
396 398
397 // set the config file 399 // set the config file
@@ -458,5 +460,6 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
458 QPixmap software( ( const char** ) software_data ); 460 QPixmap software( ( const char** ) software_data );
459 QPixmap general( ( const char** ) general_data ); 461 QPixmap general( ( const char** ) general_data );
460 if ( !name ) 462 QPixmap image0( ( const char** ) zsafe_xpm );
463 if ( !name )
461 setName( "ZSafe" ); 464 setName( "ZSafe" );
462 465
@@ -493,17 +496,54 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
493 if (filename.isEmpty() || filename.isNull()) 496 if (filename.isEmpty() || filename.isNull())
494 { 497 {
495 if ( !QDir( zsafeAppDirPath ).exists() ) 498
499 // check if the directory application exists, if not
500 // create it
501// #ifndef WIN32
502 // QString d1("Documents/application");
503// #else
504 QString d1(QDir::homeDirPath() + "/Documents/application");
505// #endif
506 QDir pd1(d1);
507 if (!pd1.exists())
508 {
509
510 QDir pd2(QDir::homeDirPath() + "/Documents");
511 if (!pd2.exists()) {
512 QDir pd3(QDir::homeDirPath());
513 if (!pd3.mkdir("Documents", FALSE)) {
514 }
515 }
516
517 if (!pd2.mkdir("application", FALSE))
496 { 518 {
497 //FIXME: Pending someone to look into why QDir.mkdir does not work as expected 519 QMessageBox::critical( 0, tr("ZSafe"),
498 QString cmdline = QString().sprintf( "mkdir -p %s", (const char*) zsafeAppDirPath ); 520#ifdef JPATCH_HDE
499 ::system( cmdline ); 521 tr("<P>Can't create directory ..."+d1+"</P><P>ZSafe will now exit.</P>"));
522#else
523 tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d1));
524#endif
525 exitZs (1);
500 } 526 }
501 if ( !QDir( zsafeAppDirPath ).exists() ) 527 }
528// #ifndef WIN32
529 // QString d2("Documents/application/zsafe");
530// #else
531 QString d2(QDir::homeDirPath() + "/Documents/application/zsafe");
532// #endif
533 QDir pd2(d2);
534 if (!pd2.exists())
535 {
536 if (!pd1.mkdir("zsafe", FALSE))
502 { 537 {
503 QMessageBox::critical( 0, "ZSafe", tr("Can't create application data directory.\nZSafe will now exit.")); 538 QMessageBox::critical( 0, tr("ZSafe"),
504 exitZs (1); 539#ifdef JPATCH_HDE
540 tr("<P>Can't create directory ...//Documents/application/zsafe</P><P>ZSafe will now exit.</P"));
541#else
542 tr("<P>Can't create directory %1</P><P>ZSafe will now exit.</P>").arg(d2));
543#endif
544 exitZs (1);
505 } 545 }
506 } 546 }
507 547
508 // set the default filename 548 // set the default filename
509 filename = zsafeAppDirPath + "/passwords.zsf"; 549 filename = zsafeAppDirPath + "/passwords.zsf";
@@ -512,5 +552,5 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
512 conf->writeEntry(APP_KEY+"document", filename); 552 conf->writeEntry(APP_KEY+"document", filename);
513 saveConf(); 553 saveConf();
514 554 }
515 //if (filename == "INVALIDPWD") 555 //if (filename == "INVALIDPWD")
516 //filename = ""; 556 //filename = "";
@@ -532,4 +572,5 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
532 infoForm = new InfoForm(); 572 infoForm = new InfoForm();
533 categoryDialog = NULL; 573 categoryDialog = NULL;
574 infoForm->setIcon( image0);
534 575
535 // add a menu bar 576 // add a menu bar
@@ -667,4 +708,11 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
667 this, SLOT( showInfo(QListViewItem*) ) ); 708 this, SLOT( showInfo(QListViewItem*) ) );
668 709
710 #ifndef DESKTOP
711 QPEApplication::setStylusOperation( ListView->viewport(),QPEApplication::RightOnHold);
712#endif
713 connect( ListView, SIGNAL( mouseButtonPressed( int, QListViewItem *, const QPoint&, int)),
714 this,SLOT( ListPressed(int, QListViewItem *, const QPoint&, int)) );
715
716 this->setIcon( image0);
669} 717}
670 718
@@ -1517,5 +1565,5 @@ void ZSafe::readAllEntries()
1517 fullIconPath = iconPath + icon; 1565 fullIconPath = iconPath + icon;
1518 pix = new QPixmap (fullIconPath); 1566 pix = new QPixmap (fullIconPath);
1519 if (pix) 1567 if (!pix->isNull())
1520 { 1568 {
1521 QImage img = pix->convertToImage(); 1569 QImage img = pix->convertToImage();
@@ -1732,5 +1780,5 @@ void ZSafe::readAllEntries()
1732 fullIconPath = iconPath + icon; 1780 fullIconPath = iconPath + icon;
1733 pix = new QPixmap (fullIconPath); 1781 pix = new QPixmap (fullIconPath);
1734 if (pix) 1782 if (!pix->isNull())
1735 { 1783 {
1736 QImage img = pix->convertToImage(); 1784 QImage img = pix->convertToImage();
@@ -1761,4 +1809,6 @@ void ZSafe::resume(int)
1761 // hide the main window 1809 // hide the main window
1762 1810
1811 if ( !showpwd )
1812 {
1763 infoForm->hide(); 1813 infoForm->hide();
1764 // open zsafe again 1814 // open zsafe again
@@ -1787,4 +1837,5 @@ void ZSafe::resume(int)
1787 // ask for password and read again 1837 // ask for password and read again
1788 openDocument(filename); 1838 openDocument(filename);
1839 }
1789} 1840}
1790 1841
@@ -1955,5 +2006,5 @@ bool ZSafe::openDocument(const char* _filename, const char* )
1955 fullIconPath = iconPath + icon; 2006 fullIconPath = iconPath + icon;
1956 pix = new QPixmap (fullIconPath); 2007 pix = new QPixmap (fullIconPath);
1957 if (pix) 2008 if (!pix->isNull())
1958 { 2009 {
1959 QImage img = pix->convertToImage(); 2010 QImage img = pix->convertToImage();
@@ -2303,4 +2354,7 @@ void ZSafe::getDocPassword(QString title)
2303 newPwdDialogResult = false; 2354 newPwdDialogResult = false;
2304 2355
2356 QPixmap image0( ( const char** ) zsafe_xpm );
2357 dialog->setIcon( image0);
2358
2305 connect( dialog->PasswordField, SIGNAL( returnPressed() ), 2359 connect( dialog->PasswordField, SIGNAL( returnPressed() ),
2306 this, SLOT( setPasswordDialogDone() ) ); 2360 this, SLOT( setPasswordDialogDone() ) );
@@ -2693,5 +2747,5 @@ void ZSafe::addCategory()
2693 pix = new QPixmap (fullIconPath); 2747 pix = new QPixmap (fullIconPath);
2694 // pix->resize(14, 14); 2748 // pix->resize(14, 14);
2695 if (pix) 2749 if (!pix->isNull())
2696 { 2750 {
2697 // save the full pixmap name into the config file 2751 // save the full pixmap name into the config file
@@ -3162,5 +3216,5 @@ void ZSafe::editCategory()
3162 fullIconPath = iconPath + icon; 3216 fullIconPath = iconPath + icon;
3163 pix = new QPixmap (fullIconPath); 3217 pix = new QPixmap (fullIconPath);
3164 if (pix) 3218 if (!pix->isNull())
3165 { 3219 {
3166 // save the full pixmap name into the config file 3220 // save the full pixmap name into the config file
@@ -3693,3 +3747,49 @@ void ZSafe::setDocument(const QString& fileref)
3693 3747
3694 3748
3749void ZSafe::ListPressed(int mouse, QListViewItem *item, const QPoint&, int column) {
3750 if(item ==0) return;
3751 switch (mouse) {
3752 case 1:
3753 {
3754#ifdef DESKTOP
3755 QDragObject *d = new QTextDrag( item->text(column) , this );
3756 d->dragCopy();
3757#endif
3758 }
3759 break;
3760 case 2:
3761 {
3762 QClipboard *cb = QApplication::clipboard();
3763
3764 QIconSet copy_img((const char**) copy_xpm);
3765 QIconSet edit_img((const char**) edit_xpm);
3766 QPixmap folder_open_img((const char**) folder_open_xpm);
3767 QPixmap editdelete_img((const char**) editdelete_xpm);
3768
3769 QPopupMenu *m = new QPopupMenu(this);
3770 int copyItem = m->insertItem( copy_img, tr( "Copy to Clipboard" ));
3771 int editItem = m->insertItem(edit_img, tr( "Edit" ));
3772 int showItem = m->insertItem(folder_open_img, tr( "Show Info" ));
3773 int cancelItem = m->insertItem( editdelete_img, tr( "Cancel" ));
3774 m->setFocus();
3775 int me=m->exec( QPoint( QCursor::pos().x(), QCursor::pos().y() ) ) ;
3776 if(me == copyItem) {
3777 copyClip( item->text(column) ) ;
3778 } else if (me == cancelItem) {
3779 cb->clear();
3780 } else if (me == editItem) {
3781 editPwd();
3782 } else if (me == showItem) {
3783 showInfo(item);
3784 }
3785 }
3786 break;
3787 };
3788}
3789
3790void ZSafe::copyClip( const QString &text) {
3791 QClipboard *cb = QApplication::clipboard();
3792 cb->setText( text);
3793}
3794
3695 3795
diff --git a/noncore/apps/zsafe/zsafe.h b/noncore/apps/zsafe/zsafe.h
index eef5cdc..ca041ff 100644
--- a/noncore/apps/zsafe/zsafe.h
+++ b/noncore/apps/zsafe/zsafe.h
@@ -62,6 +62,6 @@ public:
62 ~ZSafe(); 62 ~ZSafe();
63 63
64 static const QColor *evenRowColor; 64 static const QColor *evenRowColor;
65 static const QColor *oddRowColor; 65 static const QColor *oddRowColor;
66 66
67 QToolButton* Edit; 67 QToolButton* Edit;
@@ -82,4 +82,5 @@ public:
82 bool IsCut; 82 bool IsCut;
83 bool modified; // true if database is modified 83 bool modified; // true if database is modified
84 bool showpwd; // show PWD Dialog
84 85
85 QListViewItem *lastSearchedCategory; 86 QListViewItem *lastSearchedCategory;
@@ -184,4 +185,7 @@ public slots:
184 virtual void categoryFieldActivated( const QString& str); 185 virtual void categoryFieldActivated( const QString& str);
185 186
187 virtual void ListPressed(int, QListViewItem *, const QPoint&, int);
188 virtual void copyClip( const QString &text);
189
186private slots: 190private slots:
187 void setDocument(const QString& fileref); 191 void setDocument(const QString& fileref);