Hello community,

here is the log from the commit of package gnome-control-center.1618 for 
openSUSE:12.2:Update checked in at 2013-05-02 14:48:09
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/gnome-control-center.1618 (Old)
 and      /work/SRC/openSUSE:12.2:Update/.gnome-control-center.1618.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "gnome-control-center.1618"

Changes:
--------
New Changes file:

--- /dev/null   2013-04-05 00:01:41.916011506 +0200
+++ 
/work/SRC/openSUSE:12.2:Update/.gnome-control-center.1618.new/gnome-control-center.changes
  2013-05-02 14:48:10.000000000 +0200
@@ -0,0 +1,3624 @@
+-------------------------------------------------------------------
+Sat Apr 20 02:49:07 UTC 2013 - [email protected]
+
+- Reenable finegrained-tz-polkit.patch and rebase 
+  use-gnome-settings-daemon-for-datetime.patch against it 
+
+-------------------------------------------------------------------
+Tue Feb 26 00:58:55 UTC 2013 - [email protected]
+
+- Add use-gnome-settings-daemon-for-datetime.patch: g-c-c 3.4
+  relies on timedated to handle datetime, but this is broken in
+  12.2 in various ways so we should use the old g-s-d interface
+  instead; resolves broken timezone and NTP settings (bnc#796055);
+  note this depends on a companion patch to g-s-d
+- Disable fine-grained-tz-polkit.patch: we must now use the polkit
+  permissions provided by g-s-d, and no equivalent fine-grained
+  timezone privilege exists.
+- Update to v3.4.3.1; fixes new to openSUSE include:
+  + Shell:
+    - Don't handle Ctrl+Alt+W the same way as Ctrl+W.
+  + Bluetooth:
+    - Fix setting DUN/PAN networks not working
+  + Display:
+    - Don't add an impossible resolution when using clone mode
+  + Region:
+    - Avoid crash when searching for languages
+  + Wacom:
+    - Make "Calibrate" button insensitive if there is no screen
+      match
+    - Hide "Map Buttons" button if no pad is found
+    - Make sure the dialogues go away when unplugging the tablet
+    - Update the UI when a new tool appears
+    - Fix crasher using link to display panel
+    - Cancel calibration if window loses focus
+  + Brightness & Lock:
+    - Avoid crash when getting out of the panel quickly
+  + User Accounts:
+    - Fix memory leak of GtkBuilder
+    - Make the "Create" button insensitive until some data is
+      entered
+  + Online Accounts:
+    - Don't show spurious "No online accounts configured"
+    - Fix crash when switching from panel to shell and back
+- Drop the following patches for issues fixed in v3.4.3:
+  + fix-crash-on-hidden-ssid.patch
+  + fix-screen-brightness.patch
+  + shortcut-assignment-fixes.patch
+  + allow-wallpapers-with-weird-names.patch
+  + bnc776975-display-mouse-events.patch
+
+-------------------------------------------------------------------
+Sat Feb 16 17:20:54 UTC 2013 - [email protected]
+
+- Add gnome-control-center-minimal-password-dialog.patch
+  + Remove the random password generator, which cannot work in 12.2
+    since it calls apg, which we do not package (bnc#779414)
+  + Remove password "hint to nowhere" that gdm no longer displays
+    (bnc#796932)
+- Add gnome-control-center-remove-password-options.patch
+  + For 12.2, remove 'choose password at next login' and 'log in
+    without password' options as these conflict with our PAM and
+    make it impossible to log in (bnc#796932).
+- Add gnome-control-center-password-must-change.patch
+  + Disallow setting password to be the same as it used to be, to
+    avoid a hang (bnc#779413).
+
+-------------------------------------------------------------------
+Tue Dec 11 04:24:37 UTC 2012 - [email protected]
+
+- Add gnome-control-center-bnc776975-display-mouse-events.patch
+  to fix mouse events in the display preview widget
+  (bnc#776975 bgo#681475)
+
+-------------------------------------------------------------------
+Thu Aug  2 13:50:51 UTC 2012 - [email protected]
+
+- Add gnome-control-center-fix-screen-brightness.patch to fix
+  screen brightness slider not picking up the right value when
+  brightness is changed by some other means, e.g., Function keys
+  (bgo#662117, bnc#774190); patch came from upstream git and was
+  rebased to current version
+- Add gnome-control-center-shortcut-assignment-fixes.patch to fix
+  user not being able to re-assign previously assigned shortcuts
+  like Ctrl+Q, etc (bgo#675475, bgo#671448); patch came from
+  upstream git
+- Add gnome-control-center-allow-wallpapers-with-weird-names.patch
+  to allow setting wallpapers with weird names involving special
+  characters (bgo#673015); patch came from upstream git.
+
+-------------------------------------------------------------------
+Wed Jul 18 06:04:12 UTC 2012 - [email protected]
+
+- Add gnome-control-center-probe-radius-server-cert.patch to probe
+  the certificate of the RADIUS server (bnc#574266, bnc#771185)
+- Add gnome-control-center-fix-crash-on-hidden-ssid.patch to fix
+  crash when the network panel receives a hidden ssid.
+
+-------------------------------------------------------------------
+Sun Jul  1 18:54:43 UTC 2012 - [email protected]
+
+- No longer pass --with-libsocialweb to configure:
+  It is used to enable the Flickr background image integration, but
+  is not functional. So instead of offering a feature that does not
+  work, it's cleaner to not offer the feature (bnc#732690).
+- Drop pkgconfig(libsocialweb-client) BuildRequires, which was
+  only used to provide the integration above.
+
+-------------------------------------------------------------------
+Thu Jun 28 21:20:55 UTC 2012 - [email protected]
+
+- Add gcc-private-connection.patch: network: create private
+  connections if the user if not authorized [bnc#751211].
+- Add call to gnome-autogen.sh in setup section.
+
+-------------------------------------------------------------------
+Fri May 25 12:20:40 UTC 2012 - [email protected]
+
+- Add gnome-control-center-fine-grained-tz-polkit.patch: do not
+  require the privilege to change the time to change the timezone.
+  In the default configuration, this makes it possible to change
+  the timezone without authentication. Fix bnc#749453.
+
+-------------------------------------------------------------------
+Tue May 15 13:59:35 UTC 2012 - [email protected]
+
+- Update to version 3.4.2:
+  + Info:
+    - Ignore NFS and removable mounts when calculating disk size
+  + Updated translations.
+
+-------------------------------------------------------------------
+Tue Apr 17 06:42:06 UTC 2012 - [email protected]
+
+- Update to version 3.4.1:
+  + Display:
+    - Fix translation of the rotation drop-down
+  + Printers:
+    - Use PrinterAddOption method to set media size
+  + User Accounts:
+    - Make controls insensitive when a user is not selected
+  + Wacom:
+    - Fix alignment of the "Map to Monitor..." button
+  + Updated translations.
+
+-------------------------------------------------------------------
+Sun Apr  1 14:15:28 UTC 2012 - [email protected]
+
+- Change /usr/bin/glxinfo Recommends to Mesa-demo-x Requires. Since
+  bnc#748373 has been resolved, we can require the real package
+  again.
+
+-------------------------------------------------------------------
+Mon Mar 26 17:37:25 UTC 2012 - [email protected]
+
+- Update to version 3.4.0:
+  + Network:
+    - Fix a crash by disconnecting idle sources
+  + Printers:
+    - Fix crash in actualize_printers_list
+  + Updated translations.
+
+-------------------------------------------------------------------
+Mon Mar 19 21:00:38 UTC 2012 - [email protected]
+
+- Update to version 3.3.92:
+  + Common:
+    - Add missing git.mk to two panels.
+  + Color:
+    - Do not select the device in the treeview if it changes.
+    - Don't allow the user to add existing profiles to devices.
+    - Prevent a crash when hotplugging monitors when the color
+      panel is open.
+  + Date Time:
+    - Fix broken time setting on 32-bit machines.
+  + Display:
+    - Simplify add_key() calls and function.
+    - Sort resolutions by width first.
+    - Use symbolic name.
+  + Mouse:
+    - Don't enable two-finger scrolling based on width.
+  + Region:
+    - Don't make the dialogue overly wide.
+    - Fix possible crasher with empty layout.
+  + Universal Access:
+    - Hide zoom options when not in shell.
+  + User Accounts:
+    - Minimum of 200 width for the users list.
+  + Updated translations.
+
+-------------------------------------------------------------------
+Tue Mar  6 19:10:44 UTC 2012 - [email protected]
+
+- Update to version 3.3.91:
+  + Color:
+    - Layout fixes
+    - Ensure the "Set profile system-wide" button is visible
+  + Display:
++++ 3427 more lines (skipped)
++++ between /dev/null
++++ and 
/work/SRC/openSUSE:12.2:Update/.gnome-control-center.1618.new/gnome-control-center.changes

New:
----
  gcc-private-connection.patch
  gnome-control-center-3.4.3.1.tar.xz
  gnome-control-center-allow-yast-in-shell.patch
  gnome-control-center-fine-grained-tz-polkit.patch
  gnome-control-center-hide-region-system-tab.patch
  gnome-control-center-minimal-password-dialog.patch
  gnome-control-center-password-must-change.patch
  gnome-control-center-probe-radius-server-cert.patch
  gnome-control-center-remove-password-options.patch
  gnome-control-center-system-proxy-configuration.patch
  gnome-control-center-use-gnome-settings-daemon-for-datetime.patch
  gnome-control-center.changes
  gnome-control-center.spec

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

Other differences:
------------------
++++++ gnome-control-center.spec ++++++
#
# spec file for package gnome-control-center
#
# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


# We cannot enable systemd support right now, as it is exclusive and means we
# lose ConsoleKit support (bad for sysvinit)
%define with_systemd 0

Name:           gnome-control-center
Version:        3.4.3.1
Release:        0
# FIXME: in 12.2 and later, check if we still need patch2 
(gnome-control-center-hide-region-system-tab.patch) (see bnc#703833)
Summary:        The GNOME Control Center
License:        GPL-2.0+
Group:          System/GUI/GNOME
Url:            http://www.gnome.org
Source:         
http://download.gnome.org/sources/gnome-control-center/3.4/%{name}-%{version}.tar.xz
# PATCH-FEATURE-OPENSUSE gnome-control-center-allow-yast-in-shell.patch 
[email protected] -- Allow the launch of the yast shell from the g-c-c shell; 
it's quite ugly, but on the other hand, we don't want to change the behavior of 
the shell except for yast...
Patch0:         gnome-control-center-allow-yast-in-shell.patch
# PATCH-HACK-OPENSUSE gnome-control-center-hide-region-system-tab.patch 
[email protected] -- Hide system tab in region panel until we really use the 
right files for system settings (see bnc#703833)
Patch2:         gnome-control-center-hide-region-system-tab.patch
# PATCH-FIX-UPSTREAM gnome-control-center-fine-grained-tz-polkit.patch 
bgo#646185 bnc#749453 [email protected] -- Allow changing timezone without 
requiring privileges to change time
Patch3:         gnome-control-center-fine-grained-tz-polkit.patch
# PATCH-HACK-OPENSUSE 
gnome-control-center-use-gnome-settings-daemon-for-datetime.patch bnc#796055 
[email protected] -- datetime: use gnome-settings-daemon datetime module 
instead of timedated until timedated works properly on openSUSE, a patch is 
added to g-s-d to provide this modules
Patch4:         
gnome-control-center-use-gnome-settings-daemon-for-datetime.patch
# PATCH-NEEDS-REBASE gnome-control-center-system-proxy-configuration.patch -- 
this needs to be reimplemented to be more distro-generic before submitting 
upstream - docs at http://en.opensuse.org/GNOME/Proxy_configuration (was 
PATCH-FEATURE-OPENSUSE)
Patch14:        gnome-control-center-system-proxy-configuration.patch
# PATCH-FIX-UPSTREAM gcc-private-connection.patch bnc#751211 bgo#646187 
[email protected] -- network: create private connections if the user if not 
authorized.
Patch15:        gcc-private-connection.patch
# PATCH-FIX-UPSTREAM gnome-control-center-probe-radius-server-cert.patch 
bnc#574266 [email protected] -- network: Probe the RADIUS server certificate
Patch16:        gnome-control-center-probe-radius-server-cert.patch
# PATCH-FIX-OPENSUSE bnc#779413 bgo#691265 [email protected] -- Don't 
allow nonsensical password change that will cause a hang, belongs upstream but 
not accepted yet
Patch22:        gnome-control-center-password-must-change.patch
# PATCH-FIX-OPENSUSE bnc#779414 bnc#796932 [email protected] -- Hide 
random password and password hint options
Patch23:        gnome-control-center-minimal-password-dialog.patch
# PATCH-HACK-OPENSUSE bnc#779408 [email protected] -- These conflict 
with our current PAM policy
Patch24:        gnome-control-center-remove-password-options.patch
BuildRequires:  cups-devel
BuildRequires:  desktop-file-utils
BuildRequires:  fdupes
BuildRequires:  gnome-common
BuildRequires:  intltool
BuildRequires:  translation-update-upstream
BuildRequires:  update-desktop-files
BuildRequires:  pkgconfig(cheese)
BuildRequires:  pkgconfig(cheese-gtk) >= 3.3.5
BuildRequires:  pkgconfig(colord)
BuildRequires:  pkgconfig(fontconfig)
BuildRequires:  pkgconfig(gconf-2.0)
BuildRequires:  pkgconfig(gdk-pixbuf-2.0)
BuildRequires:  pkgconfig(glib-2.0) >= 2.31.0
BuildRequires:  pkgconfig(gnome-bluetooth-1.0) >= 3.3.4
BuildRequires:  pkgconfig(gnome-desktop-3.0) >= 3.1.91
BuildRequires:  pkgconfig(gnome-settings-daemon) >= 3.3.91
BuildRequires:  pkgconfig(goa-1.0)
BuildRequires:  pkgconfig(goa-backend-1.0)
BuildRequires:  pkgconfig(gsettings-desktop-schemas) >= 3.3.0
BuildRequires:  pkgconfig(gstreamer-0.10)
BuildRequires:  pkgconfig(gtk+-3.0) >= 3.3.5
BuildRequires:  pkgconfig(iso-codes)
BuildRequires:  pkgconfig(libcanberra-gtk3)
BuildRequires:  pkgconfig(libgnome-menu-3.0)
BuildRequires:  pkgconfig(libgnomekbd)
BuildRequires:  pkgconfig(libgnomekbdui)
BuildRequires:  pkgconfig(libgtop-2.0)
BuildRequires:  pkgconfig(libnm-glib) >= 0.8.992
BuildRequires:  pkgconfig(libnm-gtk) >= 0.8.992
BuildRequires:  pkgconfig(libnotify) >= 0.7.3
BuildRequires:  pkgconfig(libpulse)
BuildRequires:  pkgconfig(libpulse-mainloop-glib)
%if %{with_systemd}
BuildRequires:  pkgconfig(libsystemd-login)
%endif
BuildRequires:  pkgconfig(libwacom) >= 0.3
BuildRequires:  pkgconfig(libxklavier)
BuildRequires:  pkgconfig(libxml-2.0)
BuildRequires:  pkgconfig(polkit-gobject-1) >= 0.103
BuildRequires:  pkgconfig(upower-glib)
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xcursor)
BuildRequires:  pkgconfig(xft)
BuildRequires:  pkgconfig(xi) >= 1.2
# dbus-glib-1 needed for 
gnome-control-center-use-gnome-settings-daemon-for-datetime.patch
BuildRequires:  pkgconfig(dbus-glib-1)
Requires:       %{name}-branding = %{version}
# needed for glxinfo, used by System info panel
Requires:       Mesa-demo-x
# needed for printers panel
Requires:       cups-pk-helper
Requires:       gnome-menus
Requires:       gnome-settings-daemon
# needed for universal access panel
Requires:       gnome-themes-accessibility
Requires:       gnome-version
Requires:       iso-codes
Requires:       nautilus
Recommends:     %{name}-lang
Recommends:     %{name}-user-faces
Recommends:     apg
# the printers panel can use the dbus service
Recommends:     system-config-printer-dbus-service
Provides:       acme
Provides:       fontilus
Provides:       themus
Obsoletes:      acme
Obsoletes:      fontilus
Obsoletes:      themus
Provides:       control-center2 = 2.22.1
Obsoletes:      control-center2 < 2.22.1
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
%glib2_gsettings_schema_requires

%description
The control center is GNOME's main interface for configuration of
various aspects of your desktop.

%package branding-upstream
Summary:        The GNOME Control Center -- Upstream Definition of Shell Content
Group:          System/GUI/GNOME
Requires:       %{name} = %{version}
Supplements:    packageand(%{name}:branding-upstream)
Provides:       %{name}-branding = %{version}
Conflicts:      otherproviders(%{name}-branding)
BuildArch:      noarch
#BRAND: This package contains the definitions of the content appearing
#BRAND: in the shell (/etc/xdg/menus/gnomecc.menu).

%description branding-upstream
The control center is GNOME's main interface for configuration of
various aspects of your desktop.

This package provides the upstream definition of what appears in the
control center.

%package user-faces
Summary:        Login Managers user avatars
Group:          System/GUI/GNOME

%description user-faces
This package provides user avatars to be used by display managers

%package devel
Summary:        Header files for the GNOME Control Center
Group:          Development/Libraries/GNOME
Requires:       %{name} = %{version}
Provides:       control-center2-devel = 2.22.1
Obsoletes:      control-center2-devel < 2.22.1

%description devel
The control center is GNOME's main interface for configuration of
various aspects of your desktop.

%lang_package
%prep
%setup -q
translation-update-upstream
%patch0 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
#NEEDS-REBASE
#%patch14 -p1
%patch15 -p1
%patch16 -p1
%patch22 -p1
%patch23 -p1
%patch24 -p1

%if 0%{?BUILD_FROM_VCS}
[ -x ./autogen.sh ] && NOCONFIGURE=1 ./autogen.sh
%else
NOCONFIGURE=1 gnome-autogen.sh
%endif

%build
%configure --with-pic\
%if %{with_systemd}
        --enable-systemd\
%endif
        --disable-static\
        --disable-maintainer-mode
make %{?_smp_mflags} V=1

%install
%make_install
%if 0%{?suse_version} <= 1120
rm %{buildroot}%{_datadir}/locale/en@shaw/LC_MESSAGES/*
%endif
find %{buildroot} -type f -name "*.la" -delete -print
%find_lang %{name}-2.0 %{?no_lang_C}
%find_lang %{name}-2.0-timezones %{name}-2.0.lang
%suse_update_desktop_file gnome-control-center
%suse_update_desktop_file gnome-sound-applet
# capplets
%suse_update_desktop_file gnome-background-panel 
X-SuSE-ControlCenter-LookAndFeel
%suse_update_desktop_file gnome-color-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-datetime-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-display-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-info-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file gnome-keyboard-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-mouse-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-network-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-online-accounts-panel 
X-SuSE-ControlCenter-Personal
%suse_update_desktop_file gnome-power-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-printers-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-region-panel X-SuSE-ControlCenter-Personal
%suse_update_desktop_file gnome-screen-panel X-SuSE-ControlCenter-LookAndFeel
%suse_update_desktop_file gnome-sound-panel X-SuSE-ControlCenter-Hardware
%suse_update_desktop_file gnome-universal-access-panel 
X-SuSE-ControlCenter-Personal
%suse_update_desktop_file gnome-user-accounts-panel 
X-SuSE-ControlCenter-Personal
%suse_update_desktop_file gnome-wacom-panel X-SuSE-ControlCenter-Hardware
%fdupes %{buildroot}

%clean
rm -rf %{buildroot}

%post
%glib2_gsettings_schema_post
%desktop_database_post
%icon_theme_cache_post

%postun
%glib2_gsettings_schema_postun
%desktop_database_postun
%icon_theme_cache_postun

%files
%defattr(-,root,root)
%doc AUTHORS COPYING ChangeLog NEWS README TODO
%{_bindir}/*
%{_sysconfdir}/xdg/autostart/*.desktop
%{_libdir}/control-center-1/
%{_datadir}/applications/*.desktop
%{_datadir}/desktop-directories/*.directory
%{_datadir}/gnome-control-center/
%{_datadir}/icons/hicolor/*/*/*.png
%{_datadir}/icons/hicolor/*/*/*.svg
# Removed for gnome-control-center-use-gnome-settings-daemon-for-datetime.patch
#%{_datadir}/polkit-1/actions/org.gnome.controlcenter.datetime.policy
%dir %{_datadir}/sounds/gnome
%dir %{_datadir}/sounds/gnome/default
%dir %{_datadir}/sounds/gnome/default/alerts
%{_datadir}/sounds/gnome/default/alerts/*.ogg

%files branding-upstream
%defattr (-, root, root)
%{_sysconfdir}/xdg/menus/gnomecc.menu

%files lang -f %{name}-2.0.lang

%files user-faces
%defattr (-, root, root)
%{_datadir}/pixmaps/faces/

%files devel
%defattr (-, root, root)
%{_datadir}/pkgconfig/gnome-keybindings.pc

%changelog
++++++ gcc-private-connection.patch ++++++
>From 92c236ea488f8d774a876f1e6ece410b5c920173 Mon Sep 17 00:00:00 2001
From: Gary Ching-Pang Lin <[email protected]>
Date: Tue, 14 Feb 2012 18:41:51 +0800
Subject: [PATCH] network: create private connections if the user if not
 authorized

This commit checks whether the polkit policy allows the user to
create a system connection without authentication. If not, create
private connections.

https://bugzilla.gnome.org/show_bug.cgi?id=646187
---
 configure.ac                      |    3 +-
 panels/network/cc-network-panel.c |   72 ++++++++++++++++++++++++++++++++++++-
 panels/network/cc-network-panel.h |    2 +
 panels/network/network-dialogs.c  |   16 ++++++++
 4 files changed, 91 insertions(+), 2 deletions(-)

Index: gnome-control-center-3.4.2/configure.ac
===================================================================
--- gnome-control-center-3.4.2.orig/configure.ac
+++ gnome-control-center-3.4.2/configure.ac
@@ -105,7 +105,8 @@ PKG_CHECK_MODULES(KEYBOARD_PANEL, $COMMO
 PKG_CHECK_MODULES(MEDIA_PANEL, $COMMON_MODULES)
 PKG_CHECK_MODULES(MOUSE_PANEL, $COMMON_MODULES xi >= 1.2
                   gnome-settings-daemon >= $GSD_REQUIRED_VERSION x11)
-PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON_MODULES)
+PKG_CHECK_MODULES(NETWORK_PANEL, $COMMON_MODULES
+                  polkit-gobject-1 >= $POLKIT_REQUIRED_VERSION)
 PKG_CHECK_MODULES(ONLINE_ACCOUNTS_PANEL, $COMMON_MODULES goa-1.0 
goa-backend-1.0)
 PKG_CHECK_MODULES(POWER_PANEL, $COMMON_MODULES upower-glib >= 0.9.1
                   gnome-settings-daemon >= $GSD_REQUIRED_VERSION)
Index: gnome-control-center-3.4.2/panels/network/cc-network-panel.c
===================================================================
--- gnome-control-center-3.4.2.orig/panels/network/cc-network-panel.c
+++ gnome-control-center-3.4.2/panels/network/cc-network-panel.c
@@ -24,6 +24,8 @@
 #include <netinet/ether.h>
 #include <stdlib.h>
 
+#include <polkit/polkit.h>
+
 #include "cc-network-panel.h"
 
 #include "nm-remote-settings.h"
@@ -85,6 +87,9 @@ struct _CcNetworkPanelPrivate
         gchar            *arg_device;
         gchar            *arg_access_point;
         gboolean          operation_done;
+
+        /* polkit authentication check */
+        gboolean          default_private;
 };
 
 enum {
@@ -2827,8 +2832,10 @@ wireless_ap_changed_cb (GtkComboBox *com
         NetObject *object;
         NMConnection *connection;
         NMConnection *connection_activate = NULL;
+       NMConnection *partial = NULL;
         NMDevice *device;
         NMSettingWireless *setting_wireless;
+       NMSettingConnection *setting_con;
 
         if (panel->priv->updating_device)
                 goto out;
@@ -2897,8 +2904,17 @@ wireless_ap_changed_cb (GtkComboBox *com
         /* create one, as it's missing */
         g_debug ("no existing connection found for %s, creating",
                  ssid_target);
+        if (panel->priv->default_private) {
+                partial = nm_connection_new ();
+                setting_con = nm_setting_connection_new ();
+                nm_connection_add_setting (partial, NM_SETTING (setting_con));
+                nm_setting_connection_add_permission (setting_con,
+                                                      "user",
+                                                      g_get_user_name(),
+                                                      NULL);
+        }
         nm_client_add_and_activate_connection (panel->priv->client,
-                                               NULL,
+                                               partial,
                                                device, object_path,
                                                connection_add_activate_cb, 
panel);
 out:
@@ -3150,6 +3166,11 @@ start_shared_connection (CcNetworkPanel
                       "id", "Hotspot",
                       "autoconnect", FALSE,
                       NULL);
+        if (panel->priv->default_private)
+                nm_setting_connection_add_permission (sc,
+                                                      "user",
+                                                      g_get_user_name(),
+                                                      NULL);
         nm_connection_add_setting (c, (NMSetting *)sc);
 
         sw = (NMSettingWireless *)nm_setting_wireless_new ();
@@ -3373,6 +3394,24 @@ network_add_shell_header_widgets_cb (gpo
 }
 
 static void
+check_authorization_cb (PolkitAuthority *authority,
+                        GAsyncResult *res,
+                        gpointer user_data)
+{
+        PolkitAuthorizationResult *result;
+        CcNetworkPanel *panel = user_data;
+        GError *error = NULL;
+
+        result = polkit_authority_check_authorization_finish (authority, res, 
&error);
+        if (error != NULL) {
+                g_warning ("Failed to check authorization: %s", 
error->message);
+                g_error_free (error);
+        } else if (polkit_authorization_result_get_is_authorized (result)) {
+                panel->priv->default_private = FALSE;
+        }
+}
+
+static void
 cc_network_panel_init (CcNetworkPanel *panel)
 {
         DBusGConnection *bus = NULL;
@@ -3387,6 +3426,9 @@ cc_network_panel_init (CcNetworkPanel *p
         GtkTreeSortable *sortable;
         GtkWidget *widget;
         GtkWidget *toplevel;
+        PolkitSubject    *subject;
+        PolkitAuthority  *authority;
+        PolkitAuthorizationResult *result;
 
         panel->priv = NETWORK_PANEL_PRIVATE (panel);
 
@@ -3666,6 +3708,28 @@ cc_network_panel_init (CcNetworkPanel *p
 
         /* add kill switch widgets when dialog activated */
         panel->priv->add_header_widgets_idle = g_idle_add 
(network_add_shell_header_widgets_cb, panel);
+
+       /* check the polkit authentication */
+       panel->priv->default_private = TRUE;
+       authority = polkit_authority_get_sync (NULL, NULL);
+       subject = polkit_unix_process_new (getpid ());
+       result = polkit_authority_check_authorization_sync (authority,
+                                                           subject,
+                                                           
"org.freedesktop.NetworkManager.settings.modify.system",
+                                                           NULL,
+                                                           
POLKIT_CHECK_AUTHORIZATION_FLAGS_NONE,
+                                                           NULL,
+                                                           &error);
+       if (error || !result) {
+               g_warning ("Failed to check polkit authorization! %s",
+                               error->message);
+               g_clear_error (&error);
+       } else if (polkit_authorization_result_get_is_authorized (result)) {
+               panel->priv->default_private = FALSE;
+       }
+       g_object_unref (result);
+       g_object_unref (authority);
+       g_object_unref (subject);
 }
 
 void
@@ -3676,3 +3740,9 @@ cc_network_panel_register (GIOModule *mo
                                         CC_TYPE_NETWORK_PANEL,
                                         "network", 0);
 }
+
+gboolean
+cc_network_panel_get_default_private (CcNetworkPanel *panel)
+{
+        return panel->priv->default_private;
+}
Index: gnome-control-center-3.4.2/panels/network/cc-network-panel.h
===================================================================
--- gnome-control-center-3.4.2.orig/panels/network/cc-network-panel.h
+++ gnome-control-center-3.4.2/panels/network/cc-network-panel.h
@@ -67,6 +67,8 @@ GType cc_network_panel_get_type (void) G
 
 void  cc_network_panel_register (GIOModule *module);
 
+gboolean cc_network_panel_get_default_private (CcNetworkPanel *panel);
+
 G_END_DECLS
 
 #endif /* _CC_NETWORK_PANEL_H */
Index: gnome-control-center-3.4.2/panels/network/network-dialogs.c
===================================================================
--- gnome-control-center-3.4.2.orig/panels/network/network-dialogs.c
+++ gnome-control-center-3.4.2/panels/network/network-dialogs.c
@@ -41,6 +41,7 @@ typedef struct {
         NMClient *client;
         NMRemoteSettings *settings;
         NMDevice *device;
+        gboolean default_private;
 } MobileDialogClosure;
 
 static void
@@ -288,6 +289,8 @@ cc_network_panel_connect_to_8021x_networ
         uuid = nm_utils_uuid_generate ();
         g_object_set (s_con, NM_SETTING_CONNECTION_UUID, uuid, NULL);
         g_free (uuid);
+        if (cc_network_panel_get_default_private (panel))
+                nm_setting_connection_add_permission (s_con, "user", 
g_get_user_name(), NULL);
         nm_connection_add_setting (connection, NM_SETTING (s_con));
 
         s_wifi = (NMSettingWireless *) nm_setting_wireless_new ();
@@ -345,6 +348,7 @@ cdma_mobile_wizard_done (NMAMobileWizard
        if (!canceled && method) {
                NMSetting *setting;
                char *uuid, *id;
+               MobileDialogClosure *closure = user_data;
 
                if (method->devtype != NM_DEVICE_MODEM_CAPABILITY_CDMA_EVDO) {
                        g_warning ("Unexpected device type (not CDMA).");
@@ -388,6 +392,11 @@ cdma_mobile_wizard_done (NMAMobileWizard
                              NULL);
                g_free (uuid);
                g_free (id);
+               if (closure->default_private)
+                       nm_setting_connection_add_permission 
((NMSettingConnection *)setting,
+                                                             "user",
+                                                              
g_get_user_name(),
+                                                             NULL);
                nm_connection_add_setting (connection, setting);
        }
 
@@ -407,6 +416,7 @@ gsm_mobile_wizard_done (NMAMobileWizard
        if (!canceled && method) {
                NMSetting *setting;
                char *uuid, *id;
+               MobileDialogClosure *closure = user_data;
 
                if (method->devtype != NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) {
                        g_warning ("Unexpected device type (not GSM).");
@@ -451,6 +461,11 @@ gsm_mobile_wizard_done (NMAMobileWizard
                              NULL);
                g_free (uuid);
                g_free (id);
+               if (closure->default_private)
+                       nm_setting_connection_add_permission 
((NMSettingConnection *)setting,
+                                                             "user",
+                                                              
g_get_user_name(),
+                                                             NULL);
                nm_connection_add_setting (connection, setting);
        }
 
@@ -480,6 +495,7 @@ cc_network_panel_connect_to_3g_network (
         closure->client = g_object_ref (client);
         closure->settings = g_object_ref (settings);
         closure->device = g_object_ref (device);
+        closure->default_private = cc_network_panel_get_default_private 
(panel);
 
        caps = nm_device_modem_get_current_capabilities (NM_DEVICE_MODEM 
(device));
        if (caps & NM_DEVICE_MODEM_CAPABILITY_GSM_UMTS) {
++++++ gnome-control-center-allow-yast-in-shell.patch ++++++
Index: gnome-control-center-3.2.0/shell/gnome-control-center.c
===================================================================
--- gnome-control-center-3.2.0.orig/shell/gnome-control-center.c
+++ gnome-control-center-3.2.0/shell/gnome-control-center.c
@@ -110,6 +110,39 @@ get_icon_name_from_g_icon (GIcon *gicon)
 }
 
 static void
+suse_activate_desktop (GnomeControlCenter *shell,
+                       const gchar        *id,
+                       const gchar        *desktop_file)
+{
+  GDesktopAppInfo     *appinfo;
+  GdkAppLaunchContext *context;
+  GdkScreen           *screen;
+  GdkDisplay          *display;
+  GError              *error;
+
+  appinfo = g_desktop_app_info_new_from_filename (desktop_file);
+
+  screen = gtk_widget_get_screen (shell->priv->window);
+  display = gdk_screen_get_display (screen);
+  context = gdk_display_get_app_launch_context (display);
+  gdk_app_launch_context_set_screen (context, screen);
+  gdk_app_launch_context_set_timestamp (context, gtk_get_current_event_time 
());
+
+  error = NULL;
+  g_app_info_launch_uris (G_APP_INFO (appinfo), NULL,
+                          (GAppLaunchContext *) context,
+                          &error);
+
+  if (error) {
+    g_printerr ("Could not launch '%s': %s\n", id, error->message);
+    g_clear_error (&error);
+  }
+
+  g_object_unref (context);
+  g_object_unref (appinfo);
+}
+
+static void
 activate_panel (GnomeControlCenter *shell,
                 const gchar        *id,
                const gchar       **argv,
@@ -127,6 +160,12 @@ activate_panel (GnomeControlCenter *shel
   if (!desktop_file)
     return;
 
+  if (g_strcmp0 (id, "YaST.desktop") == 0)
+    {
+       suse_activate_desktop (shell, id, desktop_file);
+       return;
+    }
+
   if (id)
     {
 
++++++ gnome-control-center-fine-grained-tz-polkit.patch ++++++
commit 4300867b7bfc4f67a0e8b273aa7d2d13973ea7ac
Author: Vincent Untz <[email protected]>
Date:   Mon Mar 12 15:31:40 2012 +0100

    datetime: Allow changing timezone without auth if action is allowed
    
    As changing the time can have security implications, while changing the
    timezone doesn't, it's not unusual to have a setup where
    org.freedesktop.timedate1.set-timezone is allowed while other
    time-related actions aren't.
    
    Therefore, if org.freedesktop.timedate1.set-timezone is allowed, there's
    no reason to require that the user unlocks the panel to enable him to
    change the timezone.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=646185

diff --git a/panels/datetime/cc-datetime-panel.c 
b/panels/datetime/cc-datetime-panel.c
index d229e94..378e0cb 100644
--- a/panels/datetime/cc-datetime-panel.c
+++ b/panels/datetime/cc-datetime-panel.c
@@ -86,6 +86,7 @@ struct _CcDateTimePanelPrivate
   GCancellable *cancellable;
 
   GPermission *permission;
+  GPermission *permission_tz;
 };
 
 static void update_time (CcDateTimePanel *self);
@@ -164,6 +165,12 @@ cc_date_time_panel_dispose (GObject *object)
       priv->permission = NULL;
     }
 
+  if (priv->permission_tz)
+    {
+      g_object_unref (priv->permission_tz);
+      priv->permission_tz = NULL;
+    }
+
   G_OBJECT_CLASS (cc_date_time_panel_parent_class)->dispose (object);
 }
 
@@ -806,19 +813,33 @@ on_permission_changed (GPermission *permission,
                        gpointer     data)
 {
   CcDateTimePanelPrivate *priv = CC_DATE_TIME_PANEL (data)->priv;
-  gboolean allowed, using_ntp;
+  gboolean allowed, allowed_tz, using_ntp;
 
   allowed = g_permission_get_allowed (permission);
+  allowed_tz = priv->permission_tz && g_permission_get_allowed 
(priv->permission_tz);
   using_ntp = gtk_switch_get_active (GTK_SWITCH (W("network_time_switch")));
 
   /* All the widgets but the lock button and the 24h setting */
-  gtk_widget_set_sensitive (W("map-vbox"), allowed);
+  gtk_widget_set_sensitive (W("map-vbox"), allowed || allowed_tz);
   gtk_widget_set_sensitive (W("hbox2"), allowed);
   gtk_widget_set_sensitive (W("alignment2"), allowed);
   update_widget_state_for_ntp (data, using_ntp);
 }
 
 static void
+on_permission_tz_changed (GPermission *permission,
+                          GParamSpec  *pspec,
+                          gpointer     data)
+{
+  CcDateTimePanelPrivate *priv = CC_DATE_TIME_PANEL (data)->priv;
+  gboolean allowed;
+
+  allowed = g_permission_get_allowed (permission) || g_permission_get_allowed 
(priv->permission);
+
+  gtk_widget_set_sensitive (W("map-vbox"), allowed);
+}
+
+static void
 update_ntp_switch_from_system (CcDateTimePanel *self)
 {
   CcDateTimePanelPrivate *priv = self->priv;
@@ -1103,6 +1124,18 @@ cc_date_time_panel_init (CcDateTimePanel *self)
   g_signal_connect (priv->permission, "notify",
                     G_CALLBACK (on_permission_changed), self);
   on_permission_changed (priv->permission, NULL, self);
+
+  priv->permission_tz = polkit_permission_new_sync 
("org.freedesktop.timedate1.set-timezone", NULL, NULL, NULL);
+  if (priv->permission_tz == NULL)
+    {
+      g_warning ("Your system does not have the '%s' PolicyKit files 
installed. Please check your installation",
+                 "org.freedesktop.timedate1.set-timezone");
+      return;
+    }
+
+  g_signal_connect (priv->permission_tz, "notify",
+                    G_CALLBACK (on_permission_tz_changed), self);
+  on_permission_tz_changed (priv->permission_tz, NULL, self);
 }
 
 void
++++++ gnome-control-center-hide-region-system-tab.patch ++++++
Index: gnome-control-center-3.2.1/panels/region/gnome-region-panel-system.c
===================================================================
--- gnome-control-center-3.2.1.orig/panels/region/gnome-region-panel-system.c
+++ gnome-control-center-3.2.1/panels/region/gnome-region-panel-system.c
@@ -415,7 +415,8 @@ setup_system (GtkBuilder *dialog)
         GDBusConnection *bus;
         GtkWidget *button;
 
-        localed_permission = polkit_permission_new_sync 
("org.freedesktop.locale1.set-locale", NULL, NULL, NULL);
+        //localed_permission = polkit_permission_new_sync 
("org.freedesktop.locale1.set-locale", NULL, NULL, NULL);
+        localed_permission = NULL;
         if (localed_permission == NULL) {
                 GtkWidget *tab_widget, *notebook;
                 int num;
++++++ gnome-control-center-minimal-password-dialog.patch ++++++
++++ 883 lines (skipped)

++++++ gnome-control-center-password-must-change.patch ++++++
>From 14f04443bb8f0ddb3bc080d275114743f15be06f Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <[email protected]>
Date: Sun, 6 Jan 2013 21:47:48 -0600
Subject: [PATCH] Don't allow setting password to old password

It hangs if you do this. bnc#779413
---
 panels/user-accounts/um-password-dialog.c |    5 +++++
 1 file changed, 5 insertions(+)

diff --git a/panels/user-accounts/um-password-dialog.c 
b/panels/user-accounts/um-password-dialog.c
index c825749..ef0a8ce 100644
--- a/panels/user-accounts/um-password-dialog.c
+++ b/panels/user-accounts/um-password-dialog.c
@@ -265,6 +265,11 @@ update_sensitivity (UmPasswordDialog *um)
                         tooltip = _("The current password is not correct");
                 }
         }
+        else if (strcmp (password, old_password) == 0) {
+                /* not localized */
+                can_change = FALSE;
+                tooltip = NULL;
+        }
         else {
                 can_change = TRUE;
                 tooltip = NULL;
-- 
1.7.10.4

++++++ gnome-control-center-probe-radius-server-cert.patch ++++++
diff --git a/panels/network/network-dialogs.c b/panels/network/network-dialogs.c
index 0e5aae1..43fc119 100644
--- a/panels/network/network-dialogs.c
+++ b/panels/network/network-dialogs.c
@@ -153,6 +153,11 @@ wireless_dialog_response_cb (GtkDialog *foo,
        g_assert (connection);
        g_assert (device);
 
+        if (nma_wireless_dialog_need_cert_probe (dialog)) {
+                nma_wireless_dialog_probe_cert (dialog);
+                return;
+        }
+
        /* Find a similar connection and use that instead */
        all = nm_remote_settings_list_connections (closure->settings);
        for (iter = all; iter; iter = g_slist_next (iter)) {
++++++ gnome-control-center-remove-password-options.patch ++++++
>From 0dab74f8f430ff3d04e1d7dc326e8442727fe58e Mon Sep 17 00:00:00 2001
From: Michael Catanzaro <[email protected]>
Date: Sat, 16 Feb 2013 11:09:11 -0600
Subject: [PATCH] Remove password options

These options conflict with our PAM policy and selecting them will
cause a user to accidentally make the account unusable. We need to
remove them for now.

bnc#779408
---
 panels/user-accounts/data/password-dialog.ui |    8 --------
 1 file changed, 8 deletions(-)

diff --git a/panels/user-accounts/data/password-dialog.ui 
b/panels/user-accounts/data/password-dialog.ui
index 833c8b0..d3a24e4 100644
--- a/panels/user-accounts/data/password-dialog.ui
+++ b/panels/user-accounts/data/password-dialog.ui
@@ -14,14 +14,6 @@
         <col id="1">0</col>
       </row>
       <row>
-        <col id="0" translatable="yes">Choose password at next login</col>
-        <col id="1">1</col>
-      </row>
-      <row>
-        <col id="0" translatable="yes">Log in without a password</col>
-        <col id="1">2</col>
-      </row>
-      <row>
         <col id="0" translatable="yes">Disable this account</col>
         <col id="1">3</col>
       </row>
-- 
1.7.10.4

++++++ gnome-control-center-system-proxy-configuration.patch ++++++
>From 067cc33aba6eeaffd4efe1d8a8e838aa1a89476a Mon Sep 17 00:00:00 2001
From: Federico Mena Quintero <[email protected]>
Date: Mon, 25 May 2009 14:38:52 -0500
Subject: [PATCH] Integrate openSUSE's network proxy configuration with GNOME's.

This is documented in http://en.opensuse.org/GNOME/Proxy_configuration

We basically add a "use system settings" proxy mode.  When it is active,
gnome-settings-daemon will read /etc/sysconfig/proxy and mirror its values
into GNOME's GConf space.

Signed-off-by: Federico Mena Quintero <[email protected]>
---
 capplets/network/gnome-network-properties.c     |  164 +++++++++++++++++------
 capplets/network/gnome-network-properties.glade |   24 +++-
 2 files changed, 143 insertions(+), 45 deletions(-)

diff --git a/capplets/network/gnome-network-properties.c 
b/capplets/network/gnome-network-properties.c
index f6ea0e6..0ea9945 100644
--- a/capplets/network/gnome-network-properties.c
+++ b/capplets/network/gnome-network-properties.c
@@ -32,19 +32,11 @@
 #include "capplet-util.h"
 #include "gconf-property-editor.h"
 
-enum ProxyMode
-{
-       PROXYMODE_NONE,
-       PROXYMODE_MANUAL,
-       PROXYMODE_AUTO
-};
-
-static GEnumValue proxytype_values[] = {
-       { PROXYMODE_NONE, "PROXYMODE_NONE", "none"},
-       { PROXYMODE_MANUAL, "PROXYMODE_MANUAL", "manual"},
-       { PROXYMODE_AUTO, "PROXYMODE_AUTO", "auto"},
-       { 0, NULL, NULL }
-};
+/* Novell extension */
+#define KEY_USE_SYSTEM_SETTINGS                        
"/system/proxy/use_system_settings"             /* string */
+#define VAL_USE_SYSTEM_SETTINGS_ONLY_IF_NOT_SET        "only_if_mode_not_set"
+#define VAL_USE_SYSTEM_SETTINGS_SYSTEM_VALUES  "system_values"
+#define VAL_USE_SYSTEM_SETTINGS_USER_VALUES    "user_values"
 
 enum {
        COL_NAME,
@@ -1019,36 +1011,58 @@ extract_proxy_host (GConfPropertyEditor *peditor, const 
GConfValue *orig)
 }
 
 static void
+set_sensitivity_based_on_active_radiobutton (GladeXML *dialog, GtkWidget 
*active_radio)
+{
+       gboolean manual_box_sensitive, auto_box_sensitive;
+
+       g_assert (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON 
(active_radio)));
+
+       manual_box_sensitive = auto_box_sensitive = FALSE;
+
+       if (active_radio == WID ("manual_radiobutton"))
+               manual_box_sensitive = TRUE;
+       else if (active_radio == WID ("auto_radiobutton"))
+               auto_box_sensitive = TRUE;
+
+       gtk_widget_set_sensitive (WID ("manual_box"), manual_box_sensitive);
+       gtk_widget_set_sensitive (WID ("same_proxy_checkbutton"), 
manual_box_sensitive);
+       gtk_widget_set_sensitive (WID ("auto_box"), auto_box_sensitive);
+}
+ 
+static void
 proxy_mode_radiobutton_clicked_cb (GtkWidget *widget,
                                   GladeXML *dialog)
 {
-       GSList *mode_group;
-       int mode;
-       GConfClient *client;
+       GConfClient *client;
 
-       if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget)))
-               return;
-
-       mode_group = g_slist_copy (gtk_radio_button_get_group
-               (GTK_RADIO_BUTTON (WID ("none_radiobutton"))));
-       mode_group = g_slist_reverse (mode_group);
-       mode = g_slist_index (mode_group, widget);
-       g_slist_free (mode_group);
-
-       gtk_widget_set_sensitive (WID ("manual_box"),
-                                 mode == PROXYMODE_MANUAL);
-       gtk_widget_set_sensitive (WID ("same_proxy_checkbutton"),
-                                 mode == PROXYMODE_MANUAL);
-       gtk_widget_set_sensitive (WID ("auto_box"),
-                                 mode == PROXYMODE_AUTO);
+       if (!gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON(widget)))
+               return;
+     
        client = gconf_client_get_default ();
-       gconf_client_set_bool (client, USE_PROXY_KEY,
-                                 mode == PROXYMODE_AUTO || mode == 
PROXYMODE_MANUAL, NULL);
-       g_object_unref (client);
+     
+       if (widget == WID ("system_radiobutton")) {
+               gconf_client_set_string (client, KEY_USE_SYSTEM_SETTINGS, 
VAL_USE_SYSTEM_SETTINGS_SYSTEM_VALUES, NULL);
+       } else if (widget == WID ("none_radiobutton")) {
+               gconf_client_set_string (client, KEY_USE_SYSTEM_SETTINGS, 
VAL_USE_SYSTEM_SETTINGS_USER_VALUES, NULL);
+               gconf_client_set_string (client, PROXY_MODE_KEY, "none", NULL);
+               gconf_client_set_bool (client, USE_PROXY_KEY, FALSE, NULL);
+       } else if (widget == WID ("manual_radiobutton")) {
+               gconf_client_set_string (client, KEY_USE_SYSTEM_SETTINGS, 
VAL_USE_SYSTEM_SETTINGS_USER_VALUES, NULL);
+               gconf_client_set_string (client, PROXY_MODE_KEY, "manual", 
NULL);
+               gconf_client_set_bool (client, USE_PROXY_KEY, TRUE, NULL);
+       } else if (widget == WID ("auto_radiobutton")) {
+               gconf_client_set_string (client, KEY_USE_SYSTEM_SETTINGS, 
VAL_USE_SYSTEM_SETTINGS_USER_VALUES, NULL);
+               gconf_client_set_string (client, PROXY_MODE_KEY, "auto", NULL);
+               gconf_client_set_bool (client, USE_PROXY_KEY, TRUE, NULL);
+       }
+     
+       set_sensitivity_based_on_active_radiobutton (dialog, widget);
+ 
+       g_object_unref (client);
 }
 
 static void
-connect_sensitivity_signals (GladeXML *dialog, GSList *mode_group)
+connect_mode_radiobuttons (GladeXML *dialog, GSList *mode_group)
 {
        for (; mode_group != NULL; mode_group = mode_group->next)
        {
@@ -1058,20 +1072,85 @@ connect_sensitivity_signals (GladeXML *dialog, GSList 
*mode_group)
        }
 }
 
+static GtkWidget *
+get_radio_for_mode (GladeXML *dialog, const char *mode_str)
+{
+       if (!mode_str)
+               return WID ("none_radiobutton");
+       else if (strcmp (mode_str, "none") == 0)
+               return WID ("none_radiobutton");
+       else if (strcmp (mode_str, "manual") == 0)
+               return WID ("manual_radiobutton");
+       else if (strcmp (mode_str, "auto") == 0)
+               return WID ("auto_radiobutton");
+       else
+               return WID ("none_radiobutton");
+}
+
+static void
+mode_set_initial_value (GladeXML *dialog, GConfClient *client)
+{
+       char *use_system_settings;
+       GConfValue *mode_value;
+       gboolean use_system_if_mode_not_set;
+       gboolean use_mode;
+       GtkWidget *radiobutton;
+ 
+       radiobutton = NULL;
+ 
+       use_system_settings = gconf_client_get_string (client, 
KEY_USE_SYSTEM_SETTINGS, NULL);
+       mode_value = gconf_client_get_without_default (client, PROXY_MODE_KEY, 
NULL);
+ 
+       use_system_if_mode_not_set = FALSE;
+       use_mode = FALSE;
+ 
+       if (!use_system_settings)
+               use_system_if_mode_not_set = TRUE;
+       else {
+               if (strcmp (use_system_settings, 
VAL_USE_SYSTEM_SETTINGS_ONLY_IF_NOT_SET) == 0)
+                       use_system_if_mode_not_set = TRUE;
+               else if (strcmp (use_system_settings, 
VAL_USE_SYSTEM_SETTINGS_SYSTEM_VALUES) == 0)
+                       radiobutton = WID ("system_radiobutton");
+               else if (strcmp (use_system_settings, 
VAL_USE_SYSTEM_SETTINGS_USER_VALUES) == 0)
+                       use_mode = TRUE;
+ 
+               g_free (use_system_settings);
+       }
+ 
+       if (use_system_if_mode_not_set) {
+               if (mode_value)
+                       use_mode = TRUE;
+               else
+                       radiobutton = WID ("system_radiobutton");
+       }
+ 
+       if (use_mode) {
+               if (!mode_value || mode_value->type != GCONF_VALUE_STRING)
+                       radiobutton = WID ("none_radiobutton");
+               else
+                       radiobutton = get_radio_for_mode (dialog, 
gconf_value_get_string (mode_value));
+       }
+ 
+       if (radiobutton) {
+               gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (radiobutton), 
TRUE);
+               set_sensitivity_based_on_active_radiobutton (dialog, 
radiobutton);
+       }
+ 
+       if (mode_value)
+               gconf_value_free (mode_value);
+}
+
 static void
 setup_dialog (GladeXML *dialog)
 {
        GConfPropertyEditor *peditor;
        GSList *mode_group;
-       GType mode_type = 0;
        GConfClient *client;
        gint port_value;
        GtkWidget *location_box;
        GtkCellRenderer *location_renderer;
        GtkListStore *store;
 
-       mode_type = g_enum_register_static ("NetworkPreferencesProxyType",
-                                           proxytype_values);
 
        /* There's a bug in peditors that cause them to not initialize the entry
         * correctly. */
@@ -1100,17 +1179,16 @@ setup_dialog (GladeXML *dialog)
                                        "style", COL_STYLE, NULL);
 
        /* Hackety hack */
+       gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID 
("system_radiobutton"))->child), TRUE);
        gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID 
("none_radiobutton"))->child), TRUE);
        gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID 
("manual_radiobutton"))->child), TRUE);
        gtk_label_set_use_markup (GTK_LABEL (GTK_BIN (WID 
("auto_radiobutton"))->child), TRUE);
 
        /* Mode */
-       mode_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (WID 
("none_radiobutton")));
-       connect_sensitivity_signals (dialog, mode_group);
+       mode_set_initial_value (dialog, client);
+       mode_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (WID 
("system_radiobutton")));
+       connect_mode_radiobuttons (dialog, mode_group);
 
-       peditor = GCONF_PROPERTY_EDITOR 
(gconf_peditor_new_select_radio_with_enum (NULL,
-                       PROXY_MODE_KEY, mode_group, mode_type,
-                       TRUE, NULL));
 
        /* Use same proxy for all protocols */
        peditor = GCONF_PROPERTY_EDITOR (gconf_peditor_new_boolean (NULL,
diff --git a/capplets/network/gnome-network-properties.glade 
b/capplets/network/gnome-network-properties.glade
index 656acb5..1147f17 100644
--- a/capplets/network/gnome-network-properties.glade
+++ b/capplets/network/gnome-network-properties.glade
@@ -130,6 +130,25 @@
              <property name="spacing">18</property>
 
              <child>
+               <widget class="GtkRadioButton" id="system_radiobutton">
+                 <property name="visible">True</property>
+                 <property name="can_focus">True</property>
+                 <property name="label" translatable="yes">&lt;b&gt;Use the 
s_ystem's proxy settings&lt;/b&gt;</property>
+                 <property name="use_underline">True</property>
+                 <property name="relief">GTK_RELIEF_NORMAL</property>
+                 <property name="focus_on_click">True</property>
+                 <property name="active">False</property>
+                 <property name="inconsistent">False</property>
+                 <property name="draw_indicator">True</property>
+               </widget>
+               <packing>
+                 <property name="padding">0</property>
+                 <property name="expand">False</property>
+                 <property name="fill">False</property>
+               </packing>
+             </child>
+
+             <child>
                <widget class="GtkRadioButton" id="none_radiobutton">
                  <property name="visible">True</property>
                  <property name="can_focus">True</property>
@@ -140,6 +159,7 @@
                  <property name="active">False</property>
                  <property name="inconsistent">False</property>
                  <property name="draw_indicator">True</property>
+                 <property name="group">system_radiobutton</property>
                </widget>
                <packing>
                  <property name="padding">0</property>
@@ -171,7 +191,7 @@
                          <property name="active">False</property>
                          <property name="inconsistent">False</property>
                          <property name="draw_indicator">True</property>
-                         <property name="group">none_radiobutton</property>
+                         <property name="group">system_radiobutton</property>
                        </widget>
                        <packing>
                          <property name="padding">0</property>
@@ -714,7 +734,7 @@
                          <property name="active">False</property>
                          <property name="inconsistent">False</property>
                          <property name="draw_indicator">True</property>
-                         <property name="group">none_radiobutton</property>
+                         <property name="group">system_radiobutton</property>
                        </widget>
                        <packing>
                          <property name="padding">0</property>
-- 
1.6.0.2

++++++ gnome-control-center-use-gnome-settings-daemon-for-datetime.patch ++++++
++++ 4676 lines (skipped)

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to