[gnome-calendar/wip/gbsneto/alarms: 12/12] edit-dialog: sort alarms by relative date
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-calendar/wip/gbsneto/alarms: 12/12] edit-dialog: sort alarms by relative date
- Date: Wed, 6 Jul 2016 06:02:32 +0000 (UTC)
commit db2983be6157ff997e7a14b2ab3ca3e54971748b
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Wed Jul 6 02:49:12 2016 -0300
edit-dialog: sort alarms by relative date
src/gcal-edit-dialog.c | 25 +++++++++++++++++++++++++
1 files changed, 25 insertions(+), 0 deletions(-)
---
diff --git a/src/gcal-edit-dialog.c b/src/gcal-edit-dialog.c
index 0410b19..91cece0 100644
--- a/src/gcal-edit-dialog.c
+++ b/src/gcal-edit-dialog.c
@@ -251,6 +251,26 @@ update_summary (GtkEntry *entry,
gtk_widget_set_sensitive (dialog->done_button, gtk_entry_get_text_length (entry) > 0);
}
+static gint
+sort_alarms_func (GtkListBoxRow *a,
+ GtkListBoxRow *b,
+ gpointer user_data)
+{
+ ECalComponentAlarm *alarm_a, *alarm_b;
+ GcalEvent *event_a, *event_b;
+ gint minutes_a, minutes_b;
+
+ alarm_a = g_object_get_data (G_OBJECT (a), "alarm");
+ alarm_b = g_object_get_data (G_OBJECT (b), "alarm");
+ event_a = g_object_get_data (G_OBJECT (a), "event");
+ event_b = g_object_get_data (G_OBJECT (b), "event");
+
+ minutes_a = get_alarm_trigger_minutes (event_a, alarm_a);
+ minutes_b = get_alarm_trigger_minutes (event_b, alarm_b);
+
+ return minutes_a - minutes_b;
+}
+
static void
gcal_edit_dialog_get_property (GObject *object,
guint prop_id,
@@ -403,6 +423,11 @@ gcal_edit_dialog_init (GcalEditDialog *self)
self->writable = TRUE;
gtk_widget_init_template (GTK_WIDGET (self));
+
+ gtk_list_box_set_sort_func (GTK_LIST_BOX (self->alarms_listbox),
+ sort_alarms_func,
+ self,
+ NULL);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]