aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/notifier.c13
-rw-r--r--src/notifier.h4
-rw-r--r--src/service.c6
3 files changed, 13 insertions, 10 deletions
diff --git a/src/notifier.c b/src/notifier.c
index d32008f..1d9428c 100644
--- a/src/notifier.c
+++ b/src/notifier.c
@@ -17,7 +17,7 @@
* Charles Kerr <charles.kerr@canonical.com>
*/
-#include "dbus-battery-info.h"
+#include "dbus-battery.h"
#include "dbus-shared.h"
#include "notifier.h"
@@ -57,8 +57,6 @@ static int n_notifiers = 0;
struct _IndicatorPowerNotifierPrivate
{
- IndicatorPowerDeviceProvider * device_provider;
-
/* The battery we're currently watching.
This may be a physical battery or it may be a "merged" battery
synthesized from multiple batteries present on the device.
@@ -77,6 +75,9 @@ struct _IndicatorPowerNotifierPrivate
typedef IndicatorPowerNotifierPrivate priv_t;
+static void set_is_warning_property (IndicatorPowerNotifier*, gboolean is_warning);
+static void set_power_level_property (IndicatorPowerNotifier*, PowerLevel power_level);
+
/***
**** Notifications
***/
@@ -262,7 +263,7 @@ my_dispose (GObject * o)
indicator_power_notifier_set_bus (self, NULL);
notification_clear (self);
- indicator_power_notifier_set_device (self, NULL);
+ indicator_power_notifier_set_battery (self, NULL);
g_clear_pointer (&p->power_level_binding, g_binding_unbind);
g_clear_pointer (&p->is_warning_binding, g_binding_unbind);
g_clear_object (&p->dbus_battery);
@@ -352,7 +353,7 @@ indicator_power_notifier_class_init (IndicatorPowerNotifierClass * klass)
***/
IndicatorPowerNotifier *
-indicator_power_notifier_new (IndicatorPowerDeviceProvider * device_provider)
+indicator_power_notifier_new (void)
{
GObject * o = g_object_new (INDICATOR_TYPE_POWER_NOTIFIER, NULL);
@@ -369,6 +370,8 @@ indicator_power_notifier_set_battery (IndicatorPowerNotifier * self,
g_return_if_fail((battery == NULL) || INDICATOR_IS_POWER_DEVICE(battery));
g_return_if_fail((battery == NULL) || (indicator_power_device_get_kind(battery) == UP_DEVICE_KIND_BATTERY));
+ p = self->priv;
+
if (p->battery != NULL)
{
g_clear_object (&p->battery);
diff --git a/src/notifier.h b/src/notifier.h
index 2602171..c1c5a1b 100644
--- a/src/notifier.h
+++ b/src/notifier.h
@@ -72,8 +72,8 @@ IndicatorPowerNotifier * indicator_power_notifier_new (void);
void indicator_power_notifier_set_bus (IndicatorPowerNotifier * self,
GDBusConnection * connection);
-void indicator_power_notifier_set_device (IndicatorPowerNotifier * self,
- IndicatorPowerDevice * provider);
+void indicator_power_notifier_set_battery (IndicatorPowerNotifier * self,
+ IndicatorPowerDevice * battery);
G_END_DECLS
diff --git a/src/service.c b/src/service.c
index 1c1f8f7..23cef84 100644
--- a/src/service.c
+++ b/src/service.c
@@ -927,10 +927,10 @@ on_devices_changed (IndicatorPowerService * self)
p->primary_device = indicator_power_service_choose_primary_device (p->devices);
/* update the notifier's battery */
- if ((p->primary_device != NULL) || (indicator_power_device_get_kind(p->primary_device) == UP_DEVICE_KIND_BATTERY))
- indicator_power_notifier_set_battery (p->primary_device);
+ if ((p->primary_device != NULL) && (indicator_power_device_get_kind(p->primary_device) == UP_DEVICE_KIND_BATTERY))
+ indicator_power_notifier_set_battery (p->notifier, p->primary_device);
else
- indicator_power_notifier_set_battery (NULL);
+ indicator_power_notifier_set_battery (p->notifier, NULL);
/* update the battery-level action's state */
if (p->primary_device == NULL)