diff options
Diffstat (limited to 'src/tools/qdoc/generator.cpp')
-rw-r--r-- | src/tools/qdoc/generator.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/src/tools/qdoc/generator.cpp b/src/tools/qdoc/generator.cpp index 187253df50..7568a519bb 100644 --- a/src/tools/qdoc/generator.cpp +++ b/src/tools/qdoc/generator.cpp @@ -97,6 +97,7 @@ QStringList Generator::styleDirs; QStringList Generator::styleFiles; bool Generator::debugging_ = false; bool Generator::noLinkErrors_ = false; +bool Generator::redirectDocumentationToDevNull_ = false; Generator::Passes Generator::qdocPass_ = Both; void Generator::setDebugSegfaultFlag(bool b) @@ -268,7 +269,8 @@ void Generator::beginSubPage(const InnerNode* node, const QString& fileName) path += fileName; Generator::debugSegfault("Writing: " + path); outFileNames.insert(fileName,fileName); - QFile* outFile = new QFile(path); + + QFile* outFile = new QFile(redirectDocumentationToDevNull_ ? QStringLiteral("/dev/null") : path); if (!outFile->open(QFile::WriteOnly)) node->location().fatal(tr("Cannot open output file '%1'").arg(outFile->fileName())); QTextStream* out = new QTextStream(outFile); @@ -299,7 +301,7 @@ QString Generator::fileBase(const Node *node) const node = node->relates(); else if (!node->isInnerNode()) node = node->parent(); - if (node->subType() == Node::QmlPropertyGroup) { + if (node->type() == Node::QmlPropertyGroup) { node = node->parent(); } @@ -467,7 +469,7 @@ QString Generator::fullDocumentLocation(const Node *node, bool subdir) parentName = fullDocumentLocation(node->relates()); } else if ((parentNode = node->parent())) { - if (parentNode->subType() == Node::QmlPropertyGroup) { + if (parentNode->type() == Node::QmlPropertyGroup) { parentNode = parentNode->parent(); parentName = fullDocumentLocation(parentNode); } @@ -940,13 +942,13 @@ void Generator::generateInnerNode(InnerNode* node) return; if (docNode->subType() == Node::Image) return; - if (docNode->subType() == Node::QmlPropertyGroup) - return; if (docNode->subType() == Node::Page) { if (node->count() > 0) qDebug("PAGE %s HAS CHILDREN", qPrintable(docNode->title())); } } + else if (node->type() == Node::QmlPropertyGroup) + return; /* Obtain a code marker for the source file. @@ -1475,6 +1477,7 @@ QString Generator::indent(int level, const QString& markedCode) void Generator::initialize(const Config &config) { outputFormats = config.getOutputFormats(); + redirectDocumentationToDevNull_ = config.getBool(CONFIG_REDIRECTDOCUMENTATIONTODEVNULL); if (!outputFormats.isEmpty()) { outDir_ = config.getOutputDir(); if (outDir_.isEmpty()) { @@ -1907,8 +1910,6 @@ QString Generator::typeString(const Node *node) switch (node->subType()) { case Node::QmlClass: return "type"; - case Node::QmlPropertyGroup: - return "property group"; case Node::QmlBasicType: return "type"; default: @@ -1923,6 +1924,16 @@ QString Generator::typeString(const Node *node) return "function"; case Node::Property: return "property"; + case Node::QmlPropertyGroup: + return "property group"; + case Node::QmlProperty: + return "QML property"; + case Node::QmlSignal: + return "QML signal"; + case Node::QmlSignalHandler: + return "QML signal handler"; + case Node::QmlMethod: + return "QML method"; default: return "documentation"; } |