diff options
| author | David Faure <faure@kde.org> | 2016-12-07 09:29:31 +0100 | 
|---|---|---|
| committer | David Faure <faure@kde.org> | 2016-12-07 09:29:38 +0100 | 
| commit | 4f9d7dde3a06da26d93e8f7ec98a283111a2d8c9 (patch) | |
| tree | 519ffaac87f803d54731f1831cb0e9867c504e4e | |
| parent | ebcaf997ca4e7cf687604ccb081d577f87b08008 (diff) | |
| download | kconfig-4f9d7dde3a06da26d93e8f7ec98a283111a2d8c9.tar.gz kconfig-4f9d7dde3a06da26d93e8f7ec98a283111a2d8c9.tar.bz2 | |
Revert "Generate an instance with KSharedConfig::Ptr for singleton and arg"
This reverts commit cd4e6504dfbdface00037625f0cedda511e6d839.
As suggested by Martin on release-team@kde.org, given that it breaks SC.
| -rw-r--r-- | autotests/kconfig_compiler/CMakeLists.txt | 1 | ||||
| -rw-r--r-- | autotests/kconfig_compiler/kconfigcompiler_test.cpp | 1 | ||||
| -rw-r--r-- | autotests/kconfig_compiler/test8c.cpp.ref | 65 | ||||
| -rw-r--r-- | autotests/kconfig_compiler/test8c.h.ref | 70 | ||||
| -rw-r--r-- | autotests/kconfig_compiler/test8c.kcfg | 17 | ||||
| -rw-r--r-- | autotests/kconfig_compiler/test8c.kcfgc | 4 | ||||
| -rw-r--r-- | autotests/kconfig_compiler/test8main.cpp | 3 | ||||
| -rw-r--r-- | src/kconfig_compiler/kconfig_compiler.cpp | 33 | 
8 files changed, 11 insertions, 183 deletions
| diff --git a/autotests/kconfig_compiler/CMakeLists.txt b/autotests/kconfig_compiler/CMakeLists.txt index 590c7700..0971471b 100644 --- a/autotests/kconfig_compiler/CMakeLists.txt +++ b/autotests/kconfig_compiler/CMakeLists.txt @@ -112,7 +112,6 @@ set(test8_SRCS test8main.cpp )  gen_kcfg_test_source(test8a test8_SRCS)  gen_kcfg_test_source(test8b test8_SRCS) -gen_kcfg_test_source(test8c test8_SRCS)  ecm_add_test(TEST_NAME test8 ${test8_SRCS})  target_link_libraries(test8 KF5::ConfigGui) diff --git a/autotests/kconfig_compiler/kconfigcompiler_test.cpp b/autotests/kconfig_compiler/kconfigcompiler_test.cpp index 01efd602..88b462ef 100644 --- a/autotests/kconfig_compiler/kconfigcompiler_test.cpp +++ b/autotests/kconfig_compiler/kconfigcompiler_test.cpp @@ -38,7 +38,6 @@ static CompilerTestSet testCases = {      "test7.cpp", "test7.h",      "test8a.cpp", "test8a.h",      "test8b.cpp", "test8b.h", -    "test8c.cpp", "test8c.h",      "test9.h", "test9.cpp",      "test10.h", "test10.cpp",      "test11.h", "test11.cpp", diff --git a/autotests/kconfig_compiler/test8c.cpp.ref b/autotests/kconfig_compiler/test8c.cpp.ref deleted file mode 100644 index 7c7799bc..00000000 --- a/autotests/kconfig_compiler/test8c.cpp.ref +++ /dev/null @@ -1,65 +0,0 @@ -// This file is generated by kconfig_compiler_kf5 from test8a.kcfg. -// All changes you do to this file will be lost. - -#include "test8c.h" - -#include <qglobal.h> -#include <QtCore/QFile> - -#include <QDebug> - -class Test8cHelper -{ -  public: -    Test8cHelper() : q(0) {} -    ~Test8cHelper() { delete q; } -    Test8c *q; -}; -Q_GLOBAL_STATIC(Test8cHelper, s_globalTest8c) -Test8c *Test8c::self() -{ -  if (!s_globalTest8c()->q) -     qFatal("you need to call Test8c::instance before using"); -  return s_globalTest8c()->q; -} - -void Test8c::instance(const QString& cfgfilename) -{ -  if (s_globalTest8c()->q) { -     qDebug() << "Test8c::instance called after the first use - ignoring"; -     return; -  } -  new Test8c(KSharedConfig::openConfig(cfgfilename)); -  s_globalTest8c()->q->read(); -} - -void Test8c::instance(KSharedConfig::Ptr config) -{ -  if (s_globalTest8c()->q) { -     qDebug() << "Test8c::instance called after the first use - ignoring"; -     return; -  } -  new Test8c(config); -  s_globalTest8c()->q->read(); -} - -Test8c::Test8c(  KSharedConfig::Ptr config  ) -  : KConfigSkeleton( config ) -{ -  Q_ASSERT(!s_globalTest8c()->q); -  s_globalTest8c()->q = this; -  setCurrentGroup( QStringLiteral( "Group" ) ); - -  KConfigSkeleton::ItemFont  *itemFont; -  itemFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "Font" ), mFont, QFont() ); -  addItem( itemFont, QStringLiteral( "Font" ) ); -  KConfigSkeleton::ItemFont  *itemTitleFont; -  itemTitleFont = new KConfigSkeleton::ItemFont( currentGroup(), QStringLiteral( "TitleFont" ), mTitleFont, QFont() ); -  addItem( itemTitleFont, QStringLiteral( "TitleFont" ) ); -} - -Test8c::~Test8c() -{ -  s_globalTest8c()->q = 0; -} - diff --git a/autotests/kconfig_compiler/test8c.h.ref b/autotests/kconfig_compiler/test8c.h.ref deleted file mode 100644 index 95464e5a..00000000 --- a/autotests/kconfig_compiler/test8c.h.ref +++ /dev/null @@ -1,70 +0,0 @@ -// This file is generated by kconfig_compiler_kf5 from test8a.kcfg. -// All changes you do to this file will be lost. -#ifndef TEST8C_H -#define TEST8C_H - -#include <kconfigskeleton.h> -#include <QCoreApplication> -#include <QDebug> - -class Test8c : public KConfigSkeleton -{ -  public: - -    static Test8c *self(); -    static void instance(const QString& cfgfilename); -    static void instance(KSharedConfig::Ptr config); -    ~Test8c(); - -    /** -      Set Font -    */ -    static -    void setFont( const QFont & v ) -    { -      if (!self()->isImmutable( QStringLiteral( "Font" ) )) -        self()->mFont = v; -    } - -    /** -      Get Font -    */ -    static -    QFont font() -    { -      return self()->mFont; -    } - -    /** -      Set TitleFont -    */ -    static -    void setTitleFont( const QFont & v ) -    { -      if (!self()->isImmutable( QStringLiteral( "TitleFont" ) )) -        self()->mTitleFont = v; -    } - -    /** -      Get TitleFont -    */ -    static -    QFont titleFont() -    { -      return self()->mTitleFont; -    } - -  protected: -    Test8c(KSharedConfig::Ptr config); -    friend class Test8cHelper; - - -    // Group -    QFont mFont; -    QFont mTitleFont; - -  private: -}; - -#endif - diff --git a/autotests/kconfig_compiler/test8c.kcfg b/autotests/kconfig_compiler/test8c.kcfg deleted file mode 100644 index 24038a69..00000000 --- a/autotests/kconfig_compiler/test8c.kcfg +++ /dev/null @@ -1,17 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0" -      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" -      xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0 -      http://www.kde.org/standards/kcfg/1.0/kcfg.xsd" > -  <kcfgfile arg="true"/> - -  <group name="Group"> -    <entry name="Font" type="Font"> -      <default code="true">QFont()</default> -    </entry> - -    <entry name="TitleFont" type="Font"> -      <default code="true">QFont()</default> -    </entry> -  </group> -</kcfg> diff --git a/autotests/kconfig_compiler/test8c.kcfgc b/autotests/kconfig_compiler/test8c.kcfgc deleted file mode 100644 index e53e5a04..00000000 --- a/autotests/kconfig_compiler/test8c.kcfgc +++ /dev/null @@ -1,4 +0,0 @@ -File=test8c.kcfg -ClassName=Test8c -Mutators=true -Singleton=true diff --git a/autotests/kconfig_compiler/test8main.cpp b/autotests/kconfig_compiler/test8main.cpp index 9843df72..b8fcc492 100644 --- a/autotests/kconfig_compiler/test8main.cpp +++ b/autotests/kconfig_compiler/test8main.cpp @@ -21,7 +21,6 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.  #include "test8a.h"  #include "test8b.h" -#include "test8c.h"  #include <QGuiApplication>  int main(int argc, char **argv) @@ -31,8 +30,6 @@ int main(int argc, char **argv)      Test8a *config1 = new Test8a(KSharedConfig::openConfig(QString()));      Test8a *config2 = new Test8a();      Test8b::self(); -    Test8c::instance(KSharedConfig::openConfig(QString())); -    Test8c::self();      delete config1;      delete config2;      return 0; diff --git a/src/kconfig_compiler/kconfig_compiler.cpp b/src/kconfig_compiler/kconfig_compiler.cpp index 99ecff7d..121bea4f 100644 --- a/src/kconfig_compiler/kconfig_compiler.cpp +++ b/src/kconfig_compiler/kconfig_compiler.cpp @@ -1893,7 +1893,6 @@ int main(int argc, char **argv)          h << "    static " << cfg.className << " *self();" << endl;          if (cfgFileNameArg) {              h << "    static void instance(const QString& cfgfilename);" << endl; -            h << "    static void instance(KSharedConfig::Ptr config);" << endl;          }      } @@ -2116,7 +2115,7 @@ int main(int argc, char **argv)      if (cfg.singleton) {          h << "    " << cfg.className << "(";          if (cfgFileNameArg) { -            h << "KSharedConfig::Ptr config"; +            h << "const QString& arg";          }          h << ");" << endl;          h << "    friend class " << cfg.className << "Helper;" << endl << endl; @@ -2321,25 +2320,15 @@ int main(int argc, char **argv)          cpp << "}" << endl << endl;          if (cfgFileNameArg) { -            auto instance = [&cfg, &cpp] (const QString &type, const QString arg, bool wrap) { -                cpp << "void " << cfg.className << "::instance(" << type << " " << arg << ")" << endl; -                cpp << "{" << endl; -                cpp << "  if (s_global" << cfg.className << "()->q) {" << endl; -                cpp << "     qDebug() << \"" << cfg.className << "::instance called after the first use - ignoring\";" << endl; -                cpp << "     return;" << endl; -                cpp << "  }" << endl; -                cpp << "  new " << cfg.className << "("; -                if (wrap) { -                    cpp << "KSharedConfig::openConfig(" << arg << ")"; -                } else { -                    cpp << arg; -                } -                cpp << ");" << endl; -                cpp << "  s_global" << cfg.className << "()->q->read();" << endl; -                cpp << "}" << endl << endl; -            }; -            instance(QStringLiteral("const QString&"), QStringLiteral("cfgfilename"), true); -            instance(QStringLiteral("KSharedConfig::Ptr"), QStringLiteral("config"), false); +            cpp << "void " << cfg.className << "::instance(const QString& cfgfilename)" << endl; +            cpp << "{" << endl; +            cpp << "  if (s_global" << cfg.className << "()->q) {" << endl; +            cpp << "     qDebug() << \"" << cfg.className << "::instance called after the first use - ignoring\";" << endl; +            cpp << "     return;" << endl; +            cpp << "  }" << endl; +            cpp << "  new " << cfg.className << "(cfgfilename);" << endl; +            cpp << "  s_global" << cfg.className << "()->q->read();" << endl; +            cpp << "}" << endl << endl;          }      } @@ -2350,7 +2339,7 @@ int main(int argc, char **argv)      // Constructor      cpp << cfg.className << "::" << cfg.className << "( ";      if (cfgFileNameArg) { -        if (! cfg.forceStringFilename) { +        if (!cfg.singleton && ! cfg.forceStringFilename) {              cpp << " KSharedConfig::Ptr config";          } else {              cpp << " const QString& config"; | 
