aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/widgets/SignersPicker.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2021-08-20 11:47:45 +0000
committerSaturneric <[email protected]>2021-08-20 11:47:45 +0000
commit2e27baf284fde00c5fc1d81e1f8bc891b8163766 (patch)
treeafe51202a3e615fcd9c5946f031099f4373332c0 /src/ui/widgets/SignersPicker.cpp
parentBugs Fixed; (diff)
downloadGpgFrontend-2e27baf284fde00c5fc1d81e1f8bc891b8163766.tar.gz
GpgFrontend-2e27baf284fde00c5fc1d81e1f8bc891b8163766.zip
Improve Functions;
Bugs Fixed;
Diffstat (limited to '')
-rw-r--r--src/ui/widgets/SignersPicker.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/ui/widgets/SignersPicker.cpp b/src/ui/widgets/SignersPicker.cpp
new file mode 100644
index 00000000..00df5fdd
--- /dev/null
+++ b/src/ui/widgets/SignersPicker.cpp
@@ -0,0 +1,59 @@
+/**
+ * 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.
+ *
+ * Foobar 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 Foobar. If not, see <https://www.gnu.org/licenses/>.
+ *
+ * The initial version of the source code is inherited from gpg4usb-team.
+ * Their source code version also complies with GNU General Public License.
+ *
+ * The source code version of this software was modified and released
+ * by Saturneric<[email protected]> starting on May 12, 2021.
+ *
+ */
+
+#include "ui/widgets/SignersPicker.h"
+
+SignersPicker::SignersPicker(GpgME::GpgContext *ctx, QWidget *parent) : mCtx(ctx), QDialog(parent) {
+ auto confirmButton = new QPushButton(tr("Confirm"));
+ connect(confirmButton, SIGNAL(clicked(bool)), this, SLOT(accept()));
+
+ /*Setup KeyList*/
+ mKeyList = new KeyList(mCtx, KeyListRow::ONLY_SECRET_KEY,
+ KeyListColumn::NAME | KeyListColumn::EmailAddress | KeyListColumn::Usage);
+
+ mKeyList->setFilter([](const GpgKey &key) -> bool {
+ if (!GpgME::GpgContext::checkIfKeyCanSign(key)) return false;
+ else return true;
+ });
+
+ mKeyList->slotRefresh();
+
+ auto *vbox2 = new QVBoxLayout();
+ vbox2->addWidget(new QLabel("Select Signer(s): "));
+ vbox2->addWidget(mKeyList);
+ vbox2->addWidget(confirmButton);
+ vbox2->addStretch(0);
+ setLayout(vbox2);
+
+ this->setModal(true);
+ this->setWindowTitle("Signers Picker");
+ this->setMinimumWidth(480);
+ this->show();
+
+
+}
+
+void SignersPicker::getCheckedSigners(QVector<GpgKey> &keys) {
+ mKeyList->getPrivateCheckedKeys(keys);
+}