aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2008-10-14 17:11:33 +0000
committernils <nils@34ebc366-c3a9-4b3c-9f84-69acf7962910>2008-10-14 17:11:33 +0000
commita129ed9a8ea31df5231263a372689bc5b15087f6 (patch)
tree5550adf14ae06c97a8e7b0bc7a8dd6193dc54502
parentchanged setStatusTip to setToolTip for actions (diff)
downloadgpg4usb-a129ed9a8ea31df5231263a372689bc5b15087f6.tar.gz
gpg4usb-a129ed9a8ea31df5231263a372689bc5b15087f6.zip
added expire date in key generation
git-svn-id: http://cpunk.de/svn/src/gpg4usb/trunk@191 34ebc366-c3a9-4b3c-9f84-69acf7962910
-rwxr-xr-xkeymgmt.cpp58
-rwxr-xr-xkeymgmt.h7
-rw-r--r--release/keydb/pubring.gpgbin8857 -> 1164 bytes
3 files changed, 50 insertions, 15 deletions
diff --git a/keymgmt.cpp b/keymgmt.cpp
index 30e78b9..5c4ef67 100755
--- a/keymgmt.cpp
+++ b/keymgmt.cpp
@@ -65,7 +65,7 @@ void KeyMgmt::createActions()
exportKeyToClipboardAct = new QAction(tr("Export Key To &Clipboard"), this);
exportKeyToClipboardAct->setIcon(QIcon(mIconPath + "export_key_to_clipbaord.png"));
- exportKeyToClipboardAct->setv(tr("Export Selected Key(s) To Clipboard"));
+ exportKeyToClipboardAct->setToolTip(tr("Export Selected Key(s) To Clipboard"));
connect(exportKeyToClipboardAct, SIGNAL(triggered()), this, SLOT(exportKeyToClipboard()));
exportKeyToFileAct = new QAction(tr("Export Key To &File"), this);
@@ -180,9 +180,6 @@ void KeyMgmt::generateKeyDialog()
genkeyDialog = new QDialog();
QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok|QDialogButtonBox::Cancel);
- connect(buttonBox,SIGNAL(accepted()),this, SLOT(keyGenAccept()));
- connect(buttonBox,SIGNAL(rejected()), genkeyDialog, SLOT(reject()));
-
genkeyDialog->setWindowTitle(tr("Generate Key"));
genkeyDialog->setModal(true);
@@ -190,23 +187,37 @@ void KeyMgmt::generateKeyDialog()
emailLabel = new QLabel(tr("E-Mailaddress::"));
commentLabel = new QLabel(tr("Comment:"));
keySizeLabel = new QLabel(tr("KeySize (in Bit):"));
+ dateLabel = new QLabel(tr("Expiration Date:"));
passwordLabel = new QLabel(tr("Password:"));
repeatpwLabel = new QLabel(tr("Repeat Password:"));
+ expireLabel = new QLabel(tr("Never Expire"));
errorLabel = new QLabel(tr(""));
nameEdit = new QLineEdit(genkeyDialog);
emailEdit = new QLineEdit(genkeyDialog);
commentEdit = new QLineEdit(genkeyDialog);
+
keySizeSpinBox = new QSpinBox(genkeyDialog);
keySizeSpinBox->setRange(512,8192);
keySizeSpinBox->setValue(2048);
keySizeSpinBox->setSingleStep(256);
+
+ dateEdit = new QDateEdit(QDate::currentDate().addYears(5), genkeyDialog);
+ dateEdit->setMinimumDate(QDate::currentDate());
+ dateEdit->setDisplayFormat("dd/MM/yyyy");
+ dateEdit->setCalendarPopup(true);
+ dateEdit->setEnabled(false);
+
+ expireCheckBox = new QCheckBox(genkeyDialog);
+ expireCheckBox->setCheckState(Qt::Checked);
+
passwordEdit = new QLineEdit(genkeyDialog);
repeatpwEdit = new QLineEdit(genkeyDialog);
passwordEdit->setEchoMode(QLineEdit::Password);
repeatpwEdit->setEchoMode(QLineEdit::Password);
+
QGridLayout *vbox1 = new QGridLayout;
vbox1->addWidget(nameLabel,0,0);
vbox1->addWidget(nameEdit,0,1);
@@ -216,11 +227,14 @@ void KeyMgmt::generateKeyDialog()
vbox1->addWidget(commentEdit,2,1);
vbox1->addWidget(keySizeLabel,3,0);
vbox1->addWidget(keySizeSpinBox,3,1);
- vbox1->addWidget(passwordLabel,4,0);
- vbox1->addWidget(passwordEdit,4,1);
- vbox1->addWidget(repeatpwLabel,5,0);
- vbox1->addWidget(repeatpwEdit,5,1);
-
+ vbox1->addWidget(dateLabel,4,0);
+ vbox1->addWidget(dateEdit,4,1);
+ vbox1->addWidget(expireCheckBox,4,2);
+ vbox1->addWidget(expireLabel,4,3);
+ vbox1->addWidget(passwordLabel,5,0);
+ vbox1->addWidget(passwordEdit,5,1);
+ vbox1->addWidget(repeatpwLabel,6,0);
+ vbox1->addWidget(repeatpwEdit,6,1);
QWidget *nameList = new QWidget(genkeyDialog);
nameList->setLayout(vbox1);
@@ -228,6 +242,11 @@ void KeyMgmt::generateKeyDialog()
vbox2->addWidget(nameList);
vbox2->addWidget(errorLabel);
vbox2->addWidget(buttonBox);
+
+ connect(buttonBox,SIGNAL(accepted()),this, SLOT(keyGenAccept()));
+ connect(buttonBox,SIGNAL(rejected()), genkeyDialog, SLOT(reject()));
+
+ connect(expireCheckBox,SIGNAL(stateChanged(int)), this, SLOT(expireBoxChanged()));
genkeyDialog->setLayout(vbox2);
genkeyDialog->show();
@@ -242,7 +261,6 @@ void KeyMgmt::keyGenAccept()
{
QString errorString="";
QString keyGenParams="";
-
/**
* check for errors in keygen dialog input
*/
@@ -271,10 +289,13 @@ void KeyMgmt::keyGenAccept()
if (!(emailEdit->text().isEmpty())) {
keyGenParams +="Name-Email: "+emailEdit->text()+"\n";
}
- keyGenParams += "Expire-Date: 0\n"
- "Passphrase: "+passwordEdit->text()+"\n"
- "</GnupgKeyParms>";
-
+ if (expireCheckBox->checkState()) {
+ keyGenParams += "Expire-Date: 0\n";
+ } else {
+ keyGenParams += "Expire-Date: "+dateEdit->sectionText(QDateTimeEdit::YearSection)+"-"+dateEdit->sectionText(QDateTimeEdit::MonthSection)+"-"+dateEdit->sectionText(QDateTimeEdit::DaySection)+"\n"
+ "Passphrase: "+passwordEdit->text()+"\n";
+ }
+ keyGenParams += "</GnupgKeyParms>";
mCtx->generateKey(&keyGenParams);
genkeyDialog->accept();
} else {
@@ -292,6 +313,15 @@ void KeyMgmt::keyGenAccept()
}
}
+void KeyMgmt::expireBoxChanged()
+{
+ if (expireCheckBox->checkState()) {
+ dateEdit->setEnabled(false);
+ } else {
+ dateEdit->setEnabled(true);
+ }
+
+}
/*int checkPassWordStrength(QString password)
{
return 0;
diff --git a/keymgmt.h b/keymgmt.h
index 5929d82..02f96e1 100755
--- a/keymgmt.h
+++ b/keymgmt.h
@@ -52,10 +52,11 @@ public slots:
void exportKeyToClipboard();
void deleteCheckedKeys();
void deleteSelectedKeys();
+ void generateKeyDialog();
+ void expireBoxChanged();
private slots:
void keyGenAccept();
- void generateKeyDialog();
private:
@@ -91,12 +92,16 @@ private:
QLabel *passwordLabel;
QLabel *repeatpwLabel;
QLabel *errorLabel;
+ QLabel *dateLabel;
+ QLabel *expireLabel;
QLineEdit *nameEdit;
QLineEdit *emailEdit;
QLineEdit *commentEdit;
QLineEdit *passwordEdit;
QLineEdit *repeatpwEdit;
QSpinBox *keySizeSpinBox;
+ QDateTimeEdit *dateEdit;
+ QCheckBox *expireCheckBox;
};
#endif // __KEYMGMT_H__
diff --git a/release/keydb/pubring.gpg b/release/keydb/pubring.gpg
index 981b070..c71d827 100644
--- a/release/keydb/pubring.gpg
+++ b/release/keydb/pubring.gpg
Binary files differ