diff options
author | Saturneric <[email protected]> | 2021-11-29 02:57:43 +0000 |
---|---|---|
committer | Saturneric <[email protected]> | 2021-11-29 02:57:43 +0000 |
commit | d7e953b25a28a846b0aafa7003f33432b7e107f5 (patch) | |
tree | 479f77c85a5fca956a58891eaa87c9afb224db86 /src/ui/keypair_details/KeySetExpireDateDialog.cpp | |
parent | Fix some known issues in basic operations and file operations. (diff) | |
download | GpgFrontend-d7e953b25a28a846b0aafa7003f33432b7e107f5.tar.gz GpgFrontend-d7e953b25a28a846b0aafa7003f33432b7e107f5.zip |
Fix Known Bugs.
1. Import Keys.
2. Import Keys From Server.
3. UID Management.
Diffstat (limited to '')
-rw-r--r-- | src/ui/keypair_details/KeySetExpireDateDialog.cpp | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/src/ui/keypair_details/KeySetExpireDateDialog.cpp b/src/ui/keypair_details/KeySetExpireDateDialog.cpp index 7d681a6e..b6e9da6c 100644 --- a/src/ui/keypair_details/KeySetExpireDateDialog.cpp +++ b/src/ui/keypair_details/KeySetExpireDateDialog.cpp @@ -28,6 +28,7 @@ #include "gpg/function/GpgKeyGetter.h" #include "gpg/function/GpgKeyOpera.h" +#include "ui/SignalStation.h" namespace GpgFrontend::UI { @@ -38,15 +39,18 @@ KeySetExpireDateDialog::KeySetExpireDateDialog(const KeyId& key_id, } KeySetExpireDateDialog::KeySetExpireDateDialog(const KeyId& key_id, - std::string subkey_id, + std::string subkey_fpr, QWidget* parent) : QDialog(parent), mKey(GpgKeyGetter::GetInstance().GetKey(key_id)), - mSubkey(std::move(subkey_id)) { + mSubkey(std::move(subkey_fpr)) { init(); } void KeySetExpireDateDialog::slotConfirm() { + + LOG(INFO) << "KeySetExpireDateDialog::slotConfirm Called"; + std::unique_ptr<boost::gregorian::date> expires = nullptr; if (this->nonExpiredCheck->checkState() == Qt::Unchecked) { expires = std::make_unique<boost::gregorian::date>( @@ -54,7 +58,27 @@ void KeySetExpireDateDialog::slotConfirm() { this->dateTimeEdit->dateTime().toTime_t()) .date()); } - GpgKeyOpera::GetInstance().SetExpire(mKey, mSubkey, expires); + + LOG(INFO) << "KeySetExpireDateDialog::slotConfirm" << mKey.id() << mSubkey + << *expires; + + auto err = GpgKeyOpera::GetInstance().SetExpire(mKey, mSubkey, expires); + + if (check_gpg_error_2_err_code(err) == GPG_ERR_NO_ERROR) { + auto* msg_box = new QMessageBox(nullptr); + msg_box->setAttribute(Qt::WA_DeleteOnClose); + msg_box->setStandardButtons(QMessageBox::Ok); + msg_box->setWindowTitle(tr("Success")); + msg_box->setText(tr("The expire date of the key pair has been updated.")); + msg_box->setModal(false); + msg_box->open(); + + emit signalKeyExpireDateUpdated(); + + } else { + QMessageBox::critical(this, tr("Failure"), tr(gpgme_strerror(err))); + } + this->close(); } @@ -81,6 +105,9 @@ void KeySetExpireDateDialog::init() { this->setWindowTitle("Edit Expire Datetime"); this->setModal(true); this->setAttribute(Qt::WA_DeleteOnClose, true); + + connect(this, SIGNAL(signalKeyExpireDateUpdated()), + SignalStation::GetInstance(), SIGNAL(KeyDatabaseRefresh())); } void KeySetExpireDateDialog::slotNonExpiredChecked(int state) { |