From c7ba291c68bc97f7236e93d6c0235a6a66db5b48 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Wed, 27 Jul 2016 11:30:35 +0200 Subject: [PATCH] QmlDesigner.ItemLibrary: Adding logging category This makes it possible to debug the .metainfo files in a release build/package. Change-Id: Iceae98b0e00b9d4deba0ae3f31b1f55fca2c5cf2 Reviewed-by: Alessandro Portale --- .../itemlibrary/itemlibrarymodel.cpp | 39 +++++++++++++------ 1 file changed, 27 insertions(+), 12 deletions(-) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp index f68f520e20f..08e65c847b3 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp @@ -36,11 +36,14 @@ #include #include +#include #include #include #include #include +static Q_LOGGING_CATEGORY(itemlibraryPopulate, "itemlibrary.populate") + static bool inline registerItemLibrarySortedModel() { qmlRegisterType(); return true; @@ -150,23 +153,35 @@ void ItemLibraryModel::update(ItemLibraryInfo *itemLibraryInfo, Model *model) if (import.isLibraryImport()) imports << import.url() + QLatin1Char(' ') + import.version(); + + qCInfo(itemlibraryPopulate) << Q_FUNC_INFO; foreach (ItemLibraryEntry entry, itemLibraryInfo->entries()) { - NodeMetaInfo metaInfo = model->metaInfo(entry.typeName()); - bool valid = metaInfo.isValid() && metaInfo.majorVersion() == entry.majorVersion(); - bool isItem = valid && metaInfo.isSubclassOf("QtQuick.Item"); + qCInfo(itemlibraryPopulate) << entry.typeName() << entry.majorVersion() << entry.minorVersion(); - if (!isItem && valid) { - qDebug() << Q_FUNC_INFO; - qDebug() << metaInfo.typeName() << "is not a QtQuick.Item"; - qDebug() << Utils::transform(metaInfo.superClasses(), &NodeMetaInfo::typeName); - } + NodeMetaInfo metaInfo = model->metaInfo(entry.typeName()); - if (valid - && isItem //We can change if the navigator does support pure QObjects - && (entry.requiredImport().isEmpty() - || model->hasImport(entryToImport(entry), true, true))) { + qCInfo(itemlibraryPopulate) << "valid: " << metaInfo.isValid() << metaInfo.majorVersion() << metaInfo.minorVersion(); + + bool valid = metaInfo.isValid() && metaInfo.majorVersion() == entry.majorVersion(); + bool isItem = valid && metaInfo.isSubclassOf("QtQuick.Item"); + + qCInfo(itemlibraryPopulate) << "isItem: " << isItem; + + qCInfo(itemlibraryPopulate) << "required import: " << entry.requiredImport() << entryToImport(entry).toImportString(); + + if (!isItem && valid) { + qDebug() << Q_FUNC_INFO; + qDebug() << metaInfo.typeName() << "is not a QtQuick.Item"; + qDebug() << Utils::transform(metaInfo.superClasses(), &NodeMetaInfo::typeName); + } + + if (valid + && isItem //We can change if the navigator does support pure QObjects + && (entry.requiredImport().isEmpty() + || model->hasImport(entryToImport(entry), true, true))) { QString itemSectionName = entry.category(); + qCInfo(itemlibraryPopulate) << "Adding:" << entry.typeName() << "to:" << entry.category(); ItemLibrarySection *sectionModel = sectionByName(itemSectionName); if (sectionModel == 0) {