summaryrefslogtreecommitdiffstats
path: root/keygendialog.cpp
diff options
context:
space:
mode:
authorAnne Jan Brouwer <brouwer@annejan.com>2015-05-24 15:18:31 +0200
committerAnne Jan Brouwer <brouwer@annejan.com>2015-05-24 15:18:31 +0200
commit8c605f96e2cf0a4f620433423a04a285f2b01e95 (patch)
tree7a05201b06b60e9bd3634a9a662e7c5457c0fe3a /keygendialog.cpp
parent8d81543d1c84e25e503a988c935778e34e002661 (diff)
gen-key code
Diffstat (limited to 'keygendialog.cpp')
-rw-r--r--keygendialog.cpp62
1 files changed, 55 insertions, 7 deletions
diff --git a/keygendialog.cpp b/keygendialog.cpp
index 6ecbb2b4..744b80b9 100644
--- a/keygendialog.cpp
+++ b/keygendialog.cpp
@@ -1,12 +1,14 @@
#include "keygendialog.h"
#include "ui_keygendialog.h"
#include <QDebug>
+#include <QMessageBox>
-KeygenDialog::KeygenDialog(QWidget *parent) :
+KeygenDialog::KeygenDialog(Dialog *parent) :
QDialog(parent),
ui(new Ui::KeygenDialog)
{
ui->setupUi(this);
+ dialog = parent;
}
KeygenDialog::~KeygenDialog()
@@ -19,6 +21,11 @@ void KeygenDialog::on_passphrase1_textChanged(const QString &arg1)
if (ui->passphrase1->text() == ui->passphrase2->text()) {
ui->buttonBox->setEnabled(true);
replace("Passphrase", arg1);
+ if (arg1 == "") {
+ no_protection(true);
+ } else {
+ no_protection(false);
+ }
} else {
ui->buttonBox->setEnabled(false);
}
@@ -67,22 +74,63 @@ void KeygenDialog::replace(QString key, QString value)
ui->plainTextEdit->setPlainText(clear.join("\n"));
}
+/**
+ * @brief KeygenDialog::no_protection
+ * @param enable
+ */\
+void KeygenDialog::no_protection(bool enable)
+{
+ QStringList clear;
+ QString expert = ui->plainTextEdit->toPlainText();
+ QStringList lines = expert.split(QRegExp("[\r\n]"),QString::SkipEmptyParts);
+ foreach (QString line, lines) {
+ bool remove = false;
+ if (!enable) {
+ if (line.indexOf("%no-protection") == 0) {
+ remove = true;
+ }
+ } else {
+ if (line.indexOf("Passphrase") == 0) {
+ clear.append(line);
+ line = "%no-protection";
+ }
+ }
+ if (!remove) {
+ clear.append(line);
+ }
+ }
+ ui->plainTextEdit->setPlainText(clear.join("\n"));
+}
+
+/**
+ * @brief KeygenDialog::done
+ * @param r
+ */
void KeygenDialog::done(int r)
{
if(QDialog::Accepted == r) // ok was pressed
{
- bool status = false;
-
- // TODO call for keygen
-
- if(status) // validate the data somehow
+ ui->widget->setEnabled(false);
+ ui->buttonBox->setEnabled(false);
+ ui->checkBox->setEnabled(false);
+ ui->plainTextEdit->setEnabled(false);
+ // some kind of animation or at-least explanation needed here
+ // people don't like wating :D
+ bool status = dialog->genKey(ui->plainTextEdit->toPlainText());
+ if(status)
{
QDialog::done(r);
return;
}
else
{
- // something went wrong?
+ QMessageBox::critical(this, tr("GPG gen-key error"),
+ tr("Something went wrong, I guess"));
+ ui->widget->setEnabled(true);
+ ui->buttonBox->setEnabled(true);
+ ui->checkBox->setEnabled(true);
+ on_checkBox_stateChanged(ui->checkBox->isChecked());
+ // something went wrong, explain things?
return;
}
}