From 405787307c88ef52669700c3d2b681a0a684f62b Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Fri, 10 May 2019 13:10:50 -0300 Subject: [PATCH] window: Move synchronize button to the calendar popover --- data/ui/calendar-popover.ui | 10 ++++++++++ data/ui/window.ui | 9 --------- src/gui/gcal-calendar-popover.c | 8 ++++++++ 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/data/ui/calendar-popover.ui b/data/ui/calendar-popover.ui index 65cd8233..2df81af4 100644 --- a/data/ui/calendar-popover.ui +++ b/data/ui/calendar-popover.ui @@ -29,6 +29,16 @@ + + + + + True + app.sync + _Synchronize + + + True diff --git a/data/ui/window.ui b/data/ui/window.ui index 7d3b76a6..b1a5bdb6 100644 --- a/data/ui/window.ui +++ b/data/ui/window.ui @@ -302,15 +302,6 @@ 12 vertical - - - - True - app.sync - _Synchronize - - - diff --git a/src/gui/gcal-calendar-popover.c b/src/gui/gcal-calendar-popover.c index 2f953b51..1216063b 100644 --- a/src/gui/gcal-calendar-popover.c +++ b/src/gui/gcal-calendar-popover.c @@ -31,6 +31,7 @@ struct _GcalCalendarPopover GtkWidget *calendar_listbox; GtkStack *icon_stack; + GtkWidget *synchronize_button; GcalContext *context; @@ -298,6 +299,12 @@ gcal_calendar_popover_set_property (GObject *object, for (l = calendars; l; l = l->next) add_calendar (self, l->data); + g_object_bind_property (manager, + "synchronizing", + self->synchronize_button, + "sensitive", + G_BINDING_INVERT_BOOLEAN | G_BINDING_SYNC_CREATE); + g_signal_connect (manager, "calendar-added", G_CALLBACK (on_manager_calendar_added_cb), object); g_signal_connect (manager, "calendar-removed", G_CALLBACK (on_manager_calendar_removed_cb), object); g_signal_connect (manager, "calendar-changed", G_CALLBACK (on_manager_calendar_changed_cb), object); @@ -337,6 +344,7 @@ gcal_calendar_popover_class_init (GcalCalendarPopoverClass *klass) gtk_widget_class_bind_template_child (widget_class, GcalCalendarPopover, calendar_listbox); gtk_widget_class_bind_template_child (widget_class, GcalCalendarPopover, icon_stack); + gtk_widget_class_bind_template_child (widget_class, GcalCalendarPopover, synchronize_button); gtk_widget_class_bind_template_callback (widget_class, on_listbox_row_activated_cb); }