summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools')
-rw-r--r--src/tools/qdoc/cppcodemarker.cpp8
-rw-r--r--src/tools/qdoc/htmlgenerator.cpp5
-rw-r--r--src/tools/qdoc/node.cpp7
-rw-r--r--src/tools/qdoc/node.h2
-rw-r--r--src/tools/qdoc/qdocindexfiles.cpp34
-rw-r--r--src/tools/qdoc/qmlvisitor.cpp1
6 files changed, 46 insertions, 11 deletions
diff --git a/src/tools/qdoc/cppcodemarker.cpp b/src/tools/qdoc/cppcodemarker.cpp
index 24bd654238..64b11109f7 100644
--- a/src/tools/qdoc/cppcodemarker.cpp
+++ b/src/tools/qdoc/cppcodemarker.cpp
@@ -1111,6 +1111,10 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode, Syno
while (qcn != 0) {
NodeList::ConstIterator c = qcn->childNodes().constBegin();
while (c != qcn->childNodes().constEnd()) {
+ if ((*c)->status() == Node::Internal) {
+ ++c;
+ continue;
+ }
if ((*c)->type() == Node::QmlPropertyGroup) {
insert(qmlproperties, *c, style, Okay);
}
@@ -1172,6 +1176,10 @@ QList<Section> CppCodeMarker::qmlSections(const QmlClassNode* qmlClassNode, Syno
while (qcn != 0) {
NodeList::ConstIterator c = qcn->childNodes().constBegin();
while (c != qcn->childNodes().constEnd()) {
+ if ((*c)->status() == Node::Internal) {
+ ++c;
+ continue;
+ }
if ((*c)->type() == Node::QmlPropertyGroup) {
insert(qmlproperties,*c,style,Okay);
}
diff --git a/src/tools/qdoc/htmlgenerator.cpp b/src/tools/qdoc/htmlgenerator.cpp
index a7dd6666db..986b4ae261 100644
--- a/src/tools/qdoc/htmlgenerator.cpp
+++ b/src/tools/qdoc/htmlgenerator.cpp
@@ -2311,7 +2311,7 @@ QString HtmlGenerator::generateAllQmlMembersFile(const QmlClassNode* qml_cn,
}
out() << "<ul>\n";
for (int j=0; j<keys.size(); j++) {
- if (nodes[j]->access() == Node::Private) {
+ if (nodes[j]->access() == Node::Private || nodes[j]->status() == Node::Internal) {
continue;
}
out() << "<li class=\"fn\">";
@@ -2320,7 +2320,8 @@ QString HtmlGenerator::generateAllQmlMembersFile(const QmlClassNode* qml_cn,
prefix = keys.at(j).mid(1);
prefix = prefix.left(keys.at(j).indexOf("::")+1);
}
- generateSynopsis(nodes[j], qcn, marker, CodeMarker::Summary, false, &prefix);
+ generateQmlItem(nodes[j], qcn, marker, true);
+ //generateSynopsis(nodes[j], qcn, marker, CodeMarker::Subpage, false, &prefix);
out() << "</li>\n";
}
out() << "</ul>\n";
diff --git a/src/tools/qdoc/node.cpp b/src/tools/qdoc/node.cpp
index 75896e2718..c88ebfc760 100644
--- a/src/tools/qdoc/node.cpp
+++ b/src/tools/qdoc/node.cpp
@@ -1867,7 +1867,10 @@ FunctionNode::FunctionNode(Type type, InnerNode *parent, const QString& name, bo
rf(0),
ap(0)
{
- // nothing.
+ if (type == QmlMethod || type == QmlSignal) {
+ if (name.startsWith("__"))
+ setStatus(Internal);
+ }
}
/*!
@@ -2326,6 +2329,8 @@ QmlPropertyNode::QmlPropertyNode(InnerNode* parent,
setPageType(ApiPage);
if (type_ == QString("alias"))
isAlias_ = true;
+ if (name.startsWith("__"))
+ setStatus(Internal);
}
/*!
diff --git a/src/tools/qdoc/node.h b/src/tools/qdoc/node.h
index 9e736aeba6..236b495bd0 100644
--- a/src/tools/qdoc/node.h
+++ b/src/tools/qdoc/node.h
@@ -195,6 +195,7 @@ public:
virtual bool isInnerNode() const = 0;
virtual bool isQmlModule() const { return false; }
+ virtual bool isQmlType() const { return false; }
virtual bool isExample() const { return false; }
virtual bool isExampleFile() const { return false; }
virtual bool isLeaf() const { return false; }
@@ -610,6 +611,7 @@ public:
QmlClassNode(InnerNode* parent, const QString& name);
virtual ~QmlClassNode();
virtual bool isQmlNode() const { return true; }
+ virtual bool isQmlType() const { return true; }
virtual bool isQtQuickNode() const { return (qmlModuleName() == QLatin1String("QtQuick")); }
virtual ClassNode* classNode() { return cnode_; }
virtual void setClassNode(ClassNode* cn) { cnode_ = cn; }
diff --git a/src/tools/qdoc/qdocindexfiles.cpp b/src/tools/qdoc/qdocindexfiles.cpp
index 02508e3589..47e302dad6 100644
--- a/src/tools/qdoc/qdocindexfiles.cpp
+++ b/src/tools/qdoc/qdocindexfiles.cpp
@@ -120,7 +120,6 @@ void QDocIndexFiles::readIndexFile(const QString& path)
{
QFile file(path);
if (file.open(QFile::ReadOnly)) {
- //qDebug() << "READING:" << path;
QDomDocument document;
document.setContent(&file);
file.close();
@@ -515,10 +514,12 @@ void QDocIndexFiles::readIndexSection(const QDomElement& element,
QString moduleName = element.attribute("module");
if (!moduleName.isEmpty())
node->setModuleName(moduleName);
- if (node->isExternalPage())
- node->setUrl(href);
- else if (!indexUrl.isEmpty())
- node->setUrl(indexUrl + QLatin1Char('/') + href);
+ if (!href.isEmpty()) {
+ if (node->isExternalPage())
+ node->setUrl(href);
+ else if (!indexUrl.isEmpty())
+ node->setUrl(indexUrl + QLatin1Char('/') + href);
+ }
QString since = element.attribute("since");
if (!since.isEmpty()) {
@@ -717,6 +718,7 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer,
access = "protected";
break;
case Node::Private:
+#if 0
// Do not include private non-internal nodes in the index.
// (Internal public and protected nodes are marked as private
// by qdoc. We can check their internal status to determine
@@ -725,6 +727,13 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer,
access = "internal";
else
return false;
+#endif
+ {
+ access = "private";
+ bool b = generateInternalNodes;
+ if (b)
+ b = false;
+ }
break;
default:
return false;
@@ -811,13 +820,24 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer,
}
else
href = node->name();
- writer.writeAttribute("href", href);
+ if (node->isQmlNode()) {
+ InnerNode* p = node->parent();
+ if (p) {
+ if (p->isQmlPropertyGroup())
+ p = p->parent();
+ if (p && p->isQmlType() && p->isAbstract())
+ href.clear();
+ }
+ }
+ if (!href.isEmpty())
+ writer.writeAttribute("href", href);
writer.writeAttribute("access", access);
writer.writeAttribute("status", status);
if (node->isAbstract())
writer.writeAttribute("abstract", "true");
- writer.writeAttribute("location", node->location().fileName());
+ if (!node->location().fileName().isEmpty())
+ writer.writeAttribute("location", node->location().fileName());
if (!node->location().filePath().isEmpty()) {
writer.writeAttribute("filepath", node->location().filePath());
writer.writeAttribute("lineno", QString("%1").arg(node->location().lineNo()));
diff --git a/src/tools/qdoc/qmlvisitor.cpp b/src/tools/qdoc/qmlvisitor.cpp
index 323c312eb5..fb90dcd59a 100644
--- a/src/tools/qdoc/qmlvisitor.cpp
+++ b/src/tools/qdoc/qmlvisitor.cpp
@@ -404,7 +404,6 @@ void QmlDocVisitor::applyMetacommands(QQmlJS::AST::SourceLocation,
}
}
else if (command == COMMAND_INTERNAL) {
- node->setAccess(Node::Private);
node->setStatus(Node::Internal);
}
else if (command == COMMAND_OBSOLETE) {