author | zcarsten <zcarsten> | 2003-08-01 07:01:38 (UTC) |
---|---|---|
committer | zcarsten <zcarsten> | 2003-08-01 07:01:38 (UTC) |
commit | cb45aa10043fdd6fddcab42ef0e07ddafc3d506d (patch) (side-by-side diff) | |
tree | 3d9e33ec1a9d9d3e93a0b72b9adf9d6e3c08e2ba | |
parent | 274bfafbda8d1d9af6cc5d1ced828a97a47c3f55 (diff) | |
download | opie-cb45aa10043fdd6fddcab42ef0e07ddafc3d506d.zip opie-cb45aa10043fdd6fddcab42ef0e07ddafc3d506d.tar.gz opie-cb45aa10043fdd6fddcab42ef0e07ddafc3d506d.tar.bz2 |
editCategory improved: icon field is changed depending on the selected category
-rw-r--r-- | noncore/apps/zsafe/zsafe.cpp | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp index abf6511..ef16b46 100644 --- a/noncore/apps/zsafe/zsafe.cpp +++ b/noncore/apps/zsafe/zsafe.cpp @@ -2731,138 +2731,222 @@ void ZSafe::addCategory() saveCategoryDialogFields(dialog); } else { // delete dialog; dialog->hide(); return; } } } void ZSafe::delCategory() { if (!selectedItem) return; if (isCategory(selectedItem)) { switch( QMessageBox::information( this, tr("ZSafe"), tr("Do you want to delete?"), tr("&Delete"), tr("D&on't Delete"), 0 // Enter == button 0 ) ) { // Escape == button 2 case 0: // Delete clicked, Alt-S or Enter pressed. // Delete from the category list modified = true; categories.remove (selectedItem->text(0)); // #ifndef WIN32 conf->removeEntry (selectedItem->text(0)); // #endif saveConf(); // Delete the selected item and all subitems // step through all subitems QListViewItem *si; for (si = selectedItem->firstChild(); si != NULL; ) { QListViewItem *_si = si; si = si->nextSibling(); selectedItem->takeItem(_si); // remove from view list if (_si) delete _si; } ListView->takeItem(selectedItem); delete selectedItem; selectedItem = NULL; break; case 1: // Don't delete break; } } } void ZSafe::setCategoryDialogFields(CategoryDialog *dialog) { dialog->Field1->setText(getFieldLabel (selectedItem, "1", tr("Name"))); dialog->Field2->setText(getFieldLabel (selectedItem, "2", tr("Username"))); dialog->Field3->setText(getFieldLabel (selectedItem, "3", tr("Password"))); dialog->Field4->setText(getFieldLabel (selectedItem, "4", tr("Comment"))); dialog->Field5->setText(getFieldLabel (selectedItem, "5", tr("Field 4"))); dialog->Field6->setText(getFieldLabel (selectedItem, "6", tr("Field 5"))); + + QString icon; + Category *cat= categories.find (selectedItem->text(0)); + if (cat) + { + icon = cat->getIconName(); + } + +#ifdef DESKTOP + QDir d(iconPath); +#else + QDir d(QPEApplication::qpeDir() + "/pics/"); +#endif + d.setFilter( QDir::Files); + + const QFileInfoList *list = d.entryInfoList(); + int i=0; + QFileInfoListIterator it( *list ); // create list iterator + QFileInfo *fi; // pointer for traversing + if (icon.isEmpty() || icon.isNull()) + { + dialog->IconField->setCurrentItem(0); + } + else + { + while ( (fi=it.current()) ) + { // for each file... + QString fileName = fi->fileName(); + if(fileName.right(4) == ".png") + { + fileName = fileName.mid(0,fileName.length()-4); + + if(fileName+".png"==icon) + { + dialog->IconField->setCurrentItem(i+1); + break; + } + ++i; + } + ++it; + } + } } void ZSafe::setCategoryDialogFields(CategoryDialog *dialog, QString category) { dialog->Field1->setText(getFieldLabel (category, "1", tr("Name"))); dialog->Field2->setText(getFieldLabel (category, "2", tr("Username"))); dialog->Field3->setText(getFieldLabel (category, "3", tr("Password"))); dialog->Field4->setText(getFieldLabel (category, "4", tr("Comment"))); dialog->Field5->setText(getFieldLabel (category, "5", tr("Field 4"))); dialog->Field6->setText(getFieldLabel (category, "6", tr("Field 5"))); + + QString icon; + Category *cat= categories.find (category); + if (cat) + { + icon = cat->getIconName(); + } + +#ifdef DESKTOP + QDir d(iconPath); +#else + QDir d(QPEApplication::qpeDir() + "/pics/"); +#endif + d.setFilter( QDir::Files); + + const QFileInfoList *list = d.entryInfoList(); + int i=0; + QFileInfoListIterator it( *list ); // create list iterator + QFileInfo *fi; // pointer for traversing + if (icon.isEmpty() || icon.isNull()) + { + dialog->IconField->setCurrentItem(0); + } + else + { + while ( (fi=it.current()) ) + { // for each file... + QString fileName = fi->fileName(); + if(fileName.right(4) == ".png") + { + fileName = fileName.mid(0,fileName.length()-4); + + if(fileName+".png"==icon) + { + dialog->IconField->setCurrentItem(i+1); + break; + } + ++i; + } + ++it; + } + } } void ZSafe::saveCategoryDialogFields(CategoryDialog *dialog) { QString app_key = APP_KEY; #ifndef DESKTOP conf->setGroup ("fieldDefs"); #else #ifndef WIN32 app_key += "/fieldDefs/"; #endif #endif QString category = dialog->CategoryField->currentText(); // #ifndef WIN32 conf->writeEntry(app_key+category+"-field1", dialog->Field1->text()); conf->writeEntry(app_key+category+"-field2", dialog->Field2->text()); conf->writeEntry(app_key+category+"-field3", dialog->Field3->text()); conf->writeEntry(app_key+category+"-field4", dialog->Field4->text()); conf->writeEntry(app_key+category+"-field5", dialog->Field5->text()); conf->writeEntry(app_key+category+"-field6", dialog->Field6->text()); // #endif saveConf(); #ifndef DESKTOP conf->setGroup ("zsafe"); #endif } void ZSafe::editCategory() { if (!selectedItem) return; if (isCategory(selectedItem)) { QString category = selectedItem->text(0); bool initIcons = false; // open the 'Category' dialog CategoryDialog *dialog; if (categoryDialog) { dialog = categoryDialog; } else { categoryDialog = new CategoryDialog(this, tr("Category"), TRUE); #ifdef WIN32 categoryDialog->setCaption ("Qt " + tr("Category")); #endif dialog = categoryDialog; connect( dialog->CategoryField, SIGNAL( activated ( const QString &)), this, SLOT( categoryFieldActivated( const QString & ) ) ); initIcons = true; } setCategoryDialogFields(dialog); #ifdef DESKTOP #ifndef WIN32 QStringList list = conf->entryList( APP_KEY+"/fieldDefs" ); #else // read all categories from the config file and store // into a list QFile f (cfgFile); QStringList list; if ( f.open(IO_ReadOnly) ) { // file opened successfully |