nautilus.MenuProvider — nautilus.MenuProvider Reference
class nautilus.MenuProvider: |
If subclassed, Nautilus will request a list of nautilus.MenuItem
objects,
which are then attached to various menus. Nautilus expects at least one of
the following methods to be defined (or their *_full variants): get_file_items,
get_background_items, or get_toolbar_items.
Example 5. nautilus.MenuProvider Example
import os import urllib import gtk import nautilus import gconf TERMINAL_KEY = '/desktop/gnome/applications/terminal/exec' class OpenTerminalExtension(nautilus.MenuProvider): def __init__(self): self.client = gconf.client_get_default() def _open_terminal(self, file): filename = urllib.unquote(file.get_uri()[7:]) terminal = self.client.get_string(TERMINAL_KEY) os.chdir(filename) os.system('%s &' % terminal) def menu_activate_cb(self, menu, file): self._open_terminal(file) def menu_background_activate_cb(self, menu, file): self._open_terminal(file) def get_file_items(self, window, files): if len(files) != 1: return file = files[0] if not file.is_directory() or file.get_uri_scheme() != 'file': return item = nautilus.MenuItem('NautilusPython::openterminal_file_item', 'Open Terminal' , 'Open Terminal In %s' % file.get_name()) item.connect('activate', self.menu_activate_cb, file) return item, def get_background_items(self, window, file): item = nautilus.MenuItem('NautilusPython::openterminal_item', 'Open Terminal Here', 'Open Terminal In This Directory') item.connect('activate', self.menu_background_activate_cb, file) return item,
def get_file_items(window
, files
)
| the current gtk.Window instance |
| a list of nautilus.FileInfo objects. |
Returns : | a list of nautilus.MenuItem objects |
The get_file_items
() method returns a list of
nautilus.MenuItem
objects.
def get_file_items_full(provider
, window
, files
)
| the current nautilus.MenuProvider instance |
| the current gtk.Window instance |
| a list of nautilus.FileInfo objects. |
Returns : | a list of nautilus.MenuItem objects |
The get_file_items_full
() method returns a list of
nautilus.MenuItem
objects.
This method was created in order to allow extension writers to call the nautilus.MenuProvider.emit_items_updated_signal, which must be passed the current provider instance.
def get_background_items(window
, folder
)
| the current gtk.Window instance |
| the current folder, as a nautilus.FileInfo object. |
Returns : | a list of nautilus.MenuItem objects |
The get_background_items
() method returns a list of
nautilus.MenuItem
objects.
def get_background_items_full(provider
, window
, folder
)
| the current nautilus.MenuProvider instance |
| the current gtk.Window instance |
| the current folder, as a nautilus.FileInfo object. |
Returns : | a list of nautilus.MenuItem objects |
The get_background_items_full
() method returns a list of
nautilus.MenuItem
objects.
This method was created in order to allow extension writers to call the nautilus.MenuProvider.emit_items_updated_signal, which must be passed the current provider instance.
def get_toolbar_items(window
, folder
)
| the current gtk.Window instance |
| the current folder, as a nautilus.FileInfo object. |
Returns : | a list of nautilus.MenuItem objects |
The get_toolbar_items
() method returns a list of
nautilus.MenuItem
objects.
def get_toolbar_items_full(provider
, window
, folder
)
| the current nautilus.MenuProvider instance |
| the current gtk.Window instance |
| the current folder, as a nautilus.FileInfo object. |
Returns : | a list of nautilus.MenuItem objects |
The get_toolbar_items_full
() method returns a list of
nautilus.MenuItem
objects.
This method was created in order to allow extension writers to call the nautilus.MenuProvider.emit_items_updated_signal, which must be passed the current provider instance.
def emit_items_updated_signal(provider
)
| the current nautilus.MenuProvider instance |
Emits the "items-updated" signal.