summaryrefslogtreecommitdiff
path: root/libnautilus-private/nautilus-mime-actions.c
diff options
context:
space:
mode:
authorJames Willcox <jwillcox@gnome.org>2002-11-08 20:54:45 +0000
committerJames Willcox <jwillcox@src.gnome.org>2002-11-08 20:54:45 +0000
commitc64f0a3a0f643f1e9217432f78e9b0d4513acb19 (patch)
treeb2e85654adae1b9d1a6524ad02a23f462ff0c847 /libnautilus-private/nautilus-mime-actions.c
parent78c433e00e6d9dfcde9ff54f860982fb1194da29 (diff)
downloadnautilus-c64f0a3a0f643f1e9217432f78e9b0d4513acb19.tar.gz
Make bonobo property pages regular controls instead of NautilusViews.
2002-11-08 James Willcox <jwillcox@gnome.org> * components/image_properties/nautilus-image-properties-view.c: (get_property), (set_property), (nautilus_image_properties_view_init): * components/image_properties/nautilus-image-properties-view.h: * components/notes/nautilus-notes.c: (set_bonobo_properties), (make_notes_view): * libnautilus-private/nautilus-mime-actions.c: (nautilus_mime_get_property_components_for_file): * libnautilus-private/nautilus-mime-actions.h: * src/file-manager/fm-properties-window.c: (bonobo_page_activate_callback), (append_bonobo_pages): Make bonobo property pages regular controls instead of NautilusViews.
Diffstat (limited to 'libnautilus-private/nautilus-mime-actions.c')
-rw-r--r--libnautilus-private/nautilus-mime-actions.c38
1 files changed, 38 insertions, 0 deletions
diff --git a/libnautilus-private/nautilus-mime-actions.c b/libnautilus-private/nautilus-mime-actions.c
index 001d734e8..0eda7ef5c 100644
--- a/libnautilus-private/nautilus-mime-actions.c
+++ b/libnautilus-private/nautilus-mime-actions.c
@@ -842,6 +842,44 @@ nautilus_mime_get_popup_components_for_file (NautilusFile *file)
return info_list;
}
+GList *
+nautilus_mime_get_property_components_for_file (NautilusFile *file)
+{
+ char *mime_type;
+ char *uri_scheme;
+ char *extra_reqs;
+ GList *item_mime_types;
+ GList *info_list;
+
+ if (!nautilus_mime_actions_check_if_minimum_attributes_ready (file)) {
+ return NULL;
+ }
+
+ uri_scheme = nautilus_file_get_uri_scheme (file);
+
+ mime_type = nautilus_file_get_mime_type (file);
+
+ if (!nautilus_mime_actions_check_if_full_attributes_ready (file) ||
+ !nautilus_file_get_directory_item_mime_types (file, &item_mime_types
+)) {
+ item_mime_types = NULL;
+ }
+
+ extra_reqs = "repo_ids.has ('IDL:Bonobo/Control:1.0') AND nautilus:property_page_name.defined()";
+
+ info_list = nautilus_do_component_query (mime_type, uri_scheme,
+ item_mime_types, FALSE,
+ NULL, NULL,
+ extra_reqs, FALSE);
+
+ eel_g_list_free_deep (item_mime_types);
+
+ g_free (uri_scheme);
+ g_free (mime_type);
+
+ return info_list;
+}
+
static gboolean
has_server_info_in_list (GList *list, Bonobo_ServerInfo *info)
{