-rw-r--r-- | pwmanager/pwmanager/addentrywnd_emb.cpp | 45 | ||||
-rw-r--r-- | pwmanager/pwmanager/addentrywnd_emb.h | 8 | ||||
-rw-r--r-- | pwmanager/pwmanager/addentrywndimpl.cpp | 7 | ||||
-rw-r--r-- | pwmanager/pwmanager/addentrywndimpl.h | 2 | ||||
-rw-r--r-- | pwmanager/pwmanager/pwm.cpp | 4 |
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 | |||
@@ -1,140 +1,143 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of PwManager/Platform independent. | 2 | This file is part of PwManager/Platform independent. |
3 | Copyright (c) 2004 Ulf Schenk | 3 | Copyright (c) 2004 Ulf Schenk |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
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> |
35 | #include <qpushbutton.h> | 36 | #include <qpushbutton.h> |
36 | #include <qmultilineedit.h> | 37 | #include <qmultilineedit.h> |
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 | */ |
45 | addEntryWnd::addEntryWnd( QWidget* parent, const char* name) | 46 | addEntryWnd::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 | //////////////////////////////////////////////////////////////////// |
57 | // This is the Password tab | 58 | // This is the Password tab |
58 | QWidget *tab1 = new QWidget( mTabWidget ); | 59 | QWidget *tab1 = new QWidget( mTabWidget ); |
59 | 60 | ||
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" ); |
101 | layout->addWidget( generateButton, i, 1 ); | 104 | layout->addWidget( generateButton, i, 1 ); |
102 | i++; | 105 | i++; |
103 | 106 | ||
104 | urlLineEdit = new KLineEdit( tab1, "urlLineEdit" ); | 107 | urlLineEdit = new KLineEdit( tab1, "urlLineEdit" ); |
105 | label = new QLabel( urlLineEdit, i18n("URL:"), tab1 ); | 108 | label = new QLabel( urlLineEdit, i18n("URL:"), tab1 ); |
106 | layout->addWidget( label, i, 0 ); | 109 | layout->addWidget( label, i, 0 ); |
107 | layout->addWidget( urlLineEdit, i, 1 ); | 110 | layout->addWidget( urlLineEdit, i, 1 ); |
108 | i++; | 111 | i++; |
109 | 112 | ||
110 | mTabWidget->addTab( tab1, i18n( "&Password" ) ); | 113 | mTabWidget->addTab( tab1, i18n( "&Password" ) ); |
111 | 114 | ||
112 | 115 | ||
113 | //////////////////////////////////////////////////////////////////// | 116 | //////////////////////////////////////////////////////////////////// |
114 | // This is the Comment tab | 117 | // This is the Comment tab |
115 | QWidget *tab2 = new QWidget( mTabWidget ); | 118 | QWidget *tab2 = new QWidget( mTabWidget ); |
116 | 119 | ||
117 | layout = new QGridLayout( tab2, 3, 1 ); | 120 | layout = new QGridLayout( tab2, 3, 1 ); |
118 | layout->setMargin( KDialogBase::marginHintSmall() ); | 121 | layout->setMargin( KDialogBase::marginHintSmall() ); |
119 | layout->setSpacing( KDialogBase::spacingHintSmall() ); | 122 | layout->setSpacing( KDialogBase::spacingHintSmall() ); |
120 | i = 0; | 123 | i = 0; |
121 | 124 | ||
122 | commentTextEdit = new QMultiLineEdit(tab2); | 125 | commentTextEdit = new QMultiLineEdit(tab2); |
123 | layout->addMultiCellWidget( commentTextEdit, i, i, 0, 0 ); | 126 | layout->addMultiCellWidget( commentTextEdit, i, i, 0, 0 ); |
124 | i++; | 127 | i++; |
125 | 128 | ||
126 | 129 | ||
127 | mTabWidget->addTab( tab2, i18n( "&Comments" ) ); | 130 | mTabWidget->addTab( tab2, i18n( "&Comments" ) ); |
128 | 131 | ||
129 | 132 | ||
130 | //////////////////////////////////////////////////////////////////// | 133 | //////////////////////////////////////////////////////////////////// |
131 | // This is the Launcher tab | 134 | // This is the Launcher tab |
132 | QWidget *tab3 = new QWidget( mTabWidget ); | 135 | QWidget *tab3 = new QWidget( mTabWidget ); |
133 | 136 | ||
134 | layout = new QGridLayout( tab3, 3, 1 ); | 137 | layout = new QGridLayout( tab3, 3, 1 ); |
135 | layout->setMargin( KDialogBase::marginHintSmall() ); | 138 | layout->setMargin( KDialogBase::marginHintSmall() ); |
136 | layout->setSpacing( KDialogBase::spacingHintSmall() ); | 139 | layout->setSpacing( KDialogBase::spacingHintSmall() ); |
137 | i = 0; | 140 | i = 0; |
138 | 141 | ||
139 | launcherLineEdit = new KLineEdit( tab3, "launcherLineEdit" ); | 142 | launcherLineEdit = new KLineEdit( tab3, "launcherLineEdit" ); |
140 | label = new QLabel( launcherLineEdit, i18n("Launcher:"), tab3 ); | 143 | label = new QLabel( launcherLineEdit, i18n("Launcher:"), tab3 ); |
@@ -151,49 +154,73 @@ addEntryWnd::addEntryWnd( QWidget* parent, const char* name) | |||
151 | layout->addWidget( label2, i, 1 ); | 154 | layout->addWidget( label2, i, 1 ); |
152 | i++; | 155 | i++; |
153 | layout->addWidget( label3, i, 0 ); | 156 | layout->addWidget( label3, i, 0 ); |
154 | layout->addWidget( label4, i, 1 ); | 157 | layout->addWidget( label4, i, 1 ); |
155 | i++; | 158 | i++; |
156 | layout->addWidget( label5, i, 0 ); | 159 | layout->addWidget( label5, i, 0 ); |
157 | i++; | 160 | i++; |
158 | 161 | ||
159 | layout->addWidget( label, i, 0 ); | 162 | layout->addWidget( label, i, 0 ); |
160 | layout->addWidget( launcherLineEdit, i, 1 ); | 163 | layout->addWidget( launcherLineEdit, i, 1 ); |
161 | i++; | 164 | i++; |
162 | 165 | ||
163 | 166 | ||
164 | mTabWidget->addTab( tab3, i18n( "&Launcher" ) ); | 167 | mTabWidget->addTab( tab3, i18n( "&Launcher" ) ); |
165 | 168 | ||
166 | // signals and slots connections | 169 | // signals and slots connections |
167 | connect( generateButton, SIGNAL( clicked() ), this, SLOT( generateButton_slot() ) ); | 170 | connect( generateButton, SIGNAL( clicked() ), this, SLOT( generateButton_slot() ) ); |
168 | connect( revealButton, SIGNAL( toggled(bool) ), this, SLOT( revealButton_slot() ) ); | 171 | connect( revealButton, SIGNAL( toggled(bool) ), this, SLOT( revealButton_slot() ) ); |
169 | } | 172 | } |
170 | 173 | ||
171 | /* | 174 | /* |
172 | * Destroys the object and frees any allocated resources | 175 | * Destroys the object and frees any allocated resources |
173 | */ | 176 | */ |
174 | addEntryWnd::~addEntryWnd() | 177 | addEntryWnd::~addEntryWnd() |
175 | { | 178 | { |
176 | // no need to delete child widgets, Qt does it all for us | 179 | // no need to delete child widgets, Qt does it all for us |
177 | } | 180 | } |
178 | 181 | ||
179 | void addEntryWnd::slotOk() | 182 | void addEntryWnd::slotOk() |
180 | { | 183 | { |
181 | qWarning( "addEntryWnd::slotOk(): Not implemented yet" ); | 184 | qWarning( "addEntryWnd::slotOk(): Not implemented yet" ); |
182 | } | 185 | } |
183 | 186 | ||
184 | void addEntryWnd::revealButton_slot() | 187 | void addEntryWnd::revealButton_slot() |
185 | { | 188 | { |
186 | qWarning( "addEntryWnd::revealButton_slot(): Not implemented yet" ); | 189 | qWarning( "addEntryWnd::revealButton_slot(): Not implemented yet" ); |
187 | } | 190 | } |
188 | 191 | ||
189 | void addEntryWnd::generateButton_slot() | 192 | void addEntryWnd::generateButton_slot() |
190 | { | 193 | { |
191 | qWarning( "addEntryWnd::generateButton_slot(): Not implemented yet" ); | 194 | qWarning( "addEntryWnd::generateButton_slot(): Not implemented yet" ); |
192 | } | 195 | } |
193 | 196 | ||
194 | void addEntryWnd::advancedCommentButton_slot(bool) | 197 | void 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 | ||
202 | void 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 | |||
@@ -1,72 +1,78 @@ | |||
1 | /* | 1 | /* |
2 | This file is part of PwManager/Platform independent. | 2 | This file is part of PwManager/Platform independent. |
3 | Copyright (c) 2004 Ulf Schenk | 3 | Copyright (c) 2004 Ulf Schenk |
4 | 4 | ||
5 | This program is free software; you can redistribute it and/or modify | 5 | This program is free software; you can redistribute it and/or modify |
6 | it under the terms of the GNU General Public License as published by | 6 | it under the terms of the GNU General Public License as published by |
7 | the Free Software Foundation; either version 2 of the License, or | 7 | the Free Software Foundation; either version 2 of the License, or |
8 | (at your option) any later version. | 8 | (at your option) any later version. |
9 | 9 | ||
10 | This program is distributed in the hope that it will be useful, | 10 | This program is distributed in the hope that it will be useful, |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
13 | GNU General Public License for more details. | 13 | GNU General Public License for more details. |
14 | 14 | ||
15 | You should have received a copy of the GNU General Public License | 15 | You should have received a copy of the GNU General Public License |
16 | along with this program; if not, write to the Free Software | 16 | along with this program; if not, write to the Free Software |
17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | 17 | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
18 | 18 | ||
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 | #ifndef ADDENTRYWND_EMB_H | 26 | #ifndef ADDENTRYWND_EMB_H |
27 | #define ADDENTRYWND_EMB_H | 27 | #define ADDENTRYWND_EMB_H |
28 | 28 | ||
29 | #include <qvariant.h> | 29 | #include <qvariant.h> |
30 | #include <kdialogbase.h> | 30 | #include <kdialogbase.h> |
31 | 31 | ||
32 | class QVBoxLayout; | 32 | class QVBoxLayout; |
33 | class QHBoxLayout; | 33 | class QHBoxLayout; |
34 | class QGridLayout; | 34 | class QGridLayout; |
35 | class QSpacerItem; | 35 | class QSpacerItem; |
36 | class KLineEdit; | 36 | class KLineEdit; |
37 | class QPushButton; | 37 | class QPushButton; |
38 | class KComboBox; | 38 | class KComboBox; |
39 | class QLabel; | 39 | class QLabel; |
40 | class QGroupBox; | 40 | class QGroupBox; |
41 | class QMultiLineEdit; | 41 | class QMultiLineEdit; |
42 | class PwMDoc; | ||
42 | 43 | ||
43 | class addEntryWnd : public KDialogBase | 44 | class addEntryWnd : public KDialogBase |
44 | { | 45 | { |
45 | Q_OBJECT | 46 | Q_OBJECT |
46 | 47 | ||
47 | public: | 48 | public: |
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 | ||
62 | public slots: | 67 | public 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 | |||
@@ -1,165 +1,168 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * copyright (C) 2003, 2004 by Michael Buesch * | 3 | * copyright (C) 2003, 2004 by Michael Buesch * |
4 | * email: mbuesch@freenet.de * | 4 | * email: mbuesch@freenet.de * |
5 | * * | 5 | * * |
6 | * Many very good improvements and the original implementations of * | 6 | * Many very good improvements and the original implementations of * |
7 | * them came from Matt Scifo <mscifo@o1.com> * | 7 | * them came from Matt Scifo <mscifo@o1.com> * |
8 | * * | 8 | * * |
9 | * This program is free software; you can redistribute it and/or modify * | 9 | * This program is free software; you can redistribute it and/or modify * |
10 | * it under the terms of the GNU General Public License version 2 * | 10 | * it under the terms of the GNU General Public License version 2 * |
11 | * as published by the Free Software Foundation. * | 11 | * as published by the Free Software Foundation. * |
12 | * * | 12 | * * |
13 | ***************************************************************************/ | 13 | ***************************************************************************/ |
14 | 14 | ||
15 | /*************************************************************************** | 15 | /*************************************************************************** |
16 | * copyright (C) 2004 by Ulf Schenk | 16 | * copyright (C) 2004 by Ulf Schenk |
17 | * This file is originaly based on version 1.0.1 of pwmanager | 17 | * This file is originaly based on version 1.0.1 of pwmanager |
18 | * and was modified to run on embedded devices that run microkde | 18 | * and was modified to run on embedded devices that run microkde |
19 | * | 19 | * |
20 | * $Id$ | 20 | * $Id$ |
21 | **************************************************************************/ | 21 | **************************************************************************/ |
22 | 22 | ||
23 | #include "addentrywndimpl.h" | 23 | #include "addentrywndimpl.h" |
24 | #include "pwmexception.h" | 24 | #include "pwmexception.h" |
25 | #include "pwgenwndimpl.h" | 25 | #include "pwgenwndimpl.h" |
26 | #ifndef PWM_EMBEDDED | 26 | #ifndef PWM_EMBEDDED |
27 | #include "advcommeditimpl.h" | 27 | #include "advcommeditimpl.h" |
28 | #endif | 28 | #endif |
29 | #include "htmlgen.h" | 29 | #include "htmlgen.h" |
30 | 30 | ||
31 | #include <kmessagebox.h> | 31 | #include <kmessagebox.h> |
32 | #include <klocale.h> | 32 | #include <klocale.h> |
33 | 33 | ||
34 | #include <qpushbutton.h> | 34 | #include <qpushbutton.h> |
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 |
40 | AddEntryWndImpl::AddEntryWndImpl() | 40 | AddEntryWndImpl::AddEntryWndImpl() |
41 | : addEntryWnd( 0, "AddEntryWndImpl", TRUE) | 41 | : addEntryWnd( 0, "AddEntryWndImpl", TRUE) |
42 | #else | 42 | #else |
43 | AddEntryWndImpl::AddEntryWndImpl( QWidget* parent, const char* name) | 43 | AddEntryWndImpl::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); |
53 | } | 53 | } |
54 | 54 | ||
55 | AddEntryWndImpl::~AddEntryWndImpl() | 55 | AddEntryWndImpl::~AddEntryWndImpl() |
56 | { | 56 | { |
57 | #ifndef PWM_EMBEDDED | 57 | #ifndef PWM_EMBEDDED |
58 | delete_ifnot_null(editAdvCommentButton); | 58 | delete_ifnot_null(editAdvCommentButton); |
59 | delete_ifnot_null(commentTextEdit); | 59 | delete_ifnot_null(commentTextEdit); |
60 | #endif | 60 | #endif |
61 | delete pwGen; | 61 | delete pwGen; |
62 | } | 62 | } |
63 | 63 | ||
64 | #ifdef PWM_EMBEDDED | 64 | #ifdef PWM_EMBEDDED |
65 | void AddEntryWndImpl::slotOk() | 65 | void AddEntryWndImpl::slotOk() |
66 | { | 66 | { |
67 | slotApply(); | 67 | slotApply(); |
68 | 68 | ||
69 | if (pwLineEdit->text().isEmpty()) { | 69 | if (pwLineEdit->text().isEmpty()) { |
70 | KMessageBox::error(this, | 70 | KMessageBox::error(this, |
71 | i18n("Sorry, you haven't set a password."), | 71 | i18n("Sorry, you haven't set a password."), |
72 | i18n("no password")); | 72 | i18n("no password")); |
73 | return; | 73 | return; |
74 | } | 74 | } |
75 | 75 | ||
76 | if (descLineEdit->text().isEmpty()) { | 76 | if (descLineEdit->text().isEmpty()) { |
77 | KMessageBox::error(this, | 77 | KMessageBox::error(this, |
78 | i18n("You haven't set a \"Description\"."), | 78 | i18n("You haven't set a \"Description\"."), |
79 | i18n("Description not set")); | 79 | i18n("Description not set")); |
80 | return; | 80 | return; |
81 | } | 81 | } |
82 | 82 | ||
83 | KDialogBase::slotOk(); | 83 | KDialogBase::slotOk(); |
84 | } | 84 | } |
85 | #else | 85 | #else |
86 | 86 | ||
87 | void AddEntryWndImpl::okButton_slot() | 87 | void AddEntryWndImpl::okButton_slot() |
88 | { | 88 | { |
89 | if (pwLineEdit->text().isEmpty()) { | 89 | if (pwLineEdit->text().isEmpty()) { |
90 | KMessageBox::error(this, | 90 | KMessageBox::error(this, |
91 | i18n("Sorry, you haven't set a password."), | 91 | i18n("Sorry, you haven't set a password."), |
92 | i18n("no password")); | 92 | i18n("no password")); |
93 | return; | 93 | return; |
94 | } | 94 | } |
95 | if (descLineEdit->text().isEmpty()) { | 95 | if (descLineEdit->text().isEmpty()) { |
96 | KMessageBox::error(this, | 96 | KMessageBox::error(this, |
97 | i18n | 97 | i18n |
98 | ("You haven't set a \"Description\"."), | 98 | ("You haven't set a \"Description\"."), |
99 | i18n("Description not set")); | 99 | i18n("Description not set")); |
100 | return; | 100 | return; |
101 | } | 101 | } |
102 | done(1); | 102 | done(1); |
103 | } | 103 | } |
104 | 104 | ||
105 | void AddEntryWndImpl::cancelButton_slot() | 105 | void AddEntryWndImpl::cancelButton_slot() |
106 | { | 106 | { |
107 | done(2); | 107 | done(2); |
108 | } | 108 | } |
109 | #endif | 109 | #endif |
110 | 110 | ||
111 | void AddEntryWndImpl::setCurrCategory(const QString &cat) | 111 | void 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 | ||
124 | void AddEntryWndImpl::revealButton_slot() | 127 | void AddEntryWndImpl::revealButton_slot() |
125 | { | 128 | { |
126 | if (revealButton->isOn()) { | 129 | if (revealButton->isOn()) { |
127 | pwLineEdit->setEchoMode(QLineEdit::Normal); | 130 | pwLineEdit->setEchoMode(QLineEdit::Normal); |
128 | } else { | 131 | } else { |
129 | pwLineEdit->setEchoMode(QLineEdit::Password); | 132 | pwLineEdit->setEchoMode(QLineEdit::Password); |
130 | } | 133 | } |
131 | } | 134 | } |
132 | 135 | ||
133 | void AddEntryWndImpl::generateButton_slot() | 136 | void AddEntryWndImpl::generateButton_slot() |
134 | { | 137 | { |
135 | if (!pwGen->exec()) | 138 | if (!pwGen->exec()) |
136 | return; | 139 | return; |
137 | setPassword(pwGen->getPassword()); | 140 | setPassword(pwGen->getPassword()); |
138 | } | 141 | } |
139 | 142 | ||
140 | QString AddEntryWndImpl::getComment() | 143 | QString AddEntryWndImpl::getComment() |
141 | { | 144 | { |
142 | #ifndef PWM_EMBEDDED | 145 | #ifndef PWM_EMBEDDED |
143 | if (isAdvancedComment()) { | 146 | if (isAdvancedComment()) { |
144 | return advCommentDta; | 147 | return advCommentDta; |
145 | } | 148 | } |
146 | #endif | 149 | #endif |
147 | return commentTextEdit->text(); | 150 | return commentTextEdit->text(); |
148 | } | 151 | } |
149 | 152 | ||
150 | void AddEntryWndImpl::setComment(const QString &comm) | 153 | void AddEntryWndImpl::setComment(const QString &comm) |
151 | { | 154 | { |
152 | #ifndef PWM_EMBEDDED | 155 | #ifndef PWM_EMBEDDED |
153 | if (HtmlGen::isHtml(comm)) { | 156 | if (HtmlGen::isHtml(comm)) { |
154 | advancedCommentButton->setOn(true); | 157 | advancedCommentButton->setOn(true); |
155 | advCommentDta = comm; | 158 | advCommentDta = comm; |
156 | } else { | 159 | } else { |
157 | advancedCommentButton->setOn(false); | 160 | advancedCommentButton->setOn(false); |
158 | commentTextEdit->setText(comm); | 161 | commentTextEdit->setText(comm); |
159 | } | 162 | } |
160 | #else | 163 | #else |
161 | commentTextEdit->setText(comm); | 164 | commentTextEdit->setText(comm); |
162 | #endif | 165 | #endif |
163 | } | 166 | } |
164 | 167 | ||
165 | void AddEntryWndImpl::advancedCommentButton_slot(bool on) | 168 | void AddEntryWndImpl::advancedCommentButton_slot(bool on) |
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 | |||
@@ -1,96 +1,96 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | * * | 2 | * * |
3 | * copyright (C) 2003, 2004 by Michael Buesch * | 3 | * copyright (C) 2003, 2004 by Michael Buesch * |
4 | * email: mbuesch@freenet.de * | 4 | * email: mbuesch@freenet.de * |
5 | * * | 5 | * * |
6 | * This program is free software; you can redistribute it and/or modify * | 6 | * This program is free software; you can redistribute it and/or modify * |
7 | * it under the terms of the GNU General Public License version 2 * | 7 | * it under the terms of the GNU General Public License version 2 * |
8 | * as published by the Free Software Foundation. * | 8 | * as published by the Free Software Foundation. * |
9 | * * | 9 | * * |
10 | ***************************************************************************/ | 10 | ***************************************************************************/ |
11 | 11 | ||
12 | /*************************************************************************** | 12 | /*************************************************************************** |
13 | * copyright (C) 2004 by Ulf Schenk | 13 | * copyright (C) 2004 by Ulf Schenk |
14 | * This file is originaly based on version 1.0.1 of pwmanager | 14 | * This file is originaly based on version 1.0.1 of pwmanager |
15 | * and was modified to run on embedded devices that run microkde | 15 | * and was modified to run on embedded devices that run microkde |
16 | * | 16 | * |
17 | * $Id$ | 17 | * $Id$ |
18 | **************************************************************************/ | 18 | **************************************************************************/ |
19 | 19 | ||
20 | #ifndef __ADDENTRYWNDIMPL_H | 20 | #ifndef __ADDENTRYWNDIMPL_H |
21 | #define __ADDENTRYWNDIMPL_H | 21 | #define __ADDENTRYWNDIMPL_H |
22 | 22 | ||
23 | 23 | ||
24 | #ifndef PWM_EMBEDDED | 24 | #ifndef PWM_EMBEDDED |
25 | #include <qlineedit.h> | 25 | #include <qlineedit.h> |
26 | #include <qtextedit.h> | 26 | #include <qtextedit.h> |
27 | #include <qcombobox.h> | 27 | #include <qcombobox.h> |
28 | #include "addentrywnd.h" | 28 | #include "addentrywnd.h" |
29 | #else | 29 | #else |
30 | #include <klineedit.h> | 30 | #include <klineedit.h> |
31 | #include <kcombobox.h> | 31 | #include <kcombobox.h> |
32 | #include <qmultilineedit.h> | 32 | #include <qmultilineedit.h> |
33 | #include "addentrywnd_emb.h" | 33 | #include "addentrywnd_emb.h" |
34 | #endif | 34 | #endif |
35 | 35 | ||
36 | #include <qpushbutton.h> | 36 | #include <qpushbutton.h> |
37 | 37 | ||
38 | class PwGenWndImpl; | 38 | class PwGenWndImpl; |
39 | 39 | ||
40 | /** "add/edit" Window */ | 40 | /** "add/edit" Window */ |
41 | class AddEntryWndImpl : public addEntryWnd | 41 | class AddEntryWndImpl : public addEntryWnd |
42 | { | 42 | { |
43 | Q_OBJECT | 43 | Q_OBJECT |
44 | public: | 44 | public: |
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(); } |
57 | QString getUsername() | 57 | QString getUsername() |
58 | { return usernameLineEdit->text(); } | 58 | { return usernameLineEdit->text(); } |
59 | QString getPassword() | 59 | QString getPassword() |
60 | { return pwLineEdit->text(); } | 60 | { return pwLineEdit->text(); } |
61 | QString getUrl() | 61 | QString getUrl() |
62 | { return urlLineEdit->text(); } | 62 | { return urlLineEdit->text(); } |
63 | QString getLauncher() | 63 | QString getLauncher() |
64 | { return launcherLineEdit->text(); } | 64 | { return launcherLineEdit->text(); } |
65 | QString getComment(); | 65 | QString getComment(); |
66 | 66 | ||
67 | /* set... functions */ | 67 | /* set... functions */ |
68 | void setDescription(const QString &desc) | 68 | void setDescription(const QString &desc) |
69 | { descLineEdit->setText(desc); } | 69 | { descLineEdit->setText(desc); } |
70 | void setCurrCategory(const QString &cat); | 70 | void setCurrCategory(const QString &cat); |
71 | void addCategory(const QString &cat) | 71 | void addCategory(const QString &cat) |
72 | { categoryComboBox->insertItem(cat); } | 72 | { categoryComboBox->insertItem(cat); } |
73 | void setUsername(const QString &name) | 73 | void setUsername(const QString &name) |
74 | { usernameLineEdit->setText(name); } | 74 | { usernameLineEdit->setText(name); } |
75 | void setPassword(const QString &pw) | 75 | void setPassword(const QString &pw) |
76 | { pwLineEdit->setText(pw); } | 76 | { pwLineEdit->setText(pw); } |
77 | void setUrl(const QString &url) | 77 | void setUrl(const QString &url) |
78 | { urlLineEdit->setText(url); } | 78 | { urlLineEdit->setText(url); } |
79 | void setLauncher(const QString launcher) | 79 | void setLauncher(const QString launcher) |
80 | { launcherLineEdit->setText(launcher); } | 80 | { launcherLineEdit->setText(launcher); } |
81 | void setComment(const QString &comm); | 81 | void setComment(const QString &comm); |
82 | 82 | ||
83 | /** are we using an advanced comment */ | 83 | /** are we using an advanced comment */ |
84 | bool isAdvancedComment() | 84 | bool isAdvancedComment() |
85 | { return useAdvComment; } | 85 | { return useAdvComment; } |
86 | 86 | ||
87 | public slots: | 87 | public slots: |
88 | #ifndef PWM_EMBEDDED | 88 | #ifndef PWM_EMBEDDED |
89 | //MOC_SKIP_BEGIN | 89 | //MOC_SKIP_BEGIN |
90 | /** OK button pressed */ | 90 | /** OK button pressed */ |
91 | void okButton_slot(); | 91 | void okButton_slot(); |
92 | /** cancel button pressed */ | 92 | /** cancel button pressed */ |
93 | void cancelButton_slot(); | 93 | void cancelButton_slot(); |
94 | //MOC_SKIP_END | 94 | //MOC_SKIP_END |
95 | #else | 95 | #else |
96 | virtual void slotOk(); | 96 | virtual void slotOk(); |
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 | |||
@@ -588,97 +588,97 @@ void PwM::quitButton_slot() | |||
588 | 588 | ||
589 | void PwM::save_slot() | 589 | void PwM::save_slot() |
590 | { | 590 | { |
591 | save(); | 591 | save(); |
592 | } | 592 | } |
593 | 593 | ||
594 | bool PwM::save() | 594 | bool PwM::save() |
595 | { | 595 | { |
596 | if (!curDoc()->saveDocUi(curDoc())) | 596 | if (!curDoc()->saveDocUi(curDoc())) |
597 | return false; | 597 | return false; |
598 | showStatMsg(i18n("Successfully saved data.")); | 598 | showStatMsg(i18n("Successfully saved data.")); |
599 | updateCaption(); | 599 | updateCaption(); |
600 | return true; | 600 | return true; |
601 | } | 601 | } |
602 | 602 | ||
603 | void PwM::saveAs_slot() | 603 | void PwM::saveAs_slot() |
604 | { | 604 | { |
605 | saveAs(); | 605 | saveAs(); |
606 | } | 606 | } |
607 | 607 | ||
608 | bool PwM::saveAs() | 608 | bool PwM::saveAs() |
609 | { | 609 | { |
610 | if (!curDoc()->saveAsDocUi(curDoc())) | 610 | if (!curDoc()->saveAsDocUi(curDoc())) |
611 | return false; | 611 | return false; |
612 | showStatMsg(i18n("Successfully saved data.")); | 612 | showStatMsg(i18n("Successfully saved data.")); |
613 | updateCaption(); | 613 | updateCaption(); |
614 | return true; | 614 | return true; |
615 | } | 615 | } |
616 | 616 | ||
617 | //US ENH : changed code to run with older MOC | 617 | //US ENH : changed code to run with older MOC |
618 | void PwM::addPwd_slot() | 618 | void PwM::addPwd_slot() |
619 | { | 619 | { |
620 | addPwd_slot1(0, 0); | 620 | addPwd_slot1(0, 0); |
621 | } | 621 | } |
622 | 622 | ||
623 | void PwM::addPwd_slot1(QString *pw, PwMDoc *_doc) | 623 | void PwM::addPwd_slot1(QString *pw, PwMDoc *_doc) |
624 | { | 624 | { |
625 | PwMDoc *doc; | 625 | PwMDoc *doc; |
626 | if (_doc) { | 626 | if (_doc) { |
627 | doc = _doc; | 627 | doc = _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 | } |
645 | w.setCurrCategory(view->getCurrentCategory()); | 645 | w.setCurrCategory(view->getCurrentCategory()); |
646 | if (pw) | 646 | if (pw) |
647 | w.pwLineEdit->setText(*pw); | 647 | w.pwLineEdit->setText(*pw); |
648 | 648 | ||
649 | tryAgain: | 649 | tryAgain: |
650 | if (w.exec() == 1) | 650 | if (w.exec() == 1) |
651 | { | 651 | { |
652 | PwMDataItem d; | 652 | PwMDataItem d; |
653 | 653 | ||
654 | //US BUG: to initialize all values of curEntr with meaningfulldata, | 654 | //US BUG: to initialize all values of curEntr with meaningfulldata, |
655 | // we call clear on it. Reason: Metadata will be uninitialized otherwise. | 655 | // we call clear on it. Reason: Metadata will be uninitialized otherwise. |
656 | // another option would be to create a constructor for PwMDataItem | 656 | // another option would be to create a constructor for PwMDataItem |
657 | d.clear(true); | 657 | d.clear(true); |
658 | 658 | ||
659 | d.desc = w.getDescription().latin1(); | 659 | d.desc = w.getDescription().latin1(); |
660 | d.name = w.getUsername().latin1(); | 660 | d.name = w.getUsername().latin1(); |
661 | d.pw = w.getPassword().latin1(); | 661 | d.pw = w.getPassword().latin1(); |
662 | d.comment = w.getComment().latin1(); | 662 | d.comment = w.getComment().latin1(); |
663 | d.url = w.getUrl().latin1(); | 663 | d.url = w.getUrl().latin1(); |
664 | d.launcher = w.getLauncher().latin1(); | 664 | d.launcher = w.getLauncher().latin1(); |
665 | PwMerror ret = doc->addEntry(w.getCategory(), &d); | 665 | PwMerror ret = doc->addEntry(w.getCategory(), &d); |
666 | if (ret == e_entryExists) { | 666 | if (ret == e_entryExists) { |
667 | KMessageBox::error(this, | 667 | KMessageBox::error(this, |
668 | i18n | 668 | i18n |
669 | ("An entry with this \"Description\",\n" | 669 | ("An entry with this \"Description\",\n" |
670 | "does already exist.\n" | 670 | "does already exist.\n" |
671 | "Please select another description."), | 671 | "Please select another description."), |
672 | i18n("entry already exists.")); | 672 | i18n("entry already exists.")); |
673 | goto tryAgain; | 673 | goto tryAgain; |
674 | } else if (ret == e_maxAllowedEntr) { | 674 | } else if (ret == e_maxAllowedEntr) { |
675 | KMessageBox::error(this, i18n("The maximum possible number of\nentries" | 675 | KMessageBox::error(this, i18n("The maximum possible number of\nentries" |
676 | "has been reached.\nYou can't add more entries."), | 676 | "has been reached.\nYou can't add more entries."), |
677 | i18n("maximum number of entries")); | 677 | i18n("maximum number of entries")); |
678 | doc->timer()->putLock(DocTimer::id_autoLockTimer); | 678 | doc->timer()->putLock(DocTimer::id_autoLockTimer); |
679 | return; | 679 | return; |
680 | } | 680 | } |
681 | } | 681 | } |
682 | setVirgin(false); | 682 | setVirgin(false); |
683 | doc->timer()->putLock(DocTimer::id_autoLockTimer); | 683 | doc->timer()->putLock(DocTimer::id_autoLockTimer); |
684 | } | 684 | } |
@@ -687,97 +687,97 @@ void PwM::addPwd_slot1(QString *pw, PwMDoc *_doc) | |||
687 | void PwM::editPwd_slot() | 687 | void PwM::editPwd_slot() |
688 | { | 688 | { |
689 | editPwd_slot3(0,0,0); | 689 | editPwd_slot3(0,0,0); |
690 | } | 690 | } |
691 | 691 | ||
692 | void PwM::editPwd_slot1(const QString *category) | 692 | void PwM::editPwd_slot1(const QString *category) |
693 | { | 693 | { |
694 | editPwd_slot3(category, 0, 0); | 694 | editPwd_slot3(category, 0, 0); |
695 | } | 695 | } |
696 | 696 | ||
697 | void PwM::editPwd_slot3(const QString *category, const int *index, | 697 | void PwM::editPwd_slot3(const QString *category, const int *index, |
698 | PwMDoc *_doc) | 698 | PwMDoc *_doc) |
699 | { | 699 | { |
700 | PwMDoc *doc; | 700 | PwMDoc *doc; |
701 | if (_doc) { | 701 | if (_doc) { |
702 | doc = _doc; | 702 | doc = _doc; |
703 | } else { | 703 | } else { |
704 | doc = curDoc(); | 704 | doc = curDoc(); |
705 | } | 705 | } |
706 | PWM_ASSERT(doc); | 706 | PWM_ASSERT(doc); |
707 | if (doc->isDocEmpty()) | 707 | if (doc->isDocEmpty()) |
708 | return; | 708 | return; |
709 | if (doc->isDeepLocked()) | 709 | if (doc->isDeepLocked()) |
710 | return; | 710 | return; |
711 | doc->timer()->getLock(DocTimer::id_autoLockTimer); | 711 | doc->timer()->getLock(DocTimer::id_autoLockTimer); |
712 | unsigned int curEntryIndex; | 712 | unsigned int curEntryIndex; |
713 | if (index) { | 713 | if (index) { |
714 | curEntryIndex = *index; | 714 | curEntryIndex = *index; |
715 | } else { | 715 | } else { |
716 | if (!(view->getCurEntryIndex(&curEntryIndex))) { | 716 | if (!(view->getCurEntryIndex(&curEntryIndex))) { |
717 | printDebug("couldn't get index. Maybe we have a binary entry here."); | 717 | printDebug("couldn't get index. Maybe we have a binary entry here."); |
718 | doc->timer()->putLock(DocTimer::id_autoLockTimer); | 718 | doc->timer()->putLock(DocTimer::id_autoLockTimer); |
719 | return; | 719 | return; |
720 | } | 720 | } |
721 | } | 721 | } |
722 | QString curCategory; | 722 | QString curCategory; |
723 | if (category) { | 723 | if (category) { |
724 | curCategory = *category; | 724 | curCategory = *category; |
725 | } else { | 725 | } else { |
726 | curCategory = view->getCurrentCategory(); | 726 | curCategory = view->getCurrentCategory(); |
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()); |
744 | w.setUsername(currItem.name.c_str()); | 744 | w.setUsername(currItem.name.c_str()); |
745 | w.setPassword(currItem.pw.c_str()); | 745 | w.setPassword(currItem.pw.c_str()); |
746 | w.setUrl(currItem.url.c_str()); | 746 | w.setUrl(currItem.url.c_str()); |
747 | w.setLauncher(currItem.launcher.c_str()); | 747 | w.setLauncher(currItem.launcher.c_str()); |
748 | w.setComment(currItem.comment.c_str()); | 748 | w.setComment(currItem.comment.c_str()); |
749 | if (w.exec() == 1) { | 749 | if (w.exec() == 1) { |
750 | currItem.desc = w.getDescription().latin1(); | 750 | currItem.desc = w.getDescription().latin1(); |
751 | currItem.name = w.getUsername().latin1(); | 751 | currItem.name = w.getUsername().latin1(); |
752 | currItem.pw = w.getPassword().latin1(); | 752 | currItem.pw = w.getPassword().latin1(); |
753 | currItem.comment = w.getComment().latin1(); | 753 | currItem.comment = w.getComment().latin1(); |
754 | currItem.url = w.getUrl().latin1(); | 754 | currItem.url = w.getUrl().latin1(); |
755 | currItem.launcher = w.getLauncher().latin1(); | 755 | currItem.launcher = w.getLauncher().latin1(); |
756 | if (!doc->editEntry(curCategory, w.getCategory(), | 756 | if (!doc->editEntry(curCategory, w.getCategory(), |
757 | curEntryIndex, &currItem)) { | 757 | curEntryIndex, &currItem)) { |
758 | KMessageBox::error(this, | 758 | KMessageBox::error(this, |
759 | i18n("Couldn't edit the entry.\n" | 759 | i18n("Couldn't edit the entry.\n" |
760 | "Maybe you changed the category and\n" | 760 | "Maybe you changed the category and\n" |
761 | "this entry is already present\nin the new " | 761 | "this entry is already present\nin the new " |
762 | "category?"), | 762 | "category?"), |
763 | i18n("couldn't edit entry.")); | 763 | i18n("couldn't edit entry.")); |
764 | doc->timer()->putLock(DocTimer::id_autoLockTimer); | 764 | doc->timer()->putLock(DocTimer::id_autoLockTimer); |
765 | return; | 765 | return; |
766 | } | 766 | } |
767 | } | 767 | } |
768 | doc->timer()->putLock(DocTimer::id_autoLockTimer); | 768 | doc->timer()->putLock(DocTimer::id_autoLockTimer); |
769 | } | 769 | } |
770 | 770 | ||
771 | void PwM::deletePwd_slot() | 771 | void PwM::deletePwd_slot() |
772 | { | 772 | { |
773 | PWM_ASSERT(curDoc()); | 773 | PWM_ASSERT(curDoc()); |
774 | if (curDoc()->isDocEmpty()) | 774 | if (curDoc()->isDocEmpty()) |
775 | return; | 775 | return; |
776 | if (curDoc()->isDeepLocked()) | 776 | if (curDoc()->isDeepLocked()) |
777 | return; | 777 | return; |
778 | curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); | 778 | curDoc()->timer()->getLock(DocTimer::id_autoLockTimer); |
779 | unsigned int curEntryIndex = 0; | 779 | unsigned int curEntryIndex = 0; |
780 | if (!(view->getCurEntryIndex(&curEntryIndex))) { | 780 | if (!(view->getCurEntryIndex(&curEntryIndex))) { |
781 | printDebug("couldn't get index"); | 781 | printDebug("couldn't get index"); |
782 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); | 782 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); |
783 | return; | 783 | return; |