aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/keypair_details/KeyPairSubkeyTab.cpp
diff options
context:
space:
mode:
authorSaturneric <[email protected]>2021-11-28 07:29:39 +0000
committerSaturneric <[email protected]>2021-11-28 07:29:39 +0000
commitc5918a7245b6124916799c0345026ef3ec02265e (patch)
treefa4ba76fc21570f88cd7c94f28f4a0d54e7051ca /src/ui/keypair_details/KeyPairSubkeyTab.cpp
parentCan be compiled with minimal UI support. (diff)
downloadGpgFrontend-c5918a7245b6124916799c0345026ef3ec02265e.tar.gz
GpgFrontend-c5918a7245b6124916799c0345026ef3ec02265e.zip
Solve key generation and related update issues.
Diffstat (limited to '')
-rw-r--r--src/ui/keypair_details/KeyPairSubkeyTab.cpp30
1 files changed, 18 insertions, 12 deletions
diff --git a/src/ui/keypair_details/KeyPairSubkeyTab.cpp b/src/ui/keypair_details/KeyPairSubkeyTab.cpp
index a56885d1..7703bbde 100644
--- a/src/ui/keypair_details/KeyPairSubkeyTab.cpp
+++ b/src/ui/keypair_details/KeyPairSubkeyTab.cpp
@@ -23,7 +23,9 @@
*/
#include "ui/keypair_details/KeyPairSubkeyTab.h"
+
#include "gpg/function/GpgKeyGetter.h"
+#include "ui/SignalStation.h"
namespace GpgFrontend::UI {
@@ -93,6 +95,12 @@ KeyPairSubkeyTab::KeyPairSubkeyTab(const std::string& key_id, QWidget* parent)
connect(subkeyList, SIGNAL(itemSelectionChanged()), this,
SLOT(slotRefreshSubkeyDetail()));
+ // key database refresh signal
+ connect(SignalStation::GetInstance(), SIGNAL(KeyDatabaseRefresh()), this,
+ SLOT(slotRefreshKeyInfo()));
+ connect(SignalStation::GetInstance(), SIGNAL(KeyDatabaseRefresh()), this,
+ SLOT(slotRefreshSubkeyList()));
+
baseLayout->setContentsMargins(0, 0, 0, 0);
setLayout(baseLayout);
@@ -128,6 +136,7 @@ void KeyPairSubkeyTab::createSubkeyList() {
}
void KeyPairSubkeyTab::slotRefreshSubkeyList() {
+ LOG(INFO) << "KeyPairSubkeyTab::slotRefreshSubkeyList Called";
int row = 0;
subkeyList->setSelectionMode(QAbstractItemView::SingleSelection);
@@ -135,8 +144,7 @@ void KeyPairSubkeyTab::slotRefreshSubkeyList() {
this->buffered_subkeys.clear();
auto sub_keys = mKey.subKeys();
for (auto& sub_key : *sub_keys) {
- if (sub_key.disabled() || sub_key.revoked())
- continue;
+ if (sub_key.disabled() || sub_key.revoked()) continue;
this->buffered_subkeys.push_back(std::move(sub_key));
}
@@ -213,14 +221,10 @@ void KeyPairSubkeyTab::slotRefreshSubkeyDetail() {
QString usage;
QTextStream usage_steam(&usage);
- if (subkey.can_certify())
- usage_steam << "Cert ";
- if (subkey.can_encrypt())
- usage_steam << "Encr ";
- if (subkey.can_sign())
- usage_steam << "Sign ";
- if (subkey.can_authenticate())
- usage_steam << "Auth ";
+ if (subkey.can_certify()) usage_steam << "Cert ";
+ if (subkey.can_encrypt()) usage_steam << "Encr ";
+ if (subkey.can_sign()) usage_steam << "Sign ";
+ if (subkey.can_authenticate()) usage_steam << "Auth ";
usageVarLabel->setText(usage);
@@ -269,12 +273,14 @@ const GpgSubKey& KeyPairSubkeyTab::getSelectedSubkey() {
int row = 0;
for (int i = 0; i < subkeyList->rowCount(); i++) {
- if (subkeyList->item(row, 0)->isSelected())
- break;
+ if (subkeyList->item(row, 0)->isSelected()) break;
row++;
}
return buffered_subkeys[row];
}
+void KeyPairSubkeyTab::slotRefreshKeyInfo() {
+ mKey = GpgKeyGetter::GetInstance().GetKey(mKey.id());
+}
} // namespace GpgFrontend::UI