From f1e2568213da1e6bf20d0747033aba0f9bf50cc3 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Sun, 22 Jun 2008 08:46:02 +0000 Subject: support nested groups. svn path=/trunk/KDE/kdebase/runtime/; revision=822957 --- src/kreadconfig/kwriteconfig.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/kreadconfig/kwriteconfig.cpp') diff --git a/src/kreadconfig/kwriteconfig.cpp b/src/kreadconfig/kwriteconfig.cpp index 2a3be11a..b226be53 100644 --- a/src/kreadconfig/kwriteconfig.cpp +++ b/src/kreadconfig/kwriteconfig.cpp @@ -29,14 +29,14 @@ int main(int argc, char **argv) KCmdLineOptions options; options.add("file ", ki18n("Use instead of global config")); - options.add("group ", ki18n("Group to look in"), "KDE"); + options.add("group ", ki18n("Group to look in. Use repeatedly for nested groups."), "KDE"); options.add("key ", ki18n("Key to look for")); options.add("type ", ki18n("Type of variable. Use \"bool\" for a boolean, otherwise it is treated as a string")); options.add("+value", ki18n( "The value to write. Mandatory, on a shell use '' for empty" )); KCmdLineArgs::addCmdLineOptions(options); KCmdLineArgs *args=KCmdLineArgs::parsedArgs(); - QString group=args->getOption("group"); + QStringList groups=args->getOptionList("group"); QString key=args->getOption("key"); QString file=args->getOption("file"); QString type=args->getOption("type").toLower(); @@ -56,7 +56,9 @@ int main(int argc, char **argv) else konfig = new KConfig( file, KConfig::NoGlobals ); - KConfigGroup cfgGroup = konfig->group(group); + KConfigGroup cfgGroup = konfig->group(""); + foreach (const QString &grp, groups) + cfgGroup = cfgGroup.group(grp); if ( konfig->accessMode() != KConfig::ReadWrite || cfgGroup.isEntryImmutable( key ) ) return 2; if(type=="bool") { -- cgit v1.2.1