示例#1
0
class ChatViewManager:
    def __init__(self):
        self.__app = GabberApp()
        self.__chats = {}
        self.__query = self.__app.session.registerXPath("/message[@type='chat']", self.__on_chat_node)
        self.__menu_item = MenuItem("One-on-one _Chat...")
        self.__menu_item.connect("activate", self.__on_chat_menu_activate)
        Popups.User().addItem(self.__menu_item)

    def __del__(self):
        self.__app.session.unregisterXPath(self.__query)
        for chat in chats:
            del chat

    def __on_chat_node(self, node):
        msg_from = node.getAttrib("from")
        if not self.__chats.has_key(msg_from):
            self.__chats[msg_from] = ChatView(self, msg_from, node)

    def __on_chat_menu_activate(self, menu):
        to = Popups.User().getSelectedJID()
        if not self.__chats.has_key(to):
            self.__chats[to] = ChatView(self, to)

    def release(self, jid):
        del self.__chats[jid]
示例#2
0
class ChatViewManager:
    def __init__(self):
        self.__app = GabberApp()
        self.__chats = {}
        self.__query = self.__app.session.registerXPath(
            "/message[@type='chat']", self.__on_chat_node)
        self.__menu_item = MenuItem("One-on-one _Chat...")
        self.__menu_item.connect("activate", self.__on_chat_menu_activate)
        Popups.User().addItem(self.__menu_item)

    def __del__(self):
        self.__app.session.unregisterXPath(self.__query)
        for chat in chats:
            del chat

    def __on_chat_node(self, node):
        msg_from = node.getAttrib("from")
        if not self.__chats.has_key(msg_from):
            self.__chats[msg_from] = ChatView(self, msg_from, node)

    def __on_chat_menu_activate(self, menu):
        to = Popups.User().getSelectedJID()
        if not self.__chats.has_key(to):
            self.__chats[to] = ChatView(self, to)

    def release(self, jid):
        del self.__chats[jid]
示例#3
0
 def add(self, label, function, menu=None):
     item = MenuItem(label)
     item.set_name(label)
     self.append(item)
     if menu:
         item.connect('activate', function, label, menu)
     else:
         item.connect('activate', function, label)
     item.show()
     self._menu_dict[label] = item
示例#4
0
 def add(self, label, function, menu=None):
     item = MenuItem(label)
     item.set_name(label)
     self.append(item)
     if menu:
         item.connect('activate', function, label, menu)
     else:
         item.connect('activate', function, label)
     item.show()
     self._menu_dict[label] = item