changeset 3db418a58271 in /home/hg/repos/gajim
branches: gtk3 details:http://hg.gajim.org/gajim?cmd=changeset;node=3db418a58271 description: remove send_message from connection object. Use Event everywhere
diffstat:
src/common/commands.py | 16 ++++++++--- src/common/connection.py | 25 ------------------ src/common/zeroconf/connection_zeroconf.py | 40 ------------------------------ src/dialogs.py | 25 ++++++++++-------- 4 files changed, 25 insertions(+), 81 deletions(-)
diffs (184 lines):
diff -r 97c8cf7cedf2 -r 3db418a58271 src/common/commands.py --- a/src/common/commands.py Fri Jul 26 11:45:03 2013 +0200 +++ b/src/common/commands.py Fri Jul 26 14:45:16 2013 +0200 @@ -26,6 +26,7 @@ from common import helpers from common import dataforms from common import gajim +from common.connection_handlers_events import MessageOutgoingEvent
import logging log = logging.getLogger('gajim.c.commands') @@ -285,9 +286,10 @@ ev_typ = event.type_ if ev_typ == 'printed_chat': ev_typ = 'chat' - self.connection.send_message(j, event.parameters[0], '', + gajim.nec.push_outgoing_event(MessageOutgoingEvent(None, + account=account, jid=j, message=event.parameters[0], type_=ev_typ, subject=event.parameters[1], - resource=resource, forward_from=jid, delayed=event.time_) + resource=resource, forward_from=jid, delayed=event.time_))
# Inform other client of completion response, cmd = self.buildResponse(request, status = 'completed') @@ -315,10 +317,14 @@ j, resource = gajim.get_room_and_nick_from_fjid(self.jid) for jid in events: for event in events[jid]: - self.connection.send_message(j, event.parameters[0], '', - type_=event.type_, subject=event.parameters[1], + ev_typ = event.type_ + if ev_typ == 'printed_chat': + ev_typ = 'chat' + gajim.nec.push_outgoing_event(MessageOutgoingEvent(None, + account=account, jid=j, message=event.parameters[0], + type_=ev_typ, subject=event.parameters[1], resource=resource, forward_from=jid, delayed=event.time_, - now=True) + now=True))
response, cmd = self.buildResponse(request, status = 'completed') cmd.addChild('note', {}, _('The status has been changed.')) diff -r 97c8cf7cedf2 -r 3db418a58271 src/common/connection.py --- a/src/common/connection.py Fri Jul 26 11:45:03 2013 +0200 +++ b/src/common/connection.py Fri Jul 26 14:45:16 2013 +0200 @@ -1989,31 +1989,6 @@
self.connection.send(msg_iq)
- def send_message(self, jid, msg, keyID=None, type_='chat', subject='', - chatstate=None, msg_id=None, resource=None, user_nick=None, xhtml=None, - label=None, session=None, forward_from=None, form_node=None, - original_message=None, delayed=None, attention=False, correction_msg=None, - callback=None, callback_args=[], now=False): - - def cb(jid, msg, keyID, forward_from, session, original_message, - subject, type_, msg_iq, xhtml): - msg_id = self.connection.send(msg_iq, now=now) - jid = helpers.parse_jid(jid) - gajim.nec.push_incoming_event(MessageSentEvent(None, conn=self, - jid=jid, message=msg, keyID=keyID, chatstate=chatstate)) - if callback: - callback(msg_id, *callback_args) - - self.log_message(jid, msg, forward_from, session, original_message, - subject, type_, xhtml) - - self._prepare_message(jid, msg, keyID, type_=type_, subject=subject, - chatstate=chatstate, msg_id=msg_id, resource=resource, - user_nick=user_nick, xhtml=xhtml, label=label, session=session, - forward_from=forward_from, form_node=form_node, - original_message=original_message, delayed=delayed, - attention=attention, correction_msg=correction_msg, callback=cb) - def _nec_message_outgoing(self, obj): if obj.account != self.name: return diff -r 97c8cf7cedf2 -r 3db418a58271 src/common/zeroconf/connection_zeroconf.py --- a/src/common/zeroconf/connection_zeroconf.py Fri Jul 26 11:45:03 2013 +0200 +++ b/src/common/zeroconf/connection_zeroconf.py Fri Jul 26 14:45:16 2013 +0200 @@ -332,46 +332,6 @@ title=_('Could not change status of account "%s"') % self.name, msg=_('Please check if avahi-daemon is running.')))
- def send_message(self, jid, msg, keyID, type_='chat', subject='', - chatstate=None, msg_id=None, resource=None, user_nick=None, xhtml=None, - label=None, session=None, forward_from=None, form_node=None, - original_message=None, delayed=None, attention=False, callback=None, - callback_args=[], now=True): - - def on_send_ok(msg_id): - gajim.nec.push_incoming_event(MessageSentEvent(None, conn=self, - jid=jid, message=msg, keyID=keyID, chatstate=None)) - if callback: - callback(msg_id, *callback_args) - - self.log_message(jid, msg, forward_from, session, original_message, - subject, type_) - - def on_send_not_ok(reason): - reason += ' ' + _('Your message could not be sent.') - gajim.nec.push_incoming_event(MessageErrorEvent(None, conn=self, - fjid=jid, error_code=-1, error_msg=reason, msg=None, time_=None, - session=session)) - - def cb(jid, msg, keyID, forward_from, session, original_message, subject, - type_, msg_iq): - ret = self.connection.send(msg_iq, msg is not None, on_ok=on_send_ok, - on_not_ok=on_send_not_ok) - - if ret == -1: - # Contact Offline - gajim.nec.push_incoming_event(MessageErrorEvent(None, conn=self, - fjid=jid, error_code=-1, error_msg=_( - 'Contact is offline. Your message could not be sent.'), - msg=None, time_=None, session=session)) - - self._prepare_message(jid, msg, keyID, type_=type_, subject=subject, - chatstate=chatstate, msg_id=msg_id, resource=resource, - user_nick=user_nick, xhtml=xhtml, session=session, - forward_from=forward_from, form_node=form_node, - original_message=original_message, delayed=delayed, - attention=attention, callback=cb) - def _nec_message_outgoing(self, obj): if obj.account != self.name: return diff -r 97c8cf7cedf2 -r 3db418a58271 src/dialogs.py --- a/src/dialogs.py Fri Jul 26 11:45:03 2013 +0200 +++ b/src/dialogs.py Fri Jul 26 14:45:16 2013 +0200 @@ -63,6 +63,7 @@ from common import i18n from common import dataforms from common.exceptions import GajimGeneralException +from common.connection_handlers_events import MessageOutgoingEvent
class EditGroupsDialog: """ @@ -3193,6 +3194,15 @@ sender_list = [j.strip() for j in self.to_entry.get_text().split( ',')]
+ subject = self.subject_entry.get_text() + begin, end = self.message_tv_buffer.get_bounds() + message = self.message_tv_buffer.get_text(begin, end, True) + + if self.form_widget: + form_node = self.form_widget.data_form + else: + form_node = None + for to_whom_jid in sender_list: if to_whom_jid in self.completion_dict: to_whom_jid = self.completion_dict[to_whom_jid].jid @@ -3204,10 +3214,6 @@ 'valid.') % to_whom_jid) return True
- subject = self.subject_entry.get_text() - begin, end = self.message_tv_buffer.get_bounds() - message = self.message_tv_buffer.get_text(begin, end, True) - if '/announce/' in to_whom_jid: gajim.connections[self.account].send_motd(to_whom_jid, subject, message) @@ -3219,14 +3225,11 @@ session = gajim.connections[self.account].make_new_session( to_whom_jid)
- if self.form_widget: - form_node = self.form_widget.data_form - else: - form_node = None # FIXME: allow GPG message some day - gajim.connections[self.account].send_message(to_whom_jid, message, - keyID=None, type_='normal', subject=subject, session=session, - form_node=form_node) + gajim.nec.push_outgoing_event(MessageOutgoingEvent(None, + account=self.account, jid=to_whom_jid, message=message, + type_='normal', subject=subject, session=session, + form_node=form_node))
self.subject_entry.set_text('') # we sent ok, clear the subject self.message_tv_buffer.set_text('') # we sent ok, clear the textview