Hello community,

here is the log from the commit of package gnome-control-center for 
openSUSE:Factory checked in at 2014-01-27 11:23:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/gnome-control-center (Old)
 and      /work/SRC/openSUSE:Factory/.gnome-control-center.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-control-center"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/gnome-control-center/gnome-control-center.changes    
    2013-11-24 11:29:30.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.gnome-control-center.new/gnome-control-center.changes
   2014-01-27 11:23:40.000000000 +0100
@@ -1,0 +2,10 @@
+Tue Dec 17 12:07:47 UTC 2013 - mgo...@suse.com
+
+- Add patches to support UPower 0.99:
+  + gnome-control-center-upower-DeviceChanged-signal.patch
+  + gnome-control-center-upower-display.patch
+  + gnome-control-center-upower-fix-build.patch
+  + gnome-control-center-upower-icons.patch
+  + gnome-control-center-upower-changed-signal.patch
+
+-------------------------------------------------------------------

New:
----
  gnome-control-center-upower-DeviceChanged-signal.patch
  gnome-control-center-upower-changed-signal.patch
  gnome-control-center-upower-display.patch
  gnome-control-center-upower-fix-build.patch
  gnome-control-center-upower-icons.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ gnome-control-center.spec ++++++
--- /var/tmp/diff_new_pack.IVFTD6/_old  2014-01-27 11:23:41.000000000 +0100
+++ /var/tmp/diff_new_pack.IVFTD6/_new  2014-01-27 11:23:41.000000000 +0100
@@ -45,6 +45,16 @@
 Patch16:        gnome-control-center-probe-radius-server-cert.patch
 # PATCH-FIX-UPSTREAM gnome-control-center-BT-sharing.patch bgo#712252 
dims...@opensuse.org -- Fix Bluetooth label always being off
 Patch17:        gnome-control-center-BT-sharing.patch
+# PATCH-FEATURE-UPSTREAM gnome-control-center-upower-fix-build.patch 
mgo...@suse.com -- Build fix for UPower 0.99
+Patch18:        gnome-control-center-upower-fix-build.patch
+# PATCH-FEATURE-UPSTREAM 
gnome-control-center-upower-DeviceChanged-signal.patch mgo...@suse.com -- 
DeviceChanged signal no longer exists in upower-glib 0.99
+Patch19:        gnome-control-center-upower-DeviceChanged-signal.patch
+# PATCH-FEATURE-UPSTREAM gnome-control-center-upower-icons.patch 
mgo...@suse.com -- Use UPower icons
+Patch20:        gnome-control-center-upower-icons.patch
+# PATCH-FEATURE-UPSTREAM gnome-control-center-upower-display.patch 
mgo...@suse.com -- Use new display device
+Patch21:        gnome-control-center-upower-display.patch
+# PATCH-FEATURE-UPSTREAM gnome-control-center-upower-changed-signal.patch 
mgo...@suse.com -- Update for libupower-glib API changes
+Patch22:        gnome-control-center-upower-changed-signal.patch
 BuildRequires:  cups-devel
 BuildRequires:  desktop-file-utils
 BuildRequires:  fdupes
@@ -96,7 +106,7 @@
 BuildRequires:  pkgconfig(polkit-gobject-1) >= 0.103
 BuildRequires:  pkgconfig(pwquality) >= 1.2.2
 BuildRequires:  pkgconfig(smbclient)
-BuildRequires:  pkgconfig(upower-glib)
+BuildRequires:  pkgconfig(upower-glib) >= 0.99.0
 BuildRequires:  pkgconfig(x11)
 BuildRequires:  pkgconfig(xcursor)
 BuildRequires:  pkgconfig(xft)
@@ -165,6 +175,11 @@
 %patch15 -p1
 %patch16 -p1
 %patch17 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
 #NEEDS-REBASE
 #patch14 -p1
 

++++++ gnome-control-center-upower-DeviceChanged-signal.patch ++++++
>From 6f78b2ab0f05cdf9d88ffb30abebc5d69cf121cf Mon Sep 17 00:00:00 2001
From: Bastien Nocera <had...@hadess.net>
Date: Thu, 17 Oct 2013 17:16:35 +0200
Subject: [PATCH] power: Fix run-time for DeviceChanged signal removal

The DeviceChanged signal was removed, instead, each interesting
device should be monitored individually. This means we need to keep
our own device list locally.

https://bugzilla.gnome.org/show_bug.cgi?id=710393
---
 panels/power/cc-power-panel.c | 75 +++++++++++++++++++++++++++++++++++--------
 1 file changed, 61 insertions(+), 14 deletions(-)

diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index fccc994..75e8ce2 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -70,6 +70,7 @@ struct _CcPowerPanelPrivate
   GtkBuilder    *builder;
   GtkWidget     *automatic_suspend_dialog;
   UpClient      *up_client;
+  GPtrArray     *devices;
   GDBusProxy    *screen_proxy;
   GDBusProxy    *kbd_proxy;
   gboolean       has_batteries;
@@ -142,6 +143,11 @@ cc_power_panel_dispose (GObject *object)
   g_clear_object (&priv->builder);
   g_clear_object (&priv->screen_proxy);
   g_clear_object (&priv->kbd_proxy);
+  if (priv->devices)
+    {
+      g_ptr_array_foreach (priv->devices, (GFunc) g_object_unref, NULL);
+      g_clear_pointer (&priv->devices, g_ptr_array_unref);
+    }
   g_clear_object (&priv->up_client);
 #ifdef HAVE_BLUETOOTH
   g_clear_object (&priv->bt_client);
@@ -624,7 +630,6 @@ up_client_changed (UpClient     *client,
                    CcPowerPanel *self)
 {
   CcPowerPanelPrivate *priv = self->priv;
-  GPtrArray *devices;
   GList *children, *l;
   gint i;
   UpDeviceKind kind;
@@ -658,8 +663,6 @@ up_client_changed (UpClient     *client,
   g_list_free (children);
   gtk_widget_hide (priv->device_section);
 
-  devices = up_client_get_devices (client);
-
 #ifdef TEST_FAKE_DEVICES
   {
     static gboolean fake_devices_added = FALSE;
@@ -675,7 +678,7 @@ up_client_changed (UpClient     *client,
                       "state", UP_DEVICE_STATE_DISCHARGING,
                       "time-to-empty", 287,
                       NULL);
-        g_ptr_array_add (devices, device);
+        g_ptr_array_add (priv->devices, device);
         device = up_device_new ();
         g_object_set (device,
                       "kind", UP_DEVICE_KIND_KEYBOARD,
@@ -683,7 +686,7 @@ up_client_changed (UpClient     *client,
                       "state", UP_DEVICE_STATE_DISCHARGING,
                       "time-to-empty", 250,
                       NULL);
-        g_ptr_array_add (devices, device);
+        g_ptr_array_add (priv->devices, device);
         device = up_device_new ();
         g_object_set (device,
                       "kind", UP_DEVICE_KIND_BATTERY,
@@ -694,7 +697,7 @@ up_client_changed (UpClient     *client,
                       "energy-rate", 15.0,
                       "time-to-empty", 400,
                       NULL);
-        g_ptr_array_add (devices, device);
+        g_ptr_array_add (priv->devices, device);
       }
   }
 #endif
@@ -709,9 +712,9 @@ up_client_changed (UpClient     *client,
                 "power-supply", TRUE,
                 "is-present", TRUE,
                 NULL);
-  for (i = 0; devices != NULL && i < devices->len; i++)
+  for (i = 0; priv->devices != NULL && i < priv->devices->len; i++)
     {
-      UpDevice *device = (UpDevice*) g_ptr_array_index (devices, i);
+      UpDevice *device = (UpDevice*) g_ptr_array_index (priv->devices, i);
       g_object_get (device,
                     "kind", &kind,
                     "state", &state,
@@ -776,9 +779,9 @@ up_client_changed (UpClient     *client,
   if (!on_ups && n_batteries > 1)
     set_primary (self, composite);
 
-  for (i = 0; devices != NULL && i < devices->len; i++)
+  for (i = 0; priv->devices != NULL && i < priv->devices->len; i++)
     {
-      UpDevice *device = (UpDevice*) g_ptr_array_index (devices, i);
+      UpDevice *device = (UpDevice*) g_ptr_array_index (priv->devices, i);
       g_object_get (device, "kind", &kind, NULL);
       if (kind == UP_DEVICE_KIND_LINE_POWER)
         {
@@ -802,11 +805,48 @@ up_client_changed (UpClient     *client,
         }
     }
 
-  g_clear_pointer (&devices, g_ptr_array_unref);
   g_object_unref (composite);
 }
 
 static void
+up_client_device_removed (UpClient     *client,
+                          const char   *object_path,
+                          CcPowerPanel *self)
+{
+  CcPowerPanelPrivate *priv = self->priv;
+  guint i;
+
+  if (priv->devices == NULL)
+    return;
+
+  for (i = 0; i < priv->devices->len; i++)
+    {
+      UpDevice *device = g_ptr_array_index (priv->devices, i);
+
+      if (g_strcmp0 (object_path, up_device_get_object_path (device)) == 0)
+        {
+          g_ptr_array_remove_index (priv->devices, i);
+          break;
+        }
+    }
+
+  up_client_changed (self->priv->up_client, NULL, self);
+}
+
+static void
+up_client_device_added (UpClient     *client,
+                        UpDevice     *device,
+                        CcPowerPanel *self)
+{
+  CcPowerPanelPrivate *priv = self->priv;
+
+  g_ptr_array_add (priv->devices, g_object_ref (device));
+  g_signal_connect (G_OBJECT (device), "notify",
+                    G_CALLBACK (up_client_changed), self);
+  up_client_changed (priv->up_client, NULL, self);
+}
+
+static void
 set_brightness_cb (GObject *source_object, GAsyncResult *res, gpointer 
user_data)
 {
   GError *error = NULL;
@@ -2163,6 +2203,7 @@ cc_power_panel_init (CcPowerPanel *self)
   GError     *error;
   GtkWidget  *widget;
   GtkWidget  *box;
+  guint       i;
 
   priv = self->priv = POWER_PANEL_PRIVATE (self);
   g_resources_register (cc_power_get_resource ());
@@ -2226,9 +2267,15 @@ cc_power_panel_init (CcPowerPanel *self)
   update_automatic_suspend_label (self);
 
   /* populate batteries */
-  g_signal_connect (priv->up_client, "device-added", G_CALLBACK 
(up_client_changed), self);
-  g_signal_connect (priv->up_client, "device-changed", G_CALLBACK 
(up_client_changed), self);
-  g_signal_connect (priv->up_client, "device-removed", G_CALLBACK 
(up_client_changed), self);
+  g_signal_connect (priv->up_client, "device-added", G_CALLBACK 
(up_client_device_added), self);
+  g_signal_connect (priv->up_client, "device-removed", G_CALLBACK 
(up_client_device_removed), self);
+
+  priv->devices = up_client_get_devices (priv->up_client);
+  for (i = 0; priv->devices != NULL && i < priv->devices->len; i++) {
+    UpDevice *device = g_ptr_array_index (priv->devices, i);
+    g_signal_connect (G_OBJECT (device), "notify",
+                      G_CALLBACK (up_client_changed), self);
+  }
   up_client_changed (priv->up_client, NULL, self);
 
   widget = WID (priv->builder, "vbox_power");
-- 
1.8.4

++++++ gnome-control-center-upower-changed-signal.patch ++++++
>From 8ba50267bed318cae35a40cd20f3067856e7c93b Mon Sep 17 00:00:00 2001
From: Bastien Nocera <had...@hadess.net>
Date: Wed, 30 Oct 2013 12:03:33 +0100
Subject: [PATCH] display: Update for libupower-glib API changes

There's no "changed" signal anymore.
---
 panels/display/cc-display-panel.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/panels/display/cc-display-panel.c 
b/panels/display/cc-display-panel.c
index f170d51..775b48d 100644
--- a/panels/display/cc-display-panel.c
+++ b/panels/display/cc-display-panel.c
@@ -2261,6 +2261,7 @@ mapped_cb (CcDisplayPanel *panel)
 
 static void
 cc_display_panel_up_client_changed (UpClient       *client,
+                                    GParamSpec     *pspec,
                                     CcDisplayPanel *self)
 {
   CcDisplayPanelPrivate *priv = self->priv;
@@ -2352,9 +2353,9 @@ cc_display_panel_init (CcDisplayPanel *self)
        * https://bugs.freedesktop.org/show_bug.cgi?id=43001
        */
 
-      g_signal_connect (self->priv->up_client, "changed",
+      g_signal_connect (self->priv->up_client, "notify::lid-is-closed",
                         G_CALLBACK (cc_display_panel_up_client_changed), self);
-      cc_display_panel_up_client_changed (self->priv->up_client, self);
+      cc_display_panel_up_client_changed (self->priv->up_client, NULL, self);
     }
   else
     g_clear_object (&self->priv->up_client);
-- 
1.8.4

++++++ gnome-control-center-upower-display.patch ++++++
>From 93997f5ee82107e710d1d22b55d6d1137ab97127 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <had...@hadess.net>
Date: Mon, 21 Oct 2013 22:53:43 +0200
Subject: [PATCH] power: Use the new display device

>From UPower 0.99. Removes all the code creating the composite device.

https://bugzilla.gnome.org/show_bug.cgi?id=710393
---
 panels/power/cc-power-panel.c | 86 +++++++------------------------------------
 1 file changed, 13 insertions(+), 73 deletions(-)

diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index 223fd86..8083888 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -633,22 +633,9 @@ up_client_changed (UpClient     *client,
   GList *children, *l;
   gint i;
   UpDeviceKind kind;
-  UpDeviceState state;
   guint n_batteries;
   gboolean on_ups;
   UpDevice *composite;
-  gdouble percentage = 0.0;
-  gdouble energy = 0.0;
-  gdouble energy_full = 0.0;
-  gdouble energy_rate = 0.0;
-  gdouble energy_total = 0.0;
-  gdouble energy_full_total = 0.0;
-  gdouble energy_rate_total = 0.0;
-  gint64 time_to_empty = 0;
-  gint64 time_to_full = 0;
-  gboolean is_charging = FALSE;
-  gboolean is_discharging = FALSE;
-  gboolean is_fully_charged = TRUE;
   gchar *s;
 
   children = gtk_container_get_children (GTK_CONTAINER (priv->battery_list));
@@ -713,38 +700,21 @@ up_client_changed (UpClient     *client,
 
   on_ups = FALSE;
   n_batteries = 0;
-  composite = up_device_new ();
-  g_object_set (composite,
-                "kind", UP_DEVICE_KIND_BATTERY,
-                "is-rechargeable", TRUE,
-                "native-path", "dummy:composite_battery",
-                "power-supply", TRUE,
-                "is-present", TRUE,
-                NULL);
-  for (i = 0; priv->devices != NULL && i < priv->devices->len; i++)
+  composite = up_client_get_display_device (priv->up_client);
+  g_object_get (composite, "kind", &kind, NULL);
+  if (kind == UP_DEVICE_KIND_UPS)
     {
-      UpDevice *device = (UpDevice*) g_ptr_array_index (priv->devices, i);
-      g_object_get (device,
-                    "kind", &kind,
-                    "state", &state,
-                    "energy", &energy,
-                    "energy-full", &energy_full,
-                    "energy-rate", &energy_rate,
-                    NULL);
-      if (kind == UP_DEVICE_KIND_UPS && state == UP_DEVICE_STATE_DISCHARGING)
-        on_ups = TRUE;
-      if (kind == UP_DEVICE_KIND_BATTERY)
+      on_ups = TRUE;
+    }
+  else
+    {
+      /* Count the batteries */
+      for (i = 0; priv->devices != NULL && i < priv->devices->len; i++)
         {
-          if (state == UP_DEVICE_STATE_CHARGING)
-            is_charging = TRUE;
-          if (state == UP_DEVICE_STATE_DISCHARGING)
-            is_discharging = TRUE;
-          if (state != UP_DEVICE_STATE_FULLY_CHARGED)
-            is_fully_charged = FALSE;
-          energy_total += energy;
-          energy_full_total += energy_full;
-          energy_rate_total += energy_rate;
-          n_batteries++;
+          UpDevice *device = (UpDevice*) g_ptr_array_index (priv->devices, i);
+          g_object_get (device, "kind", &kind, NULL);
+          if (kind == UP_DEVICE_KIND_BATTERY)
+            n_batteries++;
         }
     }
 
@@ -755,36 +725,6 @@ up_client_changed (UpClient     *client,
   gtk_label_set_label (GTK_LABEL (priv->battery_heading), s);
   g_free (s);
 
-  if (energy_full_total > 0.0)
-    percentage = 100.0 * energy_total / energy_full_total;
-
-  if (is_charging)
-    state = UP_DEVICE_STATE_CHARGING;
-  else if (is_discharging)
-    state = UP_DEVICE_STATE_DISCHARGING;
-  else if (is_fully_charged)
-    state = UP_DEVICE_STATE_FULLY_CHARGED;
-  else
-    state = UP_DEVICE_STATE_UNKNOWN;
-
-  if (energy_rate_total > 0)
-    {
-      if (state == UP_DEVICE_STATE_DISCHARGING)
-        time_to_empty = 3600 * (energy_total / energy_rate_total);
-      else if (state == UP_DEVICE_STATE_CHARGING)
-        time_to_full = 3600 * ((energy_full_total - energy_total) / 
energy_rate_total);
-    }
-
-  g_object_set (composite,
-                "energy", energy_total,
-                "energy-full", energy_full_total,
-                "energy-rate", energy_rate_total,
-                "time-to-empty", time_to_empty,
-                "time-to-full", time_to_full,
-                "percentage", percentage,
-                "state", state,
-                NULL);
-
   if (!on_ups && n_batteries > 1)
     set_primary (self, composite);
 
-- 
1.8.4

++++++ gnome-control-center-upower-fix-build.patch ++++++
>From ceafe6f4c51452b731c165808eebc8334bf58df9 Mon Sep 17 00:00:00 2001
From: Bastien Nocera <had...@hadess.net>
Date: Thu, 17 Oct 2013 16:52:36 +0200
Subject: [PATCH] power: Fix build

up_client_enumerate_devices_sync() was removed.

https://bugzilla.gnome.org/show_bug.cgi?id=710393
---
 panels/power/cc-power-panel.c | 12 ------------
 1 file changed, 12 deletions(-)

diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index cab6b4a..fccc994 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -1095,22 +1095,11 @@ static void
 set_ac_battery_ui_mode (CcPowerPanel *self)
 {
   gboolean has_batteries = FALSE;
-  gboolean ret;
-  GError *error = NULL;
   GPtrArray *devices;
   guint i;
   UpDevice *device;
   UpDeviceKind kind;
 
-  /* this is sync, but it's cached in the daemon and so quick */
-  ret = up_client_enumerate_devices_sync (self->priv->up_client, NULL, &error);
-  if (!ret)
-    {
-      g_warning ("failed to get device list: %s", error->message);
-      g_error_free (error);
-      goto out;
-    }
-
   devices = up_client_get_devices (self->priv->up_client);
   g_debug ("got %d devices from upower\n", devices->len);
 
@@ -1131,7 +1120,6 @@ set_ac_battery_ui_mode (CcPowerPanel *self)
   has_batteries = FALSE;
 #endif
 
-out:
   self->priv->has_batteries = has_batteries;
 
   gtk_widget_set_visible (self->priv->critical_battery_row, has_batteries);
-- 
1.8.4

++++++ gnome-control-center-upower-icons.patch ++++++
>From 63bf77196ec880ba7d013d8e5329656adc0b1c3e Mon Sep 17 00:00:00 2001
From: Bastien Nocera <had...@hadess.net>
Date: Thu, 17 Oct 2013 16:51:31 +0200
Subject: [PATCH] power: Use icons from UPower

https://bugzilla.gnome.org/show_bug.cgi?id=710393
---
 panels/power/cc-power-panel.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/panels/power/cc-power-panel.c b/panels/power/cc-power-panel.c
index d9d09b3..cab6b4a 100644
--- a/panels/power/cc-power-panel.c
+++ b/panels/power/cc-power-panel.c
@@ -382,6 +382,7 @@ add_battery (CcPowerPanel *panel, UpDevice *device)
   GtkWidget *widget;
   gchar *s;
   gchar *native_path;
+  gchar *icon_name;
   const gchar *name;
 
   g_object_get (device,
@@ -389,6 +390,7 @@ add_battery (CcPowerPanel *panel, UpDevice *device)
                 "state", &state,
                 "percentage", &percentage,
                 "native-path", &native_path,
+                "icon-name", &icon_name,
                 NULL);
 
   if (native_path && strstr (native_path, "BAT0"))
@@ -412,10 +414,9 @@ add_battery (CcPowerPanel *panel, UpDevice *device)
   gtk_box_pack_start (GTK_BOX (box), box2, FALSE, TRUE, 0);
 
 #if 1
-  if (state == UP_DEVICE_STATE_DISCHARGING ||
-      state == UP_DEVICE_STATE_CHARGING)
+  if (icon_name != NULL && *icon_name != '\0')
     {
-      widget = gtk_image_new_from_icon_name ("battery-good-charging-symbolic", 
GTK_ICON_SIZE_BUTTON);
+      widget = gtk_image_new_from_icon_name (icon_name, GTK_ICON_SIZE_BUTTON);
       gtk_style_context_add_class (gtk_widget_get_style_context (widget), 
GTK_STYLE_CLASS_DIM_LABEL);
       gtk_widget_set_halign (widget, GTK_ALIGN_END);
       gtk_widget_set_valign (widget, GTK_ALIGN_CENTER);
@@ -455,6 +456,7 @@ add_battery (CcPowerPanel *panel, UpDevice *device)
   gtk_widget_show_all (row);
 
   g_free (native_path);
+  g_free (icon_name);
 
   gtk_widget_set_visible (priv->battery_section, TRUE);
 }
-- 
1.8.4

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to