Presumably, they are nonwritable because a system administrator has locked
these settings down.
https://help.gnome.org/admin/system-admin-guide/stable/dconf-lockdown.html
If Night Light is locked on, don't show the Off button.
If Night Light is locked off, don't show the Manual or "Sunset to Sunrise" buttons.
If Manual is force-enabled, don't show "Sunset to Sunrise" or the other way around.
The night light dialog is both marked as "destroy_with_parent" and explicitly
destroyed in the panel. Drop one of these.
Causes the warning after opening the dialog then closing the app:
(gnome-control-center:19887): Gtk-CRITICAL **: 11:00:01.370: gtk_widget_destroy: assertion 'GTK_IS_WIDGET (widget)' failed
This bug was introduced in ed36688c58
This commit improves the Night Light code in various
ways:
* Turn it into a template class, subclass of GtkDialog,
and adapts all the code to reflect that.
* Update the code style in various places, to make it
more conformant with the documented code style.
* Reorganize the code a bit, moving functions around,
to make it more conformant with the documented order.