[gnome-todo] edit-pane: unset date when None button is clicked
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-todo] edit-pane: unset date when None button is clicked
- Date: Thu, 27 Aug 2015 03:20:51 +0000 (UTC)
commit a7dc8aebfc64016737897ad3f802752fcf0e7977
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Thu Aug 27 00:20:21 2015 -0300
edit-pane: unset date when None button is clicked
data/ui/edit-pane.ui | 1 +
src/gtd-edit-pane.c | 16 ++++++++++++++++
src/gtd-task.c | 14 ++++++++------
3 files changed, 25 insertions(+), 6 deletions(-)
---
diff --git a/data/ui/edit-pane.ui b/data/ui/edit-pane.ui
index 2cd9167..ec6bd72 100644
--- a/data/ui/edit-pane.ui
+++ b/data/ui/edit-pane.ui
@@ -291,6 +291,7 @@
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">False</property>
+ <signal name="clicked" handler="gtd_edit_pane__no_date_button_clicked" object="GtdEditPane"
swapped="no" />
</object>
<packing>
<property name="expand">False</property>
diff --git a/src/gtd-edit-pane.c b/src/gtd-edit-pane.c
index 23fb110..34f8ebc 100644
--- a/src/gtd-edit-pane.c
+++ b/src/gtd-edit-pane.c
@@ -69,6 +69,21 @@ static guint signals[NUM_SIGNALS] = { 0, };
static void gtd_edit_pane__date_selected (GtkCalendar *calendar,
gpointer user_data);
+static void gtd_edit_pane_update_date (GtdEditPane *pane);
+
+static void
+gtd_edit_pane__no_date_button_clicked (GtkButton *button,
+ GtdEditPane *pane)
+{
+ GtdEditPanePrivate *priv;
+
+ priv = pane->priv;
+
+ gtd_task_set_due_date (priv->task, NULL);
+ gtk_calendar_clear_marks (GTK_CALENDAR (priv->calendar));
+ gtd_edit_pane_update_date (pane);
+}
+
static void
gtd_edit_pane__delete_button_clicked (GtkButton *button,
gpointer user_data)
@@ -307,6 +322,7 @@ gtd_edit_pane_class_init (GtdEditPaneClass *klass)
gtk_widget_class_bind_template_callback (widget_class, gtd_edit_pane__close_button_clicked);
gtk_widget_class_bind_template_callback (widget_class, gtd_edit_pane__date_selected);
gtk_widget_class_bind_template_callback (widget_class, gtd_edit_pane__delete_button_clicked);
+ gtk_widget_class_bind_template_callback (widget_class, gtd_edit_pane__no_date_button_clicked);
}
static void
diff --git a/src/gtd-task.c b/src/gtd-task.c
index f0f2808..6c06b4a 100644
--- a/src/gtd-task.c
+++ b/src/gtd-task.c
@@ -632,6 +632,12 @@ gtd_task_set_due_date (GtdTask *task,
comp_dt.tzid = g_strdup ("UTC");
+ comp_dt.value = idt;
+
+ e_cal_component_set_due (task->priv->component, &comp_dt);
+
+ e_cal_component_free_datetime (&comp_dt);
+
g_date_time_unref (dt);
changed = TRUE;
@@ -641,15 +647,11 @@ gtd_task_set_due_date (GtdTask *task,
idt = NULL;
comp_dt.tzid = NULL;
+ e_cal_component_set_due (task->priv->component, NULL);
+
changed = TRUE;
}
- comp_dt.value = idt;
-
- e_cal_component_set_due (task->priv->component, &comp_dt);
-
- e_cal_component_free_datetime (&comp_dt);
-
if (changed)
g_object_notify (G_OBJECT (task), "due-date");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]