summaryrefslogtreecommitdiffabout
authorulf69 <ulf69>2004-10-29 05:20:48 (UTC)
committer ulf69 <ulf69>2004-10-29 05:20:48 (UTC)
commit41e3625b8c38ff45e70b59416a519d59a5f4d937 (patch) (unidiff)
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 @@
19 As a special exception, permission is given to link this program 19 As a special exception, permission is given to link this program
20 with any edition of Qt, and distribute the resulting executable, 20 with any edition of Qt, and distribute the resulting executable,
21 without including the source code for Qt in the source distribution. 21 without including the source code for Qt in the source distribution.
22 22
23$Id$ 23$Id$
24*/ 24*/
25 25
26#include "addentrywnd_emb.h" 26#include "addentrywnd_emb.h"
27#include "pwmdoc.h"
27 28
28#include <qlayout.h> 29#include <qlayout.h>
29#include <qlabel.h> 30#include <qlabel.h>
30#include <qtabwidget.h> 31#include <qtabwidget.h>
31#include <qgroupbox.h> 32#include <qgroupbox.h>
32#include <klocale.h> 33#include <klocale.h>
33#include <kcombobox.h> 34#include <kcombobox.h>
34#include <klineedit.h> 35#include <klineedit.h>
@@ -37,20 +38,20 @@ $Id$
37 38
38/* 39/*
39 * Constructs a addEntryWnd as a child of 'parent', with the 40 * Constructs a addEntryWnd as a child of 'parent', with the
40 * name 'name' and widget flags set to 'f'. 41 * name 'name' and widget flags set to 'f'.
41 * 42 *
42 * The dialog will by default be modeless, unless you set 'modal' to 43 * The dialog will by default be modeless, unless you set 'modal' to
43 * TRUE to construct a modal dialog. 44 * TRUE to construct a modal dialog.
44 */ 45 */
45addEntryWnd::addEntryWnd( QWidget* parent, const char* name) 46addEntryWnd::addEntryWnd( PwMDoc* d, QWidget* parent, const char* name)
46 : KDialogBase( KDialogBase::Plain, i18n( "edit/add a password entry" ), 47 : KDialogBase( KDialogBase::Plain, i18n( "edit/add a password entry" ),
47 KDialogBase::Ok | KDialogBase::Cancel, 48 KDialogBase::Ok | KDialogBase::Cancel,
48 KDialogBase::Ok, parent, name, true ) 49 KDialogBase::Ok, parent, name, true ), doc(d)
49{ 50{
50 QWidget *page = plainPage(); 51 QWidget *page = plainPage();
51 QVBoxLayout *pageLayout = new QVBoxLayout( page ); 52 QVBoxLayout *pageLayout = new QVBoxLayout( page );
52 53
53 QTabWidget* mTabWidget = new QTabWidget( page ); 54 QTabWidget* mTabWidget = new QTabWidget( page );
54 pageLayout->addWidget( mTabWidget ); 55 pageLayout->addWidget( mTabWidget );
55 56
56 //////////////////////////////////////////////////////////////////// 57 ////////////////////////////////////////////////////////////////////
@@ -60,41 +61,43 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name)
60 QGridLayout *layout = new QGridLayout( tab1, 3, 1 ); 61 QGridLayout *layout = new QGridLayout( tab1, 3, 1 );
61 layout->setMargin( KDialogBase::marginHint() ); 62 layout->setMargin( KDialogBase::marginHint() );
62 layout->setSpacing( KDialogBase::spacingHint() ); 63 layout->setSpacing( KDialogBase::spacingHint() );
63 64
64 65
65 66
66 int i = 0; 67 int i = 0;
67 descLineEdit = new KLineEdit( tab1, "descLineEdit" ); 68 descLineEdit = new KLineEdit( tab1, "descLineEdit" );
68 QLabel* label = new QLabel( descLineEdit, i18n("Description:"), tab1 ); 69 descLineLabel = new QLabel( descLineEdit, i18n("Description:"), tab1 );
69 layout->addWidget( label, i, 0 ); 70 layout->addWidget( descLineLabel, i, 0 );
70 layout->addWidget( descLineEdit, i, 1 ); 71 layout->addWidget( descLineEdit, i, 1 );
71 i++; 72 i++;
72 73
73 categoryComboBox = new KComboBox( tab1 ); 74 categoryComboBox = new KComboBox( tab1 );
74 label = new QLabel( categoryComboBox, i18n("Category:"), tab1 ); 75 QLabel* label = new QLabel( categoryComboBox, i18n("Category:"), tab1 );
75 layout->addWidget( label, i, 0 ); 76 layout->addWidget( label, i, 0 );
76 layout->addWidget( categoryComboBox, i, 1 ); 77 layout->addWidget( categoryComboBox, i, 1 );
77 i++; 78 i++;
78 categoryComboBox->setEditable( TRUE ); 79 categoryComboBox->setEditable( TRUE );
79 categoryComboBox->setSizeLimit( 100 ); 80 categoryComboBox->setSizeLimit( 100 );
80 categoryComboBox->setAutoCompletion( TRUE ); 81 categoryComboBox->setAutoCompletion( TRUE );
81 categoryComboBox->setDuplicatesEnabled( FALSE ); 82 categoryComboBox->setDuplicatesEnabled( FALSE );
83 connect(categoryComboBox,SIGNAL(activated(const QString&)), SLOT(categorySelected(const QString&)));
84
82 85
83 usernameLineEdit = new KLineEdit( tab1, "usernameLineEdit" ); 86 usernameLineEdit = new KLineEdit( tab1, "usernameLineEdit" );
84 label = new QLabel( usernameLineEdit, i18n("Username:"), tab1 ); 87 usernameLineLabel = new QLabel( usernameLineEdit, i18n("Username:"), tab1 );
85 layout->addWidget( label, i, 0 ); 88 layout->addWidget( usernameLineLabel, i, 0 );
86 layout->addWidget( usernameLineEdit, i, 1 ); 89 layout->addWidget( usernameLineEdit, i, 1 );
87 i++; 90 i++;
88 91
89 pwLineEdit = new KLineEdit( tab1, "pwLineEdit" ); 92 pwLineEdit = new KLineEdit( tab1, "pwLineEdit" );
90 pwLineEdit->setEchoMode( QLineEdit::Password ); 93 pwLineEdit->setEchoMode( QLineEdit::Password );
91 label = new QLabel( pwLineEdit, i18n("Password:"), tab1 ); 94 pwLineLabel = new QLabel( pwLineEdit, i18n("Password:"), tab1 );
92 layout->addWidget( label, i, 0 ); 95 layout->addWidget( pwLineLabel, i, 0 );
93 layout->addWidget( pwLineEdit, i, 1 ); 96 layout->addWidget( pwLineEdit, i, 1 );
94 i++; 97 i++;
95 98
96 revealButton = new QPushButton( i18n("&Reveal"), tab1, "revealButton" ); 99 revealButton = new QPushButton( i18n("&Reveal"), tab1, "revealButton" );
97 revealButton->setToggleButton( TRUE ); 100 revealButton->setToggleButton( TRUE );
98 layout->addWidget( revealButton, i, 0 ); 101 layout->addWidget( revealButton, i, 0 );
99 102
100 generateButton = new QPushButton( i18n("&Generate"), tab1, "generateButton" ); 103 generateButton = new QPushButton( i18n("&Generate"), tab1, "generateButton" );
@@ -191,9 +194,33 @@ void addEntryWnd::generateButton_slot()
191 qWarning( "addEntryWnd::generateButton_slot(): Not implemented yet" ); 194 qWarning( "addEntryWnd::generateButton_slot(): Not implemented yet" );
192} 195}
193 196
194void addEntryWnd::advancedCommentButton_slot(bool) 197void addEntryWnd::advancedCommentButton_slot(bool)
195{ 198{
196 qWarning( "addEntryWnd::advancedCommentButton_slot(bool): Not implemented yet" ); 199 qWarning( "addEntryWnd::advancedCommentButton_slot(bool): Not implemented yet" );
197} 200}
198 201
202void addEntryWnd::categorySelected ( const QString & string )
203{
204 unsigned int idx;
205 bool found = doc->findCategory(string, &idx);
206
207 if (found == true)
208 {
209 qDebug("addEntryWnd::categorySelected found");
210 PwMCategoryItem* catitem = doc->getCategoryEntry(idx);
211
212 descLineLabel->setText(catitem->desc_text.c_str());
213 usernameLineLabel->setText(catitem->name_text.c_str());
214 pwLineLabel->setText(catitem->pw_text.c_str());
215 return;
216 }
217 else
218 {
219 qDebug("addEntryWnd::categorySelected NOT found");
220 BUG();
221 }
222
223
224}
225
199 226
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;
34class QGridLayout; 34class QGridLayout;
35class QSpacerItem; 35class QSpacerItem;
36class KLineEdit; 36class KLineEdit;
37class QPushButton; 37class QPushButton;
38class KComboBox; 38class KComboBox;
39class QLabel; 39class QLabel;
40class QGroupBox; 40class QGroupBox;
41class QMultiLineEdit; 41class QMultiLineEdit;
42class PwMDoc;
42 43
43class addEntryWnd : public KDialogBase 44class addEntryWnd : public KDialogBase
44{ 45{
45 Q_OBJECT 46 Q_OBJECT
46 47
47public: 48public:
48 addEntryWnd( QWidget* parent = 0, const char* name = 0); 49 addEntryWnd( PwMDoc* doc, QWidget* parent = 0, const char* name = 0);
49 ~addEntryWnd(); 50 ~addEntryWnd();
50 51
51 KLineEdit* launcherLineEdit; 52 KLineEdit* launcherLineEdit;
52 QPushButton* generateButton; 53 QPushButton* generateButton;
53 KLineEdit* descLineEdit; 54 KLineEdit* descLineEdit;
54 KComboBox* categoryComboBox; 55 KComboBox* categoryComboBox;
55 KLineEdit* usernameLineEdit; 56 KLineEdit* usernameLineEdit;
56 KLineEdit* pwLineEdit; 57 KLineEdit* pwLineEdit;
57 KLineEdit* urlLineEdit; 58 KLineEdit* urlLineEdit;
59 QLabel* descLineLabel;
60 QLabel* usernameLineLabel;
61 QLabel* pwLineLabel;
58 62
59 QPushButton* revealButton; 63 QPushButton* revealButton;
60 QMultiLineEdit* commentTextEdit; 64 QMultiLineEdit* commentTextEdit;
65 PwMDoc* doc;
61 66
62public slots: 67public slots:
63 virtual void revealButton_slot(); 68 virtual void revealButton_slot();
64 virtual void generateButton_slot(); 69 virtual void generateButton_slot();
65 virtual void advancedCommentButton_slot(bool on); 70 virtual void advancedCommentButton_slot(bool on);
66 71
67 protected slots: 72 protected slots:
68 virtual void slotOk(); 73 virtual void slotOk();
74 virtual void categorySelected ( const QString & string );
69 75
70}; 76};
71 77
72#endif // ADDENTRYWND_H 78#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 @@
35#include <qlabel.h> 35#include <qlabel.h>
36#include <qlayout.h> 36#include <qlayout.h>
37 37
38 38
39#ifndef PWM_EMBEDDED 39#ifndef PWM_EMBEDDED
40AddEntryWndImpl::AddEntryWndImpl() 40AddEntryWndImpl::AddEntryWndImpl()
41 : addEntryWnd( 0, "AddEntryWndImpl", TRUE) 41 : addEntryWnd( 0, "AddEntryWndImpl", TRUE)
42#else 42#else
43AddEntryWndImpl::AddEntryWndImpl( QWidget* parent, const char* name) 43AddEntryWndImpl::AddEntryWndImpl( PwMDoc* doc, QWidget* parent, const char* name)
44 : addEntryWnd( parent, name) 44 : addEntryWnd( doc, parent, name)
45#endif 45#endif
46{ 46{
47#ifndef PWM_EMBEDDED 47#ifndef PWM_EMBEDDED
48 editAdvCommentButton = 0; 48 editAdvCommentButton = 0;
49 commentTextEdit = 0; 49 commentTextEdit = 0;
50#endif 50#endif
51 switchComment(false); 51 switchComment(false);
52 pwGen = new PwGenWndImpl(this); 52 pwGen = new PwGenWndImpl(this);
@@ -110,16 +110,19 @@ void AddEntryWndImpl::cancelButton_slot()
110 110
111void AddEntryWndImpl::setCurrCategory(const QString &cat) 111void AddEntryWndImpl::setCurrCategory(const QString &cat)
112{ 112{
113 int i, count = categoryComboBox->count(); 113 int i, count = categoryComboBox->count();
114 114
115 for (i = 0; i < count; ++i) { 115 for (i = 0; i < count; ++i) {
116 if (categoryComboBox->text(i) == cat) { 116 if (categoryComboBox->text(i) == cat) {
117 categoryComboBox->setCurrentItem(i); 117 categoryComboBox->setCurrentItem(i);
118#ifdef PWM_EMBEDDED
119 categorySelected(cat);
120#endif
118 return; 121 return;
119 } 122 }
120 } 123 }
121 BUG(); 124 BUG();
122} 125}
123 126
124void AddEntryWndImpl::revealButton_slot() 127void AddEntryWndImpl::revealButton_slot()
125{ 128{
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;
40/** "add/edit" Window */ 40/** "add/edit" Window */
41class AddEntryWndImpl : public addEntryWnd 41class AddEntryWndImpl : public addEntryWnd
42{ 42{
43 Q_OBJECT 43 Q_OBJECT
44public: 44public:
45#ifndef PWM_EMBEDDED 45#ifndef PWM_EMBEDDED
46 AddEntryWndImpl(); 46 AddEntryWndImpl();
47#else 47#else
48 AddEntryWndImpl( QWidget* parent = 0, const char* name = 0); 48 AddEntryWndImpl( PwMDoc* doc, QWidget* parent = 0, const char* name = 0);
49#endif 49#endif
50 ~AddEntryWndImpl(); 50 ~AddEntryWndImpl();
51 51
52 /* get... functions */ 52 /* get... functions */
53 QString getDescription() 53 QString getDescription()
54 { return descLineEdit->text(); } 54 { return descLineEdit->text(); }
55 QString getCategory() 55 QString getCategory()
56 { return categoryComboBox->currentText(); } 56 { 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)
628 } else { 628 } else {
629 doc = curDoc(); 629 doc = curDoc();
630 } 630 }
631 PWM_ASSERT(doc); 631 PWM_ASSERT(doc);
632 doc->timer()->getLock(DocTimer::id_autoLockTimer); 632 doc->timer()->getLock(DocTimer::id_autoLockTimer);
633#ifndef PWM_EMBEDDED 633#ifndef PWM_EMBEDDED
634 AddEntryWndImpl w; 634 AddEntryWndImpl w;
635#else 635#else
636 AddEntryWndImpl w(this, "addentrywndimpl"); 636 AddEntryWndImpl w(doc, this, "addentrywndimpl");
637#endif 637#endif
638 638
639 vector<string> catList; 639 vector<string> catList;
640 doc->getCategoryList(&catList); 640 doc->getCategoryList(&catList);
641 unsigned i, size = catList.size(); 641 unsigned i, size = catList.size();
642 for (i = 0; i < size; ++i) { 642 for (i = 0; i < size; ++i) {
643 w.addCategory(catList[i].c_str()); 643 w.addCategory(catList[i].c_str());
644 } 644 }
@@ -727,17 +727,17 @@ void PwM::editPwd_slot3(const QString *category, const int *index,
727 } 727 }
728 PwMDataItem currItem; 728 PwMDataItem currItem;
729 if (!doc->getEntry(curCategory, curEntryIndex, &currItem, true)) { 729 if (!doc->getEntry(curCategory, curEntryIndex, &currItem, true)) {
730 doc->timer()->putLock(DocTimer::id_autoLockTimer); 730 doc->timer()->putLock(DocTimer::id_autoLockTimer);
731 return; 731 return;
732 } 732 }
733 BUG_ON(currItem.binary); 733 BUG_ON(currItem.binary);
734 734
735 AddEntryWndImpl w; 735 AddEntryWndImpl w(doc);
736 vector<string> catList; 736 vector<string> catList;
737 doc->getCategoryList(&catList); 737 doc->getCategoryList(&catList);
738 unsigned i, size = catList.size(); 738 unsigned i, size = catList.size();
739 for (i = 0; i < size; ++i) { 739 for (i = 0; i < size; ++i) {
740 w.addCategory(catList[i].c_str()); 740 w.addCategory(catList[i].c_str());
741 } 741 }
742 w.setCurrCategory(curCategory); 742 w.setCurrCategory(curCategory);
743 w.setDescription(currItem.desc.c_str()); 743 w.setDescription(currItem.desc.c_str());