14#include "KConfigParameters.h"
21KConfigParameters::KConfigParameters(
const QString &codegenFilename)
23 if (!codegenFilename.
endsWith(QLatin1String(
".kcfgc"))) {
24 std::cerr <<
"Codegen options file must have extension .kcfgc" << std::endl;
28 baseName = QFileInfo(codegenFilename).fileName();
29 baseName = baseName.left(baseName.length() - 6);
34 nameSpace = codegenConfig.value(QStringLiteral(
"NameSpace")).toString();
35 className = codegenConfig.value(QStringLiteral(
"ClassName")).toString();
36 if (className.isEmpty()) {
37 std::cerr <<
"Class name missing" << std::endl;
40 inherits = codegenConfig.value(QStringLiteral(
"Inherits")).toString();
41 if (inherits.isEmpty()) {
42 inherits = QStringLiteral(
"KConfigSkeleton");
44 visibility = codegenConfig.value(QStringLiteral(
"Visibility")).toString();
45 if (!visibility.isEmpty()) {
46 visibility += QLatin1Char(
' ');
48 parentInConstructor = codegenConfig.value(QStringLiteral(
"ParentInConstructor"),
false).toBool();
49 forceStringFilename = codegenConfig.value(QStringLiteral(
"ForceStringFilename"),
false).toBool();
50 singleton = codegenConfig.value(QStringLiteral(
"Singleton"),
false).toBool();
51 staticAccessors = singleton;
52 customAddons = codegenConfig.value(QStringLiteral(
"CustomAdditions"),
false).toBool();
53 memberVariables = codegenConfig.value(QStringLiteral(
"MemberVariables")).toString();
54 dpointer = (memberVariables == QLatin1String(
"dpointer"));
55 headerIncludes = codegenConfig.value(QStringLiteral(
"IncludeFiles"), QStringList()).toStringList();
56 sourceIncludes = codegenConfig.value(QStringLiteral(
"SourceIncludeFiles"), QStringList()).toStringList();
57 mutators = codegenConfig.value(QStringLiteral(
"Mutators"), QStringList()).toStringList();
58 allMutators = ((mutators.count() == 1) && (mutators.at(0).toLower() == QLatin1String(
"true")));
59 itemAccessors = codegenConfig.value(QStringLiteral(
"ItemAccessors"),
false).toBool();
60 setUserTexts = codegenConfig.value(QStringLiteral(
"SetUserTexts"),
false).toBool();
61 defaultGetters = codegenConfig.value(QStringLiteral(
"DefaultValueGetters"), QStringList()).toStringList();
62 allDefaultGetters = (defaultGetters.count() == 1) && (defaultGetters.at(0).toLower() == QLatin1String(
"true"));
63 notifiers = codegenConfig.value(QStringLiteral(
"Notifiers"), QStringList()).toStringList();
64 allNotifiers = ((notifiers.count() == 1) && (notifiers.at(0).toLower() == QLatin1String(
"true")));
65 globalEnums = codegenConfig.value(QStringLiteral(
"GlobalEnums"),
false).toBool();
66 useEnumTypes = codegenConfig.value(QStringLiteral(
"UseEnumTypes"),
false).toBool();
67 const QString trString = codegenConfig.value(QStringLiteral(
"TranslationSystem")).toString().toLower();
68 generateProperties = codegenConfig.value(QStringLiteral(
"GenerateProperties"),
false).toBool();
69 if (trString == QLatin1String(
"kde")) {
70 translationSystem = KdeTranslation;
71 translationDomain = codegenConfig.value(QStringLiteral(
"TranslationDomain")).toString();
73 if (!trString.
isEmpty() && trString != QLatin1String(
"qt")) {
74 std::cerr <<
"Unknown translation system, falling back to Qt tr()" << std::endl;
76 translationSystem = QtTranslation;
78 qCategoryLoggingName = codegenConfig.value(QStringLiteral(
"CategoryLoggingName"), QString()).toString();
79 headerExtension = codegenConfig.value(QStringLiteral(
"HeaderExtension"), QStringLiteral(
"h")).toString();
80 qmlRegistration = codegenConfig.value(QStringLiteral(
"QmlRegistration")).toBool();
81 qmlUncreatable = codegenConfig.value(QStringLiteral(
"QmlUncreatable")).toBool();
bool endsWith(QChar c, Qt::CaseSensitivity cs) const const
bool isEmpty() const const