diff options
-rw-r--r-- | src/core.py | 6 | ||||
-rw-r--r-- | src/room.py | 4 | ||||
-rw-r--r-- | src/windows.py | 12 |
3 files changed, 14 insertions, 8 deletions
diff --git a/src/core.py b/src/core.py index df3cf0d8..f3c406ad 100644 --- a/src/core.py +++ b/src/core.py @@ -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): """ diff --git a/src/room.py b/src/room.py index 45ebddbd..a112fc7b 100644 --- a/src/room.py +++ b/src/room.py @@ -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 diff --git a/src/windows.py b/src/windows.py index eb6dde43..4fa358d4 100644 --- a/src/windows.py +++ b/src/windows.py @@ -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 |