aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/keypair_details/KeySetExpireDateDialog.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2022-07-22 17:46:34 +0000
committerSaturneric <[email protected]>2022-07-22 17:46:34 +0000
commita6d22ea199b62d433c595ed5b9f51398fc8b7f5a (patch)
treea09fb7383a655a18a79c72f54c57352ddba7a4b3 /src/ui/keypair_details/KeySetExpireDateDialog.cpp
parentstyle(src): reformat code (diff)
downloadGpgFrontend-a6d22ea199b62d433c595ed5b9f51398fc8b7f5a.tar.gz
GpgFrontend-a6d22ea199b62d433c595ed5b9f51398fc8b7f5a.zip
refactor(ui): adjust file structure
Diffstat (limited to 'src/ui/keypair_details/KeySetExpireDateDialog.cpp')
-rw-r--r--src/ui/keypair_details/KeySetExpireDateDialog.cpp145
1 files changed, 0 insertions, 145 deletions
diff --git a/src/ui/keypair_details/KeySetExpireDateDialog.cpp b/src/ui/keypair_details/KeySetExpireDateDialog.cpp
deleted file mode 100644
index 1f28736f..00000000
--- a/src/ui/keypair_details/KeySetExpireDateDialog.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/**
- * Copyright (C) 2021 Saturneric
- *
- * This file is part of GpgFrontend.
- *
- * GpgFrontend is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * GpgFrontend is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GpgFrontend. If not, see <https://www.gnu.org/licenses/>.
- *
- * The initial version of the source code is inherited from
- * the gpg4usb project, which is under GPL-3.0-or-later.
- *
- * All the source code of GpgFrontend was modified and released by
- * Saturneric<[email protected]> starting on May 12, 2021.
- *
- * SPDX-License-Identifier: GPL-3.0-or-later
- *
- */
-
-#include "ui/keypair_details/KeySetExpireDateDialog.h"
-
-#include <utility>
-
-#include "core/function/GlobalSettingStation.h"
-#include "core/function/gpg/GpgKeyGetter.h"
-#include "core/function/gpg/GpgKeyOpera.h"
-#include "ui/SignalStation.h"
-#include "ui_ModifiedExpirationDateTime.h"
-
-namespace GpgFrontend::UI {
-
-KeySetExpireDateDialog::KeySetExpireDateDialog(const KeyId& key_id,
- QWidget* parent)
- : GeneralDialog(typeid(KeySetExpireDateDialog).name(), parent),
- ui_(std::make_shared<Ui_ModifiedExpirationDateTime>()),
- m_key_(GpgKeyGetter::GetInstance().GetKey(key_id)) {
- init();
-}
-
-KeySetExpireDateDialog::KeySetExpireDateDialog(const KeyId& key_id,
- std::string subkey_fpr,
- QWidget* parent)
- : GeneralDialog(typeid(KeySetExpireDateDialog).name(), parent),
- ui_(std::make_shared<Ui_ModifiedExpirationDateTime>()),
- m_key_(GpgKeyGetter::GetInstance().GetKey(key_id)),
- m_subkey_(std::move(subkey_fpr)) {
- init();
-}
-
-void KeySetExpireDateDialog::slot_confirm() {
- LOG(INFO) << "Called" << ui_->dateEdit->date().toString().toStdString()
- << ui_->timeEdit->time().toString().toStdString();
- auto datetime = QDateTime(ui_->dateEdit->date(), ui_->timeEdit->time());
- std::unique_ptr<boost::posix_time::ptime> expires = nullptr;
- if (ui_->noExpirationCheckBox->checkState() == Qt::Unchecked) {
- expires = std::make_unique<boost::posix_time::ptime>(
- boost::posix_time::from_time_t(datetime.toLocalTime().toTime_t()));
- LOG(INFO) << "keyid" << m_key_.GetId() << m_subkey_ << *expires;
- } else {
- LOG(INFO) << "keyid" << m_key_.GetId() << m_subkey_ << "Non Expired";
- }
-
- auto err = GpgKeyOpera::GetInstance().SetExpire(m_key_, m_subkey_, expires);
-
- if (check_gpg_error_2_err_code(err) == GPG_ERR_NO_ERROR) {
- auto* msg_box = new QMessageBox((QWidget*)this->parent());
- msg_box->setAttribute(Qt::WA_DeleteOnClose);
- msg_box->setStandardButtons(QMessageBox::Ok);
- msg_box->setWindowTitle(_("Success"));
- msg_box->setText(_("The expire date of the key pair has been updated."));
- msg_box->setModal(true);
- msg_box->open();
-
- emit SignalKeyExpireDateUpdated();
-
- this->close();
- } else {
- QMessageBox::critical(
- this, _("Failure"),
- _("Failed to update the expire date of the key pair."));
- }
-}
-
-void KeySetExpireDateDialog::init() {
- ui_->setupUi(this);
-
- auto& settings = GlobalSettingStation::GetInstance().GetUISettings();
-
- 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");
- }
-
- auto max_date_time =
- longer_expiration_date
- ? QDateTime::currentDateTime().toLocalTime().addYears(30)
- : QDateTime::currentDateTime().toLocalTime().addYears(2);
-
- auto min_date_time = QDateTime::currentDateTime().addDays(7);
-
- ui_->dateEdit->setMaximumDateTime(max_date_time);
- ui_->dateEdit->setMinimumDateTime(min_date_time);
-
- // set default date time to expire date time
- auto current_expire_time =
- QDateTime::fromTime_t(to_time_t(m_key_.GetExpireTime()));
- ui_->dateEdit->setDateTime(current_expire_time);
- ui_->timeEdit->setDateTime(current_expire_time);
-
- connect(ui_->noExpirationCheckBox, &QCheckBox::stateChanged, this,
- &KeySetExpireDateDialog::slot_non_expired_checked);
- connect(ui_->button_box_, &QDialogButtonBox::accepted, this,
- &KeySetExpireDateDialog::slot_confirm);
- connect(this, &KeySetExpireDateDialog::SignalKeyExpireDateUpdated,
- SignalStation::GetInstance(),
- &SignalStation::SignalKeyDatabaseRefresh);
-
- ui_->titleLabel->setText(_("Modified Expiration Date (Local Time)"));
- ui_->label->setText(
- _("Tips: For the sake of security, the key is valid for up to two years. "
- "If you are an expert user, please unlock it for a longer time in the "
- "settings."));
- ui_->noExpirationCheckBox->setText(_("No Expiration"));
- this->setWindowTitle(_("Modified Expiration Date"));
-}
-
-void KeySetExpireDateDialog::slot_non_expired_checked(int state) {
- ui_->dateEdit->setDisabled(state == Qt::Checked);
- ui_->timeEdit->setDisabled(state == Qt::Checked);
-}
-
-} // namespace GpgFrontend::UI