diff options
author | James Willcox <jwillcox@gnome.org> | 2002-11-08 20:54:45 +0000 |
---|---|---|
committer | James Willcox <jwillcox@src.gnome.org> | 2002-11-08 20:54:45 +0000 |
commit | c64f0a3a0f643f1e9217432f78e9b0d4513acb19 (patch) | |
tree | b2e85654adae1b9d1a6524ad02a23f462ff0c847 /components | |
parent | 78c433e00e6d9dfcde9ff54f860982fb1194da29 (diff) | |
download | nautilus-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 'components')
-rw-r--r-- | components/image_properties/nautilus-image-properties-view.c | 65 | ||||
-rw-r--r-- | components/image_properties/nautilus-image-properties-view.h | 4 | ||||
-rw-r--r-- | components/notes/nautilus-notes.c | 25 |
3 files changed, 65 insertions, 29 deletions
diff --git a/components/image_properties/nautilus-image-properties-view.c b/components/image_properties/nautilus-image-properties-view.c index f16445c7c..1049a2116 100644 --- a/components/image_properties/nautilus-image-properties-view.c +++ b/components/image_properties/nautilus-image-properties-view.c @@ -44,8 +44,9 @@ struct NautilusImagePropertiesViewDetails { char buffer[LOAD_BUFFER_SIZE]; }; -BONOBO_CLASS_BOILERPLATE (NautilusImagePropertiesView, nautilus_image_properties_view, - NautilusView, NAUTILUS_TYPE_VIEW) +enum { + PROP_URI, +}; static void nautilus_image_properties_view_finalize (GObject *object) @@ -194,23 +195,31 @@ load_location (NautilusImagePropertiesView *view, } static void -image_load_location_callback (NautilusView *nautilus_view, - const char *location, - gpointer user_data) +get_property (BonoboPropertyBag *bag, + BonoboArg *arg, + guint arg_id, + CORBA_Environment *ev, + gpointer user_data) { - NautilusImagePropertiesView *view; - - g_assert (NAUTILUS_IS_VIEW (nautilus_view)); - g_assert (location != NULL); - - view = NAUTILUS_IMAGE_PROPERTIES_VIEW (nautilus_view); - - nautilus_view_report_load_underway (nautilus_view); - - /* Do the actual load. */ - load_location (view, location); - - nautilus_view_report_load_complete (nautilus_view); + NautilusImagePropertiesView *view = user_data; + + if (arg_id == PROP_URI) { + BONOBO_ARG_SET_STRING (arg, view->details->location); + } +} + +static void +set_property (BonoboPropertyBag *bag, + const BonoboArg *arg, + guint arg_id, + CORBA_Environment *ev, + gpointer user_data) +{ + NautilusImagePropertiesView *view = user_data; + + if (arg_id == PROP_URI) { + load_location (view, BONOBO_ARG_GET_STRING (arg)); + } } static void @@ -220,8 +229,10 @@ nautilus_image_properties_view_class_init (NautilusImagePropertiesViewClass *cla } static void -nautilus_image_properties_view_instance_init (NautilusImagePropertiesView *view) +nautilus_image_properties_view_init (NautilusImagePropertiesView *view) { + BonoboPropertyBag *pb; + view->details = g_new0 (NautilusImagePropertiesViewDetails, 1); view->details->vbox = gtk_vbox_new (FALSE, 2); @@ -233,9 +244,15 @@ nautilus_image_properties_view_instance_init (NautilusImagePropertiesView *view) gtk_widget_show_all (view->details->vbox); - nautilus_view_construct (NAUTILUS_VIEW (view), view->details->vbox); - - g_signal_connect (view, "load_location", - G_CALLBACK (image_load_location_callback), NULL); - + bonobo_control_construct (BONOBO_CONTROL (view), view->details->vbox); + + pb = bonobo_property_bag_new (get_property, set_property, + view); + bonobo_property_bag_add (pb, "URI", 0, BONOBO_ARG_STRING, + NULL, _("URI currently displayed"), 0); + bonobo_control_set_properties (BONOBO_CONTROL (view), + BONOBO_OBJREF (pb), NULL); + bonobo_object_release_unref (BONOBO_OBJREF (pb), NULL); } + +BONOBO_TYPE_FUNC (NautilusImagePropertiesView, BONOBO_TYPE_CONTROL, nautilus_image_properties_view); diff --git a/components/image_properties/nautilus-image-properties-view.h b/components/image_properties/nautilus-image-properties-view.h index 5e9f9626f..4844c537c 100644 --- a/components/image_properties/nautilus-image-properties-view.h +++ b/components/image_properties/nautilus-image-properties-view.h @@ -35,12 +35,12 @@ typedef struct NautilusImagePropertiesViewDetails NautilusImagePropertiesViewDetails; typedef struct { - NautilusView parent; + BonoboControl parent; NautilusImagePropertiesViewDetails *details; } NautilusImagePropertiesView; typedef struct { - NautilusViewClass parent; + BonoboControlClass parent; } NautilusImagePropertiesViewClass; GType nautilus_image_properties_view_get_type (void); diff --git a/components/notes/nautilus-notes.c b/components/notes/nautilus-notes.c index 80da5ace7..05e0501f9 100644 --- a/components/notes/nautilus-notes.c +++ b/components/notes/nautilus-notes.c @@ -37,6 +37,7 @@ #include <gtk/gtktextbuffer.h> #include <gtk/gtktextview.h> #include <gtk/gtkvbox.h> +#include <gtk/gtkscrolledwindow.h> #include <bonobo/bonobo-property-bag.h> #include <libnautilus-private/nautilus-file-attributes.h> #include <libnautilus-private/nautilus-file.h> @@ -58,6 +59,7 @@ /* property bag getting and setting routines */ enum { TAB_IMAGE, + NOTES_URI, }; typedef struct { @@ -75,6 +77,9 @@ static void notes_save_metainfo (Notes *notes); static char *notes_get_indicator_image (const char *notes_text); static void notify_listeners_if_changed (Notes *notes, char *new_notes); +static void notes_load_location (NautilusView *view, + const char *location, + Notes *notes); static void get_bonobo_properties (BonoboPropertyBag *bag, @@ -111,7 +116,11 @@ set_bonobo_properties (BonoboPropertyBag *bag, CORBA_Environment *ev, gpointer callback_data) { - g_warning ("Can't set note property %u", arg_id); + if (arg_id == NOTES_URI) { + notes_load_location (NULL, + BONOBO_ARG_GET_STRING (arg), + (Notes *)callback_data); + } } static gboolean @@ -353,7 +362,7 @@ notes_get_indicator_image (const char *notes_text) static BonoboObject * make_notes_view () { - GtkWidget *vbox; + GtkWidget *vbox, *scroll; Notes *notes; notes = g_new0 (Notes, 1); notes->uri = g_strdup (""); @@ -373,7 +382,14 @@ make_notes_view () gtk_text_view_set_editable (GTK_TEXT_VIEW (notes->note_text_field), TRUE); gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (notes->note_text_field), GTK_WRAP_WORD); - gtk_box_pack_start (GTK_BOX (vbox), notes->note_text_field, TRUE, TRUE, 0); + scroll = gtk_scrolled_window_new (NULL, NULL); + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scroll), + GTK_POLICY_NEVER, + GTK_POLICY_AUTOMATIC); + gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroll), + GTK_SHADOW_IN); + gtk_container_add (GTK_CONTAINER (scroll), notes->note_text_field); + gtk_box_pack_start (GTK_BOX (vbox), scroll, TRUE, TRUE, 0); g_signal_connect (notes->note_text_field, "focus_out_event", G_CALLBACK (on_text_field_focus_out_event), notes); @@ -391,6 +407,9 @@ make_notes_view () bonobo_control_set_properties (nautilus_view_get_bonobo_control (notes->view), BONOBO_OBJREF (notes->property_bag), NULL); bonobo_property_bag_add (notes->property_bag, "tab_image", TAB_IMAGE, BONOBO_ARG_STRING, NULL, "image indicating that a note is present", 0); + bonobo_property_bag_add (notes->property_bag, "URI", + NOTES_URI, BONOBO_ARG_STRING, + NULL, "URI of selected file", 0); /* handle events */ g_signal_connect (notes->view, "load_location", G_CALLBACK (notes_load_location), notes); |