From fb1d17d150cb5178ca1d63431958d3df9dfc60b3 Mon Sep 17 00:00:00 2001 From: JP Rosevear Date: Sun, 26 May 2002 16:21:28 +0000 Subject: a registry of comp editors so we can close them all centrally 2002-05-26 JP Rosevear * gui/e-comp-editor-registry.[hc]: a registry of comp editors so we can close them all centrally * gui/gnome-cal.c (gnome_calendar_init): there is no editor hash now (gnome_calendar_destroy): ditto (gnome_calendar_edit_object): look for the event editor in the registry, if it isn't there, create it and add it to the registry * gui/e-calendar-table.c (open_task): look for the task editor in the registry, if it isn't there, create it and add it to the registry * gui/component-factory.c (request_quit): close all open editors (create_object): add a request_quit function to the shell component * gui/comp-editor-factory.c (free_client): there is no uid_comp_hash to free any more (editor_destroy_cb): we get an OpenClient as callback data now, reduce the editor count and destroy it if it is 0 (edit_existing): don't create the Component, add the new editor to the registry, increase the editor count (edit_new): ditto (open_client): set the editor count to 0 (impl_editExisting): look in the registry for the editor * gui/Makefile.am: Build new sources * gui/main.c (main): create the registry * gui/dialogs/comp-editor.c (comp_editor_close): prompt to save and then close dialog * gui/dialogs/comp-editor.h: new proto * gui/GNOME_Evolution_Calendar.oaf.in: remove dead summary stuff svn path=/trunk/; revision=17018 --- calendar/gui/main.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'calendar/gui/main.c') diff --git a/calendar/gui/main.c b/calendar/gui/main.c index 5c7a2bc08f..b9b504826b 100644 --- a/calendar/gui/main.c +++ b/calendar/gui/main.c @@ -42,14 +42,18 @@ #include "calendar-commands.h" #include "calendar-config.h" #include "component-factory.h" +#include "e-comp-editor-registry.h" #include "comp-editor-factory.h" #include "control-factory.h" #include "itip-control-factory.h" #include "tasks-control-factory.h" +ECompEditorRegistry *comp_editor_registry = NULL; + /* The component editor factory */ static CompEditorFactory *comp_editor_factory = NULL; + static void init_bonobo (int argc, char **argv) { @@ -144,6 +148,8 @@ main (int argc, char **argv) G_LOG_LEVEL_WARNING); #endif + comp_editor_registry = E_COMP_EDITOR_REGISTRY (e_comp_editor_registry_new ()); + calendar_config_init (); control_factory_init (); -- cgit