summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qdoc/htmlgenerator.cpp89
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html16
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html16
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html24
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html4
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html95
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html40
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html16
-rw-r--r--tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html16
-rw-r--r--tests/auto/qdoc/generatedoutput/qml/type.cpp14
-rw-r--r--tests/auto/qdoc/generatedoutput/testqml.qdocconf5
11 files changed, 195 insertions, 140 deletions
diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp
index afd39e0e2..05241753d 100644
--- a/src/qdoc/htmlgenerator.cpp
+++ b/src/qdoc/htmlgenerator.cpp
@@ -3855,7 +3855,6 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node,
const Aggregate *relative,
CodeMarker *marker)
{
- QmlPropertyNode *qpn = nullptr;
#ifdef GENERATE_MAC_REFS
generateMacRef(node, marker);
#endif
@@ -3866,61 +3865,52 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node,
"<div class=\"table\"><table class=\"qmlname\">\n");
QString qmlItemStart("<tr valign=\"top\" class=\"odd\" id=\"%1\">\n"
- "<td class=\"%2\"><p>\n<a name=\"%3\"></a>");
+ "<td class=\"%2\"><p>\n");
QString qmlItemEnd("</p></td></tr>\n");
- QString qmlItemFooter("</table></div>\n</div>");
+ QString qmlItemFooter("</table></div></div>\n");
+
+
+ std::function<void (QmlPropertyNode *)> generateQmlProperty = [&](QmlPropertyNode *n) {
+ out() << qmlItemStart.arg(refForNode(n), "tblQmlPropNode");
+
+ if (!n->isReadOnlySet() && n->declarativeCppNode())
+ n->markReadOnly(!n->isWritable());
+
+ if (n->isReadOnly())
+ out() << "<span class=\"qmlreadonly\">[read-only] </span>";
+ if (n->isDefault())
+ out() << "<span class=\"qmldefault\">[default] </span>";
+
+ generateQmlItem(n, relative, marker, false);
+ out() << qmlItemEnd;
+ };
+
+ std::function<void (Node *)> generateQmlMethod = [&](Node *n) {
+ out() << qmlItemStart.arg(refForNode(n), "tblQmlFuncNode");
+ generateSynopsis(n, relative, marker, Section::Details, false);
+ out() << qmlItemEnd;
+ };
out() << "<div class=\"qmlitem\">";
- QString nodeRef;
if (node->isPropertyGroup()) {
const SharedCommentNode *scn = static_cast<const SharedCommentNode*>(node);
- out() << "<div class=\"qmlproto\">";
- out() << "<div class=\"table\"><table class=\"qmlname\">";
+ out() << qmlItemHeader;
if (!scn->name().isEmpty()) {
- nodeRef = refForNode(scn);
- QString heading = scn->name() + " group";
- out() << "<tr valign=\"top\" class=\"even\" id=\"" << nodeRef << "\">";
+ out() << "<tr valign=\"top\" class=\"even\" id=\"" << refForNode(scn) << "\">";
out() << "<th class=\"centerAlign\"><p>";
- out() << "<a name=\"" + nodeRef + "\"></a>";
- out() << "<b>" << heading << "</b>";
- out() << "</p></th></tr>";
+ out() << "<b>" << scn->name() << " group</b>";
+ out() << "</p></th></tr>\n";
}
const QVector<Node *> sharedNodes = scn->collective();
for (const auto &node : sharedNodes) {
- if (node->isQmlProperty() || node->isJsProperty()) {
- qpn = static_cast<QmlPropertyNode *>(node);
- nodeRef = refForNode(qpn);
- out() << "<tr valign=\"top\" class=\"odd\" id=\"" << nodeRef << "\">";
- out() << "<td class=\"tblQmlPropNode\"><p>";
- out() << "<a name=\"" + nodeRef + "\"></a>";
-
- if (!qpn->isWritable())
- out() << "<span class=\"qmlreadonly\">[read-only] </span>";
- if (qpn->isDefault())
- out() << "<span class=\"qmldefault\">[default] </span>";
- generateQmlItem(qpn, relative, marker, false);
- out() << "</p></td></tr>";
- }
+ if (node->isQmlProperty() || node->isJsProperty())
+ generateQmlProperty(static_cast<QmlPropertyNode *>(node));
}
- out() << "</table></div>";
- out() << "</div>";
+ out() << qmlItemFooter;
} else if (node->isQmlProperty() || node->isJsProperty()) {
- qpn = static_cast<QmlPropertyNode *>(node);
out() << qmlItemHeader;
- out() << qmlItemStart.arg(nodeRef, "tblQmlPropNode", refForNode(qpn));
-
- if (!qpn->isReadOnlySet()) {
- if (qpn->declarativeCppNode())
- qpn->markReadOnly(!qpn->isWritable());
- }
- if (qpn->isReadOnly())
- out() << "<span class=\"qmlreadonly\">[read-only] </span>";
- if (qpn->isDefault())
- out() << "<span class=\"qmldefault\">[default] </span>";
-
- generateQmlItem(qpn, relative, marker, false);
- out() << qmlItemEnd;
+ generateQmlProperty(static_cast<QmlPropertyNode *>(node));
out() << qmlItemFooter;
} else if (node->isSharedCommentNode()) {
const SharedCommentNode *scn = reinterpret_cast<const SharedCommentNode *>(node);
@@ -3929,20 +3919,17 @@ void HtmlGenerator::generateDetailedQmlMember(Node *node,
out() << "<div class=\"fngroup\">\n";
out() << qmlItemHeader;
for (const auto &node : sharedNodes) {
- if (node->isFunction(Node::QML) || node->isFunction(Node::JS)) {
- out() << qmlItemStart.arg(nodeRef, "tblQmlFuncNode", refForNode(node));
- generateSynopsis(node, relative, marker, Section::Details, false);
- out() << qmlItemEnd;
- }
+ if (node->isFunction(Node::QML) || node->isFunction(Node::JS))
+ generateQmlMethod(node);
+ else if (node->isQmlProperty() || node->isJsProperty())
+ generateQmlProperty(static_cast<QmlPropertyNode *>(node));
}
out() << qmlItemFooter;
if (sharedNodes.size() > 1)
- out() << "</div>";
+ out() << "</div>"; // fngroup
} else { // assume the node is a method/signal handler
out() << qmlItemHeader;
- out() << qmlItemStart.arg(nodeRef, "tblQmlFuncNode", refForNode(node));
- generateSynopsis(node, relative, marker, Section::Details, false);
- out() << qmlItemEnd;
+ generateQmlMethod(node);
out() << qmlItemFooter;
}
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html
index 5b9bad572..c1739608c 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-abstractparent.html
@@ -45,22 +45,22 @@
<!-- $$$children -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="children-prop">
<td class="tblQmlPropNode"><p>
-<a name="children-prop"></a><span class="qmldefault">[default] </span><span class="name">children</span> : <span class="type">list</span>&lt;<span class="type"><a href="qml-qdoc-test-child.html">Child</a></span>&gt;</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Children of the type.</p>
+<span class="qmldefault">[default] </span><span class="name">children</span> : <span class="type">list</span>&lt;<span class="type"><a href="qml-qdoc-test-child.html">Child</a></span>&gt;</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Children of the type.</p>
</div></div><!-- @@@children -->
<br/>
<h2>Method Documentation</h2>
<!-- $$$rear[overload1]$$$rear -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="rear-method">
<td class="tblQmlFuncNode"><p>
-<a name="rear-method"></a><span class="type">void</span> <span class="name">rear</span>(<i>child</i>)</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Do some abstract parenting on <i>child</i>.</p>
+<span class="type">void</span> <span class="name">rear</span>(<i>child</i>)</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Do some abstract parenting on <i>child</i>.</p>
</div></div><!-- @@@rear -->
<br/>
</body>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html
index c9cb241af..c20ce7d8f 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-child.html
@@ -45,22 +45,22 @@
<!-- $$$children -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="children-prop">
<td class="tblQmlPropNode"><p>
-<a name="children-prop"></a><span class="qmldefault">[default] </span><span class="name">children</span> : <span class="type">list</span>&lt;<span class="type"><a href="qml-qdoc-test-child.html">Child</a></span>&gt;</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Children of the type.</p>
+<span class="qmldefault">[default] </span><span class="name">children</span> : <span class="type">list</span>&lt;<span class="type"><a href="qml-qdoc-test-child.html">Child</a></span>&gt;</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Children of the type.</p>
</div></div><!-- @@@children -->
<br/>
<h2>Method Documentation</h2>
<!-- $$$rear[overload1]$$$rear -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="rear-method">
<td class="tblQmlFuncNode"><p>
-<a name="rear-method"></a><span class="type">void</span> <span class="name">rear</span>(<i>child</i>)</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Do some abstract parenting on <i>child</i>.</p>
+<span class="type">void</span> <span class="name">rear</span>(<i>child</i>)</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Do some abstract parenting on <i>child</i>.</p>
</div></div><!-- @@@rear -->
<br/>
</body>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html
index 626531c04..b15559210 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-doctest.html
@@ -49,22 +49,22 @@
<!-- $$$active -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="active-prop">
<td class="tblQmlPropNode"><p>
-<a name="active-prop"></a><span class="name">active</span> : <span class="type">bool</span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Whether the test is active.</p>
+<span class="name">active</span> : <span class="type">bool</span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Whether the test is active.</p>
<p><b>See also </b><a href="qml-qdoc-test-doctest.html#name-prop">name</a>.</p>
</div></div><!-- @@@active -->
<br/>
<!-- $$$name -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="name-prop">
<td class="tblQmlPropNode"><p>
-<a name="name-prop"></a><span class="name">name</span> : <span class="type">string</span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Name of the test.</p>
+<span class="name">name</span> : <span class="type">string</span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Name of the test.</p>
<pre class="qml"><span class="type"><a href="qml-qdoc-test-doctest.html">DocTest</a></span> {
<span class="name">name</span>: <span class="string">&quot;test&quot;</span>
<span class="comment">// ...</span>
@@ -75,11 +75,11 @@
<!-- $$$fail[overload1]$$$fail -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="fail-method">
<td class="tblQmlFuncNode"><p>
-<a name="fail-method"></a><span class="name">fail</span>(<i>message</i> = &quot;oops&quot;)</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Fails the current test case, with the optional <i>message</i>.</p>
+<span class="name">fail</span>(<i>message</i> = &quot;oops&quot;)</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Fails the current test case, with the optional <i>message</i>.</p>
<p>This method was introduced in QDoc.Test 1.0.</p>
</div></div><!-- @@@fail -->
<br/>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html
index a227cfc0a..a0599c34d 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type-members.html
@@ -11,6 +11,8 @@
<h1 class="title">List of All Members for Type</h1>
<p>This is the complete list of members for <a href="qml-qdoc-test-type.html">Type</a>, including inherited members.</p>
<ul>
+<li class="fn"><b><b><a href="qml-qdoc-test-type.html#fifth-prop">fifth</a></b></b> : int</li>
+<li class="fn"><b><b><a href="qml-qdoc-test-type.html#fourth-prop">fourth</a></b></b> : int</li>
<li class="fn"><b><b><a href="qml-qdoc-test-type.html#group-prop">group</a></b></b><ul>
<li class="fn"><b><b><a href="qml-qdoc-test-type.html#group.first-prop">group.first</a></b></b> : int</li>
<li class="fn"><b><b><a href="qml-qdoc-test-type.html#group.second-prop">group.second</a></b></b> : int</li>
@@ -23,6 +25,8 @@
<li class="fn"><b><b><a href="qml-qdoc-test-type.html#completed-signal">completed</a></b></b>(<i>status</i>)</li>
<li class="fn"><b><b><a href="qml-qdoc-test-type.html#configured-signal">configured</a></b></b>() [attached]</li>
<li class="fn">Type <b><b><a href="qml-qdoc-test-type.html#copy-method">copy</a></b></b>(<i>a</i>)</li>
+<li class="fn"><b><b><a href="qml-qdoc-test-type.html#disable-method">disable</a></b></b>()</li>
+<li class="fn"><b><b><a href="qml-qdoc-test-type.html#enable-method">enable</a></b></b>()</li>
</ul>
</body>
</html>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html
index 8bd343fa1..30c48adf5 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-qdoc-test-type.html
@@ -32,6 +32,8 @@
<a name="properties"></a>
<h2 id="properties">Properties</h2>
<ul>
+<li class="fn"><b><b><a href="qml-qdoc-test-type.html#fifth-prop">fifth</a></b></b> : int</li>
+<li class="fn"><b><b><a href="qml-qdoc-test-type.html#fourth-prop">fourth</a></b></b> : int</li>
<li class="fn"><b><b><a href="qml-qdoc-test-type.html#group-prop">group</a></b></b><ul>
<li class="fn"><b><b><a href="qml-qdoc-test-type.html#group.first-prop">group.first</a></b></b> : int</li>
<li class="fn"><b><b><a href="qml-qdoc-test-type.html#group.second-prop">group.second</a></b></b> : int</li>
@@ -60,45 +62,74 @@
<h2 id="methods">Methods</h2>
<ul>
<li class="fn">Type <b><b><a href="qml-qdoc-test-type.html#copy-method">copy</a></b></b>(<i>a</i>)</li>
+<li class="fn"><b><b><a href="qml-qdoc-test-type.html#disable-method">disable</a></b></b>()</li>
+<li class="fn"><b><b><a href="qml-qdoc-test-type.html#enable-method">enable</a></b></b>()</li>
</ul>
<!-- $$$Type-description -->
<a name="details"></a>
<h2 id="details">Detailed Description</h2>
<!-- @@@Type -->
<h2>Property Documentation</h2>
+<!-- $$$ -->
+<div class="qmlitem"><div class="fngroup">
+<div class="qmlproto">
+<div class="table"><table class="qmlname">
+<tr valign="top" class="odd" id="fourth-prop">
+<td class="tblQmlPropNode"><p>
+<span class="name">fourth</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+<tr valign="top" class="odd" id="fifth-prop">
+<td class="tblQmlPropNode"><p>
+<span class="name">fifth</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+</table></div></div>
+</div><div class="qmldoc"><p>A group of properties sharing a documentation comment.</p>
+</div></div><!-- @@@ -->
+<br/>
<!-- $$$group -->
-<div class="qmlitem"><div class="qmlproto"><div class="table"><table class="qmlname"><tr valign="top" class="even" id="group-prop"><th class="centerAlign"><p><a name="group-prop"></a><b>group group</b></p></th></tr><tr valign="top" class="odd" id="group.first-prop"><td class="tblQmlPropNode"><p><a name="group.first-prop"></a><span class="name">group.first</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr><tr valign="top" class="odd" id="group.second-prop"><td class="tblQmlPropNode"><p><a name="group.second-prop"></a><span class="name">group.second</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr><tr valign="top" class="odd" id="group.third-prop"><td class="tblQmlPropNode"><p><a name="group.third-prop"></a><span class="name">group.third</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr></table></div></div><div class="qmldoc"><p>A property group.</p>
+<div class="qmlitem"><div class="qmlproto">
+<div class="table"><table class="qmlname">
+<tr valign="top" class="even" id="group-prop"><th class="centerAlign"><p><b>group group</b></p></th></tr>
+<tr valign="top" class="odd" id="group.first-prop">
+<td class="tblQmlPropNode"><p>
+<span class="name">group.first</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+<tr valign="top" class="odd" id="group.second-prop">
+<td class="tblQmlPropNode"><p>
+<span class="name">group.second</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+<tr valign="top" class="odd" id="group.third-prop">
+<td class="tblQmlPropNode"><p>
+<span class="name">group.third</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>A property group.</p>
</div></div><!-- @@@group -->
<br/>
<!-- $$$id -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="id-prop">
<td class="tblQmlPropNode"><p>
-<a name="id-prop"></a><span class="qmlreadonly">[read-only] </span><span class="name">id</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>A read-only property.</p>
+<span class="qmlreadonly">[read-only] </span><span class="name">id</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>A read-only property.</p>
</div></div><!-- @@@id -->
<br/>
<!-- $$$name -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="name-prop">
<td class="tblQmlPropNode"><p>
-<a name="name-prop"></a><span class="name">name</span> : <span class="type">string</span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Name of the Test.</p>
+<span class="name">name</span> : <span class="type">string</span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Name of the Test.</p>
</div></div><!-- @@@name -->
<br/>
<h2>Attached Property Documentation</h2>
<!-- $$$type -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="type-attached-prop">
<td class="tblQmlPropNode"><p>
-<a name="type-attached-prop"></a><span class="name">Type.type</span> : <span class="type">enumeration</span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tbldscr">Description</th></tr>
+<span class="name">Type.type</span> : <span class="type">enumeration</span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><div class="table"><table class="valuelist"><tr valign="top" class="odd"><th class="tblConst">Constant</th><th class="tbldscr">Description</th></tr>
<tr><td class="topAlign"><code>Type.NoType</code></td><td class="topAlign">Nothing</td></tr>
<tr><td class="topAlign"><code>Type.SomeType</code></td><td class="topAlign">Something</td></tr>
</table></div>
@@ -108,33 +139,47 @@
<!-- $$$completed[overload1]$$$completed -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="completed-signal">
<td class="tblQmlFuncNode"><p>
-<a name="completed-signal"></a><span class="name">completed</span>(<i>status</i>)</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>This signal is emitted when the operation completed with <i>status</i>.</p>
+<span class="name">completed</span>(<i>status</i>)</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>This signal is emitted when the operation completed with <i>status</i>.</p>
</div></div><!-- @@@completed -->
<br/>
<h2>Attached Signal Documentation</h2>
<!-- $$$configured[overload1]$$$configured -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="configured-signal">
<td class="tblQmlFuncNode"><p>
-<a name="configured-signal"></a><span class="name">configured</span>()</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>This attached signal is emitted when the type was configured.</p>
+<span class="name">configured</span>()</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>This attached signal is emitted when the type was configured.</p>
</div></div><!-- @@@configured -->
<br/>
<h2>Method Documentation</h2>
+<!-- $$$ -->
+<div class="qmlitem"><div class="fngroup">
+<div class="qmlproto">
+<div class="table"><table class="qmlname">
+<tr valign="top" class="odd" id="enable-method">
+<td class="tblQmlFuncNode"><p>
+<span class="name">enable</span>()</p></td></tr>
+<tr valign="top" class="odd" id="disable-method">
+<td class="tblQmlFuncNode"><p>
+<span class="name">disable</span>()</p></td></tr>
+</table></div></div>
+</div><div class="qmldoc"><p>Enables or disables this type.</p>
+</div></div><!-- @@@ -->
+<br/>
<!-- $$$copy[overload1]$$$copy -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="copy-method">
<td class="tblQmlFuncNode"><p>
-<a name="copy-method"></a><span class="type"><a href="qml-qdoc-test-type.html">Type</a></span> <span class="name">copy</span>(<i>a</i>)</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Returns another Type based on <i>a</i>.</p>
+<span class="type"><a href="qml-qdoc-test-type.html">Type</a></span> <span class="name">copy</span>(<i>a</i>)</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Returns another Type based on <i>a</i>.</p>
</div></div><!-- @@@copy -->
<br/>
</body>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html
index 5a25e2ff1..d860f022e 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-progressbar.html
@@ -45,53 +45,53 @@
<!-- $$$color -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="color-prop">
<td class="tblQmlPropNode"><p>
-<a name="color-prop"></a><span class="name">color</span> : <span class="type">color</span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>The color of the <a href="qml-uicomponents-progressbar.html">ProgressBar</a>'s gradient. Must bind to a color type.</p>
+<span class="name">color</span> : <span class="type">color</span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>The color of the <a href="qml-uicomponents-progressbar.html">ProgressBar</a>'s gradient. Must bind to a color type.</p>
<p><b>See also </b><a href="qml-uicomponents-progressbar.html#secondColor-prop">secondColor</a>.</p>
</div></div><!-- @@@color -->
<br/>
<!-- $$$maximum -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="maximum-prop">
<td class="tblQmlPropNode"><p>
-<a name="maximum-prop"></a><span class="name">maximum</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>The maximum value of the <a href="qml-uicomponents-progressbar.html">ProgressBar</a> range. The <a href="qml-uicomponents-progressbar.html#value-prop">value</a> must not be more than this value.</p>
+<span class="name">maximum</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>The maximum value of the <a href="qml-uicomponents-progressbar.html">ProgressBar</a> range. The <a href="qml-uicomponents-progressbar.html#value-prop">value</a> must not be more than this value.</p>
</div></div><!-- @@@maximum -->
<br/>
<!-- $$$minimum -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="minimum-prop">
<td class="tblQmlPropNode"><p>
-<a name="minimum-prop"></a><span class="name">minimum</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>The minimum value of the <a href="qml-uicomponents-progressbar.html">ProgressBar</a> range. The <a href="qml-uicomponents-progressbar.html#value-prop">value</a> must not be less than this value.</p>
+<span class="name">minimum</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>The minimum value of the <a href="qml-uicomponents-progressbar.html">ProgressBar</a> range. The <a href="qml-uicomponents-progressbar.html#value-prop">value</a> must not be less than this value.</p>
</div></div><!-- @@@minimum -->
<br/>
<!-- $$$secondColor -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="secondColor-prop">
<td class="tblQmlPropNode"><p>
-<a name="secondColor-prop"></a><span class="name">secondColor</span> : <span class="type">color</span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>The second color of the <a href="qml-uicomponents-progressbar.html">ProgressBar</a>'s gradient. Must bind to a color type.</p>
+<span class="name">secondColor</span> : <span class="type">color</span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>The second color of the <a href="qml-uicomponents-progressbar.html">ProgressBar</a>'s gradient. Must bind to a color type.</p>
<p><b>See also </b><a href="qml-uicomponents-progressbar.html#color-prop">color</a>.</p>
</div></div><!-- @@@secondColor -->
<br/>
<!-- $$$value -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="value-prop">
<td class="tblQmlPropNode"><p>
-<a name="value-prop"></a><span class="name">value</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>The value of the progress.</p>
+<span class="name">value</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>The value of the progress.</p>
</div></div><!-- @@@value -->
<br/>
</body>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html
index 06d7ab184..e4febbfcf 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-switch.html
@@ -47,22 +47,22 @@
<!-- $$$on -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="on-prop">
<td class="tblQmlPropNode"><p>
-<a name="on-prop"></a><span class="name">on</span> : <span class="type">bool</span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>Indicates the state of the switch. If <code>false</code>, then the switch is in the <code>off</code> state.</p>
+<span class="name">on</span> : <span class="type">bool</span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>Indicates the state of the switch. If <code>false</code>, then the switch is in the <code>off</code> state.</p>
</div></div><!-- @@@on -->
<br/>
<h2>Method Documentation</h2>
<!-- $$$toggle[overload1]$$$toggle -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="toggle-method">
<td class="tblQmlFuncNode"><p>
-<a name="toggle-method"></a><span class="name">toggle</span>()</p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>A method to toggle the switch. If the switch is <code>on</code>, the toggling it will turn it <code>off</code>. Toggling a switch in the <code>off</code> position will turn it <code>on</code>.</p>
+<span class="name">toggle</span>()</p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>A method to toggle the switch. If the switch is <code>on</code>, the toggling it will turn it <code>off</code>. Toggling a switch in the <code>off</code> position will turn it <code>on</code>.</p>
</div></div><!-- @@@toggle -->
<br/>
</body>
diff --git a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html
index 991737785..8598eec00 100644
--- a/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html
+++ b/tests/auto/qdoc/generatedoutput/expected_output/qml-uicomponents-tabwidget.html
@@ -61,21 +61,21 @@
<!-- $$$current -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="current-prop">
<td class="tblQmlPropNode"><p>
-<a name="current-prop"></a><span class="name">current</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>The currently active tab in the <a href="qml-uicomponents-tabwidget.html">TabWidget</a>.</p>
+<span class="name">current</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>The currently active tab in the <a href="qml-uicomponents-tabwidget.html">TabWidget</a>.</p>
</div></div><!-- @@@current -->
<br/>
<!-- $$$sampleReadOnlyProperty -->
<div class="qmlitem"><div class="qmlproto">
<div class="table"><table class="qmlname">
-<tr valign="top" class="odd" id="">
+<tr valign="top" class="odd" id="sampleReadOnlyProperty-prop">
<td class="tblQmlPropNode"><p>
-<a name="sampleReadOnlyProperty-prop"></a><span class="qmlreadonly">[read-only] </span><span class="name">sampleReadOnlyProperty</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
-</table></div>
-</div><div class="qmldoc"><p>A sample <code>read-only</code> property. A contrived property to demonstrate QDoc's ability to detect read-only properties.</p>
+<span class="qmlreadonly">[read-only] </span><span class="name">sampleReadOnlyProperty</span> : <span class="type"><a href="qml-int.html">int</a></span></p></td></tr>
+</table></div></div>
+<div class="qmldoc"><p>A sample <code>read-only</code> property. A contrived property to demonstrate QDoc's ability to detect read-only properties.</p>
<p>The signature is:</p>
<pre class="cpp">readonly property <span class="type"><a href="qml-int.html">int</a></span> sampleReadOnlyProperty: <span class="number">0</span></pre>
<p>Note that the property must be initialized to a value.</p>
diff --git a/tests/auto/qdoc/generatedoutput/qml/type.cpp b/tests/auto/qdoc/generatedoutput/qml/type.cpp
index db3dd1047..bf04bdb43 100644
--- a/tests/auto/qdoc/generatedoutput/qml/type.cpp
+++ b/tests/auto/qdoc/generatedoutput/qml/type.cpp
@@ -69,12 +69,26 @@
*/
/*!
+ \qmlproperty int Type::fourth
+ \qmlproperty int Type::fifth
+
+ \brief A group of properties sharing a documentation comment.
+*/
+
+/*!
\qmlmethod Type Type::copy(a)
Returns another Type based on \a a.
*/
/*!
+ \qmlmethod Type::enable()
+ \qmlmethod Type::disable()
+
+ Enables or disables this type.
+*/
+
+/*!
\qmlsignal Type::completed(int status)
This signal is emitted when the operation completed with \a status.
diff --git a/tests/auto/qdoc/generatedoutput/testqml.qdocconf b/tests/auto/qdoc/generatedoutput/testqml.qdocconf
index 00d12a463..c469bde06 100644
--- a/tests/auto/qdoc/generatedoutput/testqml.qdocconf
+++ b/tests/auto/qdoc/generatedoutput/testqml.qdocconf
@@ -1,4 +1,6 @@
include(testcpp.qdocconf)
+moduleheader = TestCPP
+
project = Test
description = "A test project for QDoc build artifacts"
outputdir = ./html
@@ -8,6 +10,9 @@ exampledirs = qml
headerdirs += .
sourcedirs += qml
+# Exclude source files from other tests' subdirs
+excludedirs = ./bug80259
+
sources.fileextensions = "*.qml *.cpp *.qdoc"
headers.fileextensions = "*.h"