From b5365bc587c99c0eb18293c4e70029782a185d56 Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Mon, 2 Apr 2007 04:19:25 +0000 Subject: ** Fixes bug #373116 2007-04-01 Matthew Barnes ** Fixes bug #373116 * calendar/gui/calendar-component.c (ensure_sources): * calendar/gui/e-cal-model.c (ecm_get_color_for_component): * calendar/gui/memos-component.c (ensure_sources): * calendar/gui/migration.c (create_calendar_contact_source), (create_calendar_sources), (create_task_sources), (create_memo_sources), (add_gw_esource): * calendar/gui/tasks-component.c (ensure_sources): * plugins/groupwise-account-setup/camel-gw-listener.c (add_esource): Use the new ESource color API. * calendar/gui/dialogs/cal-prefs-dialog.c: * calendar/gui/dialogs/cal-prefs-dialog.glade: * calendar/gui/dialogs/calendar-setup.c: * calendar/gui/dialogs/calendar-setup.glade: * filter-colour.c (get_widget): * mail/em-composer-prefs.c: * mail/em-composer-prefs.h: * mail/em-mailer-prefs.c: * mail/em-mailer-prefs.h: * mail/mail-config.glade: Migrate from GnomeColorPicker to GtkColorButton. * filter/filter-colour.h: Store color as a GdkColor instead of separate RGBA components. * filter/filter-colour.c (color_eq): Use gdk_color_equal() to compare colors. * filter/filter-colour.c (xml_encode): Encode color as a single property ("spec"). * filter/filter-colour.c (xml_decode): Read the color from a single property ("spec"). Provide a migration path for old XML files. * calendar/gui/calendar-component.c (calendar_config_get_tasks_due_today_color), (calendar_config_get_tasks_overdue_color): Return a GdkColor instead of an X color specification. * calendar/gui/calendar-component.c (calendar_config_set_tasks_due_today_color), (calendar_config_set_tasks_overdue_color): Accept a GdkColor instead of an X color specification. * calenar/gui/e-cal-model-tasks.c (ecmt_get_color_for_component): Adapt to modified color API in calendar-component.c by converting the GdkColor to an X color specification. This is an ugly hack to be fixed later. svn path=/trunk/; revision=33349 --- calendar/gui/e-cal-model-tasks.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) (limited to 'calendar/gui/e-cal-model-tasks.c') diff --git a/calendar/gui/e-cal-model-tasks.c b/calendar/gui/e-cal-model-tasks.c index b481c52048..cb989b0845 100644 --- a/calendar/gui/e-cal-model-tasks.c +++ b/calendar/gui/e-cal-model-tasks.c @@ -1025,14 +1025,28 @@ ecmt_value_to_string (ETableModel *etm, int col, const void *value) static const char * ecmt_get_color_for_component (ECalModel *model, ECalModelComponent *comp_data) { + static gchar color_spec[16]; + GdkColor color; + g_return_val_if_fail (E_IS_CAL_MODEL_TASKS (model), NULL); g_return_val_if_fail (comp_data != NULL, NULL); + /* XXX ECalModel's get_color_for_component() method should really + * get a GdkColor instead of a color specification string. */ + switch (get_due_status ((ECalModelTasks *) model, comp_data)) { case E_CAL_MODEL_TASKS_DUE_TODAY: - return calendar_config_get_tasks_due_today_color (); + /* XXX ugly hack */ + calendar_config_get_tasks_due_today_color (&color); + g_snprintf (color_spec, sizeof (color_spec), "#%04x%04x%04x", + color.red, color.green, color.blue); + return color_spec; case E_CAL_MODEL_TASKS_DUE_OVERDUE: - return calendar_config_get_tasks_overdue_color (); + /* XXX ugly hack */ + calendar_config_get_tasks_overdue_color (&color); + g_snprintf (color_spec, sizeof (color_spec), "#%04x%04x%04x", + color.red, color.green, color.blue); + return color_spec; case E_CAL_MODEL_TASKS_DUE_NEVER: case E_CAL_MODEL_TASKS_DUE_FUTURE: case E_CAL_MODEL_TASKS_DUE_COMPLETE: -- cgit v1.2.3