From eef9cf2de9dbc50f97c13b643a4c762fe960ccf4 Mon Sep 17 00:00:00 2001 From: Yann Leboulanger <asterix@lagaule.org> Date: Wed, 8 Oct 2008 20:11:06 +0000 Subject: [PATCH] don't allow to enable GPG encryption if no GPG key is assigned. Better getInfoDialog when no key is assigned. Fixes #4330 --- src/chat_control.py | 5 +++++ src/dialogs.py | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/chat_control.py b/src/chat_control.py index aabcee9d28..86a3c1e126 100644 --- a/src/chat_control.py +++ b/src/chat_control.py @@ -1516,6 +1516,11 @@ class ChatControl(ChatControlBase): banner_name_tooltip.set_tip(banner_name_label, label_tooltip) def _toggle_gpg(self): + if not self.gpg_is_active and not self.contact.keyID: + dialogs.ErrorDialog(_('No GPG key assigned'), + _('No GPG key is assigned to this contact. So you cannot ' + 'encrypt messages with GPG.')) + return ec = gajim.encrypted_chats[self.account] if self.gpg_is_active: # Disable encryption diff --git a/src/dialogs.py b/src/dialogs.py index b8ed950dd0..0253cd9da3 100644 --- a/src/dialogs.py +++ b/src/dialogs.py @@ -3898,11 +3898,17 @@ class GPGInfoWindow: info = _('The contact\'s key (%s) <b>does not match</b> the key ' 'assigned in Gajim.') % keyID[:8] image = 'security-low-big.png' + elif not keyID: + # No key assigned nor a key is used by remote contact + verification_status = _('No GPG key assigned') + info = _('No GPG key is assigned to this contact. So you cannot ' + 'encrypt messages.') + image = 'security-low-big.png' else: msgenc, error = gajim.connections[account].gpg.encrypt('test', [keyID]) if error: verification_status = _('''Contact's identity NOT verified''') - info = _('GPG Key is assigned to this contact, but <b>you do not ' + info = _('GPG key is assigned to this contact, but <b>you do not ' 'trust his key</b>, so message <b>cannot</b> be encrypted. Use ' 'your GPG client to trust this key.') image = 'security-low-big.png' -- GitLab