aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/keygen/SubkeyGenerateDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/keygen/SubkeyGenerateDialog.cpp')
-rw-r--r--src/ui/keygen/SubkeyGenerateDialog.cpp122
1 files changed, 69 insertions, 53 deletions
diff --git a/src/ui/keygen/SubkeyGenerateDialog.cpp b/src/ui/keygen/SubkeyGenerateDialog.cpp
index 337b545f..70d3ee3c 100644
--- a/src/ui/keygen/SubkeyGenerateDialog.cpp
+++ b/src/ui/keygen/SubkeyGenerateDialog.cpp
@@ -28,11 +28,28 @@
#include "gpg/function/GpgKeyOpera.h"
#include "ui/SignalStation.h"
#include "ui/WaitingDialog.h"
+#include "ui/settings/GlobalSettingStation.h"
namespace GpgFrontend::UI {
SubkeyGenerateDialog::SubkeyGenerateDialog(const KeyId& key_id, QWidget* parent)
- : QDialog(parent), mKey(GpgKeyGetter::GetInstance().GetKey(key_id)) {
+ : QDialog(parent), key_(GpgKeyGetter::GetInstance().GetKey(key_id)) {
+ auto& settings = GlobalSettingStation::GetInstance().GetUISettings();
+
+ // max expire date time
+ bool longer_expiration_date = false;
+ try {
+ longer_expiration_date = settings.lookup("general.longer_expiration_date");
+ LOG(INFO) << "longer_expiration_date" << longer_expiration_date;
+
+ } catch (...) {
+ LOG(ERROR) << _("Setting Operation Error") << _("longer_expiration_date");
+ }
+
+ max_date_time_ = longer_expiration_date
+ ? QDateTime::currentDateTime().toLocalTime().addYears(30)
+ : QDateTime::currentDateTime().toLocalTime().addYears(2);
+
buttonBox =
new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
@@ -79,10 +96,10 @@ QGroupBox* SubkeyGenerateDialog::create_key_usage_group_box() {
auto* auth = new QCheckBox(_("Authentication"), groupBox);
auth->setTristate(false);
- keyUsageCheckBoxes.push_back(encrypt);
- keyUsageCheckBoxes.push_back(sign);
- keyUsageCheckBoxes.push_back(cert);
- keyUsageCheckBoxes.push_back(auth);
+ key_usage_check_boxes_.push_back(encrypt);
+ key_usage_check_boxes_.push_back(sign);
+ key_usage_check_boxes_.push_back(cert);
+ key_usage_check_boxes_.push_back(auth);
grid->addWidget(encrypt, 0, 0);
grid->addWidget(sign, 0, 1);
@@ -106,11 +123,10 @@ QGroupBox* SubkeyGenerateDialog::create_basic_info_group_box() {
keyTypeComboBox->setCurrentIndex(0);
}
- QDateTime maxDateTime = QDateTime::currentDateTime().addYears(2);
- dateEdit = new QDateTimeEdit(maxDateTime, this);
+ dateEdit = new QDateTimeEdit(QDateTime::currentDateTime().addYears(2), this);
dateEdit->setMinimumDateTime(QDateTime::currentDateTime());
- dateEdit->setMaximumDateTime(maxDateTime);
+ dateEdit->setMaximumDateTime(max_date_time_);
dateEdit->setDisplayFormat("dd/MM/yyyy hh:mm:ss");
dateEdit->setCalendarPopup(true);
dateEdit->setEnabled(true);
@@ -144,13 +160,13 @@ void SubkeyGenerateDialog::set_signal_slot() {
connect(expireCheckBox, SIGNAL(stateChanged(int)), this,
SLOT(slotExpireBoxChanged()));
- connect(keyUsageCheckBoxes[0], SIGNAL(stateChanged(int)), this,
+ connect(key_usage_check_boxes_[0], SIGNAL(stateChanged(int)), this,
SLOT(slotEncryptionBoxChanged(int)));
- connect(keyUsageCheckBoxes[1], SIGNAL(stateChanged(int)), this,
+ connect(key_usage_check_boxes_[1], SIGNAL(stateChanged(int)), this,
SLOT(slotSigningBoxChanged(int)));
- connect(keyUsageCheckBoxes[2], SIGNAL(stateChanged(int)), this,
+ connect(key_usage_check_boxes_[2], SIGNAL(stateChanged(int)), this,
SLOT(slotCertificationBoxChanged(int)));
- connect(keyUsageCheckBoxes[3], SIGNAL(stateChanged(int)), this,
+ connect(key_usage_check_boxes_[3], SIGNAL(stateChanged(int)), this,
SLOT(slotAuthenticationBoxChanged(int)));
connect(keyTypeComboBox, SIGNAL(currentIndexChanged(int)), this,
@@ -168,50 +184,50 @@ void SubkeyGenerateDialog::slotExpireBoxChanged() {
void SubkeyGenerateDialog::refresh_widgets_state() {
qDebug() << "refresh_widgets_state called";
- if (genKeyInfo->isAllowEncryption())
- keyUsageCheckBoxes[0]->setCheckState(Qt::CheckState::Checked);
+ if (gen_key_info_->isAllowEncryption())
+ key_usage_check_boxes_[0]->setCheckState(Qt::CheckState::Checked);
else
- keyUsageCheckBoxes[0]->setCheckState(Qt::CheckState::Unchecked);
+ key_usage_check_boxes_[0]->setCheckState(Qt::CheckState::Unchecked);
- if (genKeyInfo->isAllowChangeEncryption())
- keyUsageCheckBoxes[0]->setDisabled(false);
+ if (gen_key_info_->isAllowChangeEncryption())
+ key_usage_check_boxes_[0]->setDisabled(false);
else
- keyUsageCheckBoxes[0]->setDisabled(true);
+ key_usage_check_boxes_[0]->setDisabled(true);
- if (genKeyInfo->isAllowSigning())
- keyUsageCheckBoxes[1]->setCheckState(Qt::CheckState::Checked);
+ if (gen_key_info_->isAllowSigning())
+ key_usage_check_boxes_[1]->setCheckState(Qt::CheckState::Checked);
else
- keyUsageCheckBoxes[1]->setCheckState(Qt::CheckState::Unchecked);
+ key_usage_check_boxes_[1]->setCheckState(Qt::CheckState::Unchecked);
- if (genKeyInfo->isAllowChangeSigning())
- keyUsageCheckBoxes[1]->setDisabled(false);
+ if (gen_key_info_->isAllowChangeSigning())
+ key_usage_check_boxes_[1]->setDisabled(false);
else
- keyUsageCheckBoxes[1]->setDisabled(true);
+ key_usage_check_boxes_[1]->setDisabled(true);
- if (genKeyInfo->isAllowCertification())
- keyUsageCheckBoxes[2]->setCheckState(Qt::CheckState::Checked);
+ if (gen_key_info_->isAllowCertification())
+ key_usage_check_boxes_[2]->setCheckState(Qt::CheckState::Checked);
else
- keyUsageCheckBoxes[2]->setCheckState(Qt::CheckState::Unchecked);
+ key_usage_check_boxes_[2]->setCheckState(Qt::CheckState::Unchecked);
- if (genKeyInfo->isAllowChangeCertification())
- keyUsageCheckBoxes[2]->setDisabled(false);
+ if (gen_key_info_->isAllowChangeCertification())
+ key_usage_check_boxes_[2]->setDisabled(false);
else
- keyUsageCheckBoxes[2]->setDisabled(true);
+ key_usage_check_boxes_[2]->setDisabled(true);
- if (genKeyInfo->isAllowAuthentication())
- keyUsageCheckBoxes[3]->setCheckState(Qt::CheckState::Checked);
+ if (gen_key_info_->isAllowAuthentication())
+ key_usage_check_boxes_[3]->setCheckState(Qt::CheckState::Checked);
else
- keyUsageCheckBoxes[3]->setCheckState(Qt::CheckState::Unchecked);
+ key_usage_check_boxes_[3]->setCheckState(Qt::CheckState::Unchecked);
- if (genKeyInfo->isAllowChangeAuthentication())
- keyUsageCheckBoxes[3]->setDisabled(false);
+ if (gen_key_info_->isAllowChangeAuthentication())
+ key_usage_check_boxes_[3]->setDisabled(false);
else
- keyUsageCheckBoxes[3]->setDisabled(true);
+ key_usage_check_boxes_[3]->setDisabled(true);
- keySizeSpinBox->setRange(genKeyInfo->getSuggestMinKeySize(),
- genKeyInfo->getSuggestMaxKeySize());
- keySizeSpinBox->setValue(genKeyInfo->getKeySize());
- keySizeSpinBox->setSingleStep(genKeyInfo->getSizeChangeStep());
+ keySizeSpinBox->setRange(gen_key_info_->getSuggestMinKeySize(),
+ gen_key_info_->getSuggestMaxKeySize());
+ keySizeSpinBox->setValue(gen_key_info_->getKeySize());
+ keySizeSpinBox->setSingleStep(gen_key_info_->getSizeChangeStep());
}
void SubkeyGenerateDialog::slotKeyGenAccept() {
@@ -228,19 +244,19 @@ void SubkeyGenerateDialog::slotKeyGenAccept() {
auto err_string = err_stream.str();
if (err_string.empty()) {
- genKeyInfo->setKeySize(keySizeSpinBox->value());
+ gen_key_info_->setKeySize(keySizeSpinBox->value());
if (expireCheckBox->checkState()) {
- genKeyInfo->setNonExpired(true);
+ gen_key_info_->setNonExpired(true);
} else {
- genKeyInfo->setExpired(
+ gen_key_info_->setExpired(
boost::posix_time::from_time_t(dateEdit->dateTime().toTime_t()));
}
GpgError error;
auto thread = QThread::create([&]() {
LOG(INFO) << "Thread Started";
- error = GpgKeyOpera::GetInstance().GenerateSubkey(mKey, genKeyInfo);
+ error = GpgKeyOpera::GetInstance().GenerateSubkey(key_, gen_key_info_);
});
thread->start();
@@ -282,39 +298,39 @@ void SubkeyGenerateDialog::slotKeyGenAccept() {
void SubkeyGenerateDialog::slotEncryptionBoxChanged(int state) {
if (state == 0) {
- genKeyInfo->setAllowEncryption(false);
+ gen_key_info_->setAllowEncryption(false);
} else {
- genKeyInfo->setAllowEncryption(true);
+ gen_key_info_->setAllowEncryption(true);
}
}
void SubkeyGenerateDialog::slotSigningBoxChanged(int state) {
if (state == 0) {
- genKeyInfo->setAllowSigning(false);
+ gen_key_info_->setAllowSigning(false);
} else {
- genKeyInfo->setAllowSigning(true);
+ gen_key_info_->setAllowSigning(true);
}
}
void SubkeyGenerateDialog::slotCertificationBoxChanged(int state) {
if (state == 0) {
- genKeyInfo->setAllowCertification(false);
+ gen_key_info_->setAllowCertification(false);
} else {
- genKeyInfo->setAllowCertification(true);
+ gen_key_info_->setAllowCertification(true);
}
}
void SubkeyGenerateDialog::slotAuthenticationBoxChanged(int state) {
if (state == 0) {
- genKeyInfo->setAllowAuthentication(false);
+ gen_key_info_->setAllowAuthentication(false);
} else {
- genKeyInfo->setAllowAuthentication(true);
+ gen_key_info_->setAllowAuthentication(true);
}
}
void SubkeyGenerateDialog::slotActivatedKeyType(int index) {
qDebug() << "key type index changed " << index;
- genKeyInfo->setAlgo(this->keyTypeComboBox->itemText(index).toStdString());
+ gen_key_info_->setAlgo(this->keyTypeComboBox->itemText(index).toStdString());
refresh_widgets_state();
}