aboutsummaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2024-10-26 13:43:14 +0000
committersaturneric <[email protected]>2024-10-26 13:43:14 +0000
commit24c28eb752aa611dd1670f3fa7ab6b358b052f1b (patch)
tree6a4f9af003fa4a86b7d7e29a965e37a231951092 /src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp
parentfix: thread concurrent crash issue (diff)
downloadGpgFrontend-24c28eb752aa611dd1670f3fa7ab6b358b052f1b.tar.gz
GpgFrontend-24c28eb752aa611dd1670f3fa7ab6b358b052f1b.zip
fix: test basic operations of multi key db and solve issues
Diffstat (limited to 'src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp')
-rw-r--r--src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp b/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp
index c008206f..a5b38d1f 100644
--- a/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp
+++ b/src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp
@@ -35,8 +35,14 @@
namespace GpgFrontend::UI {
-KeyPairSubkeyTab::KeyPairSubkeyTab(const QString& key_id, QWidget* parent)
- : QWidget(parent), key_(GpgKeyGetter::GetInstance().GetKey(key_id)) {
+KeyPairSubkeyTab::KeyPairSubkeyTab(int channel, const QString& key_id,
+ QWidget* parent)
+ : QWidget(parent),
+ current_gpg_context_channel_(channel),
+ key_(GpgKeyGetter::GetInstance(current_gpg_context_channel_)
+ .GetKey(key_id)) {
+ assert(key_.IsGood());
+
create_subkey_list();
create_subkey_opera_menu();
@@ -223,7 +229,8 @@ void KeyPairSubkeyTab::slot_refresh_subkey_list() {
}
void KeyPairSubkeyTab::slot_add_subkey() {
- auto* dialog = new SubkeyGenerateDialog(key_.GetId(), this);
+ auto* dialog = new SubkeyGenerateDialog(current_gpg_context_channel_,
+ key_.GetId(), this);
dialog->show();
}
@@ -309,8 +316,9 @@ void KeyPairSubkeyTab::create_subkey_opera_menu() {
}
void KeyPairSubkeyTab::slot_edit_subkey() {
- auto* dialog = new KeySetExpireDateDialog(
- key_.GetId(), get_selected_subkey().GetFingerprint(), this);
+ auto* dialog =
+ new KeySetExpireDateDialog(current_gpg_context_channel_, key_.GetId(),
+ get_selected_subkey().GetFingerprint(), this);
dialog->show();
}
@@ -333,7 +341,9 @@ auto KeyPairSubkeyTab::get_selected_subkey() -> const GpgSubKey& {
return buffered_subkeys_[row];
}
void KeyPairSubkeyTab::slot_refresh_key_info() {
- key_ = GpgKeyGetter::GetInstance().GetKey(key_.GetId());
+ key_ = GpgKeyGetter::GetInstance(current_gpg_context_channel_)
+ .GetKey(key_.GetId());
+ assert(key_.IsGood());
}
} // namespace GpgFrontend::UI