summaryrefslogtreecommitdiffabout
Side-by-side diff
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
@@ -56,69 +56,101 @@ PWMConfigWidget::PWMConfigWidget(PWMPrefs *prefs, QWidget *parent, const char *n
KDialog::spacingHint() );
QTabWidget *tabWidget = new QTabWidget( this );
topLayout->addWidget( tabWidget );
// windowsStyle page
//////////////////////////////////////////////////////
QWidget *windowStylePage = new QWidget( this );
QGridLayout *windowStyleLayout = new QGridLayout( windowStylePage, 3, 3);
int i = 0;
KPrefsWidRadios * windowStyle = addWidRadios(i18n("Window-style:") ,&(prefs->mMainViewStyle), windowStylePage);
windowStyle->addRadio(i18n("Category on top"));
windowStyle->addRadio(i18n("Category-list left/top"));
windowStyleLayout->addMultiCellWidget( (QWidget*)windowStyle->groupBox(),i,i,0,2);
++i;
KPrefsWidFont *selEntrFont =
addWidFont(i18n("Password"),i18n("Font for Pw entries:"),
&(prefs->mEntryFont),windowStylePage);
windowStyleLayout->addWidget(selEntrFont->label(),i,0);
windowStyleLayout->addWidget(selEntrFont->preview(),i,1);
windowStyleLayout->addWidget(selEntrFont->button(),i,2);
++i;
// File page
//////////////////////////////////////////////////////
QWidget *filePage = new QWidget( this );
QGridLayout *fileLayout = new QGridLayout( filePage, 3, 2);
i = 0;
- KPrefsWidRadios * compr = addWidRadios(i18n("Compression:") ,&(prefs->mCompression), filePage);
- compr->addRadio(i18n("none"));
- compr->addRadio(i18n("gzip"));
- compr->addRadio(i18n("bzip2"));
- fileLayout->addMultiCellWidget( (QWidget*)compr->groupBox(),i,i,0,1);
+ QLabel* kcfg_compression_label = new QLabel(i18n("Compression:"), filePage);
+ fileLayout->addWidget(kcfg_compression_label,i,0);
+ kcfg_compression = new QComboBox(filePage, "kcfg_compression");
+ kcfg_compression->insertItem(i18n("None"));
+ kcfg_compression->insertItem(i18n("gzip"));
+ //US not yet supported: kcfg_compression->insertItem(i18n("bzip2"));
+ fileLayout->addWidget( kcfg_compression,i,1);
+ ++i;
+
+ QLabel* kcfg_crypt_label = new QLabel(i18n("Encryption:"), filePage);
+ fileLayout->addWidget(kcfg_crypt_label,i,0);
+ kcfg_cryptAlgo = new QComboBox(filePage, "kcfg_cryptAlgo");
+ kcfg_cryptAlgo->insertItem(i18n("Blowfish (128 bit)"));
+#ifdef CONFIG_PWMANAGER_GCRY
+ kcfg_cryptAlgo->insertItem(i18n("AES-128, Rijndael (128 bit)"));
+ kcfg_cryptAlgo->insertItem(i18n("AES-192, Rijndael (192 bit)"));
+ kcfg_cryptAlgo->insertItem(i18n("AES-256, Rijndael (256 bit)"));
+ kcfg_cryptAlgo->insertItem(i18n("Triple-DES (168 bit)"));
+ kcfg_cryptAlgo->insertItem(i18n("Twofish (256 bit)"));
+ kcfg_cryptAlgo->insertItem(i18n("Twofish-128 (128 bit)"));
+#endif // CONFIG_PWMANAGER_GCRY
+ fileLayout->addWidget( kcfg_cryptAlgo,i,1);
+ ++i;
+
+ QLabel* kcfg_hash_label = new QLabel(i18n("Hashing:"), filePage);
+ fileLayout->addWidget(kcfg_hash_label,i,0);
+ kcfg_hashAlgo = new QComboBox(filePage, "kcfg_hashAlgo");
+ kcfg_hashAlgo->insertItem(i18n("SHA-160, SHA1 (160 bit)"));
+#ifdef CONFIG_PWMANAGER_GCRY
+ kcfg_hashAlgo->insertItem(i18n("SHA-256 (256 bit)"));
+ kcfg_hashAlgo->insertItem(i18n("SHA-384 (384 bit)"));
+ kcfg_hashAlgo->insertItem(i18n("SHA-512 (512 bit)"));
+ kcfg_hashAlgo->insertItem(i18n("MD5 (128 bit)"));
+ kcfg_hashAlgo->insertItem(i18n("RIPE-MD-160 (160 bit)"));
+ kcfg_hashAlgo->insertItem(i18n("Tiger (192 bit)"));
+#endif // CONFIG_PWMANAGER_GCRY
+ fileLayout->addWidget( kcfg_hashAlgo,i,1);
++i;
permissionLineEdit = new QLineEdit(filePage);
QLabel* permissionLineLabel = new QLabel(permissionLineEdit, i18n("Permissions:"), filePage);
fileLayout->addWidget(permissionLineLabel,i,0);
fileLayout->addWidget(permissionLineEdit,i,1);
++i;
KPrefsWidBool *sb = addWidBool(i18n("Make backup before saving"),
&(prefs->mMakeFileBackup),filePage);
fileLayout->addMultiCellWidget(sb->checkBox(), i,i,0,1);
++i;
// Timeout page
//////////////////////////////////////////////////////
QWidget *timeoutPage = new QWidget( this );
QGridLayout *timeoutLayout = new QGridLayout( timeoutPage, 3, 2);
i = 0;
pwTimeoutSpinBox = new QSpinBox( timeoutPage, "pwTimeoutSpinBox" );
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);
timeoutLayout->addMultiCellWidget(timeoutLabel,i, i, 0 ,0);
timeoutLayout->addWidget(pwTimeoutSpinBox,i,1);
++i;
lockTimeoutSpinBox = new QSpinBox( timeoutPage, "lockTimeoutSpinBox" );
QLabel* lockTimeoutLabel = new QLabel(lockTimeoutSpinBox, i18n("Auto-lock timeout\n(auto lock document after this\namount of seconds)\n[set to 0 to disable]:"), timeoutPage);
timeoutLayout->addMultiCellWidget(lockTimeoutLabel,i, i, 0 ,0);
timeoutLayout->addWidget(lockTimeoutSpinBox,i,1);
++i;
sb = addWidBool(i18n("deep-lock on autolock"),
@@ -198,86 +230,95 @@ PWMConfigWidget::PWMConfigWidget(PWMPrefs *prefs, QWidget *parent, const char *n
sb = addWidBool(i18n("KWallet emulation"),&(prefs->mKWalletEmu),miscPage);
miscLayout->addMultiCellWidget(sb->checkBox(), i,i,0,1);
++i;
sb = addWidBool(i18n("Close instead Minimize into tray"),&(prefs->mClose),miscPage);
miscLayout->addMultiCellWidget(sb->checkBox(), i,i,0,1);
++i;
tabWidget->addTab( windowStylePage, i18n( "Look && feel" ) );
tabWidget->addTab( filePage, i18n( "File" ) );
tabWidget->addTab( timeoutPage, i18n( "Timeout" ) );
tabWidget->addTab( autostartPage, i18n( "Autostart" ) );
tabWidget->addTab( externalappPage, i18n( "External apps" ) );
tabWidget->addTab( miscPage, i18n( "Miscellaneous" ) );
connect( permissionLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) );
connect( pwTimeoutSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( modified() ) );
connect( lockTimeoutSpinBox, SIGNAL( valueChanged(int) ), this, SLOT( modified() ) );
connect( autostartLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) );
connect( browserLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) );
connect( xtermLineEdit, SIGNAL( textChanged(const QString&) ), this, SLOT( modified() ) );
}
void PWMConfigWidget::usrReadConfig()
{
PWMPrefs* prefs = PWMPrefs::instance();
+
setFilePermissions(prefs->mFilePermissions);
pwTimeoutSpinBox->setValue(prefs->mPwTimeout);
lockTimeoutSpinBox->setValue(prefs->mLockTimeout);
autostartLineEdit->setURL(prefs->mAutoStart);
browserLineEdit->setText(prefs->mBrowserCommand);
xtermLineEdit->setText(prefs->mXTermCommand);
+ kcfg_compression->setCurrentItem(prefs->mCompression);
+ kcfg_cryptAlgo->setCurrentItem(prefs->mCryptAlgo);
+ kcfg_hashAlgo->setCurrentItem(prefs->mHashAlgo);
}
void PWMConfigWidget::usrWriteConfig()
{
PWMPrefs* prefs = PWMPrefs::instance();
prefs->mFilePermissions = getFilePermissions();
prefs->mPwTimeout = pwTimeoutSpinBox->value();
prefs->mLockTimeout = lockTimeoutSpinBox->value();
prefs->mAutoStart = autostartLineEdit->url();
prefs->mBrowserCommand = browserLineEdit->text();
prefs->mXTermCommand = xtermLineEdit->text();
+
+ prefs->mCompression = kcfg_compression->currentItem();
+ prefs->mCryptAlgo = kcfg_cryptAlgo->currentItem();
+ prefs->mHashAlgo = kcfg_hashAlgo->currentItem();
+
}
int PWMConfigWidget::getFilePermissions()
{
char octalDigits[] = "01234567";
bool isOctal;
QString permString(permissionLineEdit->text());
int i, j, length = permString.length();
if (length != 3) {
printWarn("Wrong permission string length! Please enter "
"the string like the following example: 600");
return CONF_DEFAULT_FILEPERMISSIONS;
}
for (i = 0; i < length; ++i) {
isOctal = false;
for (j = 0; j < 8; ++j) {
if (permString.at(i) == octalDigits[j]) {
isOctal = true;
break;
}
}
if (!isOctal) {
printWarn("CONFIG: File-permissions: This is "
"not an octal number ");
return CONF_DEFAULT_FILEPERMISSIONS;
}
}
int ret = strtol(permString.latin1(), 0, 8);
if (ret == 0) {
/* either an error occured, or the user did really type 000 */
printWarn("CONFIG: File-permissions: Hm, either conversion error, "
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
@@ -1,61 +1,67 @@
/*
This file is part of PwManager/Pi.
Copyright (c) 2004 ulf Schenk
program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
As a special exception, permission is given to link this program
with any edition of Qt, and distribute the resulting executable,
without including the source code for Qt in the source distribution.
$Id$
*/
#ifndef PWMCONFIGWIDGET_H
#define PWMCONFIGWIDGET_H
#include <kprefswidget.h>
class PWMPrefs;
class KURLRequester;
+class QComboBox;
+
class PWMConfigWidget : public KPrefsWidget
{
Q_OBJECT
public:
PWMConfigWidget(PWMPrefs *prefs, QWidget *parent, const char *name = 0 );
protected:
/** Implement this to read custom configuration widgets. */
virtual void usrReadConfig();
/** Implement this to write custom configuration widgets. */
virtual void usrWriteConfig();
private:
QLineEdit* permissionLineEdit;
QSpinBox* pwTimeoutSpinBox;
QSpinBox* lockTimeoutSpinBox;
KURLRequester* autostartLineEdit;
QLineEdit* browserLineEdit;
QLineEdit* xtermLineEdit;
-
+ QComboBox* kcfg_compression;
+ QComboBox* kcfg_cryptAlgo;
+ QComboBox* kcfg_hashAlgo;
+
+
private:
int getFilePermissions();
void setFilePermissions(int perm);
};
#endif