Added ability to use additional_data for directly sent messages not coming from history db.
This commit is contained in:
parent
95eb7402a4
commit
556afac134
|
@ -791,11 +791,11 @@ class ChatControlBase(MessageControl, ChatCommandProcessor, CommandTools):
|
||||||
|
|
||||||
label = self.get_seclabel()
|
label = self.get_seclabel()
|
||||||
|
|
||||||
def _cb(msg, cb, *cb_args):
|
def _cb(obj, msg, cb, *cb_args):
|
||||||
self.last_sent_msg = msg
|
self.last_sent_msg = msg
|
||||||
self.last_sent_txt = cb_args[0]
|
self.last_sent_txt = cb_args[0]
|
||||||
if cb:
|
if cb:
|
||||||
cb(msg, *cb_args)
|
cb(obj, msg, *cb_args)
|
||||||
|
|
||||||
if self.correcting and self.last_sent_msg:
|
if self.correcting and self.last_sent_msg:
|
||||||
correction_msg = self.last_sent_msg
|
correction_msg = self.last_sent_msg
|
||||||
|
@ -2319,7 +2319,7 @@ class ChatControl(ChatControlBase):
|
||||||
GLib.source_remove(self.possible_inactive_timeout_id)
|
GLib.source_remove(self.possible_inactive_timeout_id)
|
||||||
self._schedule_activity_timers()
|
self._schedule_activity_timers()
|
||||||
|
|
||||||
def _on_sent(msg_stanza, message, encrypted, xhtml, label, old_txt):
|
def _on_sent(obj, msg_stanza, message, encrypted, xhtml, label, old_txt):
|
||||||
id_ = msg_stanza.getID()
|
id_ = msg_stanza.getID()
|
||||||
if self.contact.supports(NS_RECEIPTS) and gajim.config.get_per(
|
if self.contact.supports(NS_RECEIPTS) and gajim.config.get_per(
|
||||||
'accounts', self.account, 'request_receipt'):
|
'accounts', self.account, 'request_receipt'):
|
||||||
|
@ -2333,14 +2333,14 @@ class ChatControl(ChatControlBase):
|
||||||
if self.correcting and \
|
if self.correcting and \
|
||||||
self.conv_textview.last_sent_message_marks[0]:
|
self.conv_textview.last_sent_message_marks[0]:
|
||||||
self.conv_textview.correct_last_sent_message(message, xhtml,
|
self.conv_textview.correct_last_sent_message(message, xhtml,
|
||||||
self.get_our_nick(), old_txt)
|
self.get_our_nick(), old_txt, additional_data=obj.additional_data)
|
||||||
self.correcting = False
|
self.correcting = False
|
||||||
self.msg_textview.override_background_color(
|
self.msg_textview.override_background_color(
|
||||||
Gtk.StateType.NORMAL, self.old_message_tv_color)
|
Gtk.StateType.NORMAL, self.old_message_tv_color)
|
||||||
return
|
return
|
||||||
self.print_conversation(message, self.contact.jid,
|
self.print_conversation(message, self.contact.jid,
|
||||||
encrypted=encrypted, xep0184_id=xep0184_id, xhtml=xhtml,
|
encrypted=encrypted, xep0184_id=xep0184_id, xhtml=xhtml,
|
||||||
displaymarking=displaymarking)
|
displaymarking=displaymarking, additional_data=obj.additional_data)
|
||||||
|
|
||||||
ChatControlBase.send_message(self, message, keyID, type_='chat',
|
ChatControlBase.send_message(self, message, keyID, type_='chat',
|
||||||
chatstate=chatstate_to_send, xhtml=xhtml, callback=_on_sent,
|
chatstate=chatstate_to_send, xhtml=xhtml, callback=_on_sent,
|
||||||
|
@ -2457,7 +2457,7 @@ class ChatControl(ChatControlBase):
|
||||||
|
|
||||||
def print_conversation(self, text, frm='', tim=None, encrypted=False,
|
def print_conversation(self, text, frm='', tim=None, encrypted=False,
|
||||||
subject=None, xhtml=None, simple=False, xep0184_id=None,
|
subject=None, xhtml=None, simple=False, xep0184_id=None,
|
||||||
displaymarking=None, msg_log_id=None, correct_id=None):
|
displaymarking=None, msg_log_id=None, correct_id=None, additional_data={}):
|
||||||
"""
|
"""
|
||||||
Print a line in the conversation
|
Print a line in the conversation
|
||||||
|
|
||||||
|
@ -2522,7 +2522,7 @@ class ChatControl(ChatControlBase):
|
||||||
ChatControlBase.print_conversation_line(self, text, kind, name, tim,
|
ChatControlBase.print_conversation_line(self, text, kind, name, tim,
|
||||||
subject=subject, old_kind=self.old_msg_kind, xhtml=xhtml,
|
subject=subject, old_kind=self.old_msg_kind, xhtml=xhtml,
|
||||||
simple=simple, xep0184_id=xep0184_id, displaymarking=displaymarking,
|
simple=simple, xep0184_id=xep0184_id, displaymarking=displaymarking,
|
||||||
msg_log_id=msg_log_id, correct_id=correct_id)
|
msg_log_id=msg_log_id, correct_id=correct_id, additional_data=additional_data)
|
||||||
if text.startswith('/me ') or text.startswith('/me\n'):
|
if text.startswith('/me ') or text.startswith('/me\n'):
|
||||||
self.old_msg_kind = None
|
self.old_msg_kind = None
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -2176,7 +2176,7 @@ class Connection(CommonConnection, ConnectionHandlers):
|
||||||
jid=jid, message=msg, keyID=keyID, chatstate=obj.chatstate,
|
jid=jid, message=msg, keyID=keyID, chatstate=obj.chatstate,
|
||||||
automatic_message=obj.automatic_message, msg_id=msg_id, additional_data=obj.additional_data))
|
automatic_message=obj.automatic_message, msg_id=msg_id, additional_data=obj.additional_data))
|
||||||
if obj.callback:
|
if obj.callback:
|
||||||
obj.callback(msg_iq, *obj.callback_args)
|
obj.callback(obj, msg_iq, *obj.callback_args)
|
||||||
|
|
||||||
if not obj.is_loggable:
|
if not obj.is_loggable:
|
||||||
return
|
return
|
||||||
|
|
|
@ -1861,7 +1861,7 @@ class RosterWindow:
|
||||||
|
|
||||||
tim = time.localtime(float(result[2]))
|
tim = time.localtime(float(result[2]))
|
||||||
session.roster_message(jid, result[1], tim, msg_type='chat',
|
session.roster_message(jid, result[1], tim, msg_type='chat',
|
||||||
msg_log_id=result[0])
|
msg_log_id=result[0], additional_data=additional_data)
|
||||||
gajim.logger.set_shown_unread_msgs(result[0])
|
gajim.logger.set_shown_unread_msgs(result[0])
|
||||||
|
|
||||||
elif (time.time() - result[2]) > 2592000:
|
elif (time.time() - result[2]) > 2592000:
|
||||||
|
|
|
@ -267,7 +267,7 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
|
||||||
|
|
||||||
def roster_message(self, jid, msg, tim, encrypted=False, msg_type='',
|
def roster_message(self, jid, msg, tim, encrypted=False, msg_type='',
|
||||||
subject=None, resource='', msg_log_id=None, user_nick='', xhtml=None,
|
subject=None, resource='', msg_log_id=None, user_nick='', xhtml=None,
|
||||||
form_node=None, displaymarking=None):
|
form_node=None, displaymarking=None, additional_data={}):
|
||||||
"""
|
"""
|
||||||
Display the message or show notification in the roster
|
Display the message or show notification in the roster
|
||||||
"""
|
"""
|
||||||
|
@ -333,7 +333,8 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
|
||||||
typ = 'error'
|
typ = 'error'
|
||||||
|
|
||||||
self.control.print_conversation(msg, typ, tim=tim, encrypted=encrypted,
|
self.control.print_conversation(msg, typ, tim=tim, encrypted=encrypted,
|
||||||
subject=subject, xhtml=xhtml, displaymarking=displaymarking)
|
subject=subject, xhtml=xhtml, displaymarking=displaymarking,
|
||||||
|
additional_data=additional_data)
|
||||||
|
|
||||||
if msg_log_id:
|
if msg_log_id:
|
||||||
gajim.logger.set_read_messages([msg_log_id])
|
gajim.logger.set_read_messages([msg_log_id])
|
||||||
|
@ -356,7 +357,8 @@ class ChatControlSession(stanza_session.EncryptedStanzaSession):
|
||||||
event = event_t(msg, subject, msg_type, tim, encrypted, resource,
|
event = event_t(msg, subject, msg_type, tim, encrypted, resource,
|
||||||
msg_log_id, xhtml=xhtml, session=self, form_node=form_node,
|
msg_log_id, xhtml=xhtml, session=self, form_node=form_node,
|
||||||
displaymarking=displaymarking, sent_forwarded=False,
|
displaymarking=displaymarking, sent_forwarded=False,
|
||||||
show_in_roster=show_in_roster, show_in_systray=show_in_systray)
|
show_in_roster=show_in_roster, show_in_systray=show_in_systray,
|
||||||
|
additional_data=additional_data)
|
||||||
|
|
||||||
gajim.events.add_event(self.conn.name, fjid, event)
|
gajim.events.add_event(self.conn.name, fjid, event)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue