summaryrefslogtreecommitdiffabout
Unidiff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.cpp51
-rw-r--r--pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.h8
2 files changed, 53 insertions, 6 deletions
diff --git a/pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.cpp b/pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.cpp
index 8afea76..525bdaa 100644
--- a/pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.cpp
+++ b/pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.cpp
@@ -64,53 +64,85 @@ PWMConfigWidget::PWMConfigWidget(PWMPrefs *prefs, QWidget *parent, const char *n
64 QGridLayout *windowStyleLayout = new QGridLayout( windowStylePage, 3, 3); 64 QGridLayout *windowStyleLayout = new QGridLayout( windowStylePage, 3, 3);
65 65
66 int i = 0; 66 int i = 0;
67 KPrefsWidRadios * windowStyle = addWidRadios(i18n("Window-style:") ,&(prefs->mMainViewStyle), windowStylePage); 67 KPrefsWidRadios * windowStyle = addWidRadios(i18n("Window-style:") ,&(prefs->mMainViewStyle), windowStylePage);
68 windowStyle->addRadio(i18n("Category on top")); 68 windowStyle->addRadio(i18n("Category on top"));
69 windowStyle->addRadio(i18n("Category-list left/top")); 69 windowStyle->addRadio(i18n("Category-list left/top"));
70 windowStyleLayout->addMultiCellWidget( (QWidget*)windowStyle->groupBox(),i,i,0,2); 70 windowStyleLayout->addMultiCellWidget( (QWidget*)windowStyle->groupBox(),i,i,0,2);
71 ++i; 71 ++i;
72 72
73 KPrefsWidFont *selEntrFont = 73 KPrefsWidFont *selEntrFont =
74 addWidFont(i18n("Password"),i18n("Font for Pw entries:"), 74 addWidFont(i18n("Password"),i18n("Font for Pw entries:"),
75 &(prefs->mEntryFont),windowStylePage); 75 &(prefs->mEntryFont),windowStylePage);
76 windowStyleLayout->addWidget(selEntrFont->label(),i,0); 76 windowStyleLayout->addWidget(selEntrFont->label(),i,0);
77 windowStyleLayout->addWidget(selEntrFont->preview(),i,1); 77 windowStyleLayout->addWidget(selEntrFont->preview(),i,1);
78 windowStyleLayout->addWidget(selEntrFont->button(),i,2); 78 windowStyleLayout->addWidget(selEntrFont->button(),i,2);
79 ++i; 79 ++i;
80 80
81 81
82 // File page 82 // File page
83 ////////////////////////////////////////////////////// 83 //////////////////////////////////////////////////////
84 QWidget *filePage = new QWidget( this ); 84 QWidget *filePage = new QWidget( this );
85 QGridLayout *fileLayout = new QGridLayout( filePage, 3, 2); 85 QGridLayout *fileLayout = new QGridLayout( filePage, 3, 2);
86 86
87 i = 0; 87 i = 0;
88 KPrefsWidRadios * compr = addWidRadios(i18n("Compression:") ,&(prefs->mCompression), filePage); 88 QLabel* kcfg_compression_label = new QLabel(i18n("Compression:"), filePage);
89 compr->addRadio(i18n("none")); 89 fileLayout->addWidget(kcfg_compression_label,i,0);
90 compr->addRadio(i18n("gzip")); 90 kcfg_compression = new QComboBox(filePage, "kcfg_compression");
91 compr->addRadio(i18n("bzip2")); 91 kcfg_compression->insertItem(i18n("None"));
92 fileLayout->addMultiCellWidget( (QWidget*)compr->groupBox(),i,i,0,1); 92 kcfg_compression->insertItem(i18n("gzip"));
93 //US not yet supported: kcfg_compression->insertItem(i18n("bzip2"));
94 fileLayout->addWidget( kcfg_compression,i,1);
95 ++i;
96
97 QLabel* kcfg_crypt_label = new QLabel(i18n("Encryption:"), filePage);
98 fileLayout->addWidget(kcfg_crypt_label,i,0);
99 kcfg_cryptAlgo = new QComboBox(filePage, "kcfg_cryptAlgo");
100 kcfg_cryptAlgo->insertItem(i18n("Blowfish (128 bit)"));
101#ifdef CONFIG_PWMANAGER_GCRY
102 kcfg_cryptAlgo->insertItem(i18n("AES-128, Rijndael (128 bit)"));
103 kcfg_cryptAlgo->insertItem(i18n("AES-192, Rijndael (192 bit)"));
104 kcfg_cryptAlgo->insertItem(i18n("AES-256, Rijndael (256 bit)"));
105 kcfg_cryptAlgo->insertItem(i18n("Triple-DES (168 bit)"));
106 kcfg_cryptAlgo->insertItem(i18n("Twofish (256 bit)"));
107 kcfg_cryptAlgo->insertItem(i18n("Twofish-128 (128 bit)"));
108#endif // CONFIG_PWMANAGER_GCRY
109 fileLayout->addWidget( kcfg_cryptAlgo,i,1);
110 ++i;
111
112 QLabel* kcfg_hash_label = new QLabel(i18n("Hashing:"), filePage);
113 fileLayout->addWidget(kcfg_hash_label,i,0);
114 kcfg_hashAlgo = new QComboBox(filePage, "kcfg_hashAlgo");
115 kcfg_hashAlgo->insertItem(i18n("SHA-160, SHA1 (160 bit)"));
116#ifdef CONFIG_PWMANAGER_GCRY
117 kcfg_hashAlgo->insertItem(i18n("SHA-256 (256 bit)"));
118 kcfg_hashAlgo->insertItem(i18n("SHA-384 (384 bit)"));
119 kcfg_hashAlgo->insertItem(i18n("SHA-512 (512 bit)"));
120 kcfg_hashAlgo->insertItem(i18n("MD5 (128 bit)"));
121 kcfg_hashAlgo->insertItem(i18n("RIPE-MD-160 (160 bit)"));
122 kcfg_hashAlgo->insertItem(i18n("Tiger (192 bit)"));
123#endif // CONFIG_PWMANAGER_GCRY
124 fileLayout->addWidget( kcfg_hashAlgo,i,1);
93 ++i; 125 ++i;
94 126
95 permissionLineEdit = new QLineEdit(filePage); 127 permissionLineEdit = new QLineEdit(filePage);
96 QLabel* permissionLineLabel = new QLabel(permissionLineEdit, i18n("Permissions:"), filePage); 128 QLabel* permissionLineLabel = new QLabel(permissionLineEdit, i18n("Permissions:"), filePage);
97 fileLayout->addWidget(permissionLineLabel,i,0); 129 fileLayout->addWidget(permissionLineLabel,i,0);
98 fileLayout->addWidget(permissionLineEdit,i,1); 130 fileLayout->addWidget(permissionLineEdit,i,1);
99 ++i; 131 ++i;
100 132
101 KPrefsWidBool *sb = addWidBool(i18n("Make backup before saving"), 133 KPrefsWidBool *sb = addWidBool(i18n("Make backup before saving"),
102 &(prefs->mMakeFileBackup),filePage); 134 &(prefs->mMakeFileBackup),filePage);
103 fileLayout->addMultiCellWidget(sb->checkBox(), i,i,0,1); 135 fileLayout->addMultiCellWidget(sb->checkBox(), i,i,0,1);
104 ++i; 136 ++i;
105 137
106 // Timeout page 138 // Timeout page
107 ////////////////////////////////////////////////////// 139 //////////////////////////////////////////////////////
108 QWidget *timeoutPage = new QWidget( this ); 140 QWidget *timeoutPage = new QWidget( this );
109 QGridLayout *timeoutLayout = new QGridLayout( timeoutPage, 3, 2); 141 QGridLayout *timeoutLayout = new QGridLayout( timeoutPage, 3, 2);
110 142
111 i = 0; 143 i = 0;
112 pwTimeoutSpinBox = new QSpinBox( timeoutPage, "pwTimeoutSpinBox" ); 144 pwTimeoutSpinBox = new QSpinBox( timeoutPage, "pwTimeoutSpinBox" );
113 QLabel* timeoutLabel = new QLabel(pwTimeoutSpinBox, i18n("Password timeout\n(timeout to hold password in\nmemory,so you don't have to\nre-enter it,if you\nalready have entered it)\n[set to 0 to disable]:"), timeoutPage); 145 QLabel* timeoutLabel = new QLabel(pwTimeoutSpinBox, i18n("Password timeout\n(timeout to hold password in\nmemory,so you don't have to\nre-enter it,if you\nalready have entered it)\n[set to 0 to disable]:"), timeoutPage);
114 timeoutLayout->addMultiCellWidget(timeoutLabel,i, i, 0 ,0); 146 timeoutLayout->addMultiCellWidget(timeoutLabel,i, i, 0 ,0);
115 timeoutLayout->addWidget(pwTimeoutSpinBox,i,1); 147 timeoutLayout->addWidget(pwTimeoutSpinBox,i,1);
116 ++i; 148 ++i;
@@ -206,70 +238,79 @@ PWMConfigWidget::PWMConfigWidget(PWMPrefs *prefs, QWidget *parent, const char *n
206 238
207 239
208 tabWidget->addTab( windowStylePage, i18n( "Look && feel" ) ); 240 tabWidget->addTab( windowStylePage, i18n( "Look && feel" ) );
209 tabWidget->addTab( filePage, i18n( "File" ) ); 241 tabWidget->addTab( filePage, i18n( "File" ) );
210 tabWidget->addTab( timeoutPage, i18n( "Timeout" ) ); 242 tabWidget->addTab( timeoutPage, i18n( "Timeout" ) );
211 tabWidget->addTab( autostartPage, i18n( "Autostart" ) ); 243 tabWidget->addTab( autostartPage, i18n( "Autostart" ) );
212 tabWidget->addTab( externalappPage, i18n( "External apps" ) ); 244 tabWidget->addTab( externalappPage, i18n( "External apps" ) );
213 tabWidget->addTab( miscPage, i18n( "Miscellaneous" ) ); 245 tabWidget->addTab( miscPage, i18n( "Miscellaneous" ) );
214 246
215 247
216 connect( permissionLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) ); 248 connect( permissionLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) );
217 connect( pwTimeoutSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( modified() ) ); 249 connect( pwTimeoutSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( modified() ) );
218 connect( lockTimeoutSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( modified() ) ); 250 connect( lockTimeoutSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( modified() ) );
219 connect( autostartLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) ); 251 connect( autostartLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) );
220 connect( browserLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) ); 252 connect( browserLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) );
221 connect( xtermLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) ); 253 connect( xtermLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) );
222 254
223} 255}
224 256
225 257
226void PWMConfigWidget::usrReadConfig() 258void PWMConfigWidget::usrReadConfig()
227{ 259{
228 PWMPrefs* prefs = PWMPrefs::instance(); 260 PWMPrefs* prefs = PWMPrefs::instance();
229 261
262
230 setFilePermissions(prefs->mFilePermissions); 263 setFilePermissions(prefs->mFilePermissions);
231 264
232 pwTimeoutSpinBox->setValue(prefs->mPwTimeout); 265 pwTimeoutSpinBox->setValue(prefs->mPwTimeout);
233 lockTimeoutSpinBox->setValue(prefs->mLockTimeout); 266 lockTimeoutSpinBox->setValue(prefs->mLockTimeout);
234 autostartLineEdit->setURL(prefs->mAutoStart); 267 autostartLineEdit->setURL(prefs->mAutoStart);
235 browserLineEdit->setText(prefs->mBrowserCommand); 268 browserLineEdit->setText(prefs->mBrowserCommand);
236 xtermLineEdit->setText(prefs->mXTermCommand); 269 xtermLineEdit->setText(prefs->mXTermCommand);
237 270
271 kcfg_compression->setCurrentItem(prefs->mCompression);
272 kcfg_cryptAlgo->setCurrentItem(prefs->mCryptAlgo);
273 kcfg_hashAlgo->setCurrentItem(prefs->mHashAlgo);
238} 274}
239 275
240void PWMConfigWidget::usrWriteConfig() 276void PWMConfigWidget::usrWriteConfig()
241{ 277{
242 PWMPrefs* prefs = PWMPrefs::instance(); 278 PWMPrefs* prefs = PWMPrefs::instance();
243 279
244 prefs->mFilePermissions = getFilePermissions(); 280 prefs->mFilePermissions = getFilePermissions();
245 281
246 prefs->mPwTimeout = pwTimeoutSpinBox->value(); 282 prefs->mPwTimeout = pwTimeoutSpinBox->value();
247 prefs->mLockTimeout = lockTimeoutSpinBox->value(); 283 prefs->mLockTimeout = lockTimeoutSpinBox->value();
248 prefs->mAutoStart = autostartLineEdit->url(); 284 prefs->mAutoStart = autostartLineEdit->url();
249 285
250 prefs->mBrowserCommand = browserLineEdit->text(); 286 prefs->mBrowserCommand = browserLineEdit->text();
251 prefs->mXTermCommand = xtermLineEdit->text(); 287 prefs->mXTermCommand = xtermLineEdit->text();
288
289 prefs->mCompression = kcfg_compression->currentItem();
290 prefs->mCryptAlgo = kcfg_cryptAlgo->currentItem();
291 prefs->mHashAlgo = kcfg_hashAlgo->currentItem();
292
252} 293}
253 294
254int PWMConfigWidget::getFilePermissions() 295int PWMConfigWidget::getFilePermissions()
255{ 296{
256 char octalDigits[] = "01234567"; 297 char octalDigits[] = "01234567";
257 bool isOctal; 298 bool isOctal;
258 QString permString(permissionLineEdit->text()); 299 QString permString(permissionLineEdit->text());
259 int i, j, length = permString.length(); 300 int i, j, length = permString.length();
260 if (length != 3) { 301 if (length != 3) {
261 printWarn("Wrong permission string length! Please enter " 302 printWarn("Wrong permission string length! Please enter "
262 "the string like the following example: 600"); 303 "the string like the following example: 600");
263 return CONF_DEFAULT_FILEPERMISSIONS; 304 return CONF_DEFAULT_FILEPERMISSIONS;
264 } 305 }
265 for (i = 0; i < length; ++i) { 306 for (i = 0; i < length; ++i) {
266 isOctal = false; 307 isOctal = false;
267 for (j = 0; j < 8; ++j) { 308 for (j = 0; j < 8; ++j) {
268 if (permString.at(i) == octalDigits[j]) { 309 if (permString.at(i) == octalDigits[j]) {
269 isOctal = true; 310 isOctal = true;
270 break; 311 break;
271 } 312 }
272 } 313 }
273 if (!isOctal) { 314 if (!isOctal) {
274 printWarn("CONFIG: File-permissions: This is " 315 printWarn("CONFIG: File-permissions: This is "
275 "not an octal number "); 316 "not an octal number ");
diff --git a/pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.h b/pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.h
index 1c7f5bf..0fad6af 100644
--- a/pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.h
+++ b/pwmanager/pwmanager/kcmconfigs/pwmconfigwidget.h
@@ -9,53 +9,59 @@
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 PWMCONFIGWIDGET_H 26#ifndef PWMCONFIGWIDGET_H
27#define PWMCONFIGWIDGET_H 27#define PWMCONFIGWIDGET_H
28 28
29#include <kprefswidget.h> 29#include <kprefswidget.h>
30 30
31class PWMPrefs; 31class PWMPrefs;
32class KURLRequester; 32class KURLRequester;
33class QComboBox;
34
33 35
34class PWMConfigWidget : public KPrefsWidget 36class PWMConfigWidget : public KPrefsWidget
35{ 37{
36 Q_OBJECT 38 Q_OBJECT
37 39
38 public: 40 public:
39 PWMConfigWidget(PWMPrefs *prefs, QWidget *parent, const char *name = 0 ); 41 PWMConfigWidget(PWMPrefs *prefs, QWidget *parent, const char *name = 0 );
40 42
41 protected: 43 protected:
42 /** Implement this to read custom configuration widgets. */ 44 /** Implement this to read custom configuration widgets. */
43 virtual void usrReadConfig(); 45 virtual void usrReadConfig();
44 /** Implement this to write custom configuration widgets. */ 46 /** Implement this to write custom configuration widgets. */
45 virtual void usrWriteConfig(); 47 virtual void usrWriteConfig();
46 48
47 private: 49 private:
48 QLineEdit* permissionLineEdit; 50 QLineEdit* permissionLineEdit;
49 QSpinBox* pwTimeoutSpinBox; 51 QSpinBox* pwTimeoutSpinBox;
50 QSpinBox* lockTimeoutSpinBox; 52 QSpinBox* lockTimeoutSpinBox;
51 KURLRequester* autostartLineEdit; 53 KURLRequester* autostartLineEdit;
52 QLineEdit* browserLineEdit; 54 QLineEdit* browserLineEdit;
53 QLineEdit* xtermLineEdit; 55 QLineEdit* xtermLineEdit;
54 56 QComboBox* kcfg_compression;
57 QComboBox* kcfg_cryptAlgo;
58 QComboBox* kcfg_hashAlgo;
59
60
55 private: 61 private:
56 int getFilePermissions(); 62 int getFilePermissions();
57 void setFilePermissions(int perm); 63 void setFilePermissions(int perm);
58 64
59}; 65};
60 66
61#endif 67#endif