summaryrefslogtreecommitdiffstats
path: root/kgpg/keygener.cpp
diff options
context:
space:
mode:
authortoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
committertoma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2009-11-25 17:56:58 +0000
commit2bda8f7717adf28da4af0d34fb82f63d2868c31d (patch)
tree8d927b7b47a90c4adb646482a52613f58acd6f8c /kgpg/keygener.cpp
downloadtdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.tar.gz
tdeutils-2bda8f7717adf28da4af0d34fb82f63d2868c31d.zip
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdeutils@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kgpg/keygener.cpp')
-rw-r--r--kgpg/keygener.cpp176
1 files changed, 176 insertions, 0 deletions
diff --git a/kgpg/keygener.cpp b/kgpg/keygener.cpp
new file mode 100644
index 0000000..739bb55
--- /dev/null
+++ b/kgpg/keygener.cpp
@@ -0,0 +1,176 @@
+/***************************************************************************
+ keygen.cpp - description
+ -------------------
+ begin : Mon Jul 8 2002
+ copyright : (C) 2002 by Jean-Baptiste Mardelle
+ email : bj@altern.org
+ ***************************************************************************/
+
+/***************************************************************************
+ * *
+ * This 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. *
+ * *
+ ***************************************************************************/
+
+/////////////////////////////////////////////// code for new key generation
+
+
+#include <qwhatsthis.h>
+#include <qlayout.h>
+#include <qlabel.h>
+#include <qvbox.h>
+#include <kcombobox.h>
+#include <klineedit.h>
+#include <qcheckbox.h>
+#include <qbuttongroup.h>
+#include <qhbuttongroup.h>
+#include <qvbuttongroup.h>
+#include <kmessagebox.h>
+#include <klocale.h>
+
+#include "keygener.h"
+
+/////////////////////// main window
+keyGenerate::keyGenerate(QWidget *parent, const char *name):KDialogBase( parent, name, true,i18n("Key Generation"),Apply | Ok | Cancel)
+{
+ expert=false;
+ setButtonApply(i18n("Expert Mode"));
+
+ QWidget *page = new QWidget(this);
+ QVBoxLayout *vbox=new QVBoxLayout(page);
+
+ QVButtonGroup *bgroup1=new QVButtonGroup(i18n("Generate Key Pair"),page);
+
+ (void) new QLabel(i18n("Name:"),bgroup1);
+ kname=new KLineEdit("",bgroup1);
+ kname->setFocus();
+ (void) new QLabel(i18n("Email:"),bgroup1);
+ mail=new KLineEdit("",bgroup1);
+
+ (void) new QLabel(i18n("Comment (optional):"),bgroup1);
+ comment=new KLineEdit("",bgroup1);
+
+ (void) new QLabel(i18n("Expiration:"),bgroup1);
+ QHButtonGroup *bgroup=new QHButtonGroup(bgroup1);
+ numb=new KLineEdit("0",bgroup);
+ numb->setMaxLength(4);
+ numb->setDisabled(true);
+ keyexp = new KComboBox(bgroup);
+ keyexp->insertItem(i18n("Never"),0);
+ keyexp->insertItem(i18n("Days"),1);
+ keyexp->insertItem(i18n("Weeks"),2);
+ keyexp->insertItem(i18n("Months"),3);
+ keyexp->insertItem(i18n("Years"),4);
+ keyexp->setMinimumSize(keyexp->sizeHint());
+ connect(keyexp,SIGNAL(activated(int)),this,SLOT(activateexp(int)));
+
+ (void) new QLabel(i18n("Key size:"),bgroup1);
+ keysize = new KComboBox(bgroup1);
+ keysize->insertItem("768");
+ keysize->insertItem("1024");
+ keysize->insertItem("2048");
+ keysize->insertItem("4096");
+ keysize->setCurrentItem("1024");
+ keysize->setMinimumSize(keysize->sizeHint());
+
+ (void) new QLabel(i18n("Algorithm:"),bgroup1);
+ keykind = new KComboBox(bgroup1);
+ keykind->insertItem("DSA & ElGamal");
+ keykind->insertItem("RSA");
+ keykind->setMinimumSize(keykind->sizeHint());
+
+ vbox->addWidget(bgroup1);
+ page->show();
+ page->resize(page->maximumSize());
+ setMainWidget(page);
+}
+
+void keyGenerate::slotOk()
+{
+ if (QString(kname->text()).stripWhiteSpace().isEmpty()) {
+ KMessageBox::sorry(this,i18n("You must give a name."));
+ return;
+ }
+ QString vmail=mail->text();
+ if (vmail.isEmpty())
+ {
+ if (KMessageBox::warningContinueCancel(this,i18n("You are about to create a key with no email address"))!=KMessageBox::Continue) return;
+ }
+ else if ((vmail.find(" ")!=-1) || (vmail.find(".")==-1) || (vmail.find("@")==-1)) {
+ KMessageBox::sorry(this,i18n("Email address not valid"));
+ return;
+ }
+ accept();
+}
+
+void keyGenerate::slotApply()
+{
+ expert=true;
+ accept();
+}
+
+void keyGenerate::activateexp(int state)
+{
+ if (state==0)
+ numb->setDisabled(true);
+ else
+ numb->setDisabled(false);
+}
+
+bool keyGenerate::getmode()
+{
+ return(expert);
+}
+
+
+QString keyGenerate::getkeytype()
+{
+ return(keykind->currentText());
+}
+
+QString keyGenerate::getkeysize()
+{
+ return(keysize->currentText());
+}
+
+int keyGenerate::getkeyexp()
+{
+ return(keyexp->currentItem());
+}
+
+QString keyGenerate::getkeynumb()
+{
+ if (numb->text()!=NULL)
+ return(numb->text());
+ else
+ return ("");
+}
+
+QString keyGenerate::getkeyname()
+{
+ if (kname->text()!=NULL)
+ return(kname->text());
+ else
+ return ("");
+}
+
+QString keyGenerate::getkeymail()
+{
+ if (mail->text()!=NULL)
+ return(mail->text());
+ else
+ return ("");
+}
+
+QString keyGenerate::getkeycomm()
+{
+ if (comment->text()!=NULL)
+ return(comment->text());
+ else
+ return ("");
+}
+
+#include "keygener.moc"