From a871613f841e97c3c8ebb5518517bc9dd70b3ad5 Mon Sep 17 00:00:00 2001 From: Andrew Meadows Date: Wed, 8 Feb 2017 11:49:40 -0800 Subject: [PATCH] make Settings::remove() work for groups --- libraries/shared/src/SettingHandle.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/libraries/shared/src/SettingHandle.cpp b/libraries/shared/src/SettingHandle.cpp index a04a7c3f61..2bfc904c0a 100644 --- a/libraries/shared/src/SettingHandle.cpp +++ b/libraries/shared/src/SettingHandle.cpp @@ -28,9 +28,10 @@ QString Settings::fileName() const { } void Settings::remove(const QString& key) { - if (key == "" || _manager->contains(key)) { - _manager->remove(key); - } + // NOTE: you can't check _manager->contains(key) here because it will return 'false' + // when the key is a valid child group with child keys. + // However, calling remove() without checking will do the right thing. + _manager->remove(key); } QStringList Settings::childGroups() const { @@ -46,6 +47,7 @@ QStringList Settings::allKeys() const { } bool Settings::contains(const QString& key) const { + // NOTE: this will return 'false' if key is a valid child group with child keys. return _manager->contains(key); }