aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-calendar-table.c
diff options
context:
space:
mode:
Diffstat (limited to 'calendar/gui/e-calendar-table.c')
-rw-r--r--calendar/gui/e-calendar-table.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/calendar/gui/e-calendar-table.c b/calendar/gui/e-calendar-table.c
index d475f4a603..e3bbe7673e 100644
--- a/calendar/gui/e-calendar-table.c
+++ b/calendar/gui/e-calendar-table.c
@@ -101,6 +101,7 @@ static void invisible_destroyed (GtkWidget *invisible,
ECalendarTable *cal_table);
static struct tm e_calendar_table_get_current_time (ECellDateEdit *ecde,
gpointer data);
+static void mark_row_complete_cb (int model_row, gpointer data);
/* The icons to represent the task. */
@@ -637,6 +638,24 @@ e_calendar_table_get_table (ECalendarTable *cal_table)
return e_table_scrolled_get_table (E_TABLE_SCROLLED (cal_table->etable));
}
+/**
+ * e_calendar_table_complete_selected:
+ * @cal_table: A calendar table
+ *
+ * Marks the selected items as completed
+ **/
+void
+e_calendar_table_complete_selected (ECalendarTable *cal_table)
+{
+ ETable *etable;
+
+ g_return_if_fail (cal_table != NULL);
+ g_return_if_fail (E_IS_CALENDAR_TABLE (cal_table));
+
+ etable = e_table_scrolled_get_table (E_TABLE_SCROLLED (cal_table->etable));
+ e_table_selected_row_foreach (etable, mark_row_complete_cb, cal_table);
+}
+
/* Used from e_table_selected_row_foreach(); puts the selected row number in an
* int pointed to by the closure data.
*/