datetime: Decouple active and state properties usage
The ability to tweak the state property was mainly introduced in order to implement delayed state change via the state-set signal. Since GTK 4.9.3[1] the active and state properties are no more interchangeable. [1] https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/5442 Closes: https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2330
This commit is contained in:
parent
9af0a2d15e
commit
7c356d8c7d
1 changed files with 13 additions and 8 deletions
|
@ -301,6 +301,13 @@ set_using_ntp_cb (GObject *source,
|
||||||
/* TODO: display any error in a user friendly way */
|
/* TODO: display any error in a user friendly way */
|
||||||
g_warning ("Could not set system to use NTP: %s", error->message);
|
g_warning ("Could not set system to use NTP: %s", error->message);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
gboolean ntp_on;
|
||||||
|
|
||||||
|
g_object_get (self->dtm, "ntp", &ntp_on, NULL);
|
||||||
|
gtk_switch_set_state (GTK_SWITCH (self->network_time_switch), ntp_on);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -321,12 +328,9 @@ queue_set_datetime (CcDateTimePanel *self)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
queue_set_ntp (CcDateTimePanel *self)
|
queue_set_ntp (CcDateTimePanel *self,
|
||||||
|
gboolean using_ntp)
|
||||||
{
|
{
|
||||||
gboolean using_ntp;
|
|
||||||
/* for now just do it */
|
|
||||||
using_ntp = gtk_switch_get_active (GTK_SWITCH (self->network_time_switch));
|
|
||||||
|
|
||||||
timedate1_call_set_ntp (self->dtm,
|
timedate1_call_set_ntp (self->dtm,
|
||||||
using_ntp,
|
using_ntp,
|
||||||
TRUE,
|
TRUE,
|
||||||
|
@ -498,9 +502,10 @@ on_clock_changed (CcDateTimePanel *panel,
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
change_ntp (CcDateTimePanel *self)
|
change_ntp (CcDateTimePanel *self,
|
||||||
|
gboolean state)
|
||||||
{
|
{
|
||||||
queue_set_ntp (self);
|
queue_set_ntp (self, state);
|
||||||
|
|
||||||
/* The new state will be visible once we see the reply. */
|
/* The new state will be visible once we see the reply. */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
@ -516,7 +521,7 @@ on_ntp_changed (CcDateTimePanel *self)
|
||||||
g_signal_handlers_block_by_func (self->network_time_switch, change_ntp, self);
|
g_signal_handlers_block_by_func (self->network_time_switch, change_ntp, self);
|
||||||
|
|
||||||
g_object_set (self->network_time_switch,
|
g_object_set (self->network_time_switch,
|
||||||
"state", ntp_on,
|
"active", ntp_on,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
g_signal_handlers_unblock_by_func (self->network_time_switch, change_ntp, self);
|
g_signal_handlers_unblock_by_func (self->network_time_switch, change_ntp, self);
|
||||||
|
|
Loading…
Add table
Reference in a new issue