[gnome-calendar] quick-add-popover: track default calendar
- From: Georges Basile Stavracas Neto <gbsneto src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-calendar] quick-add-popover: track default calendar
- Date: Wed, 28 Sep 2016 01:36:05 +0000 (UTC)
commit df13ac2a5924dec8dfd23a68c6b850333a839ed9
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date: Tue Sep 27 22:30:11 2016 -0300
quick-add-popover: track default calendar
Update the selected calendar when the default one changes.
https://bugzilla.gnome.org/show_bug.cgi?id=771570
src/gcal-quick-add-popover.c | 23 +++++++++++++++++------
1 files changed, 17 insertions(+), 6 deletions(-)
---
diff --git a/src/gcal-quick-add-popover.c b/src/gcal-quick-add-popover.c
index 162a5df..e129876 100644
--- a/src/gcal-quick-add-popover.c
+++ b/src/gcal-quick-add-popover.c
@@ -257,6 +257,21 @@ update_header (GcalQuickAddPopover *self)
g_free (dtstart);
}
+static void
+update_default_calendar_row (GcalQuickAddPopover *self)
+{
+ GtkWidget *row;
+ ESource *default_source;
+
+ default_source = gcal_manager_get_default_source (self->manager);
+
+ row = get_row_for_source (self, default_source);
+ select_row (self, GTK_LIST_BOX_ROW (row));
+
+ g_clear_object (&default_source);
+}
+
+
/*
* Callbacks
*/
@@ -557,22 +572,17 @@ static void
gcal_quick_add_popover_closed (GtkPopover *popover)
{
GcalQuickAddPopover *self;
- GtkWidget *default_row;
- ESource *default_source;
self = GCAL_QUICK_ADD_POPOVER (popover);
- default_source = gcal_manager_get_default_source (self->manager);
/* Clear text */
gtk_entry_set_text (GTK_ENTRY (self->summary_entry), "");
/* Select the default row again */
- default_row = get_row_for_source (self, default_source);
- select_row (self, GTK_LIST_BOX_ROW (default_row));
+ update_default_calendar_row (self);
g_clear_pointer (&self->date_start, g_date_time_unref);
g_clear_pointer (&self->date_end, g_date_time_unref);
- g_clear_object (&default_source);
}
static void
@@ -703,6 +713,7 @@ gcal_quick_add_popover_set_manager (GcalQuickAddPopover *self,
g_signal_connect (manager, "source-added", G_CALLBACK (on_source_added), self);
g_signal_connect (manager, "source-changed", G_CALLBACK (on_source_changed), self);
g_signal_connect (manager, "source-removed", G_CALLBACK (on_source_removed), self);
+ g_signal_connect_swapped (manager, "notify::default-calendar", G_CALLBACK
(update_default_calendar_row), self);
g_object_notify (G_OBJECT (self), "manager");
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]