Changeset 4
- Timestamp:
- 10/23/03 01:05:36 (5 years ago)
- Location:
- trunk
- Files:
-
- 2 modified
-
core/core.py (modified) (1 diff)
-
plugins/gtkgui.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/core/core.py
r2 r4 60 60 self.hub.sendPlugin('NOTIFY', \ 61 61 (prs.getFrom().getBasic(), show, prs.getStatus())) 62 if type == 'unavailable': 63 self.hub.sendPlugin('NOTIFY', \ 64 (prs.getFrom().getBasic(), 'offline', prs.getStatus())) 65 62 66 # END presenceCB 63 67 -
trunk/plugins/gtkgui.py
r3 r4 105 105 106 106 def mkl_group(self): 107 self.l_group = [] 107 """ {name:iter} """ 108 self.l_group = {} 108 109 for u in self.l_contact: 109 if u.group in self.l_group: 110 pass 111 else: 112 self.l_group.append(u.group) 113 114 def mkroster(self): 115 self.treestore.clear() 116 for g in self.l_group: 117 iter_g = self.treestore.append(None, (self.pixbufs['online'], g, 'group')) 118 for c in self.l_contact: 119 if c.group == g: 120 # print c.status 121 self.treestore.append(iter_g, (self.pixbufs[c.show], c.name, c.show)) 122 # if c.status == 'Online': 123 # self.treestore.append(iter_g, (self.pixbufs['Online'], c.name, 'Online')) 124 # elif c.status == None: 125 # self.treestore.append(iter_g, (self.pixbufs['away'], c.name, 'away')) 126 127 def mkroster2(self, tab): 110 if not self.l_group.has_key(u.group): 111 iterG = self.treestore.append(None, (self.pixbufs['online'], u.group, 'group')) 112 self.l_group[u.group]=iterG 113 114 def mkroster(self, tab): 128 115 self.l_contact = [] 129 116 for jid in tab.keys(): 130 117 user1 = user(jid, 'general', tab[jid]["Show"], tab[jid]["Status"]) 131 118 self.l_contact.append(user1) 119 self.treestore.clear() 132 120 self.mkl_group() 133 self.mkroster() 134 self.tree.collapse_row((0,3)) 121 for g in self.l_group.keys(): 122 for c in self.l_contact: 123 if c.group == g: 124 if c.show != 'offline' or self.showOffline: 125 self.treestore.append(self.l_group[g], (self.pixbufs[c.show], c.name, c.show)) 135 126 136 127 def update_iter(self, widget, path, iter, data): 137 128 val = self.treestore.get_value(iter, 1) 138 129 if val == data[0]: 139 self.treestore.set_value(iter, 0, self.pixbufs[data[1]]) 130 if data[1] == 'offline': 131 self.treestore.remove(iter) 132 if not self.showOffline: 133 self.found=1 134 else: 135 self.treestore.set_value(iter, 0, self.pixbufs[data[1]]) 136 self.found=1 137 return 1 138 return 0 140 139 141 140 def chg_status(self, jid, show, status): 142 141 for u in self.l_contact: 143 142 if u.name == jid: 143 self.found=0 144 self.treestore.foreach(self.update_iter, (jid, show)) 145 if self.found==0: 146 if not self.l_group.has_key(u.group): 147 iterG = self.treestore.append(None, (self.pixbufs['online'], u.group, 'group')) 148 self.l_group[u.group]=iterG 149 self.treestore.append(self.l_group[u.group], (self.pixbufs[show], u.name, show)) 144 150 u.show = show 145 151 u.status = status 146 self.treestore.foreach(self.update_iter, (jid, show))152 return 1 147 153 148 154 def mk_menu_c(self, event): … … 220 226 self.optionmenu.set_history(6) 221 227 self.tab_messages = {} 228 self.showOffline=1 222 229 223 230 #colonnes … … 247 254 print ev 248 255 if ev[0] == 'ROSTER': 249 self.r.mkroster 2(ev[1])256 self.r.mkroster(ev[1]) 250 257 elif ev[0] == 'NOTIFY': 251 258 self.r.chg_status(ev[1][0], ev[1][1], ev[1][2]) … … 268 275 plugin(None, None) 269 276 270 print "plugin g ui loaded"277 print "plugin gtkgui loaded"
