summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/helpprojectwriter.cpp
diff options
context:
space:
mode:
authorMartin Smith <[email protected]>2012-07-24 14:27:37 +0200
committerQt by Nokia <[email protected]>2012-07-25 01:00:41 +0200
commita4cd6ef25df6a2a99626a0e97bfc239f68e7771f (patch)
treea95e458fe9f64b76ddcbabc0ec46554c017f6dba /src/tools/qdoc/helpprojectwriter.cpp
parent48d439833ac25c033a5c999a8f2dbf94561b5bca (diff)
qdoc: Fixed incorrect href attribute values in qdoc
There were two fileBase() functions, but only one was correct. The wrong one was being called in some cases. Now there is only one fileBase() function, which is always called. Task nr: QTBUG-26591 Change-Id: I2c40e2152a8c7ad1bb9db256ecf1367148f0e7f6 Reviewed-by: Casper van Donderen <[email protected]>
Diffstat (limited to 'src/tools/qdoc/helpprojectwriter.cpp')
-rw-r--r--src/tools/qdoc/helpprojectwriter.cpp56
1 files changed, 21 insertions, 35 deletions
diff --git a/src/tools/qdoc/helpprojectwriter.cpp b/src/tools/qdoc/helpprojectwriter.cpp
index 5e4a60b20e5..48ecdfb1b86 100644
--- a/src/tools/qdoc/helpprojectwriter.cpp
+++ b/src/tools/qdoc/helpprojectwriter.cpp
@@ -52,7 +52,10 @@
QT_BEGIN_NAMESPACE
-HelpProjectWriter::HelpProjectWriter(const Config &config, const QString &defaultFileName)
+HelpProjectWriter::HelpProjectWriter(const Config &config,
+ const QString &defaultFileName,
+ Generator* g)
+ : gen_(g)
{
// The output directory should already have been checked by the calling
// generator.
@@ -211,7 +214,7 @@ QStringList HelpProjectWriter::keywordDetails(const Node *node) const
details << node->name();
details << node->name();
}
- details << Generator::fullDocumentLocation(node,true);
+ details << gen_->fullDocumentLocation(node,true);
return details;
}
@@ -271,12 +274,12 @@ bool HelpProjectWriter::generateSection(HelpProject &project,
case Node::Class:
project.keywords.append(keywordDetails(node));
- project.files.insert(Generator::fullDocumentLocation(node,true));
+ project.files.insert(gen_->fullDocumentLocation(node,true));
break;
case Node::Namespace:
project.keywords.append(keywordDetails(node));
- project.files.insert(Generator::fullDocumentLocation(node,true));
+ project.files.insert(gen_->fullDocumentLocation(node,true));
break;
case Node::Enum:
@@ -296,7 +299,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project,
details << item.name(); // "name"
details << item.name(); // "id"
}
- details << Generator::fullDocumentLocation(node,true);
+ details << gen_->fullDocumentLocation(node,true);
project.keywords.append(details);
}
}
@@ -328,7 +331,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project,
if (node->relates()) {
project.memberStatus[node->relates()].insert(node->status());
- project.files.insert(Generator::fullDocumentLocation(node->relates(),true));
+ project.files.insert(gen_->fullDocumentLocation(node->relates(),true));
} else if (node->parent())
project.memberStatus[node->parent()].insert(node->status());
}
@@ -342,7 +345,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project,
// Use the location of any associated enum node in preference
// to that of the typedef.
if (enumNode)
- typedefDetails[2] = Generator::fullDocumentLocation(enumNode,true);
+ typedefDetails[2] = gen_->fullDocumentLocation(enumNode,true);
project.keywords.append(typedefDetails);
}
@@ -350,7 +353,7 @@ bool HelpProjectWriter::generateSection(HelpProject &project,
case Node::Variable:
{
- QString location = Generator::fullDocumentLocation(node,true);
+ QString location = gen_->fullDocumentLocation(node,true);
project.files.insert(location.left(location.lastIndexOf(QLatin1Char('#'))));
project.keywords.append(keywordDetails(node));
}
@@ -370,35 +373,18 @@ bool HelpProjectWriter::generateSection(HelpProject &project,
QStringList details;
details << keyword->string()
<< keyword->string()
- << Generator::fullDocumentLocation(node,true) +
+ << gen_->fullDocumentLocation(node,true) +
QLatin1Char('#') + Doc::canonicalTitle(keyword->string());
project.keywords.append(details);
} else
fakeNode->doc().location().warning(
- tr("Bad keyword in %1").arg(Generator::fullDocumentLocation(node,true))
+ tr("Bad keyword in %1").arg(gen_->fullDocumentLocation(node,true))
);
}
}
project.keywords.append(keywordDetails(node));
}
- /*
- if (fakeNode->doc().hasTableOfContents()) {
- foreach (const Atom *item, fakeNode->doc().tableOfContents()) {
- QString title = Text::sectionHeading(item).toString();
- if (!title.isEmpty()) {
- QStringList details;
- details << title
- << title
- << HtmlGenerator::fullDocumentLocation(node,true) +
- QLatin1Char('#') + Doc::canonicalTitle(title);
- project.keywords.append(details);
- } else
- fakeNode->doc().location().warning(
- tr("Bad contents item in %1").arg(HtmlGenerator::fullDocumentLocation(node,true)));
- }
- }
-*/
- project.files.insert(Generator::fullDocumentLocation(node,true));
+ project.files.insert(gen_->fullDocumentLocation(node,true));
}
break;
}
@@ -467,9 +453,9 @@ void HelpProjectWriter::generateSections(HelpProject &project,
}
}
-void HelpProjectWriter::generate(const Tree *tre)
+void HelpProjectWriter::generate(const Tree *t)
{
- this->tree = tre;
+ this->tree = t;
for (int i = 0; i < projects.size(); ++i)
generateProject(projects[i]);
}
@@ -477,7 +463,7 @@ void HelpProjectWriter::generate(const Tree *tre)
void HelpProjectWriter::writeNode(HelpProject &project, QXmlStreamWriter &writer,
const Node *node)
{
- QString href = Generator::fullDocumentLocation(node,true);
+ QString href = gen_->fullDocumentLocation(node,true);
QString objName = node->name();
switch (node->type()) {
@@ -628,12 +614,12 @@ void HelpProjectWriter::generateProject(HelpProject &project)
node = tree->findNode(QStringList("index.html"));
QString indexPath;
if (node)
- indexPath = Generator::fullDocumentLocation(node,true);
+ indexPath = gen_->fullDocumentLocation(node,true);
else
indexPath = "index.html";
writer.writeAttribute("ref", indexPath);
writer.writeAttribute("title", project.indexTitle);
- project.files.insert(Generator::fullDocumentLocation(rootNode));
+ project.files.insert(gen_->fullDocumentLocation(rootNode));
generateSections(project, writer, rootNode);
@@ -671,7 +657,7 @@ void HelpProjectWriter::generateProject(HelpProject &project)
const FakeNode *page = tree->findFakeNodeByTitle(atom->string());
writer.writeStartElement("section");
- QString indexPath = Generator::fullDocumentLocation(page,true);
+ QString indexPath = gen_->fullDocumentLocation(page,true);
writer.writeAttribute("ref", indexPath);
writer.writeAttribute("title", atom->string());
project.files.insert(indexPath);
@@ -696,7 +682,7 @@ void HelpProjectWriter::generateProject(HelpProject &project)
if (!name.isEmpty()) {
writer.writeStartElement("section");
- QString indexPath = Generator::fullDocumentLocation(tree->findFakeNodeByTitle(subproject.indexTitle),true);
+ QString indexPath = gen_->fullDocumentLocation(tree->findFakeNodeByTitle(subproject.indexTitle),true);
writer.writeAttribute("ref", indexPath);
writer.writeAttribute("title", subproject.title);
project.files.insert(indexPath);