aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog15
-rw-r--r--calendar/gui/calendar-model.c15
-rw-r--r--calendar/gui/e-tasks.c15
3 files changed, 35 insertions, 10 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 8b2fc410db..afc225e29b 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,3 +1,18 @@
+2001-01-23 Damon Chaplin <damon@helixcode.com>
+
+ * gui/calendar-model.c (ensure_task_complete): make sure the status
+ is set to "Completed". Fixes bug #1253.
+
+ * gui/e-tasks.c (e_tasks_open): load the ETable state after opening
+ the tasks folder, since it relies on the folder uri, which isn't set
+ now until you open the folder.
+
+ * gui/calendar-model.c (obj_updated_cb): add the categories from the
+ updated object to our tree, and emit the "categories-changed" signal
+ if they have changed. Fixes bug #1255.
+
+ * gui/e-tasks.c: removed debug messages.
+
2001-01-23 JP Rosevear <jpr@ximian.com>
* libical import cleanup
diff --git a/calendar/gui/calendar-model.c b/calendar/gui/calendar-model.c
index 3721366cf0..1640b299f8 100644
--- a/calendar/gui/calendar-model.c
+++ b/calendar/gui/calendar-model.c
@@ -1698,6 +1698,14 @@ obj_updated_cb (CalClient *client, const char *uid, gpointer data)
e_table_model_row_changed (E_TABLE_MODEL (model), *new_idx);
}
+ /* See if we need to add any categories. Note that old
+ categories won't be removed, but I don't think that matters
+ too much here. */
+ if (calendar_model_collect_categories (model, new_comp)) {
+ gtk_signal_emit (GTK_OBJECT (model),
+ calendar_model_signals [CATEGORIES_CHANGED]);
+ }
+
break;
case CAL_CLIENT_GET_NOT_FOUND:
@@ -1986,6 +1994,7 @@ ensure_task_complete (CalComponent *comp,
struct icaltimetype *old_completed = NULL;
struct icaltimetype new_completed;
int *old_percent, new_percent;
+ icalproperty_status status;
gboolean set_completed = TRUE;
/* Date Completed. */
@@ -2013,6 +2022,12 @@ ensure_task_complete (CalComponent *comp,
}
if (old_percent)
cal_component_free_percent (old_percent);
+
+ /* Status. */
+ cal_component_get_status (comp, &status);
+ if (status != ICAL_STATUS_COMPLETED) {
+ cal_component_set_status (comp, ICAL_STATUS_COMPLETED);
+ }
}
diff --git a/calendar/gui/e-tasks.c b/calendar/gui/e-tasks.c
index 9e88a91513..64a6afd3cc 100644
--- a/calendar/gui/e-tasks.c
+++ b/calendar/gui/e-tasks.c
@@ -260,17 +260,16 @@ e_tasks_open (ETasks *tasks,
priv = tasks->priv;
- config_filename = e_tasks_get_config_filename (tasks);
- e_calendar_table_load_state (E_CALENDAR_TABLE (priv->tasks_view),
- config_filename);
- g_free (config_filename);
-
-
if (!cal_client_open_calendar (priv->client, file, FALSE)) {
g_message ("e_tasks_open(): Could not issue the request");
return FALSE;
}
+ config_filename = e_tasks_get_config_filename (tasks);
+ e_calendar_table_load_state (E_CALENDAR_TABLE (priv->tasks_view),
+ config_filename);
+ g_free (config_filename);
+
return TRUE;
}
@@ -452,8 +451,6 @@ e_tasks_on_filter_selected (GtkMenuShell *menu_shell,
cal_table = E_CALENDAR_TABLE (priv->tasks_view);
model = cal_table->model;
- g_print ("!#!#!#!#!# filter selected: %s\n", category);
-
if (!strcmp (category, _("All"))) {
calendar_model_set_default_category (model, NULL);
e_calendar_table_set_filter_func (cal_table, NULL, NULL,
@@ -471,8 +468,6 @@ static void
e_tasks_on_categories_changed (CalendarModel *model,
ETasks *tasks)
{
- g_print ("In e_tasks_on_categories_changed\n");
-
e_tasks_rebuild_categories_menu (tasks);
}