[gnome-control-center/wip/power: 6/9] handle secondary batteries
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-control-center/wip/power: 6/9] handle secondary batteries
- Date: Sun, 2 Dec 2012 21:30:28 +0000 (UTC)
commit f8ccbeb57ea44ce38d7b38c54e3f533a60541f65
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Dec 2 00:29:19 2012 -0500
handle secondary batteries
panels/power/cc-power-panel.c | 38 +++++++++++++++++++++-----------------
1 files changed, 21 insertions(+), 17 deletions(-)
---
diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index 58a4ee1..fc0470a 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -48,6 +48,7 @@ struct _CcPowerPanelPrivate
GtkWidget *battery_section;
GtkWidget *battery_list;
+ GtkWidget *label_battery_addon;
GtkSizeGroup *battery_sizegroup;
GtkSizeGroup *charge_sizegroup;
@@ -182,6 +183,11 @@ add_primary (CcPowerPanel *panel,
gtk_style_context_add_class (gtk_widget_get_style_context (label), GTK_STYLE_CLASS_DIM_LABEL);
gtk_box_pack_start (GTK_BOX (box2), label, TRUE, TRUE, 0);
+ priv->label_battery_addon = label = gtk_label_new ("");
+ gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
+ gtk_style_context_add_class (gtk_widget_get_style_context (label), GTK_STYLE_CLASS_DIM_LABEL);
+ gtk_box_pack_start (GTK_BOX (box2), label, TRUE, TRUE, 0);
+
s = g_strdup_printf ("%d%%", (int)percentage);
label = gtk_label_new (s);
g_free (s);
@@ -201,6 +207,7 @@ add_primary (CcPowerPanel *panel,
gtk_container_add (GTK_CONTAINER (priv->battery_list), box);
gtk_widget_show_all (box);
+ gtk_widget_hide (priv->label_battery_addon);
g_object_set_data (G_OBJECT (box), "primary", GINT_TO_POINTER (TRUE));
}
@@ -364,7 +371,6 @@ set_device_battery_additional (CcPowerPanel *panel, GVariant *device)
{
CcPowerPanelPrivate *priv = panel->priv;
gchar *details = NULL;
- GtkWidget *widget;
UpDeviceState state;
/* set the device */
@@ -392,16 +398,15 @@ set_device_battery_additional (CcPowerPanel *panel, GVariant *device)
break;
}
if (details == NULL)
- goto out;
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
- "label_battery_addon"));
- gtk_label_set_label (GTK_LABEL (widget), details);
-
- /* show the addon device */
- widget = GTK_WIDGET (gtk_builder_get_object (priv->builder,
- "box_battery_addon"));
- gtk_widget_show (widget);
-out:
+ {
+ gtk_widget_hide (priv->label_battery_addon);
+ }
+ else
+ {
+ gtk_label_set_label (GTK_LABEL (priv->label_battery_addon), details);
+ gtk_widget_show (priv->label_battery_addon);
+ }
+
g_free (details);
}
@@ -652,7 +657,7 @@ get_devices_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
g_variant_unref (child);
}
-#if 1
+#if 0
g_print ("adding fake devices\n");
child = g_variant_new_parsed ("('/',%u,'',%d,%u,%t)",
UP_DEVICE_KIND_MOUSE, 100.0,
@@ -660,9 +665,9 @@ get_devices_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
add_device_secondary (panel, child);
g_variant_unref (child);
child = g_variant_new_parsed ("('/',%u,'',%d,%u,%t)",
- UP_DEVICE_KIND_KEYBOARD, 11.0,
- UP_DEVICE_STATE_DISCHARGING, 200);
- add_device_secondary (panel, child);
+ UP_DEVICE_KIND_BATTERY, 11.0,
+ UP_DEVICE_STATE_FULLY_CHARGED, 200);
+ set_device_battery_additional (panel, child);
g_variant_unref (child);
#endif
@@ -671,6 +676,7 @@ get_devices_cb (GObject *source_object, GAsyncResult *res, gpointer user_data)
children = gtk_container_get_children (GTK_CONTAINER (priv->battery_list));
gtk_widget_set_visible (priv->battery_section, children != NULL);
+ gtk_widget_queue_resize (priv->battery_section);
g_list_free (children);
}
@@ -1484,8 +1490,6 @@ cc_power_panel_init (CcPowerPanel *self)
got_screen_proxy_cb,
self);
- /* find out if there are any battery or UPS devices attached
- * and setup UI accordingly */
self->priv->up_client = up_client_new ();
self->priv->gsd_settings = g_settings_new ("org.gnome.settings-daemon.plugins.power");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]