equal
deleted
inserted
replaced
41 |
41 |
42 /* |
42 /* |
43 pagegenerator.cpp |
43 pagegenerator.cpp |
44 */ |
44 */ |
45 |
45 |
46 #include <QtCore> |
|
47 #include <qfile.h> |
46 #include <qfile.h> |
48 #include <qfileinfo.h> |
47 #include <qfileinfo.h> |
49 |
48 |
50 #include "pagegenerator.h" |
49 #include "pagegenerator.h" |
51 #include "tree.h" |
50 #include "tree.h" |
75 void PageGenerator::generateTree(const Tree *tree, CodeMarker *marker) |
74 void PageGenerator::generateTree(const Tree *tree, CodeMarker *marker) |
76 { |
75 { |
77 generateInnerNode(tree->root(), marker); |
76 generateInnerNode(tree->root(), marker); |
78 } |
77 } |
79 |
78 |
80 QString PageGenerator::fileBase(const Node *node) |
79 QString PageGenerator::fileBase(const Node *node) const |
81 { |
80 { |
82 if (node->relates()) |
81 if (node->relates()) |
83 node = node->relates(); |
82 node = node->relates(); |
84 else if (!node->isInnerNode()) |
83 else if (!node->isInnerNode()) |
85 node = node->parent(); |
84 node = node->parent(); |
102 /* |
101 /* |
103 To avoid file name conflicts in the html directory, |
102 To avoid file name conflicts in the html directory, |
104 we prepend "qml-" to the file name of QML element doc |
103 we prepend "qml-" to the file name of QML element doc |
105 files. |
104 files. |
106 */ |
105 */ |
107 if (p->subType() == Node::QmlClass) { |
106 if ((p->subType() == Node::QmlClass) || |
|
107 (p->subType() == Node::QmlBasicType)) { |
108 base.prepend("qml-"); |
108 base.prepend("qml-"); |
109 } |
109 } |
110 #endif |
110 #endif |
111 if (!pp || pp->name().isEmpty() || pp->type() == Node::Fake) |
111 if (!pp || pp->name().isEmpty() || pp->type() == Node::Fake) |
112 break; |
112 break; |
150 while (res.endsWith(QLatin1Char('-'))) |
150 while (res.endsWith(QLatin1Char('-'))) |
151 res.chop(1); |
151 res.chop(1); |
152 return res; |
152 return res; |
153 } |
153 } |
154 |
154 |
155 QString PageGenerator::fileName(const Node *node) |
155 QString PageGenerator::fileName(const Node *node) const |
156 { |
156 { |
157 if (!node->url().isEmpty()) |
157 if (!node->url().isEmpty()) |
158 return node->url(); |
158 return node->url(); |
159 |
159 |
160 QString name = fileBase(node); |
160 QString name = fileBase(node); |
174 QFile *outFile = new QFile(outputDir() + "/" + fileName); |
174 QFile *outFile = new QFile(outputDir() + "/" + fileName); |
175 if (!outFile->open(QFile::WriteOnly)) |
175 if (!outFile->open(QFile::WriteOnly)) |
176 location.fatal(tr("Cannot open output file '%1'") |
176 location.fatal(tr("Cannot open output file '%1'") |
177 .arg(outFile->fileName())); |
177 .arg(outFile->fileName())); |
178 QTextStream *out = new QTextStream(outFile); |
178 QTextStream *out = new QTextStream(outFile); |
179 out->setCodec("ISO-8859-1"); |
179 out->setCodec(outputCodec); |
180 outStreamStack.push(out); |
180 outStreamStack.push(out); |
181 } |
181 } |
182 |
182 |
183 void PageGenerator::endSubPage() |
183 void PageGenerator::endSubPage() |
184 { |
184 { |
207 return; |
207 return; |
208 #ifdef QDOC_QML |
208 #ifdef QDOC_QML |
209 if (fakeNode->subType() == Node::QmlPropertyGroup) |
209 if (fakeNode->subType() == Node::QmlPropertyGroup) |
210 return; |
210 return; |
211 #endif |
211 #endif |
|
212 if (fakeNode->subType() == Node::Page) { |
|
213 if (node->count() > 0) |
|
214 qDebug("PAGE %s HAS CHILDREN", qPrintable(fakeNode->title())); |
|
215 } |
212 } |
216 } |
213 |
217 |
214 if (node->parent() != 0) { |
218 if (node->parent() != 0) { |
215 beginSubPage(node->location(), fileName(node)); |
219 beginSubPage(node->location(), fileName(node)); |
216 if (node->type() == Node::Namespace || node->type() == Node::Class) { |
220 if (node->type() == Node::Namespace || node->type() == Node::Class) { |