From ae41d14e710ab4aae71b19ed41df2dac962a36a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Schummer?= Date: Thu, 4 Mar 2010 13:30:36 +0200 Subject: QmlDesigner.ItemLibrary: fixed: do not display non-visual components Task-number: BAUHAUS-433 Reviewed-by: kkoehne (cherry picked from commit 0943177d86f99f8f828e66b324d2bf70dc504089) --- .../components/itemlibrary/itemlibrarymodel.cpp | 84 +++++++++++----------- 1 file changed, 44 insertions(+), 40 deletions(-) diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp index c15aacec83..a1fbe6b93d 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp @@ -435,49 +435,53 @@ void ItemLibraryModel::updateVisibility() QList ItemLibraryModel::itemLibraryRepresentations(const QString &type) { + QList itemLibraryRepresentationList; NodeMetaInfo nodeInfo = m_metaInfo->nodeMetaInfo(type); - QList itemLibraryRepresentationList = m_metaInfo->itemLibraryRepresentations(nodeInfo); - - QImage dragImage(64, 64, QImage::Format_RGB32); // TODO: draw item drag icon - dragImage.fill(0xffffffff); - QPainter p(&dragImage); - QPen pen(Qt::gray); - pen.setWidth(2); - p.setPen(pen); - p.drawRect(1, 1, dragImage.width() - 2, dragImage.height() - 2); - QPixmap dragPixmap(QPixmap::fromImage(dragImage)); - - if (!m_metaInfo->hasNodeMetaInfo(type)) - qWarning() << "ItemLibrary: type not declared: " << type; - - static QIcon defaultIcon(QLatin1String(":/ItemLibrary/images/item-default-icon.png")); - - if (itemLibraryRepresentationList.isEmpty() || !m_metaInfo->hasNodeMetaInfo(type)) { - QIcon icon = nodeInfo.icon(); - if (icon.isNull()) - icon = defaultIcon; - - ItemLibraryInfo itemLibraryInfo; - itemLibraryInfo.setName(type); - itemLibraryInfo.setTypeName(nodeInfo.typeName()); - itemLibraryInfo.setCategory(nodeInfo.category()); - itemLibraryInfo.setIcon(icon); - itemLibraryInfo.setDragIcon(dragPixmap); - itemLibraryInfo.setMajorVersion(nodeInfo.majorVersion()); - itemLibraryInfo.setMinorVersion(nodeInfo.minorVersion()); - itemLibraryRepresentationList.append(itemLibraryInfo); - } - else { - foreach (ItemLibraryInfo itemLibraryRepresentation, itemLibraryRepresentationList) { - QIcon icon = itemLibraryRepresentation.icon(); - if (itemLibraryRepresentation.icon().isNull()) - itemLibraryRepresentation.setIcon(defaultIcon); - if (itemLibraryRepresentation.dragIcon().isNull()) - itemLibraryRepresentation.setDragIcon(dragPixmap); + if (nodeInfo.isQmlGraphicsItem()) { + itemLibraryRepresentationList = m_metaInfo->itemLibraryRepresentations(nodeInfo); + + QImage dragImage(64, 64, QImage::Format_RGB32); // TODO: draw item drag icon + dragImage.fill(0xffffffff); + QPainter p(&dragImage); + QPen pen(Qt::gray); + pen.setWidth(2); + p.setPen(pen); + p.drawRect(1, 1, dragImage.width() - 2, dragImage.height() - 2); + QPixmap dragPixmap(QPixmap::fromImage(dragImage)); + + if (!m_metaInfo->hasNodeMetaInfo(type)) + qWarning() << "ItemLibrary: type not declared: " << type; + + static QIcon defaultIcon(QLatin1String(":/ItemLibrary/images/item-default-icon.png")); + + if (itemLibraryRepresentationList.isEmpty() || !m_metaInfo->hasNodeMetaInfo(type)) { + QIcon icon = nodeInfo.icon(); + if (icon.isNull()) + icon = defaultIcon; + + ItemLibraryInfo itemLibraryInfo; + itemLibraryInfo.setName(type); + itemLibraryInfo.setTypeName(nodeInfo.typeName()); + itemLibraryInfo.setCategory(nodeInfo.category()); + itemLibraryInfo.setIcon(icon); + itemLibraryInfo.setDragIcon(dragPixmap); + itemLibraryInfo.setMajorVersion(nodeInfo.majorVersion()); + itemLibraryInfo.setMinorVersion(nodeInfo.minorVersion()); + itemLibraryRepresentationList.append(itemLibraryInfo); + } + else { + foreach (ItemLibraryInfo itemLibraryRepresentation, itemLibraryRepresentationList) { + QIcon icon = itemLibraryRepresentation.icon(); + if (itemLibraryRepresentation.icon().isNull()) + itemLibraryRepresentation.setIcon(defaultIcon); + + if (itemLibraryRepresentation.dragIcon().isNull()) + itemLibraryRepresentation.setDragIcon(dragPixmap); - if (itemLibraryRepresentation.category().isEmpty()) - itemLibraryRepresentation.setCategory(nodeInfo.category()); + if (itemLibraryRepresentation.category().isEmpty()) + itemLibraryRepresentation.setCategory(nodeInfo.category()); + } } } -- cgit v1.2.3