aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/RevocationOptionsDialog.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-10-18 18:15:36 +0000
committersaturneric <[email protected]>2024-10-18 18:15:36 +0000
commitc3a23900281c2024f7d4507ac84b0fe700fbf6dd (patch)
treeb8f611ef7b4121ffe9f0df60eb3b3c3896c444b5 /src/ui/dialog/RevocationOptionsDialog.cpp
parentfeat: add filter option of 'comment' at key list of main window (diff)
downloadGpgFrontend-c3a23900281c2024f7d4507ac84b0fe700fbf6dd.tar.gz
GpgFrontend-c3a23900281c2024f7d4507ac84b0fe700fbf6dd.zip
feat: set reason code and text at revoke-certification
Diffstat (limited to '')
-rw-r--r--src/ui/dialog/RevocationOptionsDialog.cpp73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/ui/dialog/RevocationOptionsDialog.cpp b/src/ui/dialog/RevocationOptionsDialog.cpp
new file mode 100644
index 00000000..e2bbba00
--- /dev/null
+++ b/src/ui/dialog/RevocationOptionsDialog.cpp
@@ -0,0 +1,73 @@
+/**
+ * Copyright (C) 2021-2024 Saturneric <[email protected]>
+ *
+ * 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 "RevocationOptionsDialog.h"
+
+#include "core/utils/MemoryUtils.h"
+#include "ui_RevocationOptionsDialog.h"
+
+GpgFrontend::UI::RevocationOptionsDialog::RevocationOptionsDialog(
+ QWidget *parent)
+ : GeneralDialog("RevocationOptionsDialog", parent),
+ ui_(GpgFrontend::SecureCreateSharedObject<Ui_RevocationOptionsDialog>()) {
+ ui_->setupUi(this);
+
+ QStringList codes;
+
+ codes << tr("0 -> No Reason.") << tr("1 -> This key is no more safe.")
+ << tr("2 -> Key is outdated.") << tr("3 -> Key is no longer used");
+
+ ui_->rRcodeComboBox->addItems(codes);
+
+ ui_->revocationReasonCodeLabel->setText(tr("Revocation Reason (Code)"));
+ ui_->revocationReasonTextLabel->setText(tr("Revocation Reason (Text)"));
+ this->setWindowTitle(tr("Revocation Options"));
+
+ connect(ui_->buttonBox, &QDialogButtonBox::accepted, this,
+ &RevocationOptionsDialog::slot_button_box_accepted);
+ connect(ui_->buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
+ connect(ui_->buttonBox, &QDialogButtonBox::rejected, this, &QDialog::reject);
+ setAttribute(Qt::WA_DeleteOnClose);
+}
+
+auto GpgFrontend::UI::RevocationOptionsDialog::Code() const -> int {
+ return code_;
+}
+
+auto GpgFrontend::UI::RevocationOptionsDialog::Text() const -> QString {
+ return text_;
+}
+
+void GpgFrontend::UI::RevocationOptionsDialog::slot_button_box_accepted() {
+ code_ = ui_->rRcodeComboBox->currentIndex();
+ text_ = ui_->rRPlainTextEdit->toPlainText()
+ .trimmed()
+ .split('\n', Qt::SkipEmptyParts)
+ .join("\n");
+ emit SignalRevokeOptionAccepted(code_, text_);
+}