Extract function to update the widgets *and* the values
Part-of: <https://gitlab.gnome.org/GNOME/gnome-calendar/-/merge_requests/550>
This commit is contained in:
committed by
Georges Basile Stavracas Neto
parent
e0641709bf
commit
18beea3052
@@ -275,6 +275,22 @@ update_widgets (GcalScheduleSection *self,
|
|||||||
g_signal_handlers_unblock_by_func (self->schedule_type_toggle_group, on_schedule_type_changed_cb, self);
|
g_signal_handlers_unblock_by_func (self->schedule_type_toggle_group, on_schedule_type_changed_cb, self);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Updates the widgets, and the current values, from the specified ones.
|
||||||
|
*
|
||||||
|
* This will free the current values and replace them with new ones.
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
update_from_values (GcalScheduleSection *self,
|
||||||
|
GcalScheduleValues *values)
|
||||||
|
{
|
||||||
|
g_autoptr (WidgetState) state = widget_state_from_values (values);
|
||||||
|
|
||||||
|
update_widgets (self, state);
|
||||||
|
|
||||||
|
gcal_schedule_values_free (self->values);
|
||||||
|
self->values = values;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Callbacks
|
* Callbacks
|
||||||
*/
|
*/
|
||||||
@@ -286,12 +302,10 @@ on_schedule_type_changed_cb (GtkWidget *widget,
|
|||||||
{
|
{
|
||||||
gboolean all_day = all_day_selected (self);
|
gboolean all_day = all_day_selected (self);
|
||||||
GcalScheduleValues *updated = gcal_schedule_values_set_all_day (self->values, all_day);
|
GcalScheduleValues *updated = gcal_schedule_values_set_all_day (self->values, all_day);
|
||||||
g_autoptr (WidgetState) state = widget_state_from_values (updated);
|
update_from_values (self, updated);
|
||||||
|
|
||||||
block_date_signals (self);
|
block_date_signals (self);
|
||||||
|
|
||||||
update_widgets (self, state);
|
|
||||||
|
|
||||||
if (all_day)
|
if (all_day)
|
||||||
{
|
{
|
||||||
g_autoptr (GDateTime) start_local = NULL;
|
g_autoptr (GDateTime) start_local = NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user