changeset 1386:1f3513cfb246

quick_frontend, primivitus: remove QuickChat.getUserNick + primivitus ChatText gets the user nick directly from parent Chat instance
author souliane <souliane@mailoo.org>
date Mon, 23 Mar 2015 15:38:32 +0100
parents 0dca4f9b264d
children 3511ff4b40a0
files frontends/src/primitivus/chat.py frontends/src/quick_frontend/quick_app.py frontends/src/quick_frontend/quick_chat.py
diffstat 3 files changed, 8 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/frontends/src/primitivus/chat.py	Tue Mar 24 07:38:40 2015 +0100
+++ b/frontends/src/primitivus/chat.py	Mon Mar 23 15:38:32 2015 +0100
@@ -37,10 +37,9 @@
 class ChatText(urwid.FlowWidget):
     """Manage the printing of chat message"""
 
-    def __init__(self, parent, timestamp, nick, my_mess, message, align='left', is_info=False):
+    def __init__(self, parent, timestamp, my_mess, message, align='left', is_info=False):
         self.parent = parent
         self.timestamp = time.localtime(timestamp)
-        self.nick = nick
         self.my_mess = my_mess
         self.message = unicode(message)
         self.align = align
@@ -73,7 +72,7 @@
             if self.parent.show_short_nick:
                 render_txt.append(('my_nick' if self.my_mess else 'other_nick', "**" if self.my_mess else "*"))
             else:
-                render_txt.append(('my_nick' if self.my_mess else 'other_nick', "[%s] " % self.nick))
+                render_txt.append(('my_nick' if self.my_mess else 'other_nick', "[%s] " % self.parent.nick))
         render_txt.append(self.message)
         txt_widget = urwid.Text(render_txt, align=self.align)
         if self.is_info:
@@ -170,7 +169,7 @@
     def _occupantsClicked(self, list_wid, clicked_wid):
         assert self.type == C.CHAT_GROUP
         nick = clicked_wid.getValue().value
-        if nick == self.getUserNick():
+        if nick == self.nick:
             # We ignore clicks on our own nick
             return
         contact_list = self.host.contact_lists[self.profile]
@@ -263,7 +262,7 @@
         except TypeError:
             # None is returned, the message is managed
             return
-        new_text = ChatText(self, timestamp, nick, mymess, msg)
+        new_text = ChatText(self, timestamp, mymess, msg)
 
         if timestamp and self.content:
             for idx in range(len(self.content) - 1, -1, -1):
@@ -303,7 +302,7 @@
             timestamp = float(extra['timestamp'])
         except KeyError:
             timestamp = None
-        _widget = ChatText(self, timestamp, None, False, msg, is_info=True)
+        _widget = ChatText(self, timestamp, False, msg, is_info=True)
         self.content.append(_widget)
         self._notify(msg=msg)
 
@@ -322,7 +321,7 @@
         if not self.host.x_notify.hasFocus():
             if self.type == C.CHAT_ONE2ONE:
                 self.host.x_notify.sendNotification(_("Primitivus: %s is talking to you") % from_jid)
-            elif self.getUserNick().lower() in msg.lower():
+            elif self.nick.lower() in msg.lower():
                 self.host.x_notify.sendNotification(_("Primitivus: %(user)s mentioned you in room '%(room)s'") % {'user': from_jid, 'room': self.target})
 
     # MENU EVENTS #
--- a/frontends/src/quick_frontend/quick_app.py	Tue Mar 24 07:38:40 2015 +0100
+++ b/frontends/src/quick_frontend/quick_app.py	Mon Mar 23 15:38:32 2015 +0100
@@ -532,7 +532,7 @@
         log.debug("Room [%(room_jid)s] joined by %(profile)s, users presents:%(users)s" % {'room_jid': room_jid_s, 'profile': profile, 'users': room_nicks})
         room_jid = jid.JID(room_jid_s)
         chat_widget = self.widgets.getOrCreateWidget(quick_chat.QuickChat, room_jid, type_=C.CHAT_GROUP, profile=profile)
-        chat_widget.setUserNick(user_nick)
+        chat_widget.setUserNick(unicode(user_nick))
         self.contact_lists[profile].setSpecial(room_jid, C.CONTACT_SPECIAL_GROUP)
 
     def roomLeftHandler(self, room_jid_s, profile):
@@ -642,7 +642,7 @@
 
     def entityDataUpdatedHandler(self, entity_s, key, value, profile):
         entity = jid.JID(entity_s)
-        if key == "nick":
+        if key == "nick":  # this is the roster nick, not the MUC nick
             if entity in self.contact_lists[profile]:
                 self.contact_lists[profile].setCache(entity, 'nick', value)
                 self.callListeners('nick', entity, value, profile=profile)
--- a/frontends/src/quick_frontend/quick_chat.py	Tue Mar 24 07:38:40 2015 +0100
+++ b/frontends/src/quick_frontend/quick_chat.py	Mon Mar 23 15:38:32 2015 +0100
@@ -114,9 +114,6 @@
         """Set the nick of the user, usefull for e.g. change the color of the user"""
         self.nick = nick
 
-    def getUserNick(self):
-        return unicode(self.nick)
-
     def changeUserNick(self, old_nick, new_nick):
         """Change nick of a user in group list"""
         self.printInfo("%s is now known as %s" % (old_nick, new_nick))