From 41e3625b8c38ff45e70b59416a519d59a5f4d937 Mon Sep 17 00:00:00 2001 From: ulf69 Date: Fri, 29 Oct 2004 05:20:48 +0000 Subject: display alternating category text in the add/edit dialogbox --- (limited to 'pwmanager') diff --git a/pwmanager/pwmanager/addentrywnd_emb.cpp b/pwmanager/pwmanager/addentrywnd_emb.cpp index dd09d13..f065058 100644 --- a/pwmanager/pwmanager/addentrywnd_emb.cpp +++ b/pwmanager/pwmanager/addentrywnd_emb.cpp @@ -24,6 +24,7 @@ $Id$ */ #include "addentrywnd_emb.h" +#include "pwmdoc.h" #include #include @@ -42,10 +43,10 @@ $Id$ * The dialog will by default be modeless, unless you set 'modal' to * TRUE to construct a modal dialog. */ -addEntryWnd::addEntryWnd( QWidget* parent, const char* name) +addEntryWnd::addEntryWnd( PwMDoc* d, QWidget* parent, const char* name) : KDialogBase( KDialogBase::Plain, i18n( "edit/add a password entry" ), KDialogBase::Ok | KDialogBase::Cancel, - KDialogBase::Ok, parent, name, true ) + KDialogBase::Ok, parent, name, true ), doc(d) { QWidget *page = plainPage(); QVBoxLayout *pageLayout = new QVBoxLayout( page ); @@ -65,13 +66,13 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name) int i = 0; descLineEdit = new KLineEdit( tab1, "descLineEdit" ); - QLabel* label = new QLabel( descLineEdit, i18n("Description:"), tab1 ); - layout->addWidget( label, i, 0 ); + descLineLabel = new QLabel( descLineEdit, i18n("Description:"), tab1 ); + layout->addWidget( descLineLabel, i, 0 ); layout->addWidget( descLineEdit, i, 1 ); i++; categoryComboBox = new KComboBox( tab1 ); - label = new QLabel( categoryComboBox, i18n("Category:"), tab1 ); + QLabel* label = new QLabel( categoryComboBox, i18n("Category:"), tab1 ); layout->addWidget( label, i, 0 ); layout->addWidget( categoryComboBox, i, 1 ); i++; @@ -79,17 +80,19 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name) categoryComboBox->setSizeLimit( 100 ); categoryComboBox->setAutoCompletion( TRUE ); categoryComboBox->setDuplicatesEnabled( FALSE ); + connect(categoryComboBox,SIGNAL(activated(const QString&)), SLOT(categorySelected(const QString&))); + usernameLineEdit = new KLineEdit( tab1, "usernameLineEdit" ); - label = new QLabel( usernameLineEdit, i18n("Username:"), tab1 ); - layout->addWidget( label, i, 0 ); + usernameLineLabel = new QLabel( usernameLineEdit, i18n("Username:"), tab1 ); + layout->addWidget( usernameLineLabel, i, 0 ); layout->addWidget( usernameLineEdit, i, 1 ); i++; pwLineEdit = new KLineEdit( tab1, "pwLineEdit" ); pwLineEdit->setEchoMode( QLineEdit::Password ); - label = new QLabel( pwLineEdit, i18n("Password:"), tab1 ); - layout->addWidget( label, i, 0 ); + pwLineLabel = new QLabel( pwLineEdit, i18n("Password:"), tab1 ); + layout->addWidget( pwLineLabel, i, 0 ); layout->addWidget( pwLineEdit, i, 1 ); i++; @@ -196,4 +199,28 @@ void addEntryWnd::advancedCommentButton_slot(bool) qWarning( "addEntryWnd::advancedCommentButton_slot(bool): Not implemented yet" ); } +void addEntryWnd::categorySelected ( const QString & string ) +{ + unsigned int idx; + bool found = doc->findCategory(string, &idx); + + if (found == true) + { + qDebug("addEntryWnd::categorySelected found"); + PwMCategoryItem* catitem = doc->getCategoryEntry(idx); + + descLineLabel->setText(catitem->desc_text.c_str()); + usernameLineLabel->setText(catitem->name_text.c_str()); + pwLineLabel->setText(catitem->pw_text.c_str()); + return; + } + else + { + qDebug("addEntryWnd::categorySelected NOT found"); + BUG(); + } + + +} + diff --git a/pwmanager/pwmanager/addentrywnd_emb.h b/pwmanager/pwmanager/addentrywnd_emb.h index 83761dc..966d9d2 100644 --- a/pwmanager/pwmanager/addentrywnd_emb.h +++ b/pwmanager/pwmanager/addentrywnd_emb.h @@ -39,13 +39,14 @@ class KComboBox; class QLabel; class QGroupBox; class QMultiLineEdit; +class PwMDoc; class addEntryWnd : public KDialogBase { Q_OBJECT public: - addEntryWnd( QWidget* parent = 0, const char* name = 0); + addEntryWnd( PwMDoc* doc, QWidget* parent = 0, const char* name = 0); ~addEntryWnd(); KLineEdit* launcherLineEdit; @@ -55,9 +56,13 @@ public: KLineEdit* usernameLineEdit; KLineEdit* pwLineEdit; KLineEdit* urlLineEdit; + QLabel* descLineLabel; + QLabel* usernameLineLabel; + QLabel* pwLineLabel; QPushButton* revealButton; QMultiLineEdit* commentTextEdit; + PwMDoc* doc; public slots: virtual void revealButton_slot(); @@ -66,6 +71,7 @@ public slots: protected slots: virtual void slotOk(); + virtual void categorySelected ( const QString & string ); }; diff --git a/pwmanager/pwmanager/addentrywndimpl.cpp b/pwmanager/pwmanager/addentrywndimpl.cpp index d47f32c..fa6b6c0 100644 --- a/pwmanager/pwmanager/addentrywndimpl.cpp +++ b/pwmanager/pwmanager/addentrywndimpl.cpp @@ -40,8 +40,8 @@ AddEntryWndImpl::AddEntryWndImpl() : addEntryWnd( 0, "AddEntryWndImpl", TRUE) #else -AddEntryWndImpl::AddEntryWndImpl( QWidget* parent, const char* name) - : addEntryWnd( parent, name) +AddEntryWndImpl::AddEntryWndImpl( PwMDoc* doc, QWidget* parent, const char* name) + : addEntryWnd( doc, parent, name) #endif { #ifndef PWM_EMBEDDED @@ -115,6 +115,9 @@ void AddEntryWndImpl::setCurrCategory(const QString &cat) for (i = 0; i < count; ++i) { if (categoryComboBox->text(i) == cat) { categoryComboBox->setCurrentItem(i); +#ifdef PWM_EMBEDDED + categorySelected(cat); +#endif return; } } diff --git a/pwmanager/pwmanager/addentrywndimpl.h b/pwmanager/pwmanager/addentrywndimpl.h index ce9a594..e13eb54 100644 --- a/pwmanager/pwmanager/addentrywndimpl.h +++ b/pwmanager/pwmanager/addentrywndimpl.h @@ -45,7 +45,7 @@ public: #ifndef PWM_EMBEDDED AddEntryWndImpl(); #else - AddEntryWndImpl( QWidget* parent = 0, const char* name = 0); + AddEntryWndImpl( PwMDoc* doc, QWidget* parent = 0, const char* name = 0); #endif ~AddEntryWndImpl(); diff --git a/pwmanager/pwmanager/pwm.cpp b/pwmanager/pwmanager/pwm.cpp index bd98d72..9642a43 100644 --- a/pwmanager/pwmanager/pwm.cpp +++ b/pwmanager/pwmanager/pwm.cpp @@ -633,7 +633,7 @@ void PwM::addPwd_slot1(QString *pw, PwMDoc *_doc) #ifndef PWM_EMBEDDED AddEntryWndImpl w; #else - AddEntryWndImpl w(this, "addentrywndimpl"); + AddEntryWndImpl w(doc, this, "addentrywndimpl"); #endif vector catList; @@ -732,7 +732,7 @@ void PwM::editPwd_slot3(const QString *category, const int *index, } BUG_ON(currItem.binary); - AddEntryWndImpl w; + AddEntryWndImpl w(doc); vector catList; doc->getCategoryList(&catList); unsigned i, size = catList.size(); -- cgit v0.9.0.2