diff options
| author | David Faure <faure@kde.org> | 2014-03-16 23:30:59 +0100 | 
|---|---|---|
| committer | David Faure <faure@kde.org> | 2014-03-23 23:00:03 +0100 | 
| commit | c1980dbc51c9aa2770d09850e69529ea2211924b (patch) | |
| tree | 2bbccf3cdebbd6d1149eb1ae615c832570cfa000 /src | |
| parent | 41ccd7bcd61c478a4243165b1df0c48e2ecad0df (diff) | |
| download | kconfig-c1980dbc51c9aa2770d09850e69529ea2211924b.tar.gz kconfig-c1980dbc51c9aa2770d09850e69529ea2211924b.tar.bz2 | |
Add KCoreConfigSkeleton::read() which doesn't call reparseConfiguration.
Call it from generated singletons, since the constructor creates
a KConfig from a filename, which already loads from disk.
This removes the need for using DelayedParsing.
REVIEW: 116845
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/kcoreconfigskeleton.cpp | 7 | ||||
| -rw-r--r-- | src/core/kcoreconfigskeleton.h | 12 | ||||
| -rw-r--r-- | src/kconfig_compiler/kconfig_compiler.cpp | 4 | 
3 files changed, 20 insertions, 3 deletions
| diff --git a/src/core/kcoreconfigskeleton.cpp b/src/core/kcoreconfigskeleton.cpp index 0c1a96fa..0a9b0dfe 100644 --- a/src/core/kcoreconfigskeleton.cpp +++ b/src/core/kcoreconfigskeleton.cpp @@ -986,7 +986,7 @@ KCoreConfigSkeleton::KCoreConfigSkeleton(const QString &configname, QObject *par  {      //qDebug() << "Creating KCoreConfigSkeleton (" << (void *)this << ")"; -    d->mConfig = KSharedConfig::openConfig(configname, KConfig::FullConfig | KConfig::DelayedParsing); +    d->mConfig = KSharedConfig::openConfig(configname, KConfig::FullConfig);  }  KCoreConfigSkeleton::KCoreConfigSkeleton(KSharedConfig::Ptr pConfig, QObject *parent) @@ -1065,6 +1065,11 @@ void KCoreConfigSkeleton::readConfig()  {      // qDebug();      d->mConfig->reparseConfiguration(); +    read(); +} + +void KCoreConfigSkeleton::read() +{      KConfigSkeletonItem::List::ConstIterator it;      for (it = d->mItems.constBegin(); it != d->mItems.constEnd(); ++it) {          (*it)->readConfig(d->mConfig.data()); diff --git a/src/core/kcoreconfigskeleton.h b/src/core/kcoreconfigskeleton.h index a2b828a4..90562f45 100644 --- a/src/core/kcoreconfigskeleton.h +++ b/src/core/kcoreconfigskeleton.h @@ -1041,6 +1041,18 @@ public:      virtual void readConfig();      /** +     * Read preferences from the KConfig object. +     * This method assumes that the KConfig object was previously loaded, +     * i.e. it uses the in-memory values from KConfig without reloading from disk. +     * +     * This method calls usrReadConfig() after reading the settings of the +     * registered items from the KConfig. You can overridde usrReadConfig() +     * in derived classes if you have special requirements. +     * @since 5.0 +     */ +    void read(); + +    /**       * Set the config file group for subsequent addItem() calls. It is valid       * until setCurrentGroup() is called with a new argument. Call this before       * you add any items. The default value is "No Group". diff --git a/src/kconfig_compiler/kconfig_compiler.cpp b/src/kconfig_compiler/kconfig_compiler.cpp index 7d84cfbc..28b151c5 100644 --- a/src/kconfig_compiler/kconfig_compiler.cpp +++ b/src/kconfig_compiler/kconfig_compiler.cpp @@ -2249,7 +2249,7 @@ int main(int argc, char **argv)          } else {              cpp << "  if (!s_global" << cfg.className << "()->q) {" << endl;              cpp << "    new " << cfg.className << ';' << endl; -            cpp << "    s_global" << cfg.className << "()->q->readConfig();" << endl; +            cpp << "    s_global" << cfg.className << "()->q->read();" << endl;              cpp << "  }" << endl << endl;          }          cpp << "  return s_global" << cfg.className << "()->q;" << endl; @@ -2263,7 +2263,7 @@ int main(int argc, char **argv)              cpp << "     return;" << endl;              cpp << "  }" << endl;              cpp << "  new " << cfg.className << "(cfgfilename);" << endl; -            cpp << "  s_global" << cfg.className << "()->q->readConfig();" << endl; +            cpp << "  s_global" << cfg.className << "()->q->read();" << endl;              cpp << "}" << endl << endl;          }      } | 
