[gnome-control-center] power: Use device models as names



commit 76e342ea9dc7cc976fca748257f4cd224de109c0
Author: Bastien Nocera <hadess hadess net>
Date:   Wed Oct 9 14:57:23 2013 +0200

    power: Use device models as names
    
    And only fallback to the generic "Wireless Mouse" (eg.) when
    there's no valid name for it.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=709654

 panels/power/cc-power-panel.c |   89 ++++++++++++++++++++++------------------
 1 files changed, 49 insertions(+), 40 deletions(-)
---
diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index aceda6f..d9d09b3 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -459,69 +459,78 @@ add_battery (CcPowerPanel *panel, UpDevice *device)
   gtk_widget_set_visible (priv->battery_section, TRUE);
 }
 
-static void
-add_device (CcPowerPanel *panel, UpDevice *device)
+static const char *
+kind_to_description (UpDeviceKind kind)
 {
-  CcPowerPanelPrivate *priv = panel->priv;
-  UpDeviceKind kind;
-  UpDeviceState state;
-  GtkWidget *row;
-  GtkWidget *hbox;
-  GtkWidget *box2;
-  GtkWidget *widget;
-  GString *status;
-  GString *description;
-  gdouble percentage;
-  gchar *s;
-  gboolean show_caution = FALSE;
-
-  g_object_get (device,
-                "kind", &kind,
-                "percentage", &percentage,
-                "state", &state,
-                NULL);
-
   switch (kind)
     {
       case UP_DEVICE_KIND_MOUSE:
         /* TRANSLATORS: secondary battery */
-        description = g_string_new (_("Wireless mouse"));
-        break;
+        return N_("Wireless mouse");
       case UP_DEVICE_KIND_KEYBOARD:
         /* TRANSLATORS: secondary battery */
-        description = g_string_new (_("Wireless keyboard"));
-        break;
+        return N_("Wireless keyboard");
       case UP_DEVICE_KIND_UPS:
         /* TRANSLATORS: secondary battery */
-        description = g_string_new (_("Uninterruptible power supply"));
-        show_caution = TRUE;
-        break;
+        return N_("Uninterruptible power supply");
       case UP_DEVICE_KIND_PDA:
         /* TRANSLATORS: secondary battery */
-        description = g_string_new (_("Personal digital assistant"));
-        break;
+        return N_("Personal digital assistant");
       case UP_DEVICE_KIND_PHONE:
         /* TRANSLATORS: secondary battery */
-        description = g_string_new (_("Cellphone"));
-        break;
+        return N_("Cellphone");
       case UP_DEVICE_KIND_MEDIA_PLAYER:
         /* TRANSLATORS: secondary battery */
-        description = g_string_new (_("Media player"));
-        break;
+        return N_("Media player");
       case UP_DEVICE_KIND_TABLET:
         /* TRANSLATORS: secondary battery */
-        description = g_string_new (_("Tablet"));
-        break;
+        return N_("Tablet");
       case UP_DEVICE_KIND_COMPUTER:
         /* TRANSLATORS: secondary battery */
-        description = g_string_new (_("Computer"));
-        break;
+        return N_("Computer");
       default:
         /* TRANSLATORS: secondary battery, misc */
-        description = g_string_new (_("Battery"));
-        break;
+        return N_("Battery");
     }
 
+  g_assert_not_reached ();
+}
+
+static void
+add_device (CcPowerPanel *panel, UpDevice *device)
+{
+  CcPowerPanelPrivate *priv = panel->priv;
+  UpDeviceKind kind;
+  UpDeviceState state;
+  GtkWidget *row;
+  GtkWidget *hbox;
+  GtkWidget *box2;
+  GtkWidget *widget;
+  GString *status;
+  GString *description;
+  gdouble percentage;
+  gchar *name;
+  gchar *s;
+  gboolean show_caution = FALSE;
+
+  name = NULL;
+  g_object_get (device,
+                "kind", &kind,
+                "percentage", &percentage,
+                "state", &state,
+                "model", &name,
+                NULL);
+
+  if (kind == UP_DEVICE_KIND_UPS)
+    show_caution = TRUE;
+
+  if (name == NULL || *name == '\0')
+    description = g_string_new (_(kind_to_description (kind)));
+  else
+    description = g_string_new (name);
+
+  g_free (name);
+
   switch (state)
     {
       case UP_DEVICE_STATE_CHARGING:


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]