summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/htmlgenerator.cpp
Commit message (Collapse)AuthorAgeFilesLines
* qdoc: Removed setting of codeindent variableMartin Smith2012-11-071-2/+4
| | | | | | | | | | | | | | | | | | | | All the qdocconf files in use for Qt 5.0 set the codeindent variable to 1, which prefixes each line of a snippet with one ' '. But this messes up the cutting and pasting of snippets into editors for actual use. qdoc now lets the codeindent variable be initialized to 0, and then it never changes it. This looks ok in the default formatted html output. If the html output formatted with the template CSS files also looks ok, then the codeindent variable can be removed from all the qdocconf files, since it will no longer be used by qdoc. Task number: QTBUG-27798 Change-Id: I398c57bdfc99e747ec086fbd8ddf5994cf3ee6d5 Reviewed-by: Mitch Curtis <mitch.curtis@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: qdoc now can run in 2 passesMartin Smith2012-10-121-13/+19
| | | | | | | | | | | | | | | | | | | Two command line options have been added, -prepare and -generate. If you run qdoc with -prepare, qdoc reads and parses the source files but does not generate the documentation. It only creates the .index file for the module you are running qdoc on. If you run qdoc with -generate, qdoc reads and parses the source files as well as the .index files created by running qdoc with -prepare, and it generates the documentation but no .index file. If you run without either option, qdoc runs as before, i.e. it runs both passes as a single pass. Task number: QTBUG-27539 Change-Id: Idbfe3f0f9dff58283596b504f00dff3f70f6e371 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
* qdoc: Implements the -no-link-errors optionMartin Smith2012-10-101-3/+2
| | | | | | | | | | | | The -no-link-errors flag tells qdoc not to print any link error messages at all. This is useful for finding and fixing all non-link errors in a module. Task number: QTBUG-26870 Change-Id: Id4b0eebb6c0509c57d2f01763b6dedbfb6756a91 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Simplification of target ref constructionMartin Smith2012-10-081-26/+12
| | | | | | | | | | | | This change is being done to simplify qdoc, but the motivation was to fix a segfault in qdoc when running the release version of qdoc on linux. The change improves qdoc by simplifying the code whether it fixes the segfault or not. Change-Id: I2c865f7f1e2a44763aa7349d1bd739ad562f4029 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Adding a debug functionMartin Smith2012-10-081-0/+3
| | | | | | | | | | | | | qdoc segfaults for one user, when he runs the release version of qdoc but not the debug version. This change adds a -debug option to the qdoc command line options. If set, qdoc will print debug messages at useful milestones so we can see where it is when it goes into the weeds. Change-Id: I0e826e74399eaf50091817c68c775d02c6b615d2 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QDoc: remove the experimental basedir variablePierre Rossi2012-09-281-31/+0
| | | | | | | | | It was introduced in the early days of the docs' modularization and appears not to be used anywhere anymore. Change-Id: I5b0c60d92828624af2129153fce96ad01aec861c Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: retrying More refactoring of qdoc data structuresMartin Smith2012-09-261-8/+9
| | | | | | | | | | | This commit is the second phase of a significant overhaul of qdoc. Two new classes, QDocIndexFiles, and QDocTagFiles, are added to encapsulate the creation and use of the qdoc index files, and the creation of the qdoc tag file. Change-Id: I94651b10628e535ea7b26bd8256037cd819ccea7 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Change copyrights from Nokia to DigiaIikka Eklund2012-09-221-22/+22
| | | | | | | | Change copyrights and license headers from Nokia to Digia Change-Id: If1cc974286d29fd01ec6c19dd4719a67f4c3f00e Reviewed-by: Lars Knoll <lars.knoll@digia.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* make src/tools/ compile without CamelCase headersOswald Buddenhagen2012-09-191-1/+1
| | | | | | | | so the build works with syncqt -minimal Change-Id: Ief5e8eb9a504dd6c84cff76cc3e5257450386a0f Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qdoc: Refactoring of qdoc data structuresMartin Smith2012-09-141-409/+201
| | | | | | | | | | | | | | | | | | This commit is the beginning of a significant overhaul of qdoc. A new class, QDocDatabase, is added, which will eventually encapsulate all the data structures used by qdoc. In this commit, the Tree class is made private and only accessible from QDocDatabase. Several maps structures are also moved into QDocDatabase from other classes. Much dead code and unused parameters were removed. Further simplification will follow. Change-Id: I237411c50f3ced0d2fc8d3b0fbfdf4e55880f8e9 Reviewed-by: Qt Doc Bot <qt_docbot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* Use QString() instead of "".Frederik Gladhorn2012-09-011-1/+1
| | | | | Change-Id: I42c55344663808b8362e2c9185273a00fc1c70b0 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* doc: Replaced FakeNode with DocNodeMartin Smith2012-08-211-127/+127
| | | | | | | | | | | | | | | | | | The name FakeNode was a bad choice. It was used to represent something that wasn't derived from a C++ declaration in a .h file. Any generic page or QML item or any special kind of qdoc construct was stored in a FakeNode. The name was unfortunate because the constructs stored in FakeNodes were just as real as C++ constructs. So FakeNode has been renamed to DocNode, which just refers to a documentation node. The node type Fake has been replaced with node type Document. Change-Id: Ida9de8288b7b8915bf9273fd890ca84aaf05e182 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Removed "../" from paths to imagesMartin Smith2012-08-061-6/+8
| | | | | | | | | | | qdoc was mistakenly assuming that the output was going into subdirectories. The base dir variable was not being tested. Task nr: QTBUG-26638 Change-Id: I9b331926f8954b58102f75fad3f233eaebb2bb4d Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* qdoc: No longer prints namespace qualifier twiceMartin Smith2012-08-061-4/+2
| | | | | | | | | | | | enum values in the Qt namespace were being printed as. e.g.: Qt::Qt::AlignLeft. This was due to the presence of a collision node that was not handled properly. Task nr: QTBUG-26628 Change-Id: I54adaba72410b2838f0922f181846bb7e76b61d4 Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* QDoc: Set HTML Doctype to XHTML 1.0 Transitional.Casper van Donderen2012-08-021-1/+1
| | | | | | | | Previously QDoc HTML output was marked as XHTML 1.0 Strict, but did not pass validation. As XHTML 1.0 Transitional the W3C validation passes. Change-Id: Iced8c02b2602a82b94ee394e580bfb92023a517b Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Set the default output encoding for HTML to UTF-8.Casper van Donderen2012-08-021-1/+1
| | | | | Change-Id: Ic6d8efae967514e143f224aed4c761a4c01eb434 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Add extra tags when no HTML.endheader is specified.Casper van Donderen2012-08-021-1/+4
| | | | | | | | | The default Qt template inserts </head><body> with some arguments in the header of the HTML document. When you don't specify the HTML.endheader qdocconf variable those tags will not be generated and the QTextBrowser-based view in Qt Assistant will not be able to render the documentation. Change-Id: Ieee231f300e1dc71d6b6343771d2682b3de96d73 Reviewed-by: Pierre Rossi <pierre.rossi@nokia.com>
* qdoc: Fixed incorrect href attribute values in qdocMartin Smith2012-07-251-4/+4
| | | | | | | | | | | | 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 <casper.vandonderen@nokia.com>
* qdoc: Removed several #if 1 macros.Martin Smith2012-07-061-18/+0
| | | | | | | | The code should be there. Also removed a few obsolete #defines. Change-Id: Id63418b344157a99ac502329eea4f0bc9dc77849 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Removed several #if 0 blocks.Martin Smith2012-07-061-51/+0
| | | | | | | Removed a lot of dead code. Change-Id: I237521efab7dd046d3a47ab92a6a0e083c59ab55 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: The \br macro is promoted to a qdoc commandMartin Smith2012-07-051-0/+3
| | | | | | | | | | | The \br macro, which is used to insert a line break in the output text, is now promoted to be a qdoc command. For html, it outputs a <br/>. For DITA XML it does nothing. Task Nr: QTBUG-26435 Change-Id: Ie0542c9053f68473ccaa2f50ace74baa30f78dd0 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Use 'Type' instead of 'element' in instantiates.Casper van Donderen2012-06-211-2/+2
| | | | | | | | | On a C++ documentation page "is instantiated by QML element" was printed when you have a QML Type that instantiates this class. The text is now changed to "is instantiated by QML Type". Change-Id: I6c93531edc6ef9ac112573034fd54fa52390bc37 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Better error messages for QML command errorsMartin Smith2012-06-121-3/+1
| | | | | | | | | | | | Some error messages were not clear for these qdoc commands: \qmlclass, \qmlmodule, \inqmlmodule, and \qmlproperty. They have been made clearer now. Also, qdoc now parses input files in the same order all the time now. The order is alphabetic now. This might not be the optimal order. Change-Id: Id53a5ec8105009c71f4bbd41973a54aed7821099 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: search for example projectPath for manifest.Casper van Donderen2012-06-051-2/+22
| | | | | | | | | Previously qdoc would automatically use the first .pro/.qmlproject file found, now it explicitly searches for a .pro/.qmlproject file with the name of the example. Change-Id: I2552e529bd3d1b724d3b4286d98d664edbbabcf2 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Make qdoc compile with QT_STRICT_ITERATORSThiago Macieira2012-05-291-73/+73
| | | | | Change-Id: I2923315678d1aef516b35a8c83fe734367723a28 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Fix some QString usage issues (Krazy warnings).Friedemann Kleint2012-05-161-12/+12
| | | | | | | | - Avoid single-character constants. - Use QString() instead of "". Change-Id: If04eff389e7b6d4a18201365b711708fdf545d00 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Improve fileToOpen detection for examples manifestAlessandro Portale2012-05-151-1/+1
| | | | | | | | | When looking for a suitable "fileToOpen", do a case insensitive file name comparision. So that it also works in this scenario: AnExample/anexample.qml Change-Id: Ic4cd1d59a7a35e534bfd26cd174a3c2ab5383025 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Don't include internal QML properties in outputMartin Smith2012-05-151-2/+0
| | | | | | | | | QML properties marked internal were still appearing in the the HTML output. Also, the title for QML type pages was not correct in the help project writer. Change-Id: Icaad7cefce77a4af70796bc185c99a3035fb17c8 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Removed some obsolete ifdefsMartin Smith2012-05-101-4/+0
| | | | | | | Also removed a few useless comments. Change-Id: I62a52bb826c1299ea9da3f0f3c23f267703c6509 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Fixed qdoc error messagesMartin Smith2012-05-091-1/+1
| | | | | | | | | | | qdoc prints many error messages without including the source file path and the line number for where the error occurs. This makes it difficult to find the place to fix the error. This update corrects some of those error messages. Further updates will fix the others. Change-Id: I9c0eed96482c61643a2d83c5135368413e63ae52 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Generate unique ids for qmlMethods.Casper van Donderen2012-05-041-1/+4
| | | | | | | Also delete unused function. Change-Id: I8c3590d17c823bc27dcb9d9e73b7b812e078d33b Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Disambiguate prev and next links in html source.Casper van Donderen2012-04-261-2/+2
| | | | | Change-Id: Iaa82b9b6de71b577a44eae86eb6847c07d068670 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@nokia.com>
* QDoc: Remove the text around previous and next page links.Casper van Donderen2012-04-201-4/+4
| | | | | | | | | Previously we printed "[Previous: <link>] and [Next: <link>]. After this change we only print the <link>, which should include an icon. Change-Id: I30d0c7d53b70ec2e537774d57a4ac9af01b26b16 Reviewed-by: Martin Smith <martin.smith@nokia.com> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@nokia.com>
* QDoc: Generate index file for DITAXML.Casper van Donderen2012-04-191-169/+5
| | | | | | | | | | | This change moves the fullDocumentLocation function to the generator base-class and adds generateIndex to the DITAXML Generator. All function calls to fullDocumentLocation are now handled by the static function in the base-class which will use the file extension from the currently active generator (either DITAXML or HTML). Change-Id: I24ce09c05a63eb5980b1243c58990e7ce9d42036 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Generate missing image error.Casper van Donderen2012-04-121-0/+1
| | | | | Change-Id: I98faf3b3422fa0a7ebd3f65c7ba64e6dc31bad86 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Fixed to report read-only QML properties correctlyMartin Smith2012-04-111-26/+11
| | | | | | | | | | | | Now the default for a QML property is writable. If qdoc can't detect the actual read-only status, writable is assumed. There were some cases where qdoc could not determine the actual read-only/writable status for a QML property. In these cases, qdoc reported read-only because the default was read-only, which was not optimal. Change-Id: I55aeb2bedcde92a414f4d48a8d995e5e9dbca5da Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Add the \hr commandMartin Smith2012-04-021-0/+3
| | | | | | | | Now you can out put a horizontal line anywhere in your text. Change-Id: I9b8bbbd6aa312e8386fb1a3b165876d76057f784 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Allow documenting a C++ class as a QML type.Martin Smith2012-04-021-118/+116
| | | | | | | | | | | | | | | | | | | Now qdoc can handle the case where a C++ class is documented as a QML type of the same name, or as both a C++ class and a QML type of the same name. And collisions pages are created for both the HTML and the DITA XML output. A collision page is created when two items have the same name. The collision pages will be augmented later to include the list of pages where ambiguous links to one of the items listed on the collision page are actually located, so the writer can go back to those links and add the appropriate qualifier. Change-Id: I5a9632b2d2209e0784392047056bed8962005624 Reviewed-by: Martin Smith <martin.smith@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Implement \uicontrol command.Casper van Donderen2012-03-281-0/+1
| | | | | Change-Id: I10381cd69d32352c590ec5a7d4041465af57b88b Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Disable generation of .pageindex file.Casper van Donderen2012-03-211-220/+0
| | | | | | | | | | The .pageindex file was generated for the search engine on the doc.qt.nokia.com website, since this website is not used anymore there is no use for the .pageindex file. Task-number: QTBUG-24911 Change-Id: Ie74f569ce881ab383d83ac9c5a8bc223da91564a Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Rename qt3 support pages to Compatibility pages.Casper van Donderen2012-03-201-8/+7
| | | | | | | Task-number: QTBUG-24849 Change-Id: I9453e38372f909d75bb4fb8642dc9bd7b993aa7e Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Notifier signals don't need separate documentation.Casper van Donderen2012-03-201-0/+2
| | | | | | | | | | | | | Similar to getters and setters, notifier signals don't need separate documentation. Reimplementation of http://codereview.qt-project.org/#change,19374 in qtbase. Change-Id: If77fc554a3d8c1b520940d23e17cb7f76a71660f Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com> Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com> Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Merge PageGenerator into Generator class.Casper van Donderen2012-03-201-27/+8
| | | | | | | | | | | This change also sorts all functions in Generator by alphabet and moves the implementation of the GenerateQmlInheritedBy function to the Generator class, since the implementation in both the DITA and HTML generators was the same. Task-number: QTBUG-24833 Change-Id: I44588079159e03b7ff7549e5478babb1aabdaf1b Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Fix closing 'table class="generic"' tagSergio Ahumada2012-03-121-2/+2
| | | | | Change-Id: I251ed6d4e5788b0816211e06f33ace03d2fa14e8 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Move qdoc into qtbase and bootstrap itLars Knoll2012-03-081-0/+5115
We need qdoc in qtbase to be able to properly modularize our documentation and build it when building the different Qt modules. qdoc does contain a copy of the qml parser from qmldevtools, but this is the lesser evil compared to how we are currently forced to genereate our docs (and the fact that no developer can run qdoc and check the docs for their module). Change-Id: I9f748459382a11cf5d5153d1ee611d7a5d3f4ac1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Martin Smith <martin.smith@nokia.com>