summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-10-29 05:20:48 (UTC)
committer ulf69 <ulf69>2004-10-29 05:20:48 (UTC)
commit41e3625b8c38ff45e70b59416a519d59a5f4d937 (patch) (side-by-side diff)
tree587b57d51bc77a699fd63cf10e53bf6f9f72a1b7
parent08a4582f8e5184b8abb7d97781c4fc37ee7edf90 (diff)
downloadkdepimpi-41e3625b8c38ff45e70b59416a519d59a5f4d937.zip
kdepimpi-41e3625b8c38ff45e70b59416a519d59a5f4d937.tar.gz
kdepimpi-41e3625b8c38ff45e70b59416a519d59a5f4d937.tar.bz2
display alternating category text in the add/edit dialogbox
Diffstat (more/less context) (ignore 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
@@ -19,16 +19,17 @@
As a special exception, permission is given to link this program
with any edition of Qt, and distribute the resulting executable,
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>
#include <kcombobox.h>
#include <klineedit.h>
@@ -37,20 +38,20 @@ $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 );
////////////////////////////////////////////////////////////////////
@@ -60,41 +61,43 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name)
QGridLayout *layout = new QGridLayout( tab1, 3, 1 );
layout->setMargin( KDialogBase::marginHint() );
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 );
generateButton = new QPushButton( i18n("&Generate"), tab1, "generateButton" );
@@ -191,9 +194,33 @@ void addEntryWnd::generateButton_slot()
qWarning( "addEntryWnd::generateButton_slot(): Not implemented yet" );
}
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
@@ -34,39 +34,45 @@ class QHBoxLayout;
class QGridLayout;
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
@@ -35,18 +35,18 @@
#include <qlabel.h>
#include <qlayout.h>
#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
switchComment(false);
pwGen = new PwGenWndImpl(this);
@@ -110,16 +110,19 @@ void AddEntryWndImpl::cancelButton_slot()
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();
}
void AddEntryWndImpl::revealButton_slot()
{
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
@@ -40,17 +40,17 @@ class PwGenWndImpl;
/** "add/edit" Window */
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(); }
QString getCategory()
{ return categoryComboBox->currentText(); }
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
@@ -628,17 +628,17 @@ void PwM::addPwd_slot1(QString *pw, PwMDoc *_doc)
} else {
doc = curDoc();
}
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) {
w.addCategory(catList[i].c_str());
}
@@ -727,17 +727,17 @@ void PwM::editPwd_slot3(const QString *category, const int *index,
}
PwMDataItem currItem;
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());
}
w.setCurrCategory(curCategory);
w.setDescription(currItem.desc.c_str());