diff options
author | saturneric <[email protected]> | 2024-10-26 13:43:14 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2024-10-26 13:43:14 +0000 |
commit | 24c28eb752aa611dd1670f3fa7ab6b358b052f1b (patch) | |
tree | 6a4f9af003fa4a86b7d7e29a965e37a231951092 /src/ui/dialog/keypair_details/KeyPairSubkeyTab.cpp | |
parent | fix: thread concurrent crash issue (diff) | |
download | GpgFrontend-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.cpp | 22 |
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 |