summaryrefslogtreecommitdiff
path: root/noncore
Side-by-side diff
Diffstat (limited to 'noncore') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/zsafe/zsafe.cpp26
1 files changed, 25 insertions, 1 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
@@ -2597,6 +2597,7 @@ void ZSafe::addCategory()
#endif
QStringList::Iterator it = list.begin();
QString categ;
+ QString firstCategory;
dialog->CategoryField->clear(); // remove all items
while( it != list.end() )
{
@@ -2618,13 +2619,18 @@ void ZSafe::addCategory()
if (!categ.isEmpty())
{
dialog->CategoryField->insertItem (categ, -1);
+ if (firstCategory.isEmpty())
+ firstCategory = categ;
}
}
++it;
}
+ if (firstCategory.isEmpty())
setCategoryDialogFields(dialog);
+ else
+ setCategoryDialogFields(dialog, firstCategory);
// CategoryDialog *dialog = new CategoryDialog(this, "Category", TRUE);
@@ -2786,6 +2792,12 @@ void ZSafe::delCategory()
void ZSafe::setCategoryDialogFields(CategoryDialog *dialog)
{
+ if (!dialog)
+ return;
+
+ QString icon;
+ if (selectedItem)
+ {
dialog->Field1->setText(getFieldLabel (selectedItem, "1", tr("Name")));
dialog->Field2->setText(getFieldLabel (selectedItem, "2", tr("Username")));
dialog->Field3->setText(getFieldLabel (selectedItem, "3", tr("Password")));
@@ -2793,12 +2805,21 @@ void ZSafe::setCategoryDialogFields(CategoryDialog *dialog)
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();
}
+ }
+ 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);
@@ -2838,6 +2859,9 @@ void ZSafe::setCategoryDialogFields(CategoryDialog *dialog)
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")));