summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBastien Nocera <hadess@hadess.net>2013-10-16 13:56:35 +0200
committerBastien Nocera <hadess@hadess.net>2013-10-16 13:56:35 +0200
commit01226cb2821e8cdc728f49c861e88d22fedc58df (patch)
tree3ce51058446ddc5796c21a047fc4a569a8603385 /src
parentcb9b1aaad8e50b3117d28f29fed0a1569bfde681 (diff)
downloadupower-01226cb2821e8cdc728f49c861e88d22fedc58df.tar.gz
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')
-rw-r--r--src/up-device.c12
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