From 70b229d996d45a661fe70fdb18909ad0e364f7ba Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Fri, 16 Oct 2015 11:51:22 +0200 Subject: qdoc: Minor optimizations Remove unnecessary type casts in qdocindexfiles.cpp, and reduce the amount of duplicate string literals used for generating QML documentation. Change-Id: Ia6d68a44fad14bd7414c0106e8752999830c93e8 Reviewed-by: Martin Smith --- src/tools/qdoc/htmlgenerator.cpp | 64 ++++++++++++--------------------------- src/tools/qdoc/qdocindexfiles.cpp | 20 ++---------- 2 files changed, 22 insertions(+), 62 deletions(-) diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp index b260e7ac1c..3c03a08019 100644 --- a/src/tools/qdoc/htmlgenerator.cpp +++ b/src/tools/qdoc/htmlgenerator.cpp @@ -4170,6 +4170,17 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, #endif generateExtractionMark(node, MemberMark); generateKeywordAnchors(node); + + QString qmlItemHeader("
\n" + "
\n" + "\n" + "\n" + "

\n" + ""); + + QString qmlItemFooter("

\n" + "
"); + out() << "
"; QString nodeRef = refForNode(node); if (node->type() == Node::QmlPropertyGroup) { @@ -4206,11 +4217,7 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, } else if (node->type() == Node::QmlProperty) { qpn = static_cast(node); - out() << "
"; - out() << "
"; - out() << ""; - out() << ""; - out() << "

"; - out() << ""; + out() << qmlItemHeader.arg(nodeRef, "tblQmlPropNode", refForNode(qpn)); if (!qpn->isReadOnlySet()) { if (qpn->declarativeCppNode()) qpn->setReadOnly(!qpn->isWritable()); @@ -4220,45 +4227,14 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node, if (qpn->isDefault()) out() << "default"; generateQmlItem(qpn, relative, marker, false); - out() << "

"; - out() << "
"; - } - else if (node->type() == Node::QmlSignal) { - const FunctionNode* qsn = static_cast(node); - out() << "
"; - out() << "
"; - out() << ""; - out() << ""; - out() << "

"; - out() << ""; - generateSynopsis(qsn,relative,marker,CodeMarker::Detailed,false); - out() << "

"; - out() << "
"; - } - else if (node->type() == Node::QmlSignalHandler) { - const FunctionNode* qshn = static_cast(node); - out() << "
"; - out() << "
"; - out() << ""; - out() << ""; - out() << "

"; - out() << ""; - generateSynopsis(qshn,relative,marker,CodeMarker::Detailed,false); - out() << "

"; - out() << "
"; - } - else if (node->type() == Node::QmlMethod) { - const FunctionNode* qmn = static_cast(node); - out() << "
"; - out() << "
"; - out() << ""; - out() << ""; - out() << "

"; - out() << ""; - generateSynopsis(qmn,relative,marker,CodeMarker::Detailed,false); - out() << "

"; - out() << "
"; + out() << qmlItemFooter; + } + else if (node->type() == Node::QmlSignal || + node->type() == Node::QmlSignalHandler || + node->type() == Node::QmlMethod) { + out() << qmlItemHeader.arg(nodeRef, "tblQmlFuncNode", refForNode(node)); + generateSynopsis(node, relative, marker, CodeMarker::Detailed, false); + out() << qmlItemFooter; } out() << "
"; generateStatus(node, marker); diff --git a/src/tools/qdoc/qdocindexfiles.cpp b/src/tools/qdoc/qdocindexfiles.cpp index ef86d782c7..b466f59819 100644 --- a/src/tools/qdoc/qdocindexfiles.cpp +++ b/src/tools/qdoc/qdocindexfiles.cpp @@ -315,15 +315,7 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, bool readonly = false; if (attributes.value(QLatin1String("writable")) == QLatin1String("false")) readonly = true; - QmlPropertyNode* qpn = 0; - if (parent->isQmlType()) { - QmlTypeNode* qcn = static_cast(parent); - qpn = new QmlPropertyNode(qcn, name, type, attached); - } - else if (parent->isQmlPropertyGroup()) { - QmlPropertyGroupNode* qpgn = static_cast(parent); - qpn = new QmlPropertyNode(qpgn, name, type, attached); - } + QmlPropertyNode* qpn = new QmlPropertyNode(parent, name, type, attached); qpn->setReadOnly(readonly); node = qpn; } @@ -335,15 +327,7 @@ void QDocIndexFiles::readIndexSection(QXmlStreamReader& reader, bool readonly = false; if (attributes.value(QLatin1String("writable")) == QLatin1String("false")) readonly = true; - QmlPropertyNode* qpn = 0; - if (parent->isJsType()) { - QmlTypeNode* qcn = static_cast(parent); - qpn = new QmlPropertyNode(qcn, name, type, attached); - } - else if (parent->isJsPropertyGroup()) { - QmlPropertyGroupNode* qpgn = static_cast(parent); - qpn = new QmlPropertyNode(qpgn, name, type, attached); - } + QmlPropertyNode* qpn = new QmlPropertyNode(parent, name, type, attached); qpn->setGenus(Node::JS); qpn->setReadOnly(readonly); node = qpn; -- cgit v1.2.3