diff --git a/src/gajim.py b/src/gajim.py index b8c7a1b85..3ba655e16 100755 --- a/src/gajim.py +++ b/src/gajim.py @@ -1659,7 +1659,7 @@ class Interface: jid, session, form = data if form.getField('accept') and not form['accept'] in ('1', 'true'): - dialogs.InformationDialog(_('Session negotiation cancelled.'), + dialogs.InformationDialog(_('Session negotiation cancelled'), _('The client at %s cancelled the session negotiation.') % (jid)) session.cancelled_negotiation() return @@ -1679,15 +1679,15 @@ class Interface: def reject_nondefault_options(widget): for key in ask_user.keys(): - not_acceptable.append(key) # XXX for some reason I can't concatenate using += here? + not_acceptable.append(key) session.respond_e2e_bob(form, negotiated, not_acceptable) dialog.destroy() - dialog = dialogs.ConfirmationDialog(_('confirm these negotiation options'), - _('are the following options acceptable? %s') % (ask_user), - on_response_ok = accept_nondefault_options, - on_response_cancel = reject_nondefault_options) + dialog = dialogs.YesNoDialog(_('Confirm these session options'), + _('The remote client wants to negotiate an session with these features:\n\n%s\n\nAre these options acceptable?') % (negotiation.describe_features(ask_user)), + on_response_yes = accept_nondefault_options, + on_response_no = reject_nondefault_options) else: session.respond_e2e_bob(form, negotiated, not_acceptable) @@ -1708,10 +1708,10 @@ class Interface: session.reject_negotiation() dialog.destroy() - dialog = dialogs.ConfirmationDialog(_('confirm these negotiation options'), - _('are the following options acceptable? %s') % (ask_user), - on_response_ok = accept_nondefault_options, - on_response_cancel = reject_nondefault_options) + dialog = dialogs.YesNoDialog(_('Confirm these session options'), + _('The remote client selected these options:\n\n%s\n\nContinue with the session?') % (negotiation.describe_features(ask_user)), + on_response_yes = accept_nondefault_options, + on_response_no = reject_nondefault_options) else: session.accept_e2e_alice(form, negotiated) diff --git a/src/negotiation.py b/src/negotiation.py index 095fd5178..f7c58852e 100644 --- a/src/negotiation.py +++ b/src/negotiation.py @@ -5,6 +5,13 @@ from common import dataforms from common import gajim from common import xmpp +def describe_features(features): + '''a human-readable description of the features that have been negotiated''' + if features['logging'] == 'may': + return '- messages will be logged' + elif features['logging'] == 'mustnot': + return '- messages will not be logged' + class FeatureNegotiationWindow: '''FeatureNegotiotionWindow class''' def __init__(self, account, jid, session, form):