def get_background_items(self, window, file): submenu = nautilus.Menu() submenu.append_item( nautilus.MenuItem('MarkEmblemsProvider::Bar', 'Bar', '')) menuitem = nautilus.MenuItem('MarkEmblemsProvider::Foo', 'Foo', '') menuitem.set_submenu(submenu) return menuitem,
def get_file_items(self, window, files): """ This method is called anytime one or more files are selected and the right-click menu is invoked. If we are looking at a media file then let's show the new menu item! """ # Check if this is actually a media file and it is local for f in files: if f.get_mime_type() not in SUPPORTED_FORMATS: return if not f.get_uri().startswith("file://"): return # Create the new menu item, with a submenu of devices each with a # submenu of presets for that particular device. menu = nautilus.MenuItem('Nautilus::convert_media', _('Convert for device'), _('Convert this media using a device preset')) devices = nautilus.Menu() menu.set_submenu(devices) presets = arista.presets.get().items() for shortname, device in sorted( presets, lambda x, y: cmp(x[1].name, y[1].name)): item = nautilus.MenuItem("Nautilus::convert_to_%s" % shortname, device.name, device.description) presets = nautilus.Menu() item.set_submenu(presets) for preset_name, preset in device.presets.items(): preset_item = nautilus.MenuItem( "Nautilus::convert_to_%s_%s" % (shortname, preset.name), preset.name, "%s: %s" % (device.name, preset.name)) preset_item.connect("activate", self.callback, [f.get_uri()[7:] for f in files], shortname, preset.name) presets.append_item(preset_item) devices.append_item(item) return menu,
def get_file_items(self, window, files): top_menuitem = nautilus.MenuItem('ExampleMenuProvider::Foo', 'Foo', '') submenu = nautilus.Menu() top_menuitem.set_submenu(submenu) sub_menuitem = nautilus.MenuItem('ExampleMenuProvider::Bar', 'Bar', '') submenu.append_item(sub_menuitem) return top_menuitem,
def get_file_items(self, window, files): f = file('/tmp/test', 'w') f.write(str(files[0].get_uri_scheme())) f.close() if len(files) > 1: return if files[0].is_directory(): return if files[0].get_uri_scheme() != 'file': top_menuitem = nautilus.MenuItem('NautilusPython::RVFS', 'RVFS', '') submenu = nautilus.Menu() top_menuitem.set_submenu(submenu) sub_menuitem2 = nautilus.MenuItem('NautilusPython::su', 'Disk Usage', '') submenu.append_item(sub_menuitem2) return filename = urllib.unquote(files[0].get_uri()[7:]) test_command = 'file -i -b ' + filename + ' | cut -d \/ -f 1' a = os.popen(test_command) res = a.read().strip() if res != 'text' and res != 'empty': return top_menuitem = nautilus.MenuItem('NautilusPython::RVFS', 'RVFS', '') submenu = nautilus.Menu() top_menuitem.set_submenu(submenu) sub_menuitem = nautilus.MenuItem('NautilusPython::st', 'Versions', '') submenu.append_item(sub_menuitem) sub_menuitem.connect('activate', self.show_timeline, filename) return top_menuitem,
def get_file_items(self, window, files): submenu = nautilus.Menu() item = nautilus.MenuItem('MarkEmblemsProvider::Favourite', 'Favourite', '') item.connect('activate', self.on_favourite_activate, files) submenu.append_item(item) item = nautilus.MenuItem('MarkEmblemsProvider::Update', 'Update', '') submenu.append_item(item) item = nautilus.MenuItem('MarkEmblemsProvider::Web', 'Web', '') submenu.append_item(item) menuitem = nautilus.MenuItem('MarkEmblemsProvider::Foo', 'Mark', '') menuitem.set_submenu(submenu) return menuitem,
def get_file_items(self, window, files): if self.coherence == None: return if len(files) == 0: return for file in files: if file.is_directory() or file.get_uri_scheme() != 'file': return #pin = self.coherence.get_pin('Nautilus::MediaServer::%d'%os.getpid()) #print 'Pin:',pin #if pin == 'Coherence::Pin::None': # return devices = self.coherence.get_devices(dbus_interface=BUS_NAME) i = 0 menuitem = None for device in devices: print device['friendly_name'], device['device_type'] if device['device_type'].split(':')[3] == 'MediaRenderer': if i == 0: menuitem = nautilus.MenuItem( 'CoherencePlayExtension::Play', 'Play on MediaRenderer', 'Play the selected file(s) on a DLNA/UPnP MediaRenderer' ) submenu = nautilus.Menu() menuitem.set_submenu(submenu) item = nautilus.MenuItem('CoherencePlayExtension::Play%d' % i, device['friendly_name'], '') for service in device['services']: service_type = service.split('/')[-1] if service_type == 'AVTransport': item.connect('activate', self.play, service, device['path'], files) break submenu.append_item(item) i += 1 if i == 0: return return menuitem,
def get_file_items(self, window, files): self.daemonConnect() if self.xmms == None: return for file in files: file.xmmsId = self.xmms.medialib_get_id(fileToXmmsUri(file)) allFilesHaveIds = True noFilesHaveIds = True for file in files: if allFilesHaveIds and file.xmmsId == 0: allFilesHaveIds = False if noFilesHaveIds and file.xmmsId > 0: noFilesHaveIds = False topItem = nautilus.MenuItem('Xmms2Nautilus::xmms2', 'xmms2', '', 'xmms2') menu = nautilus.Menu() topItem.set_submenu(menu) #if noFilesHaveIds: menuItem = nautilus.MenuItem('Xmms2Nautilus::add', 'add', 'Add selected files to medialib', 'edit-add') menuItem.connect('activate', self.menuAdd, files) menu.append_item(menuItem) if allFilesHaveIds: menuItem = nautilus.MenuItem( 'Xmms2Nautilus::remove', 'remove', 'Remove selected files from medialib', 'edit-delete') menuItem.connect('activate', self.menuRemove, files) menu.append_item(menuItem) menuItem = nautilus.MenuItem( 'Xmms2Nautilus::rehash', 'rehash', 'Reload metadata from selected files', 'reload') menuItem.connect('activate', self.menuRehash, files) menu.append_item(menuItem) return topItem,
def get_file_items(self, window, files): if len(files) != 1: return fileitem = files[0] top_menuitem = nautilus.MenuItem( 'ActivitiesMenuProvider::MoveToActivity', 'Move to Activity', 'Move directory to %s' % fileitem.get_name()) submenu = nautilus.Menu() top_menuitem.set_submenu(submenu) self.acModel = model.ActivitiesModel() activities = self.acModel.getActivities() for key, value in activities.items(): sub_menuitem = nautilus.MenuItem( 'ActivitiesMenuProvider::Activity%s' % key, key, key) sub_menuitem.connect('activate', self.menu_activate_cb, fileitem, key) submenu.append_item(sub_menuitem) return top_menuitem,
def attach_submenu(self, menu_node, submenu_list): submenu = nautilus.Menu() menu_node.set_submenu(submenu) [submenu.append_item(item) for item in submenu_list]