summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc
Commit message (Collapse)AuthorAgeFilesLines
* Micro-optimize qdocJędrzej Nowacki2014-07-311-3/+3
| | | | | | | Avoid redundant QStringRef to QString conversions. Change-Id: I535e7ba02b4ac5abef6036f631e228205e63f32a Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* QDoc: Fixed section title offset in QML basic type pages.Jerome Pasion2014-07-231-0/+1
| | | | | | | | | | -QML basic type page layout is now separate from the other doc page layouts, but the section offset was incorrect. -the offset is the same as the QML type pages. Change-Id: I422e97eebe58a87c11607f2c8c5aedb10abbda7e Task-number: QTBUG-40335 Reviewed-by: Martin Smith <martin.smith@digia.com>
* QDoc: Restored QML basic type pages' table of contents.Jerome Pasion2014-07-231-0/+2
| | | | | | | | | -QDoc in 5.4 processed QML basic types as separate pages but the ToC wasn't added. Change-Id: I5a887158bacef923e765accac7ee5ca7c2c7a12b Task-number: QTBUG-40335 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Validate index file pathsTopi Reinio2014-07-181-1/+10
| | | | | | | | | | | Check for existence of the paths added by 'indexes' documentation configuration command, and generate warnings accordingly. Also, ensure that the strings added with 'depends' command contain no duplicates. Change-Id: I66a3d1b25907567bb5bfc72b78a8009d7bd8e067 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Support use of \value command outside \enum topic.Topi Reinio2014-07-184-15/+31
| | | | | | | | | | | | | | | | | | | Even though qdoc accepts the \value command(s) anywhere in the documentation and generates tables for them, the produced output was invalid for documentation topics other than \enum. This change fixes the issue by not trying to resolve the enumeration values and removing the 'Value' column for generated tables when the \value command is used outside c++ enum documentation topic. This enables, for example, the use of the \value command for documenting acceptable values for QML enumeration properties, without having to use custom lists or tables. Task-number: QTBUG-35019 Change-Id: I597b2f9d7d03d4ab72f276752ddf53e1c405313c Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* QDoc: Allow the listing of uppercase- and lowercase-named items in list.Jerome Pasion2014-07-171-1/+1
| | | | | | | | | | -QML basic types are lowercase-named while object types are uppercased. -reference page for QML types should list both. -caveat: simple implementation means the uppercase items are listed first. Change-Id: I9092ad0cd9e79c4d3f8b794ac5d68879ce6338a5 Reviewed-by: Martin Smith <martin.smith@digia.com>
* QDoc: Allow QDoc to collect all QML basic types in a map.Jerome Pasion2014-07-153-1/+22
| | | | | | | | | | | -needed if a list of just QML basic types is needed. -adding QML basic types to map of QML types. -generating the list of "qmlbasictypes" also now supported. -part of the fix for QTBUG-32871 Change-Id: Id291982a5684645b2b5e75256be673c1701e60b1 Task-number: QTBUG-32871 Reviewed-by: Martin Smith <martin.smith@digia.com>
* QDoc: Prevent QDoc from outputting the brief for example pages.Jerome Pasion2014-07-141-1/+2
| | | | | | | | | | Example pages' \brief do not form a complete sentence. The example pages have proper introductions and descriptions, unlike API pages which do use the brief information to summarize. Change-Id: I11f1362cd05e3cf90ae8e1c3a07d2584737fd89c Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* QDoc: Edited title generation for QML and C++ API pagesJerome Pasion2014-07-101-8/+5
| | | | | | | | | | | | | | | -added "QML Type" for QML types -reworded basic type pages by adding "QML Basic Type" at the end -streamlined variables in QDoc related to the HTML and page titles. These two changes were implemented in 5.3 branch, but got lost during the merge into dev: 1243940f83a5c04cc0eb64a0d1679dab3b7164f1 8e5e9d7987d0251fa61e24acbf6171879df3ae16 This commit restores the changes while ammending similar fixes Change-Id: I996b18f020b392aceeb40da7797838aca4a0626f Reviewed-by: Martin Smith <martin.smith@digia.com>
* Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-101-1/+1
|\ | | | | | | Change-Id: Ia12ffdb27ecdf25c2a2bdb0eed1945387502108a
| * Doc: removed trolltech.com from namespace in manual qdocconf fileNico Vertriest2014-07-071-1/+1
| | | | | | | | | | | | Task-number: QTBUG-23270 Change-Id: Id65ded1adbbb4f15ef5634f9a984c6cfad5c18d5 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Port qdoc to QCommandLineParserDavid Faure2014-07-091-139/+121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will simplify future maintenance of qdoc, adding options being much easier with QCommandLineParser. As always, this revealed a number of undocumented options: -log-progress, debug, -autolink-errors. Compared generated docs with and without the patch, looked fine, except that order differs (the qt_qhash_seed thing doesn't work) Based on initial patch by Laszlo Papp. Change-Id: I3c851135f2fd573d622d2ed456a11cee34e06054 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Remove QT_STATIC_CONSTThiago Macieira2014-07-074-4/+4
| | | | | | | | | | | | | | | | | | | | | | This macro is no longer used. It was introduced probably by mistake, due to MSVC not following the strict string requirement of the C and C++ standards by default (you can assign a string literal to a non-const char*). Change-Id: I4b221dd435191b0eea689dbed35915cf3206648b Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
* | Doc: Removed "url" variable from qdocconf files.Jerome Pasion2014-07-042-2/+0
| | | | | | | | | | | | | | | | url is set in qtbase/doc/global which is inherited by the Qt 5 module qdocconf files. Change-Id: Ieffa174f598f4a3b8ce8be9bfae7ca9b6981f12b Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: ASSERT failure while writing index fileMartin Smith2014-07-041-39/+41
| | | | | | | | | | | | | | | | | | | | | | | | An attempt was made to write an XML attribute after the atart tag had been closed. This has been fixed by moving some code around. Change-Id: I279d91c345f4217dab8fc47faabe3350258d9ece Task-number: Qt QTBUG-40039 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* | Merge "Merge remote-tracking branch 'origin/5.3' into dev" into refs/staging/devFrederik Gladhorn2014-07-011-24/+31
|\ \
| * | Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-011-24/+31
| |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/network/socket/qnativesocketengine_winrt.cpp src/plugins/platforms/android/androidjniaccessibility.cpp src/plugins/platforms/windows/qwindowswindow.cpp Manually adjusted: mkspecs/qnx-armle-v7-qcc/qplatformdefs.h to include 9ce697f2d54be6d94381c72af28dda79cbc027d4 Thanks goes to Sergio for the qnx mkspecs adjustments. Change-Id: I53b1fd6bc5bc884e5ee2c2b84975f58171a1cb8e
| | * qdoc: Revised logic for which example file to open in Qt CreatorTopi Reinio2014-06-101-25/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc stores the 'files to open' into the example manifest. These files are opened in Qt Creator's editor when an example is selected from the Welcome / Examples list. This change uses the following criteria (case insensitive), in order of preference: - .qml file matching the project name - .cpp file matching the project name - .h file matching the project name - main.qml - main.cpp A 'mainFile = "true"' argument is written for the file that is preferred to be the top-most file. Having a main.qml file take precedence over main.cpp ensures that most Qt Quick examples open into the relevant QML code instead of the boilerplate C++ used for launching the application. Task-number: QTBUG-37203 Change-Id: I2ea58a31b1284f4f7d424dd35d49a84a23a88c23 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Eike Ziller <eike.ziller@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
* | | qdoc: Add header file debug output to match source file debug outputRobin Burchell2014-07-011-0/+1
|/ / | | | | | | | | Change-Id: If8c941be42986704e9ac4da056a6c4b2490e6131 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: Give documenter more control of linkingMartin Smith2014-06-2618-431/+551
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update enables using the module name as the parameter in square brackets for the \l command. You will use this when your link goes to the wrong page. e.g. Suppose this link command went to a page in QtGui instead of the page where it is meant to go in QtQuick: \l { mytarget } { the text for my link } When a link goes to a page in the wrong module, it means the target exists in more than one module and because qdoc searches the modules in sequence and stops when it finds a match, it might match the wrong target. This would be a collision in the single tree version of qdoc, but now qdoc builds a separate tree for each module. Since you know which module you want your link to go to, put the module name in square brackets as the first parameter, like this: \l [QtQuick] { mytarget } { the text for my link } Now qdoc will only search for mytarget in the tree for the QtQuick module. The \target command can now be used anywhere. It has not been tested in all possible locations, but it works in the places where people have asked why it doesn't work there. There will be a further update to complete this task for implementing the other types of parameters that can be in the square brackets. Task-number: QTBUG-39221 Change-Id: I2db4fdd0319ff272ec1d2fa9dc396f14599d80f9 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: Improve <title> element contents in HTML pages.Jerome Pasion2014-06-251-4/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -applied logic to projects that set (or not set): -landing page -home page -version -change would remove duplicate information and proper module names instead of "Title | QtModule 5.4", it would be "Title | Qt Module 5.4" -tested on various projects: -Digia projects -Qt 5 -Qt Creator Change-Id: Ica7d5203d293910c98306f947bfee8454b9225d0 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | QDoc: Introduce a variable to set table of contents depth.Jerome Pasion2014-06-114-17/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -"HTML.tocdepth" variable controls depth value. -setting to "0" disables table of contents. -sections 3 and 4 usually don't have descriptive titles to warrant their listing in the table of contents. -table width and CSS (online and offline) don't support wide entries. -Config class' getInt() function now returns -1 if a variable is not set. -for Qt 5 and projects which use html-config.qdocconf, tocdepth is set to "2". -added variable documentation. Task-number: QTBUG-38967 Change-Id: Ibd612f5b846ecb9c4b575e7ac11605c6efd2b77c Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devJ-P Nurmi2014-06-051-9/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/features/qt.prf src/plugins/platforms/xcb/qxcbwindow.h src/tools/qdoc/qdocindexfiles.cpp src/widgets/kernel/qwidget_qpa.cpp Change-Id: I214f57b03bc2ff86cf3b7dfe2966168af93a5a67
| * do not auto-add install dir to index dirsOswald Buddenhagen2014-06-051-3/+1
| | | | | | | | | | | | | | | | | | the install dir may contain indexes from previous builds. a build must never refer to previous builds. Change-Id: I67c04df8f3f82bdbebb67e280f70795ed0a76ccf Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
| * Fix Null pointer dereferencing in an error handlerFrederik Gladhorn2014-05-281-1/+1
| | | | | | | | | | | | | | | | identified by static analysis from http://www.viva64.com/en/b/0251/ Change-Id: I0042336d9598415b978bf9819e74639685c627b5 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * purge obsolete variable documentationPathOswald Buddenhagen2014-05-231-6/+0
| | | | | | | | | | Change-Id: I1eb9e7ff28e0632c5a87b726dcd52b6542612101 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: Give documenter more control of linkingMartin Smith2014-06-0121-609/+816
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update is preparation for implementing the actual task described in the bug. To implement it required converting the QML type node and the QML basic type node to be first order tree nodes instead of subtypes of the documentation node. This cleans up a lot of messy logic in some places. It was also necessary to split the getLink() function in the html output generator into two functions, one still called getLink(), which handles the \l command, and one called qetAutoLink() which is called for generating auto links. This should make qdoc run faster. The basic infrastructure was also added for parsing the string in the square brackets for the \l command. There will be a further update to complete this task. Note that some autolinks might not be generated due to this change. I haven't seen any yet, but I believe there will be some. This can be fixed later, if it is a problem. Task-number: QTBUG-39221 Change-Id: I8135229984398408205ba901b9ef95ceac74683c Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devSimon Hausmann2014-05-222-5/+7
|\| | | | | | | Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
| * Disable hash seeding for bootstrapped toolsThiago Macieira2014-05-211-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Any bootstrapped tool is a development tool, by definition. So the effects of seeding the hash with a random number can cause the same source input to produce different binary results, which can throw some caching tools into disarray (like the Open Build System). There should be minimal fall out from the reduced protection against DoS. Since those are only development tools, "specially crafted" input implies the developer is DoS'ing him/herself. Note: the change to qhash.cpp applies to moc and rcc, which are always bootstrapped. Change-Id: I061ab52036e40627c0703f1bf881455cbf848f43 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
| * QDoc: Stop copying title string unnecessarilySze Howe Koh2014-05-201-6/+2
| | | | | | | | | | | | | | | | "htmlTitle" never diverges from "fullTitle". Change-Id: Id1ce9005311bd86aa9803836168a2bebae6db65d Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * QDoc: Added "QML Type" to HTML titles of QML type pages.Jerome Pasion2014-05-141-0/+4
| | | | | | | | | | | | | | | | -makes it more consistent with the C++ pages. -easier to read for the search engines. Change-Id: I172bdff04e0aa80ee58a903d112585992234d7d7 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | qdoc: Now lists variable in namespacesMartin Smith2014-05-101-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | qdoc never did list variables declared in a namespace. It was probably an oversight, because there are currently no uses of the \variable command in namespaces. But recently a developer tried to use \variable to document a namespace variable, and it didn't work. This update corrects that problem. Task-number: QTBUG-38734 Change-Id: I47b6234f2bafbb73dfb755a2ad82c9596a4489b1 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | qdoc: Added 2nd argument to \generate list classes commandMartin Smith2014-05-023-10/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The qdoc command \generatelist has an argument that tells qdoc which list to generate. When the argument is "classes" qdoc generates the "All C++ Classes" list. qdoc looks for a common prefix for all the members of the list and sorts the members of the list using the character that follows the common prefix. The problem was that the common prefix "Q" was hardcoded in qdoc. This update allows the \generate list command to have a second argument, which is the common prefix. If the common prefix is not provided, qdoc sorts the members of the list on the first character. There is only one use of the \generatelist command with the classes argument in Qt5. It is changed to be \generatelist classes Q, and the qdoc user manual is updated to reflect this change. Task-number: QTBUG-38226 Change-Id: Ie1011d728819a1e5598bbdf73b7444009377d231 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: attaching type of attached properties was missingMartin Smith2014-05-026-23/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | This bug was probably intoroduced when the QmlPropertyGroup became a first class Node type. Otherwise, there is no way to explain how it worked at all. But now qdoc includes the attaching type. Some debugging code was also cleaned up. Task-number: QTBUG-35559 Change-Id: I478efb7f4356d51015af9f33c893958d4b4ae301 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | qdoc: Simplify config code for reading file pathsTopi Reinio2014-05-026-107/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change greatly simplifies the code used for reading paths from config files: near-identical functions Config::getCanonicalPathList() and Config::getPathList() are combined into one, and the use of Config::getCleanPathList() is replaced with the above. Effectively, all paths read from the config files are now converted into canonical ones. It also adds support for absolute paths in config files. Task-number: QTBUG-36193 Change-Id: I2dc1ee6a67a400e056404ec1c09c6e81f643aa77 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@digia.com>
* | qdoc: \l now works with QML property groupsMartin Smith2014-04-172-3/+1
| | | | | | | | | | | | | | | | | | | | This update makes it possible to link to the name of a QML property group with a \l command. e.g. \l {Item::anchors} Task-number: QTBUG-35844 Change-Id: I2dc51bd90eadd13754a8f4d3357f3f17605a068d Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Sze Howe Koh <szehowe.koh@gmail.com>
* | Merge remote-tracking branch 'origin/stable' into devIikka Eklund2014-04-013-14/+11
|\| | | | | | | Change-Id: I2a6eb9dd7724931bc89f28bcc156e77c4e26d069
| * Doc: Update year to 2014Kai Koehne2014-03-272-2/+2
| | | | | | | | | | | | Change-Id: Iae2f31232fb364b26aa4da99048d92c262b4fdec Reviewed-by: Sergio Ahumada <sahumada@blackberry.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
| * QDoc: Doc: Use correct terminology ("signal" vs. "signal handler")Sze Howe Koh2014-03-261-12/+9
| | | | | | | | | | Change-Id: I0c6cdc77296b8a1a759671bac2c920bc05d0cbcb Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | qdoc: Unexplained empty ref attributes in qhp filesMartin Smith2014-03-312-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update fixes a bug introduced by the extensive changes for QTBUG-35377. Three node subtypes - Group, Module, and QML module, were promoted to be first line node types in the update for QTBUG-35377. This broke the file name construction routine for those node subtypes, which used to have the DocNode node type. This caused empty ref attributes to appear for those keyword elements in the qhp file. The file name construction routine has now been corrected to account for this. Task-number: QTBUG-37658 Change-Id: I307979255fdfd48493b3a4cebaf996b2130bc2c7 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: \l{Qt::Window} links to the wrong pageMartin Smith2014-03-316-229/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | kThis update fixes a bug introduced by the extensive changes for QTBUG-35377. The name Qt represents two namespaces, one in C++ and one in QML. The name "Window" is used in both of them, so the link \l{Qt::Window} would cause a collision in the single tree qdoc. In the multiple tree qdoc, there is no collision, but in this case the link should have gone to the C++ page and it went to the QML page instead. The fix involved correcting the way qdoc searches for link targets. Task-number: QTBUG-37633 Change-Id: Ib9b209eced937a0be0d3299f300ebf22b2776012 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: fix inheritance information for some QML typesMartin Smith2014-03-3116-71/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This update fixes a bug introduced by the extensive changes for QTBUG-35377. For a QML base type loaded from an index file, its QML base type was not being resolved. This resulted in the "All members" page for some QML types to be incomplete because the pointer to the base type was 0 when it should have been set. This change also introduces the concept of "just in time" resolution for base type pointers, which appears to speed up qdoc a little. Task-number: QTBUG-37326 Change-Id: I5f09336ec70ba84029b44b245c56f7f8fe349757 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | doc: Remove "current child" codeMartin Smith2014-03-316-93/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current child concept was added to the Name Collision Node to heuristically provide better linking when a link operation reached a collision node. It is doubtful that this improved linking much, but now that qdoc uses multiple trees, it is much less likely that collision nodes will occur. In fact, there are none in in the current Qt5. Therefore, the current child code is hereby removed from qdoc. Task-number: QTBUG-37067 Change-Id: I33aea5d550afb7ceaf941d49112e02c21d44f6dc Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: Teach qdoc to use multiple trees (part 3)Martin Smith2014-03-3118-1032/+1696
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With this update, qdoc is now ready for testing with multiple trees. In making this change to using multiple trees, it has become clear that qdoc does not really need trees the way it currently uses them. Each C++ class or namespace, or QML type is naturally a tree tree structure, but above that level, what we currently call a tree in qdoc should really be called a collection of maps. This change has moved qdoc in that direction. It remains to replace the Tree class with a class that encapsulates a set of maps, one for each major node type. That can be implemented later. Task-number: QTBUG-35377 Change-Id: I39068a0cb26c01f14ec0e4621742d727efb913bf Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: Teach qdoc to use multiple trees (part 2)Martin Smith2014-03-3126-626/+1375
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc now knows how to search the forrest of node trees in an optimal order. But there remain some problems with specific searches that cross module boundaries. These include group membership and C++ and QML module membership, as well ass C++ base class resolution. Part 3 will be concerned with fixing these remaining bugs. With this update, qdoc now takes less time to generate the docs for Qt 5. Testing indicates that qdoc run time has dropped from about 14 minutes to about 7.5 minutes on an iMac. Task-number: QTBUG-35377 Change-Id: I6bded6ef54124b4f6e5914cad4548f0b600209b0 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: Teach qdoc to use multiple treesMartin Smith2014-03-3116-677/+704
|/ | | | | | | | | | | | | | | | | | | | | | | qdoc now builds a separate Node Tree for each index file it parsed. The main Node Tree now contains only the Nodes of things being documented in the current module. This should make qdoc run a little faster. qdoc now uses these separate trees to make intra-module and inter-module linking more robust by searching the trees in an order that depends on the type of link it is searching for. The tree for the current module is always searched first. Then qdoc searches the trees for either the C++ modules or the QML modules, depending on whether it is looking for a C++ link or a QML link. In preparation for this update, qdoc was also simplified a lot. Many functions became obsolete and were removed. Others were combined. Task-number: QTBUG-35377 Change-Id: Iea4e49869ff6a6ff0f4d53090728770d40d892f3 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Improve navigation bar for example filesTopi Reinio2014-03-091-13/+13
| | | | | | | | | | | | | | | | | | | | For example file pages, added a link to the parent example page into the navigation bar. Also, - Removed protectEnc() calls for strings added as Text atoms, this is done automatically when generating the navigation bar output, and doing it twice results in malformed output. - Removed the subtitle from being appended to example file title. The subtitle contains the full path of the file and it's already displayed on the page body, so removing it from the html title + navigation bar makes for a cleaner look without losing any information. Task-number: QTBUG-33022 Change-Id: I3ca942470453379e22f1a4aaec1d9b866d85bb5c Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QDoc: Do not warn about a file overwritting while writing to /dev/nullJędrzej Nowacki2014-03-061-1/+1
| | | | | | Change-Id: I7d23edf5a73d521bad361f1007be0750acd4c1e9 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* Fix some typosSergio Ahumada2014-03-031-1/+1
| | | | | | Change-Id: I7dbe938bff5ac3ab50a0197f94bdb2f6c22fbd16 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Mitch Curtis <mitch.curtis@digia.com>
* Doc: Removed Contents listing for Qt Examples and Tutorials page.Jerome Pasion2014-02-201-1/+1
| | | | | | | | | -Qt Examples and Tutorials page does not need the table of contents. Task-number: QTBUG-36838 Change-Id: Id51ebc7cba7831a24cd9d8e8e6bde7f96bece326 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>