diff options
author | Bastien Nocera <hadess@hadess.net> | 2013-10-16 13:56:35 +0200 |
---|---|---|
committer | Bastien Nocera <hadess@hadess.net> | 2013-10-16 13:56:35 +0200 |
commit | 01226cb2821e8cdc728f49c861e88d22fedc58df (patch) | |
tree | 3ce51058446ddc5796c21a047fc4a569a8603385 /src/up-device.c | |
parent | cb9b1aaad8e50b3117d28f29fed0a1569bfde681 (diff) |
daemon: Emit PropertiesChanged for computed properties too
The IconName and WarningLevel properties were not sent out through
PropertiesChanged when they changed for devices.
Diffstat (limited to 'src/up-device.c')
-rw-r--r-- | src/up-device.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/up-device.c b/src/up-device.c index d2cae1e..6c0b6f6 100644 --- a/src/up-device.c +++ b/src/up-device.c @@ -80,8 +80,8 @@ struct UpDevicePrivate gint64 time_to_full; /* seconds */ gdouble percentage; /* percent */ gdouble temperature; /* degrees C */ - UpDeviceLevel warning_level; - const gchar *icon_name; + UpDeviceLevel warning_level; /* computed */ + const gchar *icon_name; /* computed */ }; static gboolean up_device_register_device (UpDevice *device); @@ -135,6 +135,10 @@ G_DEFINE_TYPE (UpDevice, up_device, G_TYPE_OBJECT) #define UP_DEVICES_DBUS_PATH "/org/freedesktop/UPower/devices" +static void up_device_queue_changed_property (UpDevice *device, + const gchar *property, + GVariant *value); + /** * up_device_error_quark: **/ @@ -200,6 +204,8 @@ update_warning_level (UpDevice *device) device->priv->warning_level = warning_level; g_object_notify (G_OBJECT (device), "warning-level"); + + up_device_queue_changed_property (device, "warning-level", g_variant_new_uint32 (device->priv->warning_level)); } static const gchar * @@ -261,6 +267,8 @@ update_icon_name (UpDevice *device) device->priv->icon_name = icon_name; g_object_notify (G_OBJECT (device), "icon-name"); + + up_device_queue_changed_property (device, "icon-name", g_variant_new_string (device->priv->icon_name)); } static gboolean |