diff options
author | Paul Wicking <paul.wicking@qt.io> | 2019-02-08 10:45:48 +0100 |
---|---|---|
committer | Paul Wicking <paul.wicking@qt.io> | 2019-02-08 13:39:25 +0000 |
commit | 439d9682de6052492431324e8c207e3cc3c02957 (patch) | |
tree | 2bbb676533999b180cb93c8ff4cec6663fbeb903 | |
parent | 438e477d35c4e62251664878bdbf9f8efc85cd0d (diff) | |
download | qttools-439d9682de6052492431324e8c207e3cc3c02957.tar.gz |
QDoc: generate proper html for example source file pages
Source for examples are put into html files that are linked to from the
example page. In 5.12 these html files contained the doc site header,
footer, and proper styling. This behavior is restored with this change.
Change-Id: I23254366e4f85d348ed1bf7af5175334920cd672
Reviewed-by: Martin Smith <martin.smith@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
-rw-r--r-- | src/qdoc/generator.cpp | 11 | ||||
-rw-r--r-- | src/qdoc/generator.h | 1 | ||||
-rw-r--r-- | src/qdoc/htmlgenerator.cpp | 31 | ||||
-rw-r--r-- | src/qdoc/htmlgenerator.h | 1 |
4 files changed, 34 insertions, 10 deletions
diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index be5f6b20c..34194b7d7 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -1003,16 +1003,7 @@ void Generator::generateFileList(const ExampleNode* en, CodeMarker* marker, bool } else { - Text text; - Quoter quoter; - Doc::quoteFromFile(en->doc().location(), quoter, file); - QString code = quoter.quoteTo(en->location(), QString(), QString()); - CodeMarker *codeMarker = CodeMarker::markerForFileName(file); - text << Atom(codeMarker->atomType(), code); - Atom a(codeMarker->atomType(), code); - beginFilePage(en, linkForExampleFile(file, en)); - generateText(text, en, codeMarker); - endFilePage(); + generateExampleFilePage(en, file, marker); } openedList.next(); diff --git a/src/qdoc/generator.h b/src/qdoc/generator.h index 437da7ba0..dd1747e4e 100644 --- a/src/qdoc/generator.h +++ b/src/qdoc/generator.h @@ -111,6 +111,7 @@ protected: virtual QString fileBase(const Node* node) const; virtual QString fileExtension() const = 0; virtual void generateQAPage() { } + virtual void generateExampleFilePage(const Node *, const QString &, CodeMarker *) {} virtual void generateAlsoList(const Node *node, CodeMarker *marker); virtual int generateAtom(const Atom *, const Node *, CodeMarker *) { return 0; } virtual void generateBody(const Node *node, CodeMarker *marker); diff --git a/src/qdoc/htmlgenerator.cpp b/src/qdoc/htmlgenerator.cpp index 06da48698..04e3bb0e7 100644 --- a/src/qdoc/htmlgenerator.cpp +++ b/src/qdoc/htmlgenerator.cpp @@ -38,6 +38,7 @@ #include "qdocdatabase.h" #include "separator.h" #include "tree.h" +#include "quoter.h" #include <ctype.h> #include <qdebug.h> #include <qlist.h> @@ -405,6 +406,36 @@ void HtmlGenerator::generateQAPage() } /*! + Generate an html file with the contents of a C++ or QML source file. + */ +void HtmlGenerator::generateExampleFilePage(const Node *en, + const QString &file, + CodeMarker *marker) +{ + SubTitleSize subTitleSize = LargeSubTitle; + QString fullTitle = en->fullTitle(); + + beginFilePage(en, linkForExampleFile(file, en)); + generateHeader(fullTitle, en, marker); + generateTitle(fullTitle, + Text() << en->subtitle(), + subTitleSize, + en, + marker); + + Text text; + Quoter quoter; + Doc::quoteFromFile(en->doc().location(), quoter, file); + QString code = quoter.quoteTo(en->location(), QString(), QString()); + CodeMarker *codeMarker = CodeMarker::markerForFileName(file); + text << Atom(codeMarker->atomType(), code); + Atom a(codeMarker->atomType(), code); + + generateText(text, en, codeMarker); + endFilePage(); +} + +/*! This function writes an html file containing a list of links to links that originate in the current module and go to targets in the specified \a module. The \a marker diff --git a/src/qdoc/htmlgenerator.h b/src/qdoc/htmlgenerator.h index 4ae50fac8..b83e21aa2 100644 --- a/src/qdoc/htmlgenerator.h +++ b/src/qdoc/htmlgenerator.h @@ -65,6 +65,7 @@ public: protected: void generateQAPage() override; + void generateExampleFilePage(const Node *en, const QString &file, CodeMarker *marker) override; QString generateLinksToLinksPage(const QString& module, CodeMarker* marker); QString generateLinksToBrokenLinksPage(CodeMarker* marker, int& count); virtual int generateAtom(const Atom *atom, |