-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,199 +1,226 @@ | |||
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 ); |
141 | 144 | ||
142 | QLabel* label1 = new QLabel( launcherLineEdit, i18n("$d = Description"), tab3 ); | 145 | QLabel* label1 = new QLabel( launcherLineEdit, i18n("$d = Description"), tab3 ); |
143 | QLabel* label2 = new QLabel( launcherLineEdit, i18n("$n = Username"), tab3 ); | 146 | QLabel* label2 = new QLabel( launcherLineEdit, i18n("$n = Username"), tab3 ); |
144 | QLabel* label3 = new QLabel( launcherLineEdit, i18n("$c = Comment"), tab3 ); | 147 | QLabel* label3 = new QLabel( launcherLineEdit, i18n("$c = Comment"), tab3 ); |
145 | QLabel* label4 = new QLabel( launcherLineEdit, i18n("$u = URL"), tab3 ); | 148 | QLabel* label4 = new QLabel( launcherLineEdit, i18n("$u = URL"), tab3 ); |
146 | QLabel* label5 = new QLabel( launcherLineEdit, i18n("$p = Password"), tab3 ); | 149 | QLabel* label5 = new QLabel( launcherLineEdit, i18n("$p = Password"), tab3 ); |
147 | 150 | ||
148 | label = new QLabel( launcherLineEdit, i18n("Launcher:"), tab3 ); | 151 | label = new QLabel( launcherLineEdit, i18n("Launcher:"), tab3 ); |
149 | 152 | ||
150 | layout->addWidget( label1, i, 0 ); | 153 | layout->addWidget( label1, i, 0 ); |
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,217 +1,220 @@ | |||
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) |
166 | { | 169 | { |
167 | #ifndef PWM_EMBEDDED | 170 | #ifndef PWM_EMBEDDED |
168 | switchComment(on); | 171 | switchComment(on); |
169 | #endif | 172 | #endif |
170 | } | 173 | } |
171 | 174 | ||
172 | void AddEntryWndImpl::switchComment(bool toAdvanced) | 175 | void AddEntryWndImpl::switchComment(bool toAdvanced) |
173 | { | 176 | { |
174 | #ifndef PWM_EMBEDDED | 177 | #ifndef PWM_EMBEDDED |
175 | 178 | ||
176 | useAdvComment = toAdvanced; | 179 | useAdvComment = toAdvanced; |
177 | if (toAdvanced) { | 180 | if (toAdvanced) { |
178 | if (commentTextEdit) { | 181 | if (commentTextEdit) { |
179 | savedCommentText = commentTextEdit->text(); | 182 | savedCommentText = commentTextEdit->text(); |
180 | delete_and_null(commentTextEdit); | 183 | delete_and_null(commentTextEdit); |
181 | } | 184 | } |
182 | if (editAdvCommentButton) | 185 | if (editAdvCommentButton) |
183 | return; | 186 | return; |
184 | editAdvCommentButton = new QPushButton(i18n("Edit advanced comment..."), | 187 | editAdvCommentButton = new QPushButton(i18n("Edit advanced comment..."), |
185 | commentDummy); | 188 | commentDummy); |
186 | editAdvCommentButton->resize(commentDummy->size().width(), 50); | 189 | editAdvCommentButton->resize(commentDummy->size().width(), 50); |
187 | connect(editAdvCommentButton, SIGNAL(clicked()), | 190 | connect(editAdvCommentButton, SIGNAL(clicked()), |
188 | this, SLOT(editAdvCommentButton_slot())); | 191 | this, SLOT(editAdvCommentButton_slot())); |
189 | editAdvCommentButton->show(); | 192 | editAdvCommentButton->show(); |
190 | } else { | 193 | } else { |
191 | delete_ifnot_null(editAdvCommentButton); | 194 | delete_ifnot_null(editAdvCommentButton); |
192 | if (commentTextEdit) | 195 | if (commentTextEdit) |
193 | return; | 196 | return; |
194 | 197 | ||
195 | commentTextEdit = new QTextEdit(commentDummy); | 198 | commentTextEdit = new QTextEdit(commentDummy); |
196 | commentTextEdit->setTextFormat(Qt::PlainText); | 199 | commentTextEdit->setTextFormat(Qt::PlainText); |
197 | commentTextEdit->resize(commentDummy->size()); | 200 | commentTextEdit->resize(commentDummy->size()); |
198 | commentTextEdit->setText(savedCommentText); | 201 | commentTextEdit->setText(savedCommentText); |
199 | commentTextEdit->show(); | 202 | commentTextEdit->show(); |
200 | } | 203 | } |
201 | #endif | 204 | #endif |
202 | } | 205 | } |
203 | 206 | ||
204 | void AddEntryWndImpl::editAdvCommentButton_slot() | 207 | void AddEntryWndImpl::editAdvCommentButton_slot() |
205 | { | 208 | { |
206 | #ifndef PWM_EMBEDDED | 209 | #ifndef PWM_EMBEDDED |
207 | AdvCommEditImpl editor(this); | 210 | AdvCommEditImpl editor(this); |
208 | editor.setHtmlDta(advCommentDta); | 211 | editor.setHtmlDta(advCommentDta); |
209 | if (editor.exec()) | 212 | if (editor.exec()) |
210 | return; | 213 | return; |
211 | advCommentDta = editor.getHtmlDta(); | 214 | advCommentDta = editor.getHtmlDta(); |
212 | #endif | 215 | #endif |
213 | } | 216 | } |
214 | 217 | ||
215 | #ifndef PWM_EMBEDDED | 218 | #ifndef PWM_EMBEDDED |
216 | #include "addentrywndimpl.moc" | 219 | #include "addentrywndimpl.moc" |
217 | #endif | 220 | #endif |
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,127 +1,127 @@ | |||
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(); |
97 | #endif | 97 | #endif |
98 | /** Reveal button pressed */ | 98 | /** Reveal button pressed */ |
99 | void revealButton_slot(); | 99 | void revealButton_slot(); |
100 | /** Generate button pressed */ | 100 | /** Generate button pressed */ |
101 | void generateButton_slot(); | 101 | void generateButton_slot(); |
102 | /** advanced comment button pressed */ | 102 | /** advanced comment button pressed */ |
103 | void advancedCommentButton_slot(bool on); | 103 | void advancedCommentButton_slot(bool on); |
104 | /** edit advanced comment button pressed */ | 104 | /** edit advanced comment button pressed */ |
105 | void editAdvCommentButton_slot(); | 105 | void editAdvCommentButton_slot(); |
106 | 106 | ||
107 | protected: | 107 | protected: |
108 | void switchComment(bool toAdvanced); | 108 | void switchComment(bool toAdvanced); |
109 | 109 | ||
110 | protected: | 110 | protected: |
111 | QPushButton *editAdvCommentButton; | 111 | QPushButton *editAdvCommentButton; |
112 | #ifndef PWM_EMBEDDED | 112 | #ifndef PWM_EMBEDDED |
113 | QTextEdit *commentTextEdit; | 113 | QTextEdit *commentTextEdit; |
114 | #else | 114 | #else |
115 | //nothing here | 115 | //nothing here |
116 | #endif | 116 | #endif |
117 | /** saved data from normal comment text edit box */ | 117 | /** saved data from normal comment text edit box */ |
118 | QString savedCommentText; | 118 | QString savedCommentText; |
119 | /** use an advanced comment? */ | 119 | /** use an advanced comment? */ |
120 | bool useAdvComment; | 120 | bool useAdvComment; |
121 | /** data of advanced comment (if available) */ | 121 | /** data of advanced comment (if available) */ |
122 | QString advCommentDta; | 122 | QString advCommentDta; |
123 | /** password generation object */ | 123 | /** password generation object */ |
124 | PwGenWndImpl *pwGen; | 124 | PwGenWndImpl *pwGen; |
125 | }; | 125 | }; |
126 | 126 | ||
127 | #endif | 127 | #endif |
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 | |||
@@ -508,356 +508,356 @@ void PwM::setVirgin(bool v) | |||
508 | { | 508 | { |
509 | if (virgin == v) | 509 | if (virgin == v) |
510 | return; | 510 | return; |
511 | virgin = v; | 511 | virgin = v; |
512 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVE, !v); | 512 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVE, !v); |
513 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVEAS, !v); | 513 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_SAVEAS, !v); |
514 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_EXPORT, !v); | 514 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_EXPORT, !v); |
515 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_PRINT, !v); | 515 | filePopup->setItemEnabled(BUTTON_POPUP_FILE_PRINT, !v); |
516 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_EDIT, !v); | 516 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_EDIT, !v); |
517 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_DEL, !v); | 517 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_DEL, !v); |
518 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_CHANGEMP, !v); | 518 | managePopup->setItemEnabled(BUTTON_POPUP_MANAGE_CHANGEMP, !v); |
519 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_LOCK, !v); | 519 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_LOCK, !v); |
520 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_DEEPLOCK, !v); | 520 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_DEEPLOCK, !v); |
521 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_UNLOCK, !v); | 521 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_UNLOCK, !v); |
522 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_FIND, !v); | 522 | viewPopup->setItemEnabled(BUTTON_POPUP_VIEW_FIND, !v); |
523 | toolBar()->setItemEnabled(BUTTON_TOOL_SAVE, !v); | 523 | toolBar()->setItemEnabled(BUTTON_TOOL_SAVE, !v); |
524 | toolBar()->setItemEnabled(BUTTON_TOOL_SAVEAS, !v); | 524 | toolBar()->setItemEnabled(BUTTON_TOOL_SAVEAS, !v); |
525 | toolBar()->setItemEnabled(BUTTON_TOOL_PRINT, !v); | 525 | toolBar()->setItemEnabled(BUTTON_TOOL_PRINT, !v); |
526 | toolBar()->setItemEnabled(BUTTON_TOOL_EDIT, !v); | 526 | toolBar()->setItemEnabled(BUTTON_TOOL_EDIT, !v); |
527 | toolBar()->setItemEnabled(BUTTON_TOOL_DEL, !v); | 527 | toolBar()->setItemEnabled(BUTTON_TOOL_DEL, !v); |
528 | toolBar()->setItemEnabled(BUTTON_TOOL_LOCK, !v); | 528 | toolBar()->setItemEnabled(BUTTON_TOOL_LOCK, !v); |
529 | toolBar()->setItemEnabled(BUTTON_TOOL_DEEPLOCK, !v); | 529 | toolBar()->setItemEnabled(BUTTON_TOOL_DEEPLOCK, !v); |
530 | toolBar()->setItemEnabled(BUTTON_TOOL_UNLOCK, !v); | 530 | toolBar()->setItemEnabled(BUTTON_TOOL_UNLOCK, !v); |
531 | toolBar()->setItemEnabled(BUTTON_TOOL_FIND, !v); | 531 | toolBar()->setItemEnabled(BUTTON_TOOL_FIND, !v); |
532 | } | 532 | } |
533 | 533 | ||
534 | void PwM::new_slot() | 534 | void PwM::new_slot() |
535 | { | 535 | { |
536 | init->createMainWnd(); | 536 | init->createMainWnd(); |
537 | } | 537 | } |
538 | 538 | ||
539 | //US ENH | 539 | //US ENH |
540 | void PwM::open_slot() | 540 | void PwM::open_slot() |
541 | { | 541 | { |
542 | open_slot(""); | 542 | open_slot(""); |
543 | } | 543 | } |
544 | 544 | ||
545 | void PwM::open_slot(QString fn) | 545 | void PwM::open_slot(QString fn) |
546 | { | 546 | { |
547 | openDoc(fn); | 547 | openDoc(fn); |
548 | } | 548 | } |
549 | 549 | ||
550 | PwMDoc * PwM::openDoc(QString filename, bool openDeepLocked) | 550 | PwMDoc * PwM::openDoc(QString filename, bool openDeepLocked) |
551 | { | 551 | { |
552 | if (!isVirgin()) { | 552 | if (!isVirgin()) { |
553 | // open the document in a new window. | 553 | // open the document in a new window. |
554 | PwM *newInstance = init->createMainWnd(); | 554 | PwM *newInstance = init->createMainWnd(); |
555 | PwMDoc *newDoc = newInstance->openDoc(filename, openDeepLocked); | 555 | PwMDoc *newDoc = newInstance->openDoc(filename, openDeepLocked); |
556 | if (!newDoc) { | 556 | if (!newDoc) { |
557 | newInstance->setForceQuit(true); | 557 | newInstance->setForceQuit(true); |
558 | delete_and_null(newInstance); | 558 | delete_and_null(newInstance); |
559 | } | 559 | } |
560 | return newDoc; | 560 | return newDoc; |
561 | } | 561 | } |
562 | 562 | ||
563 | if (!curDoc()->openDocUi(curDoc(), filename, openDeepLocked)) | 563 | if (!curDoc()->openDocUi(curDoc(), filename, openDeepLocked)) |
564 | return 0; | 564 | return 0; |
565 | showStatMsg(i18n("Successfully opened file.")); | 565 | showStatMsg(i18n("Successfully opened file.")); |
566 | updateCaption(); | 566 | updateCaption(); |
567 | setVirgin(false); | 567 | setVirgin(false); |
568 | return curDoc(); | 568 | return curDoc(); |
569 | } | 569 | } |
570 | 570 | ||
571 | PwMView * PwM::makeNewListView(PwMDoc *doc) | 571 | PwMView * PwM::makeNewListView(PwMDoc *doc) |
572 | { | 572 | { |
573 | PwMView *ret = new PwMView(this, this, doc); | 573 | PwMView *ret = new PwMView(this, this, doc); |
574 | ret->setFont(conf()->confGlobEntryFont()); | 574 | ret->setFont(conf()->confGlobEntryFont()); |
575 | ret->show(); | 575 | ret->show(); |
576 | return ret; | 576 | return ret; |
577 | } | 577 | } |
578 | 578 | ||
579 | void PwM::close_slot() | 579 | void PwM::close_slot() |
580 | { | 580 | { |
581 | close(); | 581 | close(); |
582 | } | 582 | } |
583 | 583 | ||
584 | void PwM::quitButton_slot() | 584 | void PwM::quitButton_slot() |
585 | { | 585 | { |
586 | init->shutdownApp(0); | 586 | init->shutdownApp(0); |
587 | } | 587 | } |
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 | } |
685 | 685 | ||
686 | //US ENH : changed code to run with older MOC | 686 | //US ENH : changed code to run with older MOC |
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; |
784 | } | 784 | } |
785 | 785 | ||
786 | PwMDataItem currItem; | 786 | PwMDataItem currItem; |
787 | QString curCategory = view->getCurrentCategory(); | 787 | QString curCategory = view->getCurrentCategory(); |
788 | if (!curDoc()->getEntry(curCategory, curEntryIndex, &currItem)) { | 788 | if (!curDoc()->getEntry(curCategory, curEntryIndex, &currItem)) { |
789 | printDebug("couldn't get entry"); | 789 | printDebug("couldn't get entry"); |
790 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); | 790 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); |
791 | return; | 791 | return; |
792 | } | 792 | } |
793 | if (KMessageBox:: | 793 | if (KMessageBox:: |
794 | questionYesNo(this, | 794 | questionYesNo(this, |
795 | i18n | 795 | i18n |
796 | ("Do you really want to delete\nthe selected entry") + | 796 | ("Do you really want to delete\nthe selected entry") + |
797 | " \n\"" + QString(currItem.desc.c_str()) | 797 | " \n\"" + QString(currItem.desc.c_str()) |
798 | + "\" ?", i18n("delete?")) | 798 | + "\" ?", i18n("delete?")) |
799 | == KMessageBox::Yes) { | 799 | == KMessageBox::Yes) { |
800 | 800 | ||
801 | curDoc()->delEntry(curCategory, curEntryIndex); | 801 | curDoc()->delEntry(curCategory, curEntryIndex); |
802 | } | 802 | } |
803 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); | 803 | curDoc()->timer()->putLock(DocTimer::id_autoLockTimer); |
804 | } | 804 | } |
805 | 805 | ||
806 | void PwM::changeMasterPwd_slot() | 806 | void PwM::changeMasterPwd_slot() |
807 | { | 807 | { |
808 | PWM_ASSERT(curDoc()); | 808 | PWM_ASSERT(curDoc()); |
809 | curDoc()->changeCurrentPw(); | 809 | curDoc()->changeCurrentPw(); |
810 | } | 810 | } |
811 | 811 | ||
812 | void PwM::lockWnd_slot() | 812 | void PwM::lockWnd_slot() |
813 | { | 813 | { |
814 | PWM_ASSERT(curDoc()); | 814 | PWM_ASSERT(curDoc()); |
815 | curDoc()->lockAll(true); | 815 | curDoc()->lockAll(true); |
816 | } | 816 | } |
817 | 817 | ||
818 | void PwM::deepLockWnd_slot() | 818 | void PwM::deepLockWnd_slot() |
819 | { | 819 | { |
820 | PWM_ASSERT(curDoc()); | 820 | PWM_ASSERT(curDoc()); |
821 | curDoc()->deepLock(); | 821 | curDoc()->deepLock(); |
822 | } | 822 | } |
823 | 823 | ||
824 | void PwM::unlockWnd_slot() | 824 | void PwM::unlockWnd_slot() |
825 | { | 825 | { |
826 | PWM_ASSERT(curDoc()); | 826 | PWM_ASSERT(curDoc()); |
827 | curDoc()->lockAll(false); | 827 | curDoc()->lockAll(false); |
828 | } | 828 | } |
829 | 829 | ||
830 | void PwM::config_slot() | 830 | void PwM::config_slot() |
831 | { | 831 | { |
832 | int oldStyle = conf()->confWndMainViewStyle(); | 832 | int oldStyle = conf()->confWndMainViewStyle(); |
833 | #ifdef PWM_EMBEDDED | 833 | #ifdef PWM_EMBEDDED |
834 | KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"pwmconfigdialog", true ); | 834 | KCMultiDialog* ConfigureDialog = new KCMultiDialog( "PIM", this ,"pwmconfigdialog", true ); |
835 | 835 | ||
836 | KCMPwmConfig* pwmcfg = new KCMPwmConfig( ConfigureDialog->getNewVBoxPage(i18n( "PwManager")) , "KCMPwmConfig" ); | 836 | KCMPwmConfig* pwmcfg = new KCMPwmConfig( ConfigureDialog->getNewVBoxPage(i18n( "PwManager")) , "KCMPwmConfig" ); |
837 | ConfigureDialog->addModule(pwmcfg ); | 837 | ConfigureDialog->addModule(pwmcfg ); |
838 | 838 | ||
839 | KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" ); | 839 | KCMKdePimConfig* kdelibcfg = new KCMKdePimConfig( ConfigureDialog->getNewVBoxPage(i18n( "Global")) , "KCMKdeLibConfig" ); |
840 | ConfigureDialog->addModule(kdelibcfg ); | 840 | ConfigureDialog->addModule(kdelibcfg ); |
841 | 841 | ||
842 | #ifndef DESKTOP_VERSION | 842 | #ifndef DESKTOP_VERSION |
843 | ConfigureDialog->showMaximized(); | 843 | ConfigureDialog->showMaximized(); |
844 | #endif | 844 | #endif |
845 | if ( ConfigureDialog->exec() ) | 845 | if ( ConfigureDialog->exec() ) |
846 | KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") ); | 846 | KMessageBox::information( this, i18n("Some changes are only\neffective after a restart!\n") ); |
847 | delete ConfigureDialog; | 847 | delete ConfigureDialog; |
848 | 848 | ||
849 | #else //PWM_EMBEDDED | 849 | #else //PWM_EMBEDDED |
850 | // display the configuration window (modal mode) | 850 | // display the configuration window (modal mode) |
851 | if (!conf()->showConfWnd(this)) | 851 | if (!conf()->showConfWnd(this)) |
852 | return; | 852 | return; |
853 | #endif | 853 | #endif |
854 | 854 | ||
855 | int newStyle = conf()->confWndMainViewStyle(); | 855 | int newStyle = conf()->confWndMainViewStyle(); |
856 | // reinitialize tray | 856 | // reinitialize tray |
857 | init->initTray(); | 857 | init->initTray(); |
858 | // reinitialize KWallet emulation | 858 | // reinitialize KWallet emulation |
859 | init->initKWalletEmu(); | 859 | init->initKWalletEmu(); |
860 | 860 | ||
861 | PwMDocList *_dl = PwMDoc::getOpenDocList(); | 861 | PwMDocList *_dl = PwMDoc::getOpenDocList(); |
862 | const vector<PwMDocList::listItem> *dl = _dl->getList(); | 862 | const vector<PwMDocList::listItem> *dl = _dl->getList(); |
863 | vector<PwMDocList::listItem>::const_iterator i = dl->begin(), | 863 | vector<PwMDocList::listItem>::const_iterator i = dl->begin(), |