Mercurial > libervia-backend
changeset 2063:8fa0d95c2142
quick frontend (chat): recreateArgs implementation
author | Goffi <goffi@goffi.org> |
---|---|
date | Fri, 09 Sep 2016 23:54:33 +0200 (2016-09-09) |
parents | e22ab34c68f6 |
children | ee9621d92cb9 |
files | frontends/src/quick_frontend/quick_chat.py |
diffstat | 1 files changed, 18 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/frontends/src/quick_frontend/quick_chat.py Fri Sep 09 23:54:33 2016 +0200 +++ b/frontends/src/quick_frontend/quick_chat.py Fri Sep 09 23:54:33 2016 +0200 @@ -182,6 +182,17 @@ self._state = None @property + def data(self): + """reconstruct data dict from attributes""" + data = {} + data['nick'] = self.nick + if self._entity is not None: + data['entity'] = self._entity + data['affiliation'] = self.affiliation + data['role'] = self.role + return data + + @property def jid(self): """jid in the room""" return jid.JID(u"{}/{}".format(self.parent.target.bare, self.nick)) @@ -273,6 +284,13 @@ if target.resource: self.current_target = target # FIXME: tmp, must use resource priority throught contactList instead + def recreateArgs(self, args, kwargs): + """copy important attribute for a new widget""" + kwargs['type_'] = self.type + if self.type == C.CHAT_GROUP: + kwargs['occupants'] = {o.nick: o.data for o in self.occupants.itervalues()} + kwargs['subject'] = self.subject + def onPrivateCreated(self, widget): """Method called when a new widget for private conversation (MUC) is created""" raise NotImplementedError