Esempio n. 1
0
    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,
Esempio n. 2
0
    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,
Esempio n. 3
0
    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,
Esempio n. 5
0
    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,
Esempio n. 7
0
    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,
Esempio n. 9
0
 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]