- def _purple_blist_new_cb(self, pointer):
- """ FIXME: Hack! to fill blist on UI """
- buddies = self.account.get_buddies_online()
- for i in buddies:
- if i not in self.buddies:
- self.buddies.append(i)
- self.window.new_buddy(i)
-
- def set_protocol(self, protocol):
- for p in self.p.get_protocols():
- if p.get_name() == protocol:
- self.protocol = p
- return
+ def _purple_update_blist_cb(self, type, name=None, totalsize=None,\
+ currentsize=None, online=None):
+ self.buddies = self.account.get_buddies_online()
+ if type == 2:
+ if name in self.buddies:
+ self.buddies.append(name)
+ self.window.new_buddy(name)
+
+ def _purple_signal_sign_off_cb(self, name, bname):
+ self.buddies.remove(bname)
+ self.window.remove_buddy(bname)
+
+ def _purple_create_conv_cb(self, name, type):
+ bname = name.split("/")[0]
+ if bname in self.buddies and not self.conversations.has_key(name):
+ conv = purple.Conversation()
+ conv.initialize(self.account, "IM", bname)
+ self.conversations[bname] = conv