diff options
author | James Willcox <jwillcox@gnome.org> | 2002-11-10 09:13:34 +0000 |
---|---|---|
committer | James Willcox <jwillcox@src.gnome.org> | 2002-11-10 09:13:34 +0000 |
commit | d316d577259690a895fdfc52b3591f709f4e0388 (patch) | |
tree | e4de44408a39c7034ca3d0d8dfa39674c16dfe5c /docs | |
parent | bd427ade3e8bb5e30a1fde1f0bb697c3881eade9 (diff) | |
download | nautilus-d316d577259690a895fdfc52b3591f709f4e0388.tar.gz |
Fixed a slight bug in the context menu query code, and added a bit of
2002-11-10 James Willcox <jwillcox@gnome.org>
* docs/nautilus-context-menus.txt:
* libnautilus-private/nautilus-mime-actions.c:
(nautilus_mime_get_popup_components_for_file):
Fixed a slight bug in the context menu query code, and added a bit of
documentation.
Diffstat (limited to 'docs')
-rw-r--r-- | docs/nautilus-context-menus.txt | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/docs/nautilus-context-menus.txt b/docs/nautilus-context-menus.txt new file mode 100644 index 000000000..91329e4e8 --- /dev/null +++ b/docs/nautilus-context-menus.txt @@ -0,0 +1,35 @@ +Adding Mime-Type Sensitive Context Menus to Nautilus +November 10, 2002 +James Willcox <jwillcox@gnome.org> + +Ok, this is how it works: + +1) User selects one or more files in the icon or list view + +2) Nautilus queries bonobo-activation for all components that have the + following properties: + + a) Has an attribute named "nautilus:context_menu_handler", which is + a boolean. + b) Has an attribute named "nautilus:can_handle_multiple_files", which + is also a boolean (I think its meaning is self explanatory) + c) Implements IDL:Bonobo/Listener:1.0 + + Also, the normal nautilus component selection rules apply here, so it + will look at it bonobo:supported_mime_types, + bonobo:supported_uri_schemes, etc. as well. + +3) Then, we look at each component, and find all attributes that start with + "nautilusverb:". The part following the colon will be the event name that + gets passed to Bonobo::Listener::event(). The value of this attribute is + the text that should be displayed in the menu item. So, you might have + something like the following for unpacking an archive: + + <oaf_attribute name="nautilusverb:DoExtract" type="string" _value="Extract To..."/> + + If the component has "nauitlus:can_handle_multiple_files" set to false, + the item will still be displayed when multiple files are selected, but + it will be insensitive. When the user clicks the menu item, nautilus + activates the component, and invoked Bonobo::Listener::event() on it, + passing the event name and a CORBA sequence of the selected URIs as the + args. |