Exemple #1
0
    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)