aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/keypair_details/KeySetExpireDateDialog.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ui/keypair_details/KeySetExpireDateDialog.cpp')
-rw-r--r--src/ui/keypair_details/KeySetExpireDateDialog.cpp33
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) {