def remove(self, item): if self.menu: mitem = self.menu.itemWithTag_(item.sessionController.identifier) if mitem: self.menu.removeItem_(mitem) self.items.remove(item) if not self.items: NSStatusBar.systemStatusBar().removeStatusItem_(self.statusItem) self.statusItem = None self.menu = None
def show(self, item): if not self.items: self.statusItem = NSStatusBar.systemStatusBar().statusItemWithLength_(30) self.menu = NSMenu.alloc().init() image = NSImage.imageNamed_("display").copy() image.setSize_(NSMakeSize(24, 24)) self.statusItem.setImage_(image) self.statusItem.setMenu_(self.menu) self.items.append(item) mitem = self.menu.addItemWithTitle_action_keyEquivalent_("%s - Waiting" % item.sessionController.getTitle(), "activateItem:", "") mitem.setTag_(item.sessionController.identifier) mitem.setTarget_(self)