summaryrefslogtreecommitdiffabout
path: root/pwmanager
Side-by-side diff
Diffstat (limited to 'pwmanager') (more/less context) (show whitespace changes)
-rw-r--r--pwmanager/pwmanager/addentrywnd_emb.cpp45
-rw-r--r--pwmanager/pwmanager/addentrywnd_emb.h8
-rw-r--r--pwmanager/pwmanager/addentrywndimpl.cpp7
-rw-r--r--pwmanager/pwmanager/addentrywndimpl.h2
-rw-r--r--pwmanager/pwmanager/pwm.cpp4
5 files changed, 51 insertions, 15 deletions
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
@@ -21,12 +21,13 @@
without including the source code for Qt in the source distribution.
$Id$
*/
#include "addentrywnd_emb.h"
+#include "pwmdoc.h"
#include <qlayout.h>
#include <qlabel.h>
#include <qtabwidget.h>
#include <qgroupbox.h>
#include <klocale.h>
@@ -39,16 +40,16 @@ $Id$
* Constructs a addEntryWnd as a child of 'parent', with the
* name 'name' and widget flags set to 'f'.
*
* 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 );
QTabWidget* mTabWidget = new QTabWidget( page );
pageLayout->addWidget( mTabWidget );
@@ -62,37 +63,39 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name)
layout->setSpacing( KDialogBase::spacingHint() );
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++;
categoryComboBox->setEditable( TRUE );
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++;
revealButton = new QPushButton( i18n("&Reveal"), tab1, "revealButton" );
revealButton->setToggleButton( TRUE );
layout->addWidget( revealButton, i, 0 );
@@ -193,7 +196,31 @@ void addEntryWnd::generateButton_slot()
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
@@ -36,37 +36,43 @@ class QSpacerItem;
class KLineEdit;
class QPushButton;
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;
QPushButton* generateButton;
KLineEdit* descLineEdit;
KComboBox* categoryComboBox;
KLineEdit* usernameLineEdit;
KLineEdit* pwLineEdit;
KLineEdit* urlLineEdit;
+ QLabel* descLineLabel;
+ QLabel* usernameLineLabel;
+ QLabel* pwLineLabel;
QPushButton* revealButton;
QMultiLineEdit* commentTextEdit;
+ PwMDoc* doc;
public slots:
virtual void revealButton_slot();
virtual void generateButton_slot();
virtual void advancedCommentButton_slot(bool on);
protected slots:
virtual void slotOk();
+ virtual void categorySelected ( const QString & string );
};
#endif // ADDENTRYWND_H
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
@@ -37,14 +37,14 @@
#ifndef PWM_EMBEDDED
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
editAdvCommentButton = 0;
commentTextEdit = 0;
#endif
@@ -112,12 +112,15 @@ void AddEntryWndImpl::setCurrCategory(const QString &cat)
{
int i, count = categoryComboBox->count();
for (i = 0; i < count; ++i) {
if (categoryComboBox->text(i) == cat) {
categoryComboBox->setCurrentItem(i);
+#ifdef PWM_EMBEDDED
+ categorySelected(cat);
+#endif
return;
}
}
BUG();
}
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
@@ -42,13 +42,13 @@ class AddEntryWndImpl : public addEntryWnd
{
Q_OBJECT
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();
/* get... functions */
QString getDescription()
{ return descLineEdit->text(); }
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
@@ -630,13 +630,13 @@ void PwM::addPwd_slot1(QString *pw, PwMDoc *_doc)
}
PWM_ASSERT(doc);
doc->timer()->getLock(DocTimer::id_autoLockTimer);
#ifndef PWM_EMBEDDED
AddEntryWndImpl w;
#else
- AddEntryWndImpl w(this, "addentrywndimpl");
+ AddEntryWndImpl w(doc, this, "addentrywndimpl");
#endif
vector<string> catList;
doc->getCategoryList(&catList);
unsigned i, size = catList.size();
for (i = 0; i < size; ++i) {
@@ -729,13 +729,13 @@ void PwM::editPwd_slot3(const QString *category, const int *index,
if (!doc->getEntry(curCategory, curEntryIndex, &currItem, true)) {
doc->timer()->putLock(DocTimer::id_autoLockTimer);
return;
}
BUG_ON(currItem.binary);
- AddEntryWndImpl w;
+ AddEntryWndImpl w(doc);
vector<string> catList;
doc->getCategoryList(&catList);
unsigned i, size = catList.size();
for (i = 0; i < size; ++i) {
w.addCategory(catList[i].c_str());
}