diff options
| author | Felix (xq) Queißner <git@mq32.de> | 2020-06-11 02:17:32 +0200 |
|---|---|---|
| committer | Felix (xq) Queißner <git@mq32.de> | 2020-06-11 02:17:32 +0200 |
| commit | 2779c61e83491d1d798f3f494aa890e3f586245a (patch) | |
| tree | c09e6e77efd85465a331a65f5f8d73dd450d6b4f /src/newidentitiydialog.cpp | |
| parent | ab3e5ad5f25862985c17ba557163a1902b54747f (diff) | |
| download | kristall-2779c61e83491d1d798f3f494aa890e3f586245a.tar.gz | |
Adds first draft of client certificate management.
Diffstat (limited to 'src/newidentitiydialog.cpp')
| -rw-r--r-- | src/newidentitiydialog.cpp | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/src/newidentitiydialog.cpp b/src/newidentitiydialog.cpp new file mode 100644 index 0000000..5419d74 --- /dev/null +++ b/src/newidentitiydialog.cpp @@ -0,0 +1,74 @@ +#include "newidentitiydialog.hpp" +#include "ui_newidentitiydialog.h" + +#include "certificatehelper.hpp" +#include "kristall.hpp" + +#include <QPushButton> +#include <QDebug> + +NewIdentitiyDialog::NewIdentitiyDialog(QWidget *parent) : + QDialog(parent), + ui(new Ui::NewIdentitiyDialog) +{ + ui->setupUi(this); + + ui->display_name->setText("Unnamed"); + ui->common_name->setText("Unnamed"); + ui->expiration_date->setDate(QDate::currentDate().addYears(1)); + ui->expiration_date->setTime(QTime(12, 00)); + + ui->group->clear(); + for(auto group_name : global_identities.groups()) + { + ui->group->addItem(group_name); + } +} + +NewIdentitiyDialog::~NewIdentitiyDialog() +{ + delete ui; +} + +CryptoIdentity NewIdentitiyDialog::createIdentity() const +{ + auto id = CertificateHelper::createNewIdentity( + this->ui->common_name->text(), + this->ui->expiration_date->dateTime() + ); + id.display_name = this->ui->display_name->text(); + return id; +} + +QString NewIdentitiyDialog::groupName() const +{ + return this->ui->group->currentText(); +} + +void NewIdentitiyDialog::updateUI() +{ + bool is_ok = true; + + is_ok &= (not this->ui->group->currentText().isEmpty()); + is_ok &= (not this->ui->common_name->text().isEmpty()); + is_ok &= (not this->ui->display_name->text().isEmpty()); + is_ok &= (this->ui->expiration_date->dateTime() > QDateTime::currentDateTime()); + + this->ui->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(is_ok); +} + +void NewIdentitiyDialog::on_group_editTextChanged(const QString &arg1) +{ + qDebug() << arg1; + this->updateUI(); +} + +void NewIdentitiyDialog::on_display_name_textChanged(const QString &arg1) +{ + this->updateUI(); +} + +void NewIdentitiyDialog::on_common_name_textChanged(const QString &arg1) +{ + this->updateUI(); +} |
