diff options
Diffstat (limited to 'src/tools/qdoc')
-rw-r--r-- | src/tools/qdoc/htmlgenerator.cpp | 54 | ||||
-rw-r--r-- | src/tools/qdoc/location.cpp | 4 | ||||
-rw-r--r-- | src/tools/qdoc/node.cpp | 12 | ||||
-rw-r--r-- | src/tools/qdoc/puredocparser.cpp | 4 | ||||
-rw-r--r-- | src/tools/qdoc/qdocdatabase.cpp | 4 | ||||
-rw-r--r-- | src/tools/qdoc/tree.cpp | 8 |
6 files changed, 51 insertions, 35 deletions
diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp index 18e538ef7b..e80187ec93 100644 --- a/src/tools/qdoc/htmlgenerator.cpp +++ b/src/tools/qdoc/htmlgenerator.cpp @@ -2191,7 +2191,7 @@ void HtmlGenerator::generateRequisites(Aggregate *inner, CodeMarker *marker) out() << "<div class=\"table\"><table class=\"alignedsummary\">\n"; QStringList::ConstIterator i; - for (i = requisiteorder.begin(); i != requisiteorder.constEnd(); ++i) { + for (i = requisiteorder.constBegin(); i != requisiteorder.constEnd(); ++i) { if (requisites.contains(*i)) { out() << "<tr>" @@ -2311,7 +2311,7 @@ void HtmlGenerator::generateQmlRequisites(QmlTypeNode *qcn, CodeMarker *marker) out() << "<div class=\"table\"><table class=\"alignedsummary\">\n"; QStringList::ConstIterator i; - for (i = requisiteorder.begin(); i != requisiteorder.constEnd(); ++i) { + for (i = requisiteorder.constBegin(); i != requisiteorder.constEnd(); ++i) { if (requisites.contains(*i)) { out() << "<tr>" @@ -4536,33 +4536,49 @@ void HtmlGenerator::generateManifestFile(const QString &manifest, const QString writer.writeCDATA(QString("No description available")); writer.writeEndElement(); // description - // Add words from module name as tags (QtQuickControls -> qt,quick,controls) - QRegExp re("([A-Z]+[a-z0-9]*)"); + // Add words from module name as tags + // QtQuickControls -> qt,quick,controls + // QtOpenGL -> qt,opengl + QRegExp re("([A-Z]+[a-z0-9]*(3D|GL)?)"); int pos = 0; while ((pos = re.indexIn(project, pos)) != -1) { tags << re.cap(1).toLower(); pos += re.matchedLength(); } tags += QSet<QString>::fromList(en->title().toLower().split(QLatin1Char(' '))); + + // Clean up tags, exclude invalid and common words + QSet<QString>::iterator tag_it = tags.begin(); + QSet<QString> modified; + while (tag_it != tags.end()) { + QString s = *tag_it; + if (s.at(0) == '(') + s.remove(0, 1).chop(1); + if (s.endsWith(QLatin1Char(':'))) + s.chop(1); + + if (s.length() < 2 + || s.at(0).isDigit() + || s.at(0) == '-' + || s == QStringLiteral("qt") + || s == QStringLiteral("the") + || s == QStringLiteral("and") + || s.startsWith(QStringLiteral("example")) + || s.startsWith(QStringLiteral("chapter"))) + tag_it = tags.erase(tag_it); + else if (s != *tag_it) { + modified << s; + tag_it = tags.erase(tag_it); + } + else + ++tag_it; + } + tags += modified; + if (!tags.isEmpty()) { writer.writeStartElement("tags"); bool wrote_one = false; - // Exclude invalid and common words foreach (QString tag, tags) { - if (tag.length() < 2) - continue; - if (tag.at(0).isDigit()) - continue; - if (tag.at(0) == '-') - continue; - if (tag == QLatin1String("qt")) - continue; - if (tag.startsWith("example")) - continue; - if (tag.startsWith("chapter")) - continue; - if (tag.endsWith(QLatin1Char(':'))) - tag.chop(1); if (wrote_one) writer.writeCharacters(","); writer.writeCharacters(tag); diff --git a/src/tools/qdoc/location.cpp b/src/tools/qdoc/location.cpp index 12dc9e1b4c..5eba2a69ef 100644 --- a/src/tools/qdoc/location.cpp +++ b/src/tools/qdoc/location.cpp @@ -256,7 +256,7 @@ QString Location::canonicalRelativePath(const QString &path) */ void Location::warning(const QString& message, const QString& details) const { - if (!Generator::preparing()) + if (!Generator::preparing() || Generator::singleExec()) emitMessage(Warning, message, details); } @@ -267,7 +267,7 @@ void Location::warning(const QString& message, const QString& details) const */ void Location::error(const QString& message, const QString& details) const { - if (!Generator::preparing()) + if (!Generator::preparing() || Generator::singleExec()) emitMessage(Error, message, details); } diff --git a/src/tools/qdoc/node.cpp b/src/tools/qdoc/node.cpp index ec721aee64..dbe397357c 100644 --- a/src/tools/qdoc/node.cpp +++ b/src/tools/qdoc/node.cpp @@ -2760,8 +2760,8 @@ bool CollectionNode::hasNamespaces() const bool CollectionNode::hasClasses() const { if (!members_.isEmpty()) { - NodeList::const_iterator i = members_.begin(); - while (i != members_.end()) { + NodeList::const_iterator i = members_.cbegin(); + while (i != members_.cend()) { if ((*i)->isClass()) return true; ++i; @@ -2777,8 +2777,8 @@ bool CollectionNode::hasClasses() const void CollectionNode::getMemberNamespaces(NodeMap& out) { out.clear(); - NodeList::const_iterator i = members_.begin(); - while (i != members_.end()) { + NodeList::const_iterator i = members_.cbegin(); + while (i != members_.cend()) { if ((*i)->isNamespace()) out.insert((*i)->name(),(*i)); ++i; @@ -2792,8 +2792,8 @@ void CollectionNode::getMemberNamespaces(NodeMap& out) void CollectionNode::getMemberClasses(NodeMap& out) { out.clear(); - NodeList::const_iterator i = members_.begin(); - while (i != members_.end()) { + NodeList::const_iterator i = members_.cbegin(); + while (i != members_.cend()) { if ((*i)->isClass()) out.insert((*i)->name(),(*i)); ++i; diff --git a/src/tools/qdoc/puredocparser.cpp b/src/tools/qdoc/puredocparser.cpp index 6b644cac31..bfd3925353 100644 --- a/src/tools/qdoc/puredocparser.cpp +++ b/src/tools/qdoc/puredocparser.cpp @@ -188,8 +188,8 @@ bool PureDocParser::processQdocComments() topics.insert(i+1,"and"); doc.location().warning(tr("Multiple topic commands found in comment: %1").arg(topics)); } - ArgList::ConstIterator a = args.begin(); - while (a != args.end()) { + ArgList::ConstIterator a = args.cbegin(); + while (a != args.cend()) { Doc nodeDoc = doc; Node* node = processTopicCommand(nodeDoc,topic,*a); if (node != 0) { diff --git a/src/tools/qdoc/qdocdatabase.cpp b/src/tools/qdoc/qdocdatabase.cpp index fca34b0a6a..f10072a943 100644 --- a/src/tools/qdoc/qdocdatabase.cpp +++ b/src/tools/qdoc/qdocdatabase.cpp @@ -1549,8 +1549,8 @@ void QDocDatabase::mergeCollections(Node::Genus genus, CNMap& cnm, const Node* r foreach (Tree* t, searchOrder()) { CNMap* m = t->getCollectionMap(genus); if (m && !m->isEmpty()) { - CNMap::const_iterator i = m->begin(); - while (i != m->end()) { + CNMap::const_iterator i = m->cbegin(); + while (i != m->cend()) { if (!i.value()->isInternal()) cnmm.insert(i.key(), i.value()); ++i; diff --git a/src/tools/qdoc/tree.cpp b/src/tools/qdoc/tree.cpp index 0da963fe0b..629514e7d1 100644 --- a/src/tools/qdoc/tree.cpp +++ b/src/tools/qdoc/tree.cpp @@ -1222,8 +1222,8 @@ CollectionNode* Tree::getCollection(const QString& name, Node::Genus genus) { CNMap* m = getCollectionMap(genus); if (m) { - CNMap::const_iterator i = m->find(name); - if (i != m->end()) + CNMap::const_iterator i = m->constFind(name); + if (i != m->cend()) return i.value(); } return 0; @@ -1249,8 +1249,8 @@ CollectionNode* Tree::findCollection(const QString& name, Node::Genus genus) CNMap* m = getCollectionMap(genus); if (!m) // error return 0; - CNMap::const_iterator i = m->find(name); - if (i != m->end()) + CNMap::const_iterator i = m->constFind(name); + if (i != m->cend()) return i.value(); Node::NodeType t = Node::NoType; switch (genus) { |