|
@ -31,6 +31,11 @@ void SettingsGenerator::process(const QString &inPath) |
|
|
_srcFile.close(); |
|
|
_srcFile.close(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
void SettingsGenerator::processQml(const QString &inPath) |
|
|
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
bool SettingsGenerator::read_type_mapping(QXmlStreamReader &reader, QHash<QString, QString> &data, bool hasNext) |
|
|
bool SettingsGenerator::read_type_mapping(QXmlStreamReader &reader, QHash<QString, QString> &data, bool hasNext) |
|
|
{ |
|
|
{ |
|
|
TypeMappingGroup grp; |
|
|
TypeMappingGroup grp; |
|
@ -173,7 +178,7 @@ void SettingsGenerator::readEntry(QXmlStreamReader &reader, SettingsConfigBase:: |
|
|
EntryType nEntry; |
|
|
EntryType nEntry; |
|
|
nEntry.key = entryKey; |
|
|
nEntry.key = entryKey; |
|
|
nEntry.contentNodes = std::move(eGrp->contentNodes); |
|
|
nEntry.contentNodes = std::move(eGrp->contentNodes); |
|
|
eGrp = replaceNodeByEntry(cGrp, eGrp, std::move(nEntry)); |
|
|
eGrp = replaceNodeByEntry(cGrp, eGrp, nEntry); |
|
|
Q_ASSERT(eGrp); |
|
|
Q_ASSERT(eGrp); |
|
|
} else |
|
|
} else |
|
|
throw XmlException{reader, QStringLiteral("Found duplicated entry with key: %1").arg(entry.key)}; |
|
|
throw XmlException{reader, QStringLiteral("Found duplicated entry with key: %1").arg(entry.key)}; |
|
@ -181,7 +186,7 @@ void SettingsGenerator::readEntry(QXmlStreamReader &reader, SettingsConfigBase:: |
|
|
auto nEntry = static_cast<EntryType*>(eGrp); |
|
|
auto nEntry = static_cast<EntryType*>(eGrp); |
|
|
nEntry->type = std::move(entry.type); |
|
|
nEntry->type = std::move(entry.type); |
|
|
nEntry->defaultValue = std::move(entry.defaultValue); |
|
|
nEntry->defaultValue = std::move(entry.defaultValue); |
|
|
nEntry->tr = std::move(entry.trdefault); |
|
|
nEntry->tr = entry.trdefault; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
SettingsGeneratorBase::NodeContentGroup *SettingsGenerator::findContentGroup(SettingsGeneratorBase::NodeContentGroup *cGrp, const QString &key, bool *isEntry) |
|
|
SettingsGeneratorBase::NodeContentGroup *SettingsGenerator::findContentGroup(SettingsGeneratorBase::NodeContentGroup *cGrp, const QString &key, bool *isEntry) |
|
@ -214,7 +219,7 @@ SettingsGeneratorBase::NodeContentGroup *SettingsGenerator::findContentGroup(Set |
|
|
return nullptr; |
|
|
return nullptr; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
SettingsGeneratorBase::NodeContentGroup *SettingsGenerator::replaceNodeByEntry(SettingsGeneratorBase::NodeContentGroup *cGrp, NodeContentGroup *node, SettingsGeneratorBase::EntryType &&entry) |
|
|
SettingsGeneratorBase::NodeContentGroup *SettingsGenerator::replaceNodeByEntry(SettingsGeneratorBase::NodeContentGroup *cGrp, NodeContentGroup *node, SettingsGeneratorBase::EntryType &entry) |
|
|
{ |
|
|
{ |
|
|
for(auto &cNode : cGrp->contentNodes) { |
|
|
for(auto &cNode : cGrp->contentNodes) { |
|
|
if(nonstd::holds_alternative<NodeType>(cNode)) { |
|
|
if(nonstd::holds_alternative<NodeType>(cNode)) { |
|
@ -223,7 +228,7 @@ SettingsGeneratorBase::NodeContentGroup *SettingsGenerator::replaceNodeByEntry(S |
|
|
return &(nonstd::get<EntryType>(cNode)); |
|
|
return &(nonstd::get<EntryType>(cNode)); |
|
|
} |
|
|
} |
|
|
} else if(nonstd::holds_alternative<NodeContentGroup>(cNode)) { |
|
|
} else if(nonstd::holds_alternative<NodeContentGroup>(cNode)) { |
|
|
auto res = replaceNodeByEntry(&(nonstd::get<NodeContentGroup>(cNode)), node, std::move(entry)); |
|
|
auto res = replaceNodeByEntry(&(nonstd::get<NodeContentGroup>(cNode)), node, entry); |
|
|
if(res) |
|
|
if(res) |
|
|
return res; |
|
|
return res; |
|
|
} |
|
|
} |
|
|