From f86754c329d9411893abd98bfe98b45d5ccfc943 Mon Sep 17 00:00:00 2001 From: Chenthill Palanisamy Date: Wed, 13 Aug 2008 09:09:33 +0000 Subject: Fixes #347287 2008-08-15 Chenthill Palanisamy Fixes #347287 * gui/e-cal-list-view-config.c: * (e_cal_list_view_config_set_view): * gui/e-cal-list-view.c: (e_cal_list_view_new): * gui/e-cal-list-view.h: * gui/e-cal-model.c: (e_cal_model_set_timezone), * (add_instance_cb), (e_cal_view_objects_added_cb), (e_cal_view_done_cb), (update_e_cal_view_for_client), (cal_opened_cb), (add_new_client), (e_cal_model_component_class_init), (e_cal_model_component_finalize), (e_cal_model_component_init), (e_cal_model_component_get_type), (e_cal_model_copy_component_data), (e_cal_model_free_component_data): * gui/e-cal-model.h: * gui/e-calendar-view.c: (e_calendar_view_init), (e_calendar_view_set_model): * gui/e-calendar-view.h: * gui/e-day-view-config.c: (e_day_view_config_set_view): * gui/e-day-view.c: (time_range_changed_cb), (model_row_changed_cb), (model_cell_changed_cb), (model_rows_inserted_cb), (model_rows_deleted_cb), (timezone_changed_cb), (e_day_view_init), (init_model), (e_day_view_new), (e_day_view_set_mins_per_row), (e_day_view_add_event), (e_day_view_check_layout): * gui/e-day-view.h: * gui/e-week-view-config.c: (e_week_view_config_set_view): * gui/e-week-view.c: (time_range_changed_cb), (model_row_changed_cb), (model_cell_changed_cb), (model_rows_inserted_cb), (model_rows_deleted_cb), (timezone_changed_cb), (e_week_view_init), (init_model), (e_week_view_new), (e_week_view_add_event), (e_week_view_check_layout): * gui/e-week-view.h: * gui/gnome-cal.c: (message_proxy), (create_thread_pool), (message_push), (update_query_async), (update_query), (set_search_query), (set_timezone), (setup_widgets), (update_view_times), (display_view), (display_view_cb), (add_mclient_async), (add_mclient), (client_cal_opened_cb), (default_client_cal_opened_cb), (gnome_calendar_remove_source_by_uid), (gnome_calendar_on_date_navigator_selection_changed): Use a single model for all the views. svn path=/trunk/; revision=35977 --- calendar/gui/e-cal-model.h | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-) (limited to 'calendar/gui/e-cal-model.h') diff --git a/calendar/gui/e-cal-model.h b/calendar/gui/e-cal-model.h index ca259c2678..405efb4400 100644 --- a/calendar/gui/e-cal-model.h +++ b/calendar/gui/e-cal-model.h @@ -57,19 +57,39 @@ typedef enum { E_CAL_MODEL_FLAGS_EXPAND_RECURRENCES = 0x01 } ECalModelFlags; -typedef struct { +#define E_TYPE_CAL_MODEL_COMPONENT (e_cal_model_component_get_type ()) +#define E_CAL_MODEL_COMPONENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), E_TYPE_CAL_MODEL_COMPONENT, ECalModelComponent)) +#define E_CAL_MODEL_COMPONENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), E_TYPE_CAL_MODEL_COMPONENT, \ + ECalComponentClass)) +#define E_IS_CAL_MODEL_COMPONENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), E_TYPE_CAL_MODEL_COMPONENT)) +#define E_IS_CAL_MODEL_COMPONENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), E_TYPE_CAL_MODEL_COMPONENT)) + +typedef struct _ECalModelComponent ECalModelComponent; +typedef struct _ECalModelComponentClass ECalModelComponentClass; +typedef struct _ECalModelComponentPrivate ECalModelComponentPrivate; + +struct _ECalModelComponent { + GObject object; + ECal *client; icalcomponent *icalcomp; time_t instance_start; time_t instance_end; - - /* private data */ + + /* Private data used by ECalModelCalendar and ECalModelTasks */ + /* keep these public to avoid many accessor functions */ ECellDateEditValue *dtstart; ECellDateEditValue *dtend; ECellDateEditValue *due; ECellDateEditValue *completed; gchar *color; -} ECalModelComponent; + + ECalModelComponentPrivate *priv; +}; + +struct _ECalModelComponentClass { + GObjectClass parent_class; +}; typedef struct { ECalModelComponent *comp_data; @@ -97,6 +117,7 @@ typedef struct { } ECalModelClass; GType e_cal_model_get_type (void); +GType e_cal_model_component_get_type (void); icalcomponent_kind e_cal_model_get_component_kind (ECalModel *model); void e_cal_model_set_component_kind (ECalModel *model, icalcomponent_kind kind); -- cgit v1.2.3