diff options
-rw-r--r-- | calendar/ChangeLog | 11 | ||||
-rw-r--r-- | calendar/gui/GNOME_Evolution_Calendar.oaf.in | 6 | ||||
-rw-r--r-- | calendar/gui/control-factory.c | 30 |
3 files changed, 46 insertions, 1 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index e1ef3c8da2..3afb72d381 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,14 @@ +2001-03-07 Miguel de Icaza <miguel@ximian.com> + + * gui/control-factory.c (calendar_persist_init): New function: + inits the BonoboPersistFile server. + + * gui/GNOME_Evolution_Calendar.oaf.in: Added BonoboPropertyBag to + the list of supported interfaces that were supported but not + reported. Add the new PersistFile. + + Add text/calendar mime type attribute. + 2001-03-15 Dan Winship <danw@ximian.com> * gui/e-week-view.c (e_week_view_start_editing_event): diff --git a/calendar/gui/GNOME_Evolution_Calendar.oaf.in b/calendar/gui/GNOME_Evolution_Calendar.oaf.in index 0f74743a38..70924677f7 100644 --- a/calendar/gui/GNOME_Evolution_Calendar.oaf.in +++ b/calendar/gui/GNOME_Evolution_Calendar.oaf.in @@ -105,6 +105,12 @@ <oaf_attribute name="repo_ids" type="stringv"> <item value="IDL:BonoboControl/calendar-control:1.0"/> <item value="IDL:Bonobo/Control:1.0"/> + <item value="IDL:Bonobo/PersistFile:1.0"/> + <item value="IDL:Bonobo/PropertyBag:1.0"/> + </oaf_attribute> + + <oaf_attribute name="bonobo:supported_mime_types" type="stringv"> + <item value="text/calendar"/> </oaf_attribute> <oaf_attribute name="description" type="string" diff --git a/calendar/gui/control-factory.c b/calendar/gui/control-factory.c index 678870da91..c00e10d35a 100644 --- a/calendar/gui/control-factory.c +++ b/calendar/gui/control-factory.c @@ -158,6 +158,33 @@ control_factory_init (void) g_error ("I could not register a Calendar control factory."); } +static int +load_calendar (BonoboPersistFile *pf, const CORBA_char *filename, CORBA_Environment *ev, void *closure) +{ + GnomeCalendar *gcal = closure; + + calendar_set_uri (gcal, filename); + + return 0; +} + +static int +save_calendar (BonoboPersistFile *pf, const CORBA_char *filename, CORBA_Environment *ev, void *closure) +{ + /* Do not know how to save stuff yet */ + return -1; +} + +void +calendar_persist_init (GnomeCalendar *gcal, BonoboControl *control) +{ + BonoboPersistFile *f; + + f = bonobo_persist_file_new (load_calendar, save_calendar, gcal); + bonobo_object_add_interface ( + BONOBO_OBJECT (control), + BONOBO_OBJECT (f)); +} BonoboControl * control_factory_new_control (void) @@ -178,7 +205,8 @@ control_factory_new_control (void) } calendar_properties_init (gcal, control); - + calendar_persist_init (gcal, control); + gtk_signal_connect (GTK_OBJECT (control), "activate", GTK_SIGNAL_FUNC (control_activate_cb), gcal); |