[gnome-control-center] display: Add 'NightLightSupported' property support
- From: Robert Ancell <rancell src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center] display: Add 'NightLightSupported' property support
- Date: Tue, 17 May 2022 22:00:16 +0000 (UTC)
commit 44293e9db2c74bc8b17a99abc42fa72b6a697d4f
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Thu Feb 24 12:30:23 2022 +0100
display: Add 'NightLightSupported' property support
panels/display/cc-display-config-manager-dbus.c | 17 +++++++++++++++++
panels/display/cc-display-config-manager.c | 6 ++++++
panels/display/cc-display-config-manager.h | 3 +++
3 files changed, 26 insertions(+)
---
diff --git a/panels/display/cc-display-config-manager-dbus.c b/panels/display/cc-display-config-manager-dbus.c
index 392140101..678b696db 100644
--- a/panels/display/cc-display-config-manager-dbus.c
+++ b/panels/display/cc-display-config-manager-dbus.c
@@ -33,6 +33,7 @@ struct _CcDisplayConfigManagerDBus
GVariant *current_state;
gboolean apply_allowed;
+ gboolean night_light_supported;
};
G_DEFINE_TYPE (CcDisplayConfigManagerDBus,
@@ -169,6 +170,12 @@ bus_gotten (GObject *object,
else
g_warning ("Missing property 'ApplyMonitorsConfigAllowed' on DisplayConfig API");
+ variant = g_dbus_proxy_get_cached_property (proxy, "NightLightSupported");
+ if (variant)
+ self->night_light_supported = g_variant_get_boolean (variant);
+ else
+ g_warning ("Missing property 'NightLightSupported' on DisplayConfig API");
+
get_current_state (self);
}
@@ -176,6 +183,7 @@ static void
cc_display_config_manager_dbus_init (CcDisplayConfigManagerDBus *self)
{
self->apply_allowed = TRUE;
+ self->night_light_supported = TRUE;
self->cancellable = g_cancellable_new ();
g_bus_get (G_BUS_TYPE_SESSION, self->cancellable, bus_gotten, self);
}
@@ -205,6 +213,14 @@ cc_display_config_manager_dbus_get_apply_allowed (CcDisplayConfigManager *pself)
return self->apply_allowed;
}
+static gboolean
+cc_display_config_manager_dbus_get_night_light_supported (CcDisplayConfigManager *pself)
+{
+ CcDisplayConfigManagerDBus *self = CC_DISPLAY_CONFIG_MANAGER_DBUS (pself);
+
+ return self->night_light_supported;
+}
+
static void
cc_display_config_manager_dbus_class_init (CcDisplayConfigManagerDBusClass *klass)
{
@@ -215,6 +231,7 @@ cc_display_config_manager_dbus_class_init (CcDisplayConfigManagerDBusClass *klas
parent_class->get_current = cc_display_config_manager_dbus_get_current;
parent_class->get_apply_allowed = cc_display_config_manager_dbus_get_apply_allowed;
+ parent_class->get_night_light_supported = cc_display_config_manager_dbus_get_night_light_supported;
}
CcDisplayConfigManager *
diff --git a/panels/display/cc-display-config-manager.c b/panels/display/cc-display-config-manager.c
index 3d683c53d..f231edd69 100644
--- a/panels/display/cc-display-config-manager.c
+++ b/panels/display/cc-display-config-manager.c
@@ -65,3 +65,9 @@ cc_display_config_manager_get_apply_allowed (CcDisplayConfigManager *self)
{
return CC_DISPLAY_CONFIG_MANAGER_GET_CLASS (self)->get_apply_allowed (self);
}
+
+gboolean
+cc_display_config_manager_get_night_light_supported (CcDisplayConfigManager *self)
+{
+ return CC_DISPLAY_CONFIG_MANAGER_GET_CLASS (self)->get_night_light_supported (self);
+}
diff --git a/panels/display/cc-display-config-manager.h b/panels/display/cc-display-config-manager.h
index 64f0775e9..ab1e84f85 100644
--- a/panels/display/cc-display-config-manager.h
+++ b/panels/display/cc-display-config-manager.h
@@ -35,12 +35,15 @@ struct _CcDisplayConfigManagerClass
CcDisplayConfig * (*get_current) (CcDisplayConfigManager *self);
gboolean (* get_apply_allowed) (CcDisplayConfigManager *self);
+ gboolean (* get_night_light_supported) (CcDisplayConfigManager *self);
};
CcDisplayConfig * cc_display_config_manager_get_current (CcDisplayConfigManager *self);
gboolean cc_display_config_manager_get_apply_allowed (CcDisplayConfigManager *self);
+gboolean cc_display_config_manager_get_night_light_supported (CcDisplayConfigManager *self);
+
void _cc_display_config_manager_emit_changed (CcDisplayConfigManager *self);
G_END_DECLS
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]