remove send_message from connection object. Use Event everywhere
This commit is contained in:
parent
37310e4a8f
commit
49fec47f36
|
@ -26,6 +26,7 @@ import nbxmpp
|
||||||
from common import helpers
|
from common import helpers
|
||||||
from common import dataforms
|
from common import dataforms
|
||||||
from common import gajim
|
from common import gajim
|
||||||
|
from common.connection_handlers_events import MessageOutgoingEvent
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
log = logging.getLogger('gajim.c.commands')
|
log = logging.getLogger('gajim.c.commands')
|
||||||
|
@ -285,9 +286,10 @@ class ForwardMessagesCommand(AdHocCommand):
|
||||||
ev_typ = event.type_
|
ev_typ = event.type_
|
||||||
if ev_typ == 'printed_chat':
|
if ev_typ == 'printed_chat':
|
||||||
ev_typ = '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],
|
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
|
# Inform other client of completion
|
||||||
response, cmd = self.buildResponse(request, status = 'completed')
|
response, cmd = self.buildResponse(request, status = 'completed')
|
||||||
|
@ -315,10 +317,14 @@ class FwdMsgThenDisconnectCommand(AdHocCommand):
|
||||||
j, resource = gajim.get_room_and_nick_from_fjid(self.jid)
|
j, resource = gajim.get_room_and_nick_from_fjid(self.jid)
|
||||||
for jid in events:
|
for jid in events:
|
||||||
for event in events[jid]:
|
for event in events[jid]:
|
||||||
self.connection.send_message(j, event.parameters[0], '',
|
ev_typ = event.type_
|
||||||
type_=event.type_, subject=event.parameters[1],
|
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_,
|
resource=resource, forward_from=jid, delayed=event.time_,
|
||||||
now=True)
|
now=True))
|
||||||
|
|
||||||
response, cmd = self.buildResponse(request, status = 'completed')
|
response, cmd = self.buildResponse(request, status = 'completed')
|
||||||
cmd.addChild('note', {}, _('The status has been changed.'))
|
cmd.addChild('note', {}, _('The status has been changed.'))
|
||||||
|
|
|
@ -1989,31 +1989,6 @@ class Connection(CommonConnection, ConnectionHandlers):
|
||||||
|
|
||||||
self.connection.send(msg_iq)
|
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):
|
def _nec_message_outgoing(self, obj):
|
||||||
if obj.account != self.name:
|
if obj.account != self.name:
|
||||||
return
|
return
|
||||||
|
|
|
@ -332,46 +332,6 @@ class ConnectionZeroconf(CommonConnection, ConnectionHandlersZeroconf):
|
||||||
title=_('Could not change status of account "%s"') % self.name,
|
title=_('Could not change status of account "%s"') % self.name,
|
||||||
msg=_('Please check if avahi-daemon is running.')))
|
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):
|
def _nec_message_outgoing(self, obj):
|
||||||
if obj.account != self.name:
|
if obj.account != self.name:
|
||||||
return
|
return
|
||||||
|
|
|
@ -63,6 +63,7 @@ from common import helpers
|
||||||
from common import i18n
|
from common import i18n
|
||||||
from common import dataforms
|
from common import dataforms
|
||||||
from common.exceptions import GajimGeneralException
|
from common.exceptions import GajimGeneralException
|
||||||
|
from common.connection_handlers_events import MessageOutgoingEvent
|
||||||
|
|
||||||
class EditGroupsDialog:
|
class EditGroupsDialog:
|
||||||
"""
|
"""
|
||||||
|
@ -3193,6 +3194,15 @@ class SingleMessageWindow:
|
||||||
sender_list = [j.strip() for j in self.to_entry.get_text().split(
|
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:
|
for to_whom_jid in sender_list:
|
||||||
if to_whom_jid in self.completion_dict:
|
if to_whom_jid in self.completion_dict:
|
||||||
to_whom_jid = self.completion_dict[to_whom_jid].jid
|
to_whom_jid = self.completion_dict[to_whom_jid].jid
|
||||||
|
@ -3204,10 +3214,6 @@ class SingleMessageWindow:
|
||||||
'valid.') % to_whom_jid)
|
'valid.') % to_whom_jid)
|
||||||
return True
|
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:
|
if '/announce/' in to_whom_jid:
|
||||||
gajim.connections[self.account].send_motd(to_whom_jid, subject,
|
gajim.connections[self.account].send_motd(to_whom_jid, subject,
|
||||||
message)
|
message)
|
||||||
|
@ -3219,14 +3225,11 @@ class SingleMessageWindow:
|
||||||
session = gajim.connections[self.account].make_new_session(
|
session = gajim.connections[self.account].make_new_session(
|
||||||
to_whom_jid)
|
to_whom_jid)
|
||||||
|
|
||||||
if self.form_widget:
|
|
||||||
form_node = self.form_widget.data_form
|
|
||||||
else:
|
|
||||||
form_node = None
|
|
||||||
# FIXME: allow GPG message some day
|
# FIXME: allow GPG message some day
|
||||||
gajim.connections[self.account].send_message(to_whom_jid, message,
|
gajim.nec.push_outgoing_event(MessageOutgoingEvent(None,
|
||||||
keyID=None, type_='normal', subject=subject, session=session,
|
account=self.account, jid=to_whom_jid, message=message,
|
||||||
form_node=form_node)
|
type_='normal', subject=subject, session=session,
|
||||||
|
form_node=form_node))
|
||||||
|
|
||||||
self.subject_entry.set_text('') # we sent ok, clear the subject
|
self.subject_entry.set_text('') # we sent ok, clear the subject
|
||||||
self.message_tv_buffer.set_text('') # we sent ok, clear the textview
|
self.message_tv_buffer.set_text('') # we sent ok, clear the textview
|
||||||
|
|
Loading…
Reference in New Issue