diff options
Diffstat (limited to 'src/file-manager/fm-properties-window.c')
-rw-r--r-- | src/file-manager/fm-properties-window.c | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/file-manager/fm-properties-window.c b/src/file-manager/fm-properties-window.c index 4ada1d38d..d6ac2f854 100644 --- a/src/file-manager/fm-properties-window.c +++ b/src/file-manager/fm-properties-window.c @@ -2206,22 +2206,31 @@ bonobo_page_activate_callback (CORBA_Object obj, if (obj != CORBA_OBJECT_NIL) { Bonobo_Control control; - Nautilus_View view; + Bonobo_PropertyBag pb; + BonoboArg *arg; char *uri; + uri = nautilus_file_get_uri (window->details->target_file); + control = Bonobo_Unknown_queryInterface (obj, "IDL:Bonobo/Control:1.0", &ev); - view = Bonobo_Unknown_queryInterface - (control, "IDL:Nautilus/View:1.0", &ev); - uri = nautilus_file_get_uri (window->details->target_file); + pb = Bonobo_Control_getProperties (control, &ev); - Nautilus_View_load_location (view, uri, &ev); - if (!BONOBO_EX (&ev)) { - widget = bonobo_widget_new_control_from_objref - (control, CORBA_OBJECT_NIL); + arg = bonobo_arg_new (BONOBO_ARG_STRING); + BONOBO_ARG_SET_STRING (arg, uri); + + bonobo_pbclient_set_value_async (pb, "URI", arg, &ev); + bonobo_arg_release (arg); + bonobo_object_release_unref (pb, NULL); + + if (!BONOBO_EX (&ev)) { + widget = bonobo_widget_new_control_from_objref + (control, CORBA_OBJECT_NIL); + bonobo_object_release_unref (control, &ev); + } } g_free (uri); @@ -2245,10 +2254,9 @@ append_bonobo_pages (FMPropertiesWindow *window) GList *components, *l; CORBA_Environment ev; - /* find all the property page views for this file */ - components = nautilus_mime_get_all_components_for_file_extended - (window->details->target_file, - "nautilus:property_page_name.defined()"); + /* find all the property pages for this file */ + components = nautilus_mime_get_property_components_for_file + (window->details->target_file); CORBA_exception_init (&ev); |