aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--autotests/kconfig_compiler/CMakeLists.txt1
-rw-r--r--autotests/kconfig_compiler/kconfigcompiler_test.cpp1
-rw-r--r--autotests/kconfig_compiler/test8c.cpp.ref65
-rw-r--r--autotests/kconfig_compiler/test8c.h.ref70
-rw-r--r--autotests/kconfig_compiler/test8c.kcfg17
-rw-r--r--autotests/kconfig_compiler/test8c.kcfgc4
-rw-r--r--autotests/kconfig_compiler/test8main.cpp3
-rw-r--r--src/kconfig_compiler/kconfig_compiler.cpp33
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";