From 017f373b5284b4d7177c19e5ac2a142a5362a15c Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Wed, 14 Dec 2011 14:48:34 +0100 Subject: Bug #582649 - Toggle for coloring today and overdue tasks --- calendar/gui/e-task-table.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) (limited to 'calendar/gui/e-task-table.c') diff --git a/calendar/gui/e-task-table.c b/calendar/gui/e-task-table.c index e052e82357..4efe8d0669 100644 --- a/calendar/gui/e-task-table.c +++ b/calendar/gui/e-task-table.c @@ -287,6 +287,16 @@ delete_selected_components (ETaskTable *task_table) g_slist_free (objs); } +static void +task_table_queue_draw_cb (ECalModelTasks *tasks_model, + GParamSpec *param, + GtkWidget *task_table) +{ + g_return_if_fail (task_table != NULL); + + gtk_widget_queue_draw (task_table); +} + static void task_table_set_model (ETaskTable *task_table, ECalModel *model) @@ -304,6 +314,28 @@ task_table_set_model (ETaskTable *task_table, model, "cal-view-complete", G_CALLBACK (task_table_model_cal_view_complete_cb), task_table); + + /* redraw on drawing options change */ + g_signal_connect ( + model, "notify::highlight-due-today", + G_CALLBACK (task_table_queue_draw_cb), + task_table); + + g_signal_connect ( + model, "notify::color-due-today", + G_CALLBACK (task_table_queue_draw_cb), + task_table); + + g_signal_connect ( + model, "notify::highlight-overdue", + G_CALLBACK (task_table_queue_draw_cb), + task_table); + + g_signal_connect ( + model, "notify::color-overdue", + G_CALLBACK (task_table_queue_draw_cb), + task_table); + } static void @@ -397,6 +429,7 @@ task_table_dispose (GObject *object) } if (priv->model != NULL) { + g_signal_handlers_disconnect_by_func (priv->model, task_table_queue_draw_cb, object); g_object_unref (priv->model); priv->model = NULL; } -- cgit v1.2.3