Mercurial > libervia-backend
comparison frontends/src/quick_frontend/quick_chat.py @ 2024:01aff34e8873
quick frontends, primitivus: messageState signal handling
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 02 Aug 2016 23:11:44 +0200 |
parents | 88c41a195728 |
children | cdb2591d0b8b |
comparison
equal
deleted
inserted
replaced
2023:224c8b0886bc | 2024:01aff34e8873 |
---|---|
53 self.message = msg | 53 self.message = msg |
54 self.subject = subject | 54 self.subject = subject |
55 self.type = type_ | 55 self.type = type_ |
56 self.extra = extra | 56 self.extra = extra |
57 self.nick = self.getNick(from_jid) | 57 self.nick = self.getNick(from_jid) |
58 self._status = None | |
58 # own_mess is True if message was sent by profile's jid | 59 # own_mess is True if message was sent by profile's jid |
59 self.own_mess = (from_jid.resource == self.parent.nick) if self.parent.type == C.CHAT_GROUP else (from_jid.bare == self.host.profiles[profile].whoami.bare) | 60 self.own_mess = (from_jid.resource == self.parent.nick) if self.parent.type == C.CHAT_GROUP else (from_jid.bare == self.host.profiles[profile].whoami.bare) |
60 # is user mentioned here ? | 61 # is user mentioned here ? |
61 if self.parent.type == C.CHAT_GROUP and not self.own_mess: | 62 if self.parent.type == C.CHAT_GROUP and not self.own_mess: |
62 for m in msg.itervalues(): | 63 for m in msg.itervalues(): |
109 if self.parent.type == C.CHAT_GROUP or entity in contact_list.getSpecials(C.CONTACT_SPECIAL_GROUP): | 110 if self.parent.type == C.CHAT_GROUP or entity in contact_list.getSpecials(C.CONTACT_SPECIAL_GROUP): |
110 return entity.resource or "" | 111 return entity.resource or "" |
111 if entity.bare in contact_list: | 112 if entity.bare in contact_list: |
112 return contact_list.getCache(entity, 'nick') or contact_list.getCache(entity, 'name') or entity.node or entity | 113 return contact_list.getCache(entity, 'nick') or contact_list.getCache(entity, 'name') or entity.node or entity |
113 return entity.node or entity | 114 return entity.node or entity |
115 | |
116 @property | |
117 def status(self): | |
118 return self._status | |
119 | |
120 @status.setter | |
121 def status(self, status): | |
122 self._status = status | |
123 for w in self.widgets: | |
124 w.updated(["status"]) | |
114 | 125 |
115 | 126 |
116 class Occupant(object): | 127 class Occupant(object): |
117 """Occupant metadata""" | 128 """Occupant metadata""" |
118 | 129 |
466 self.occupants[nick].state = state | 477 self.occupants[nick].state = state |
467 except KeyError: | 478 except KeyError: |
468 log.warning(u"{nick} not found in {room}, ignoring new chat state".format( | 479 log.warning(u"{nick} not found in {room}, ignoring new chat state".format( |
469 nick=nick, room=self.target.bare)) | 480 nick=nick, room=self.target.bare)) |
470 | 481 |
482 def onMessageState(self, uid, status, profile): | |
483 try: | |
484 mess_data = self.messages[uid] | |
485 except KeyError: | |
486 pass | |
487 else: | |
488 mess_data.status = status | |
489 | |
471 | 490 |
472 quick_widgets.register(QuickChat) | 491 quick_widgets.register(QuickChat) |