Mercurial > libervia-backend
diff frontends/wix/chat.py @ 79:db0a0f000e37
Chat presentation enhancement
- core: message signal is not sent anymore for groupchat type, cause MUC chat server do it for us
- wix: user nick can now be specified to chat windows, usefull for colorization
- memory: full jid are now sent
- wix: message from user are now in black for group chat
author | Goffi <goffi@goffi.org> |
---|---|
date | Wed, 31 Mar 2010 19:56:43 +1100 |
parents | ace2af8abc5a |
children | 9681f18d06bd |
line wrap: on
line diff
--- a/frontends/wix/chat.py Wed Mar 31 17:16:27 2010 +1100 +++ b/frontends/wix/chat.py Wed Mar 31 19:56:43 2010 +1100 @@ -52,7 +52,6 @@ self.conv_panel.SetSizer(self.conv_panel.sizer) self.splitter.Initialize(self.conv_panel) self.SetMenuBar(wx.MenuBar()) - self.setType(self.type) #events self.Bind(wx.EVT_CLOSE, self.onClose, self) @@ -63,8 +62,8 @@ self.font["points"] = self.chatWindow.GetFont().GetPointSize() self.font["family"] = self.chatWindow.GetFont().GetFamily() - self.historyPrint(profile=self.host.profile) - + self.setType(self.type) + #misc self.textBox.SetFocus() self.Hide() #We hide because of the show toggle @@ -86,17 +85,19 @@ self.__createPresents() self.subjectBox.Show() self.__eraseMenus() - + self.historyPrint(profile=self.host.profile) elif type is 'one2one' and self.splitter.IsSplit(): self.splitter.Unsplit(self.present_panel) del self.present_panel self.GetMenuBar().Show() self.subjectBox.Hide() self.__createMenus_O2O() + self.nick = None else: self.subjectBox.Hide() self.__createMenus_O2O() - + self.historyPrint(profile=self.host.profile) + def setPresents(self, nicks): """Set the users presents in the contact list for a group chat @param nicks: list of nicknames @@ -176,8 +177,9 @@ def printMessage(self, from_jid, msg, profile, timestamp=""): """Print the message with differents colors depending on where it comes from.""" jid=JID(from_jid) + print "printMessage, jid=",jid,"type=",self.type nick = jid.resource if self.type == "group" else (self.host.CM.getAttr(jid,'nick') or self.host.CM.getAttr(jid,'name') or jid) - mymess = (jid.short == self.host.profiles[profile]['whoami'].short) #mymess = True if message comes from local user + mymess = (jid.resource == self.nick) if self.type == "group" else (jid.short == self.host.profiles[profile]['whoami'].short) #mymess = True if message comes from local user _font = wx.Font(self.font["points"], self.font["family"], wx.NORMAL, wx.BOLD) self.chatWindow.SetDefaultStyle(wx.TextAttr( "BLACK" if mymess else "BLUE", font=_font)) self.chatWindow.AppendText("[%s] " % nick)