diff frontends/src/quick_frontend/quick_games.py @ 1379:da2ea16fabc6

quick_frontend: display MUC games symbols
author souliane <souliane@mailoo.org>
date Fri, 20 Mar 2015 16:29:03 +0100
parents 8ea8fa13c351
children a025242bebe7
line wrap: on
line diff
--- a/frontends/src/quick_frontend/quick_games.py	Fri Mar 20 16:28:19 2015 +0100
+++ b/frontends/src/quick_frontend/quick_games.py	Fri Mar 20 16:29:03 2015 +0100
@@ -23,6 +23,7 @@
 from sat.core.i18n import _
 
 from sat_frontends.tools import jid
+from sat_frontends.tools import games
 from sat_frontends.quick_frontend.constants import Const as C
 
 import quick_chat
@@ -53,7 +54,18 @@
         referee, players, args = args[0], args[1], args[2:]
         chat_widget = host.widgets.getOrCreateWidget(quick_chat.QuickChat, room_jid, type_=C.CHAT_GROUP, profile=profile)
 
-        # self.occupants_panel.updateSpecials(players, SYMBOLS[self._game_name.lower()]) # FIXME
+        # update symbols
+        if cls._game_name not in chat_widget.visible_states:
+            chat_widget.visible_states.append(cls._game_name)
+        symbols = games.SYMBOLS[cls._game_name]
+        index = 0
+        for occupant in chat_widget.occupants:
+            occupant_jid = jid.newResource(room_jid, occupant)
+            if occupant in players:
+                chat_widget.updateEntityState(occupant_jid, cls._game_name, symbols[index % len(symbols)])
+            else:
+                chat_widget.updateEntityState(occupant_jid, cls._game_name, None)
+
         if suffix == "Players" or chat_widget.nick not in players:
             return  # waiting for other players to join, or not playing
         if cls._game_name in chat_widget.games: