[evolution-patches] Calendar E-Plugin hook hack



Hi -

The target that was provided by the Calendar Configuration E-Plugin hook
didn't carry enough information for the plugin to distinguish between
"Calendar" and "Tasks" components. Exchange connector needs it for
populating the different hierarchies in the "New Calendar"/"New Tasks"
dialog as a part of supporting calendar and tasks hierarchies. So, there
was a hack needed to pass this and other needed information to the
plugin. I am attaching the patch. Please review it.

PS: 'diff' ran from 'evolution/calendar' directory.

Thanks -
Praveen.
Index: gui/dialogs/calendar-setup.c
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/calendar-setup.c,v
retrieving revision 1.36
diff -r1.36 calendar-setup.c
39,60d38
< typedef struct _CalendarSourceDialog CalendarSourceDialog;
< 
< struct _CalendarSourceDialog {
< 	ECalConfig *config;	/* the config manager */
< 
< 	GtkWidget *window;
< 
< 	/* Source selection (creation only) */
< 	ESourceList *source_list;
< 	GSList *menu_source_groups;
< 	GtkWidget *group_optionmenu;
< 
< 	/* ESource we're currently editing */
< 	ESource *source;
< 	/* The original source in edit mode.  Also used to flag when we are in edit mode. */
< 	ESource *original_source;
< 
< 	/* Source group we're creating/editing a source in */
< 	ESourceGroup *source_group;
< 	ECalSourceType *source_type;
< };
< 
446a425,427
> 	/* Workaround: Pass extra data for plugin */
> 	target->target.widget = (GtkWidget*) sdialog;
> 	
513a495,497
> 
> 	/* Workaround: Pass extra data for plugin */
> 	target->target.widget = (GtkWidget*) sdialog;
Index: gui/dialogs/calendar-setup.h
===================================================================
RCS file: /cvs/gnome/evolution/calendar/gui/dialogs/calendar-setup.h,v
retrieving revision 1.3
diff -r1.3 calendar-setup.h
24a25,27
> #include <gtk/gtk.h>
> #include <libecal/e-cal.h>
> 
26a30,54
> struct _ESourceGroup;
> struct _ESourceList;
> struct _ECalSourceType;
> 
> typedef struct _CalendarSourceDialog CalendarSourceDialog;
> 
> struct _CalendarSourceDialog {
> 	struct _ECalConfig *config;	/* the config manager */
> 
> 	GtkWidget *window;
> 
> 	/* Source selection (creation only) */
> 	struct _ESourceList *source_list;
> 	GSList *menu_source_groups;
> 	GtkWidget *group_optionmenu;
> 
> 	/* ESource we're currently editing */
> 	struct _ESource *source;
> 	/* The original source in edit mode.  Also used to flag when we are in edit mode. */
> 	struct _ESource *original_source;
> 
> 	/* Source group we're creating/editing a source in */
> 	struct _ESourceGroup *source_group;
> 	ECalSourceType *source_type;
> };


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]