aboutsummaryrefslogtreecommitdiff
path: root/plugins/openpgp/src/encryption_preferences_entry.vala
diff options
context:
space:
mode:
authorMarvin W <git@larma.de>2026-06-07 21:52:00 +0200
committerMarvin W <git@larma.de>2026-06-07 23:13:07 +0200
commit9b7b0d98cb9a41e8bd06ae627474d4e1e97139e6 (patch)
tree61a36db5611fb57f9681c1c239ffa05931c7dc07 /plugins/openpgp/src/encryption_preferences_entry.vala
parent8c05d7b066f03d0c024cc0701b69279fffb4e0cf (diff)
OpenPGP: Process signatures on presences only once needed
- Incoming signatures are stored in the database and processed when needed (to send PGP encrypted messages or to display them in the contact details) - Outgoing signatures are stored in the database and cached until the key is changed
Diffstat (limited to 'plugins/openpgp/src/encryption_preferences_entry.vala')
-rw-r--r--plugins/openpgp/src/encryption_preferences_entry.vala6
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/openpgp/src/encryption_preferences_entry.vala b/plugins/openpgp/src/encryption_preferences_entry.vala
index 28b253fc..b03f6acd 100644
--- a/plugins/openpgp/src/encryption_preferences_entry.vala
+++ b/plugins/openpgp/src/encryption_preferences_entry.vala
@@ -52,10 +52,14 @@ namespace Dino.Plugins.OpenPgp {
drop_down.notify["selected"].connect(() => {
var key_id = drop_down.selected == 0 ? "" : keys[(int)drop_down.selected - 1].fpr;
+ string? signed_data = null, sig = null;
if (plugin.modules.has_key(account)) {
- plugin.modules[account].set_private_key_id(key_id);
+ plugin.modules[account].set_private_key_id(key_id, ref signed_data, ref sig);
}
plugin.db.set_account_key(account, key_id);
+ if (signed_data != null && sig != null) {
+ plugin.db.set_account_signature(account, signed_data, sig);
+ }
});
}