def on_row_activated(self, tv, path, column): model = self.__model jid = model.get_value(model.get_iter(path), RosterModel.COLUMN_JID) ## It's a group, expand/contract it if not jid: if tv.row_expanded(path): tv.collapse_row(path) else: tv.expand_row(path, 0) return Popups.User().updateSelectedJID(self.__cur_jid) Popups.User().activate()
def __init__(self, tv, rm): self.__view = tv self.__model = rm tv.set_model(rm) self.__selection = tv.get_selection() self.__selection.set_mode(gtk.SELECTION_BROWSE) column = gtk.TreeViewColumn('Name') cell = gtk.CellRendererPixbuf() column.pack_start(cell, 0) column.set_attributes(cell, pixbuf=RosterModel.COLUMN_ICON) cell = gtk.CellRendererText() column.pack_start(cell, 1) column.set_attributes(cell, text=RosterModel.COLUMN_NAME) tv.append_column(column) tv.connect("cursor-changed", self.on_cursor_changed) tv.connect("button-press-event", self.on_button_press_event) tv.connect("row-activated", self.on_row_activated) del_user_item = Popups.User().getItem("delete_this_contact") del_user_item.connect("activate", self.__on_delete_contact_activate) self.__cur_jid = None
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 on_button_press_event(self, tv, event): if event.button == 3: ret = tv.get_path_at_pos(event.x, event.y) if not ret or not ret[0]: return path = ret[0] model = self.__model jid = model.get_value(model.get_iter(path), RosterModel.COLUMN_JID) if not jid: return if not self.__cur_jid: self.__cur_jid = self.__get_full_jid(jid) Popups.User().updateSelectedJID(self.__cur_jid) Popups.User().popup(None, None, None, event.button, event.time)
def loadSinks(self): self.sink_list.addSink(Info.init()) self.sink_list.addSink(Buttons.init()) self.sink_list.addSink(Menus.init()) self.sink_list.addSink(Images.init()) self.sink_list.addSink(Layouts.init()) self.sink_list.addSink(Lists.init()) self.sink_list.addSink(Popups.init()) self.sink_list.addSink(Tables.init()) self.sink_list.addSink(Text.init()) self.sink_list.addSink(Trees.init()) self.sink_list.addSink(Frames.init()) self.sink_list.addSink(Tabs.init())
def loadSinks(self): self.sink_list.add(Info.init()) self.sink_list.add(Buttons.init()) self.sink_list.add(Menus.init()) self.sink_list.add(Images.init()) self.sink_list.add(Layouts.init()) self.sink_list.add(Lists.init()) self.sink_list.add(Popups.init()) self.sink_list.add(Tables.init()) self.sink_list.add(Text.init()) self.sink_list.add(Trees.init()) self.sink_list.add(Frames.init()) self.sink_list.add(Tabs.init())
def loadSinks(self): #self.sink_list.addSink(DataTree.init()) #self.sink_list.addSink(RecipeSystemIFACE.init()) self.sink_list.addSink(ADViewerIFACE.init()) self.sink_list.addSink(RecipeViewer.init()) self.sink_list.addSink(FITSStoreFACE.init()) self.sink_list.addSink(DisplayIFACE.init()) self.sink_list.addSink(Info.init()) if False: self.sink_list.addSink(Buttons.init()) self.sink_list.addSink(Menus.init()) self.sink_list.addSink(Images.init()) self.sink_list.addSink(Layouts.init()) self.sink_list.addSink(Lists.init()) self.sink_list.addSink(Popups.init()) self.sink_list.addSink(Tables.init()) self.sink_list.addSink(Text.init()) if False: #preserving originaly order self.sink_list.addSink(Frames.init()) self.sink_list.addSink(Tabs.init())
def __on_chat_menu_activate(self, menu): to = Popups.User().getSelectedJID() if not self.__chats.has_key(to): self.__chats[to] = ChatView(self, to)