-rw-r--r-- | noncore/apps/zsafe/zsafe.cpp | 44 |
1 files changed, 34 insertions, 10 deletions
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp index ef16b46..e86b3d2 100644 --- a/noncore/apps/zsafe/zsafe.cpp +++ b/noncore/apps/zsafe/zsafe.cpp @@ -2592,16 +2592,17 @@ void ZSafe::addCategory() s = t.readLine(); // line of text excluding '\n' list.append(s); } f.close(); } #endif QStringList::Iterator it = list.begin(); QString categ; + QString firstCategory; dialog->CategoryField->clear(); // remove all items while( it != list.end() ) { QString *cat = new QString (*it); if (cat->contains("-field1", FALSE)) { #ifdef DESKTOP #ifndef WIN32 @@ -2613,23 +2614,28 @@ void ZSafe::addCategory() #else int pos = cat->find ("-field1"); cat->truncate(pos); categ = *cat; #endif if (!categ.isEmpty()) { dialog->CategoryField->insertItem (categ, -1); + if (firstCategory.isEmpty()) + firstCategory = categ; } } ++it; } - setCategoryDialogFields(dialog); + if (firstCategory.isEmpty()) + setCategoryDialogFields(dialog); + else + setCategoryDialogFields(dialog, firstCategory); // CategoryDialog *dialog = new CategoryDialog(this, "Category", TRUE); if (initIcons) { Wait waitDialog(this, tr("Wait dialog")); waitDialog.waitLabel->setText(tr("Gathering icons...")); waitDialog.show(); @@ -2781,28 +2787,43 @@ void ZSafe::delCategory() 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"))); + if (!dialog) + return; QString icon; - Category *cat= categories.find (selectedItem->text(0)); - if (cat) + if (selectedItem) { - icon = cat->getIconName(); + 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"))); + + Category *cat= categories.find (selectedItem->text(0)); + if (cat) + { + icon = cat->getIconName(); + } + } + else + { + dialog->Field1->setText(tr("Name")); + dialog->Field2->setText(tr("Username")); + dialog->Field3->setText(tr("Password")); + dialog->Field4->setText(tr("Comment")); + dialog->Field5->setText(tr("Field 4")); + dialog->Field6->setText(tr("Field 5")); } #ifdef DESKTOP QDir d(iconPath); #else QDir d(QPEApplication::qpeDir() + "/pics/"); #endif d.setFilter( QDir::Files); @@ -2833,16 +2854,19 @@ void ZSafe::setCategoryDialogFields(CategoryDialog *dialog) } ++it; } } } void ZSafe::setCategoryDialogFields(CategoryDialog *dialog, QString category) { + if (!dialog) + return; + 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; |