Commit 306abbf9 authored by mathieui's avatar mathieui

Fixes #1736

parent 4e04c0bb
......@@ -982,12 +982,12 @@ class Core(object):
body = xhtml.get_body_from_message_stanza(message)
if body:
date = date if delayed == True else None
self.add_message_to_text_buffer(room, body, date, nick_from)
self.add_message_to_text_buffer(room, body, date, nick_from, history=True if date else False)
if tab is self.current_tab():
tab.text_win.refresh(tab._room)
self.refresh_tab_win()
def add_message_to_text_buffer(self, room, txt, time=None, nickname=None):
def add_message_to_text_buffer(self, room, txt, time=None, nickname=None, history=None):
"""
Add the message to the room if possible, else, add it to the Info window
(in the Info tab of the info window in the RosterTab)
......@@ -995,7 +995,7 @@ class Core(object):
if not room:
self.information('Trying to add a message in no room: %s' % txt, 'Error')
else:
room.add_message(txt, time, nickname)
room.add_message(txt, time, nickname, history=history)
def command_help(self, arg):
"""
......
......@@ -95,7 +95,7 @@ class Room(TextBuffer):
"""
self.color_state = color
def add_message(self, txt, time=None, nickname=None, forced_user=None, nick_color=None):
def add_message(self, txt, time=None, nickname=None, forced_user=None, nick_color=None, history=None):
"""
Note that user can be None even if nickname is not None. It happens
when we receive an history message said by someone who is not
......@@ -130,7 +130,7 @@ class Room(TextBuffer):
self.messages.append(message)
for window in self.windows: # make the associated windows
# build the lines from the new message
nb = window.build_new_message(message)
nb = window.build_new_message(message, history=history)
if window.pos != 0:
window.scroll_up(nb)
return nb
......@@ -534,7 +534,7 @@ class TextWin(Win):
if None not in self.built_lines:
self.built_lines.append(None)
def build_new_message(self, message):
def build_new_message(self, message, history=None):
"""
Take one message, build it and add it to the list
Return the number of lines that are built for the given
......@@ -566,7 +566,10 @@ class TextWin(Win):
else:
txt = txt.replace('\t', ' ')
# length of the time
offset = 9
if history:
offset = 20
else:
offset = 9
if theme.CHAR_TIME_RIGHT:
offset += 1
if theme.CHAR_TIME_RIGHT:
......@@ -592,7 +595,10 @@ class TextWin(Win):
else:
color = None
if first:
time = message.time.strftime("%H:%M:%S")
if history:
time = message.time.strftime("%Y-%m-%d %H:%M:%S")
else:
time = message.time.strftime("%H:%M:%S")
nickname = nick
else:
time = None
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment