SVN commit 931254 by mjansen: Implement for KConfig::groupList the same logic used for KConfigGroups. Make sure we return all groups in groupList(). Even those existing only as parent for other groups. All tests succeed. CCMAIL: faure@kde.org CCMAIL: ossi@kde.org M +11 -8 kconfig.cpp --- trunk/KDE/kdelibs/kdecore/config/kconfig.cpp #931253:931254 @@ -213,16 +213,16 @@ QStringList KConfig::groupList() const { Q_D(const KConfig); - QStringList groups; + QSet groups; - for (KEntryMap::ConstIterator entryMapIt( d->entryMap.constBegin() ); entryMapIt != d->entryMap.constEnd(); ++entryMapIt) { - const QByteArray group = entryMapIt.key().mGroup; - if (entryMapIt.key().mKey.isNull() && !group.isEmpty() && - group != "" && group != "$Version" && !group.contains('\x1d')) - groups << QString::fromUtf8(group); - } + for (KEntryMap::ConstIterator entryMapIt( d->entryMap.constBegin() ); entryMapIt != d->entryMap.constEnd(); ++entryMapIt) + if (entryMapIt.key().mKey.isNull()) + { + QString groupname = QString::fromUtf8(entryMapIt.key().mGroup); + groups << groupname.left(groupname.indexOf('\x1d')); + } - return groups; + return groups.toList(); } QStringList KConfigPrivate::groupList(const QByteArray& group) const @@ -524,6 +524,9 @@ } if (componentData.dirs()->isRestrictedResource(resourceType, fileName)) bFileImmutable = true; + + } else { + kDebug() << "No backend" << mBackend << "or filename" << fileName; } }