summaryrefslogtreecommitdiffstats
path: root/configmgr/source/dconf.cxx
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2015-10-21 13:47:03 +0200
committerStephan Bergmann <sbergman@redhat.com>2015-10-21 13:59:50 +0200
commitc20f48abc6a2662fec12cb7588c69ff8e3a5d7c7 (patch)
treebf961589051eb72add2e7d8a9336ef848110de45 /configmgr/source/dconf.cxx
parentIn ValueChanger, don't accidentally modify oldValue (diff)
downloadcore-c20f48abc6a2662fec12cb7588c69ff8e3a5d7c7.tar.gz
core-c20f48abc6a2662fec12cb7588c69ff8e3a5d7c7.zip
configmgr/dconf: Simplify Fleet Commander write-back mode
* Get rid of different dconf trees for reading and writing again; the one single tree is /org/libreoffice/registry/. * Trigger the special write-back mode when a file $SYSUSERCONFIG/libreoffice/dconfwrite is present; then, ignore the default user:!... entry in CONFIGURATION_LAYERS (i.e., don't use the UserInstallation's registrymodifications.xcu) and instead write changes back to the dconf tree. Change-Id: I6b4d7251851da3fe7abbc9dcb080d57b278de96b
Diffstat (limited to 'configmgr/source/dconf.cxx')
-rw-r--r--configmgr/source/dconf.cxx14
1 files changed, 6 insertions, 8 deletions
diff --git a/configmgr/source/dconf.cxx b/configmgr/source/dconf.cxx
index 192eb8bba24f..cc307e47a845 100644
--- a/configmgr/source/dconf.cxx
+++ b/configmgr/source/dconf.cxx
@@ -39,8 +39,7 @@ extern "C" {
//
// * The node hierarchy (starting at component nodes with names like
// "org.openoffice.Setup") maps to dconf paths underneath
-// "/org/libreoffice/registry/system/" resp.
-// "/org/libreoffice/registry/user/".
+// "/org/libreoffice/registry/".
//
// * Component, group, set, and localized property nodes map to dconf dirs,
// while property and localized value nodes map to dconf keys.
@@ -217,9 +216,8 @@ private:
DConfChangeset * changeset_;
};
-OString getRoot(bool system) {
- return "/org/libreoffice/registry/"
- + (system ? OStringLiteral("system") : OStringLiteral("user"));
+OString getRoot() {
+ return "/org/libreoffice/registry";
}
bool decode(OUString * string, bool slash) {
@@ -1550,7 +1548,7 @@ bool addModifications(
}
-void readLayer(Data & data, int layer, bool system) {
+void readLayer(Data & data, int layer) {
GObjectHolder<DConfClient> client(dconf_client_new());
if (client.get() == nullptr) {
SAL_WARN("configmgr.dconf", "dconf_client_new failed");
@@ -1558,7 +1556,7 @@ void readLayer(Data & data, int layer, bool system) {
}
readDir(
data, layer, rtl::Reference<Node>(), data.getComponents(), client,
- getRoot(system) + "/");
+ getRoot() + "/");
}
void writeModifications(Components & components, Data & data) {
@@ -1573,7 +1571,7 @@ void writeModifications(Components & components, Data & data) {
}
for (auto const & i: data.modifications.getRoot().children) {
if (!addModifications(
- components, cs, getRoot(false), rtl::Reference<Node>(), i.first,
+ components, cs, getRoot(), rtl::Reference<Node>(), i.first,
data.getComponents().findNode(Data::NO_LAYER, i.first),
i.second))
{