commit dconf for openSUSE:Factory
Hello community, here is the log from the commit of package dconf for openSUSE:Factory checked in at 2014-06-18 07:47:48 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dconf (Old) and /work/SRC/openSUSE:Factory/.dconf.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "dconf" Changes: -------- --- /work/SRC/openSUSE:Factory/dconf/dconf.changes 2014-05-05 21:14:39.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.dconf.new/dconf.changes 2014-06-18 07:47:55.000000000 +0200 @@ -1,0 +2,14 @@ +Fri Jun 13 09:55:39 UTC 2014 - fezhang@suse.com + +- Add category X-GNOME-SystemSettings to dconf-editor.desktop so + that gnome-control-center can recongnize and show it + (bnc#866235). + +------------------------------------------------------------------- +Tue Jun 3 18:19:03 UTC 2014 - mgorse@suse.com + +- Add dconf-use-g_settings_get_default_value.patch: Display + correct default value when a custom database is in use + (bnc#873225) + +------------------------------------------------------------------- New: ---- dconf-use-g_settings_get_default_value.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dconf.spec ++++++ --- /var/tmp/diff_new_pack.LXXQt6/_old 2014-06-18 07:47:56.000000000 +0200 +++ /var/tmp/diff_new_pack.LXXQt6/_new 2014-06-18 07:47:56.000000000 +0200 @@ -25,6 +25,8 @@ Url: http://live.gnome.org/dconf Source: http://download.gnome.org/sources/dconf/0.20/%{name}-%{version}.tar.xz Source99: baselibs.conf +# PATCH-FIX-UPSTREAM dconf-use-g_settings_get_default_value.patch bnc#873225 bgo#668234 mgorse@suse.com -- Have editor display correct default value when an administrator has a custom database. +Patch0: dconf-use-g_settings_get_default_value.patch # For directory ownership BuildRequires: dbus-1 BuildRequires: docbook-xsl-stylesheets @@ -127,6 +129,7 @@ %lang_package %prep %setup -q +%patch0 -p1 %if 0%{?BUILD_FROM_VCS} [ -x ./autogen.sh ] && NOCONFIGURE=1 ./autogen.sh @@ -143,7 +146,7 @@ %install %makeinstall find %{buildroot}%{_libdir} -name '*.la' -type f -delete -print -%suse_update_desktop_file %{buildroot}%{_datadir}/applications/dconf-editor.desktop SystemSetup +%suse_update_desktop_file %{buildroot}%{_datadir}/applications/dconf-editor.desktop SystemSetup X-GNOME-SystemSettings mkdir -p %{buildroot}%{_sysconfdir}/dconf/{profile,db} %find_lang %{name} ++++++ dconf-use-g_settings_get_default_value.patch ++++++
From f6bf1516b480ceb13b54ac401b45426e4bc8ed6d Mon Sep 17 00:00:00 2001 From: Mike Gorse
Date: Thu, 1 May 2014 12:56:11 -0500 Subject: [PATCH] Use g_settings_get_default_value() to retrieve default values
GSettings now has an API to retrieve a default value, and using it is more reliable than parsing the schema ourselves. https://bugzilla.gnome.org/show_bug.cgi?id=668234 --- editor/dconf-editor.vala | 5 ++- editor/dconf-model.vala | 7 ++++- editor/dconf-schema.vala | 80 +----------------------------------------------- 3 files changed, 11 insertions(+), 81 deletions(-) diff --git a/editor/dconf-editor.vala b/editor/dconf-editor.vala index 671b9b5..467a6c6 100644 --- a/editor/dconf-editor.vala +++ b/editor/dconf-editor.vala @@ -223,7 +223,10 @@ class ConfigurationEditor : Gtk.Application if (selected_key.schema != null) { var gettext_domain = selected_key.schema.gettext_domain; + Settings settings; + schema_name = selected_key.schema.schema.id; + settings = new Settings (schema_name); if (selected_key.schema.summary != null) summary = selected_key.schema.summary; if (gettext_domain != null && summary != "") @@ -233,7 +236,7 @@ class ConfigurationEditor : Gtk.Application if (gettext_domain != null && description != "") description = dgettext(gettext_domain, description); type = key_to_description(selected_key); - default_value = selected_key.schema.default_value.print(false); + default_value = settings.get_default_value (((Key)(iter.user_data)).name).print(false); } else { diff --git a/editor/dconf-model.vala b/editor/dconf-model.vala index 8b43d60..ae25f86 100644 --- a/editor/dconf-model.vala +++ b/editor/dconf-model.vala @@ -37,6 +37,7 @@ public class Key : GLib.Object } private Variant? _value; + private Variant? _default_value; public Variant value { get @@ -45,7 +46,11 @@ public class Key : GLib.Object if (_value != null) return _value; else - return schema.default_value; + { + var settings = new Settings (schema.schema.id); + _default_value = settings.get_default_value (name); + return _default_value; + } } set { diff --git a/editor/dconf-schema.vala b/editor/dconf-schema.vala index fd35fb2..862eff3 100644 --- a/editor/dconf-schema.vala +++ b/editor/dconf-schema.vala @@ -3,7 +3,6 @@ public class SchemaKey public Schema schema; public string name; public string type; - public Variant default_value; public SchemaValueRange? range; public SchemaValueRange type_range; public List<SchemaChoice> choices; @@ -40,18 +39,7 @@ public class SchemaKey for (var child = node->children; child != null; child = child->next) { - if (child->name == "default") - { - try - { - default_value = Variant.parse(new VariantType(type), child->get_content()); - } - catch (VariantParseError e) - { - // ... - } - } - else if (child->name == "summary") + if (child->name == "summary") summary = child->get_content(); else if (child->name == "description") description = child->get_content(); @@ -129,9 +117,6 @@ public class SchemaKey else if (child->type != Xml.ElementType.TEXT_NODE && child->type != Xml.ElementType.COMMENT_NODE) warning ("Unknown child tag in <key>, <%s>", child->name); } - - //if (default_value == null) - // ? } } @@ -248,9 +233,6 @@ public class SchemaEnum else if (child->type != Xml.ElementType.TEXT_NODE && child->type != Xml.ElementType.COMMENT_NODE) warning ("Unknown tag in <enum>, <%s>", child->name); } - - //if (default_value == null) - // ? } } @@ -301,9 +283,6 @@ public class SchemaFlags else if (child->type != Xml.ElementType.TEXT_NODE && child->type != Xml.ElementType.COMMENT_NODE) warning ("Unknown tag in <flags>, <%s>", child->name); } - - //if (default_value == null) - // ? } } @@ -407,53 +386,6 @@ public class SchemaList delete doc; } - public void parse_override(string path) - { - var keyfile = new KeyFile(); - try - { - keyfile.load_from_file(path, KeyFileFlags.NONE); - } - catch (Error e) - { - warning("Failed to load override file %s: %s", path, e.message); - return; - } - - foreach (var group in keyfile.get_groups()) - { - var schema = schemas.lookup(group); - if (schema == null) - continue; - - string[] keys; - try { keys = keyfile.get_keys(group); } catch (Error e) { continue; } - - foreach (var key_name in keys) - { - string value; - try { value = keyfile.get_value(group, key_name); } catch (Error e) { continue; } - - var key = schema.keys.lookup (key_name); - if (key == null) - continue; - - Variant default_value; - try - { - default_value = Variant.parse(new VariantType(key.type), value); - } - catch (VariantParseError e) - { - // ... - continue; - } - - key.default_value = default_value; - } - } - } - public void load_directory(string dir) throws Error { var directory = File.new_for_path(dir); @@ -471,15 +403,5 @@ public class SchemaList } i = directory.enumerate_children (FileAttribute.STANDARD_NAME, 0, null); - while (true) - { - var info = i.next_file (null); - if (info == null) - break; - var name = info.get_name(); - - if (name.has_suffix(".override")) - parse_override(Path.build_filename(dir, name, null)); - } } } -- 1.8.4 -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de