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): 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): mitem = nautilus.MenuItem('Nautilus::Timeslider', 'Timeslider show/hide', '') mitem.connect('activate', self.menu_activate_cb_single) items = [] items.append(mitem) return items
def get_file_items(self, window, files): """Called when the user selects a file in Nautilus. We want to check whether those are supported files or directories with supported files.""" supported = [] for f in files: if f.get_mime_type() in FORMATS: name = urllib.unquote(f.get_uri()[7:]) supported.append(name) elif f.is_directory(): supported = process(urllib.unquote(f.get_uri()[7:]), supported) if not supported: return have_exif = False for path in supported: img_file = open(path, "rb") tags = EXIF.process_file(img_file) if tags.has_key("EXIF DateTimeOriginal"): have_exif = True break if not have_exif: return item = nautilus.MenuItem("NautilusPython::rename_exif_date_item", "Rename to EXIF date" , "Rename to EXIF date", "nautilus-rename-exif-date") item.connect("activate", self.menu_activate_cb, supported) return item,
def get_file_items(self, window, files): if not files: return for fileOb in files: ## TODO: Check if the files are in a subversion working copy if fileOb.get_uri_scheme() != 'file': DEBUG('URI for %s is not file, aborting.' % fileOb.get_uri()) return global svnClient items = [] for filename in get_filenames(files): if not (svnClient.is_working_copy(filename) and svnClient.is_committable(filename)): break else: item = nautilus.MenuItem('Nautilus::svn_commit', 'SVN Commit', 'Commit file(s) to the Subversion ' 'repository') item.connect('activate', self.commit_cb, files) items.append(item) return items
def get_file_items(self, window, files): # Show the menu iif: # - There is at least on file selected # - All the selected files are images # - All selected images are locals (currently Postr doesn't have # support for gnome-vfs # - Postr is installed (is in PATH) if len(files) == 0: return for file in files: if file.is_directory() or file.get_uri_scheme() != 'file': return if not file.is_mime_type("image/*"): return #self.program = self.locate_program(PROGRAM_NAME) #if not self.program: # return item = nautilus.MenuItem('PostrExtension::upload_files', _('Upload to Yupoo...'), _('Upload the selected files into Yupoo'), "postr") item.connect('activate', self.upload_files, files) return item,
def get_file_items(self, window, files): # test: czy w ogóle cokolwiek jest zaznaczone if len(files) == 0: return # filtr: tylko pliki *.desktop files = [ file for file in files if file.get_mime_type() == 'application/x-desktop' ] if len(files) == 0: return elif len(files) == 1: LABEL = 'Edit %s file' % files[0].get_name() TOOLTIP = 'Edit this desktop file in default editor' else: LABEL = 'Edit all desktop files' TOOLTIP = 'Edit all desktop files in default editor' NAME = 'NautilusPython::edit_desktop_files_item' ICON = '/usr/share/pixmaps/nautilus/colors.png' item = nautilus.MenuItem(NAME, LABEL, TOOLTIP, ICON) item.connect('activate', self.edit_desktop_files, files) return item,
def get_file_items(self, window, files): paths = [] for file in files: if self.valid_file(file): path = urllib.unquote(file.get_uri()[7:]) paths.append(path) if len(paths) < 1: return locale.setlocale(locale.LC_ALL, '') gettext.bindtextdomain(APP) gettext.textdomain(APP) _ = gettext.gettext tooltip_message = gettext.ngettext( 'Sign selected file with Digidoc3 Client', 'Sign selected files with Digidoc3 Client', len(paths)) item = nautilus.MenuItem('DigidocSigner', _('Sign with ID card'), tooltip_message) item.set_property('icon', 'qdigidoc-client') item.connect('activate', self.menu_activate_cb, paths) return item,
def get_background_items(self, window, file): """Called when the user selects a file in Nautilus.""" # Put an item in nautilus menu item = nautilus.MenuItem("NautilusPython::open_http_serv", "Open Simple HTTP Server", "Open Simple HTTP Server", "open-http-serv") item.connect("activate", self.menu_activate_cb, file) return item,
def get_file_items(self, window, files): if len(files) == 0: return item = nautilus.MenuItem('NautilusBulkRename::bulk-rename', 'Bulk Rename', 'Rename all selected files at once') item.set_data('display', window.get_screen().make_display_name()) item.connect('activate', self.menu_activate_cb, files) return item,
def get_file_items(self, window, files): """Called when the user selects a file in Nautilus.""" # This script will only accept one file if len(files) != 1: return f = files[0] log(f.get_uri()) filepath = normalize(urllib.unquote(f.get_uri()[7:])) name = os.path.basename(filepath) log(filepath) log(name) if not ".desktop" in name: log("no .desktop file") return # read desktop file and search # X-multiseat-desktop=true f = open(filepath, 'r') data = {} for line in f.readlines(): if "=" in line: data[line.split('=')[0]] = line.strip().split('=')[1] f.close() log(data) if not data.has_key('X-multiseat-desktop'): log("no key X-multiseat-desktop") return umount_item = nautilus.MenuItem( "NautilusPython::umount_multiseat_item", "Desmontar dispositivo extraíble multiseat", "Desmontar dispositivo extraíble multiseat", "nautilus-mount-image") if os.path.isfile( '/usr/share/icons/maxtoon/16x16/devices/usbpendrive_unmount.png' ): umount_item.set_property( 'icon', '/usr/share/icons/maxtoon/16x16/devices/usbpendrive_unmount.png' ) elif os.path.isfile( '/usr/share/icons/gnome/16x16/devices/usbpendrive_unmount.png' ): umount_item.set_property( 'icon', '/usr/share/icons/gnome/16x16/devices/usbpendrive_unmount.png') else: umount_item.set_property('icon', 'gtk-dialog-warning') umount_item.connect("activate", self.menu_activate_umount_multiseat, data) log("found X-multiseat-desktop in %s" % filepath) return umount_item,
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): """ 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): 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 __addMenuItem(self, file, item, description): """ Add a item to menuItens (itens for file-menu and bg-menu) param file: a FileInfo instance param item: menu label/id param description: menu description """ menuid = 'Nemoversion::%s' % item.replace(' ', '_') item = nautilus.MenuItem(menuid, item, description) item.connect('activate', self.genericCallback(file, menuid), file) self.__menuItens.append(item)
def get_file_items(self, window, files): # Keep only the files we want (right type and file) files = [f for f in files if self.is_valid(f)] if len(files) == 0: return item = nautilus.MenuItem('Nautilus::download_subtitles', _('Find subtitles for this video'), _('Download subtitles for this video'), gtk.STOCK_FIND_AND_REPLACE) item.connect('activate', self.menu_activate_cb, files) return item,
def get_file_items(self, window, files): if len(files) != 1: return file = files[0] if file.is_directory() or file.get_uri_scheme() != 'file': return item = nautilus.MenuItem('NautilusPython::openterminal_file_item', 'Open As Root' , 'Open File %s As Root' % file.get_name()) item.connect('activate', self.menu_activate_cb, file) return item,
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): 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 get_file_items(self, window, files): if self.ui == None: return if len(files) == 0: return for file in files: if not file.is_directory(): return item = nautilus.MenuItem('CoherenceExportExtension::export_resources', 'Sharing as a MediaServer...', 'Share the selected folders as a DLNA/UPnP MediaServer') item.connect('activate', self.export_resources, files) return item,
def get_file_items(self, window, files): if len(files) != 1: return fileObj = files[0] if fileObj.get_uri_scheme() != 'file': return if fileObj.is_directory(): return filename = urllib.unquote(fileObj.get_uri())[7:] itemSign = nautilus.MenuItem('SignMenuProvider::Encrypt', 'Подписать', 'Подписать файл %s' % filename) itemSign.connect("activate", self.menu_activate_cb, fileObj) return itemSign,
def get_file_items(self, window, files): """ Shows the menu item """ if len(files) == 0: return for f in files: if not f.get_mime_type() in SUPPORTED_FORMATS: return if f.get_uri_scheme() != 'file': return item = nautilus.MenuItem('Nautilus::upload_to_min_us', 'Upload to min.us', 'Upload to min.us', 'up') # connect to callback item.connect('activate', self.menu_activate, files) return item,
def get_file_items(self, window, files): if len(files) != 1: return filename = files[0] if filename.get_mime_type() not in FORMAT: return items = [] """Called when the user selects a file in Nautilus.""" item = nautilus.MenuItem("NautilusPython::md5sum_item", "Calcular suma MD5", "Calcular suma MD5") item.connect("activate", self.menu_activate_cb, files) items.append(item) return items
def get_file_items(self, window, files): if len(files) == 0: return #For only (local) files for fileObj in files: if fileObj.get_uri_scheme() != 'file': return if fileObj.is_directory(): return item = nautilus.MenuItem( 'Nautilus::send_to_thunderbird', 'Send selected files to Thunderbird as attachment', 'Send selected files to Thunderbird as attachment') item.connect('activate', self.menu_activate_cb, files) return item,
def get_file_items(self, window, files): if len(files) != 1: return filename = files[0] if filename.get_uri_scheme() != 'file' or filename.is_directory(): return items = [] #Called when the user selects a file in Nautilus. item = nautilus.MenuItem("NautilusPython::pastebin_item", _("Pastebin"), _("Send this file to a pastebin")) item.set_property('icon', "nautilus-pastebin") item.connect("activate", self.menu_activate_cb, files) items.append(item) return items
def get_file_items(self, window, files): if len(files) != 1: return file = files[0] if not "video/" in file.get_mime_type(): return if file.get_uri_scheme() != 'file': return item = nautilus.MenuItem('Nautilus::search_gom_sub_pds', '자막 검색', '곰 자막 자료실 검색') item.connect('activate', self.menu_activate_cb, file) return item,
def get_background_items(self, window, file): if file.get_uri_scheme() != 'file': return filename = urllib.unquote(file.get_uri()[7:]) items = [] # Get version from archive item = nautilus.MenuItem('Subversion::dir_item', 'Check out working copy', 'Check out a working copy from a repository') #'gtk-go-down') item.connect('activate', self.__action_checkout, filename, window) items.append(item) return items
def get_file_items(self, window, files): if len(files) != 1: return filename = files[0].get_uri() if filename.startswith("file://"): filename = filename[7:] ext = os.path.splitext(filename)[1] if not ext in self.extensions: return item = nautilus.MenuItem("TineyePlugin::SubmitAndOpen", "Search in Tineye", "Search in Tineye") item.connect('activate', self.menu_activate_cb, filename) return [item]
def make_nautilus_menu_item(self, id_magic=None): # WARNING: this import is here because it will fail if it is not done # inside a nautilus process and therefore can't be in the module proper. # I'm happy to let the exception propagate the rest of the time, since # this method shouldn't be called outside of nautilus. identifier = self.make_magic_id(id_magic) try: import nautilus menuitem = nautilus.MenuItem(identifier, self.make_label(), self.tooltip, self.icon) except ImportError: from gi.repository import Nautilus menuitem = Nautilus.MenuItem(name=identifier, label=self.make_label(), tip=self.tooltip, icon=self.icon) return menuitem