diff options
author | Anne Jan Brouwer <brouwer@annejan.com> | 2015-05-24 15:18:31 +0200 |
---|---|---|
committer | Anne Jan Brouwer <brouwer@annejan.com> | 2015-05-24 15:18:31 +0200 |
commit | 8c605f96e2cf0a4f620433423a04a285f2b01e95 (patch) | |
tree | 7a05201b06b60e9bd3634a9a662e7c5457c0fe3a /keygendialog.cpp | |
parent | 8d81543d1c84e25e503a988c935778e34e002661 (diff) |
gen-key code
Diffstat (limited to 'keygendialog.cpp')
-rw-r--r-- | keygendialog.cpp | 62 |
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; } } |