diff options
Diffstat (limited to 'src/qmltyperegistrar')
-rw-r--r-- | src/qmltyperegistrar/qmltyperegistrar.cpp | 18 | ||||
-rw-r--r-- | src/qmltyperegistrar/qmltypesclassdescription.cpp | 2 |
2 files changed, 11 insertions, 9 deletions
diff --git a/src/qmltyperegistrar/qmltyperegistrar.cpp b/src/qmltyperegistrar/qmltyperegistrar.cpp index 9f5553b880..c3ab61e621 100644 --- a/src/qmltyperegistrar/qmltyperegistrar.cpp +++ b/src/qmltyperegistrar/qmltyperegistrar.cpp @@ -298,8 +298,15 @@ int main(int argc, char **argv) } } + const bool privateIncludes = parser.isSet(privateIncludesOption); + auto resolvedInclude = [&](const QString &include) { + return (privateIncludes && include.endsWith(QLatin1String("_p.h"))) + ? QLatin1String("private/") + include + : include; + }; + auto processMetaObject = [&](const QJsonObject &metaObject) { - const QString include = metaObject[QLatin1String("inputFile")].toString(); + const QString include = resolvedInclude(metaObject[QLatin1String("inputFile")].toString()); const QJsonArray classes = metaObject[QLatin1String("classes")].toArray(); for (const auto &cls : classes) { QJsonObject classDef = cls.toObject(); @@ -367,13 +374,8 @@ int main(int argc, char **argv) const auto newEnd = std::unique(includes.begin(), includes.end()); includes.erase(newEnd, includes.end()); - const bool privateIncludes = parser.isSet(privateIncludesOption); - for (const QString &include : qAsConst(includes)) { - if (privateIncludes && include.endsWith(QLatin1String("_p.h"))) - fprintf(output, "\n#include <private/%s>", qPrintable(include)); - else - fprintf(output, "\n#include <%s>", qPrintable(include)); - } + for (const QString &include : qAsConst(includes)) + fprintf(output, "\n#include <%s>", qPrintable(include)); fprintf(output, "\n\n"); diff --git a/src/qmltyperegistrar/qmltypesclassdescription.cpp b/src/qmltyperegistrar/qmltypesclassdescription.cpp index c63879f4d6..7756fda9e4 100644 --- a/src/qmltyperegistrar/qmltypesclassdescription.cpp +++ b/src/qmltyperegistrar/qmltypesclassdescription.cpp @@ -62,7 +62,7 @@ void QmlTypesClassDescription::collect(const QJsonObject *classDef, const QVector<QJsonObject> &foreign, CollectMode mode) { - if (file.isEmpty()) + if (file.isEmpty() && classDef->value(QLatin1String("registerable")).toBool()) file = classDef->value(QLatin1String("inputFile")).toString(); const auto classInfos = classDef->value(QLatin1String("classInfos")).toArray(); for (const QJsonValue &classInfo : classInfos) { |