def show_menu(self, event): #Create the menu and menu items if they don't exist if not self.menu: #Create the items add_feed = awn.image_menu_item_new_with_label(_("Add Feed")) update = gtk.ImageMenuItem(gtk.STOCK_REFRESH) self.show_only_new_check = gtk.CheckMenuItem(_("Show Only _New Feeds")) sep = gtk.SeparatorMenuItem() prefs_item = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES) about = gtk.ImageMenuItem(_("_About %s") % _("Feeds Applet")) about.props.always_show_image = True about.set_image(gtk.image_new_from_stock(gtk.STOCK_ABOUT, gtk.ICON_SIZE_MENU)) #Add icon for "Add Feed" add_icon = gtk.image_new_from_stock(gtk.STOCK_ADD, gtk.ICON_SIZE_MENU) add_feed.set_image(add_icon) if self.client.get_value(GROUP_DEFAULT, 'show_only_new'): self.show_only_new_check.set_active(True) add_feed.connect('activate', self.add_feed_dialog) update.connect('activate', self.update_feeds) self.show_only_new_check.connect('toggled', self.toggle_show_only_new) prefs_item.connect('activate', self.open_prefs) about.connect('activate', self.show_about) #Create the menu self.menu = self.create_default_menu() for item in (add_feed, update, self.show_only_new_check, sep, prefs_item, about): self.menu.append(item) self.menu.show_all() self.popup_gtk_menu (self.menu, event.button, event.time)
def docklet_icon_menu(self, icon, event, place): menu = self.create_default_menu() if place is not None: #If the place is ejectable if place[2]: eject = awn.image_menu_item_new_with_label(_("Eject")) image = gtk.image_new_from_icon_name('media-eject', gtk.ICON_SIZE_MENU) eject.set_image(image) menu.append(eject) eject.connect('activate', self.docklet_menu_eject, place[4]) elif place[3] == 'trash:///': empty = gtk.MenuItem(_("Empty Trash")) menu.append(empty) if self.trash.props.file_count == 0: empty.set_sensitive(False) empty.connect('activate', self.docklet_empty_trash) prefs = gtk.ImageMenuItem(gtk.STOCK_PREFERENCES) prefs.connect('activate', self.open_prefs) menu.append(prefs) about = gtk.ImageMenuItem(gtk.STOCK_ABOUT) about.connect("activate", self.open_about) menu.append(about) menu.show_all() icon.popup_gtk_menu (menu, event.button, event.time)