summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc/generator.h
Commit message (Collapse)AuthorAgeFilesLines
* qdoc is moving back to qttoolsOswald Buddenhagen2015-10-221-260/+0
| | | | | | Change-Id: Icb5abd32a1cbc3e8d876341c877e8d2a963c0e25 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Introduce codeprefix & codesuffix, re-introduce codeindentTopi Reinio2015-09-071-1/+3
| | | | | | | | | | | | | | | | | In order to provide acceptable results for styling the documentation for rendering using QTextBrowser (instead of a full browser engine), QDoc needs flexibility in adjusting the generated HTML. This commit introduces and documents codeprefix and codesuffix variables for qdocconf, and re-introduces the once-removed support for codeindent. The default codeindent value is reset to 0. These changes have no effect to the generated output unless the above variables are defined. Change-Id: I6eb40dc0700725622e5a525ef19b5626b3b2b6a5 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Improve customization of generated html file namesVenugopal Shivashankar2015-07-241-1/+3
| | | | | | | | | | | | | | | Introduce 'outputsuffixes' QDoc configuration variable, which allows defining a module name suffix inserted into the generated html file names. The suffix can currently be applied to QML and JS documentation. This is useful in cases where we have multiple versions of a module as part of the documentation build, and writing to a common output directory would otherwise result in file name clashes. Change-Id: I1437874fad09f041e506b93b62b6a4a8cae49ec9 Reviewed-by: Martin Smith <martin.smith@digia.com>
* Documentation: Show an example for each overloaded signalOlivier Goffart2015-05-101-0/+1
| | | | | | | | | | | | | The new connection syntax is a bit tricky to use, when the signal or the slot is overloaded, because one must explicitly cast to the correct signal type. This patch adds an example to the documentation of each overloaded signal. The example shows how to do the cast to the correct signal type. Change-Id: Ifc9f28d05c2ae126a674d2ca5887935fc59cd83b Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-271-0/+1
|\ | | | | | | | | | | | | | | Conflicts: src/tools/qdoc/tree.cpp tests/auto/gui/painting/qcolor/tst_qcolor.cpp Change-Id: Iaa78f601a63191fa643aabf853520f913f2f0fdc
| * qdoc: Sanitize anchors in URLs for functionsTopi Reinio2015-04-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When QDoc constructs the full path to a documentation node, it must construct a clean anchor reference. Intra-page links use a different code path, so the links e.g. from Member Functions list to their detailed descriptions always work, but using the link command to link to functions with certain characters (such as 'operator==') failed because the node name was used as-is and not sanitized ('operator-eq-eq'). This change moves HtmlGenerator::cleanRef() static function to its parent class, Generator, and takes it into use in Generator::fullDocumentLocation(). Change-Id: Ic939ffa3ae0f4495ef2a30eff0d4a1de65ea3e8f Task-number: QTBUG-45629 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | Merge remote-tracking branch 'origin/5.5' into devLiang Qi2015-04-221-0/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/statemachine/qstatemachine.cpp src/corelib/statemachine/qstatemachine_p.h src/gui/painting/qdrawhelper.cpp src/plugins/platforms/xcb/qxcbnativeinterface.cpp src/plugins/platforms/xcb/qxcbwindow.cpp src/plugins/platforms/xcb/qxcbwindow.h src/testlib/qtestblacklist.cpp src/tools/qdoc/node.cpp src/tools/qdoc/node.h tests/auto/gui/painting/qcolor/tst_qcolor.cpp Change-Id: I6c78b7b162001712d5774293f501b06b4ff32684
| * qdoc: Properly document "private" signalsMartin Smith2015-04-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | When a signal declaration is marked with QSignalPrivate, This note is included in its documentation: "Note: This is a private signal. It must not be emitted by the user." For Notifier signals, [see note] is appended to the signature line, and the Note is printed below the list. Change-Id: Ie792894ace56cda47fd9a45af9c732f408ac45f6 Task-number: QTBUG-45535 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | qdoc: Changing InnerNode to AggregateMartin Smith2015-04-131-6/+6
| | | | | | | | | | | | | | | | An Aggregate node is a tree node that is not a leaf. Change-Id: I4a3964865fb653a217ee75d0b21e563f7f990a1c Task-number: QTBUG-45450 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* | qdoc: More data member name changesMartin Smith2015-04-111-3/+3
|/ | | | | | | | | | | In preparation for refactoring the Node class hierarchy, the names of a few enum types and the functions that set and get them are changed so that they will not be confused with other uses of the word Type. Change-Id: I0496b46e5d7adffccadcb464aedb2806728e781d Task-number: QTBUG-45450 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Support documentation of JavaScriptMartin Smith2015-02-201-3/+3
| | | | | | | | | | | | | | | | | | | | | This update provides the actual support for documenting JavaScript. It has been tested with JavaScript commands in qdoc comments in .qdoc files but not in .js files. Currently, we have the use case of needing to document JavaScript using qdoc comments in .qdoc files. For each qdoc command for QML, i.e. \qmltype, \qmlproperty, etc, there is now a corresponding JavaScript command, i.e. \jstype, \jsproperty, etc. Some of these might not be needed, but they are all provided. Briefly, document JavaScript in a .qdoc file the same way you would document QML in a .qdoc file, but instead of using the \qmlxxx commands, use \jsxxx commands. Change-Id: Ib68a5f66c16472af87d9f776db162332ca13fbb7 Task-number: QTBUG-43715 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Update copyright headersJani Heikkinen2015-02-111-7/+7
| | | | | | | | | | | | | | | | | | Qt copyrights are now in The Qt Company, so we could update the source code headers accordingly. In the same go we should also fix the links to point to qt.io. Outdated header.LGPL removed (use header.LGPL21 instead) Old header.LGPL3 renamed to header.LGPL3-COMM to match actual licensing combination. New header.LGPL-COMM taken in the use file which were using old header.LGPL3 (src/plugins/platforms/android/extract.cpp) Added new header.LGPL3 containing Commercial + LGPLv3 + GPLv2 license combination Change-Id: I6f49b819a8a20cc4f88b794a8f6726d975e8ffbe Reviewed-by: Matti Paaso <matti.paaso@theqtcompany.com>
* qdoc: Change name of node typeMartin Smith2015-01-221-6/+6
| | | | | | | | | | | | QmlClassNode is renamed to QmlTypeNode. This is done in preparation for implementing qdoc support for documenting javascript code. Next, QmlTypeNode will be renamed to JsTypeNode, and a new QmlTypeNode will be declared that will inherit JsTypeNode. Change-Id: Ia5d0c367d06c26cb43f887927bbcb096afcb7301 Task-number: QTBUG-43715 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Fixed broken links for abstract QML typesMartin Smith2015-01-171-0/+3
| | | | | | | | | | | | | | | When a QML base type is abstract, the documentation for its properties is supposed to appear on the reference page for each QML type that inherits the abstract type. And then links to those properties from within the property documentation must refer to the documentation for that property on the reference page for the particular inheriting QML type. These links were dead, but this fix corrects the problem. Change-Id: Icaf01d67edf44567099f5a6a59fd6348de8df380 Task-number: QTBUG-43200 Reviewed-by: Nico Vertriest <nico.vertriest@digia.com> Reviewed-by: Tero Kojo <tero.kojo@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Generate QA pagesMartin Smith2014-10-171-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc has a new command line option, -write-qa-pages. Using this flag on the command line will tell qdoc to generate a QA html page in each module's output directory. The QA page contains information that is useful for Quality Assurance checking of the module's docs. The QA file name begins with "aaa" so it will always be listed at the top of the output directory. The file name for the QA file for QtCore, for example, is aaa-qtcore-qa-page.html. Currently, the QA page only contains a report listing the intermodule link count for each module that is the target of links from the documented module. The link report can be used to optimize the search order qdoc uses when resolving inter-module links. By default, the search order is the same as the ordering of the modules in the depends list in the .qdocconf file. Using the report, the user can reorder that list according to the number of links found in each module. i.e. in descending order of link count. The modules are listed in descending order of link count. Additionally, an actual depends variable is printed. It can be cut and pasted into the module's qdocconf file. Change-Id: I442596aeb54dcdd5db4a0821096a5273c15627e6 Task-number: QTBUG-41850 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: qdoc was too slowMartin Smith2014-10-171-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hard-coded search order is now removed. The search order is now constructed from the depends variable in the qdocconf file. The basic idea is that qdoc is run once. It gets a list of all the qdocconf files for the modules in Qt5. First, qdoc runs in -prepare mode for each qdocconf file in the list. It generates the index file for each module, but these index files are never used. At the end of the -prepare phase for each module, qdoc keeps the tree structure for the module in a collection of trees. Second, qdoc runs in -generate mode for each qdocconf file in the list. But now it uses the existing tree for that module, so it doesn't have to read the sources files again, and it doesn't have to read any index files. Now it generates the docs for each module. The runtime for qdoc has been reduced by 90% when running qdoc for all of Qt5 on a not so new iMac. Before this update, qdoc took about 10 minutes to generate docs for Qt5. Now it takes a little over 1 minute. The new way to run qdoc is described in the Qt bug report referenced here. Note that running qdoc this new (old) way also generates fewer qdoc errors than when running qdoc the old way. This indicates that the index files qdoc uses when running the old way are incomplete. Note also that the old way of running qdoc is not affected by this update. The old way is still required for running qdoc in the current qmake/make system. That process must be changed to be able to use the faster qdoc. The details are provided in the Qt bug report. Change-Id: Ibec41d6fbaa9fc8cd070a05d04357bd02c4478f0 Task-number: QTBUG-41705 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* Update license headers and add new license filesMatti Paaso2014-09-241-19/+11
| | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
* qdoc: Write all generated files to .qhpTopi Reinio2014-08-261-0/+2
| | | | | | | | | | | | | | | | | | | | | When writing the Qt Help Project XML file, QDoc traverses the documentation nodes recursively, adding html filenames for each node to the XML. The logic that QDoc uses for this process is not perfect, and needs to be kept up to date whenever the internal structure of the node tree changes. This often leads to problems where some pages are generated but not added to the .qhp, resulting in missing pages in the offline documentation. This change fixes this problem by having the generator keep track of the created filenames, and passing that to the help project writer. Task-number: QTBUG-40572 Change-Id: Ife60a30724183a2b6dcd2397ea79bfbdc2addd04 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: Remove all collision node stuff from qdocMartin Smith2014-08-221-2/+0
| | | | | | | | | | | | Now that the qdoc link command has ability to tell qdoc which module contains a link target or whether to link to a QML or CPP entity, collision pages should no longer be necessary. In fact, qdoc hasn't been generating any collisions for some time. This task removes all the collision node code from qdoc. Task-number: QTBUG-40506 Change-Id: I34d1980ca1c0fe4bb5ad27dd4b00e61fa7e6e335 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
* qdoc: Give documenter more control of linkingMartin Smith2014-06-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* qdoc: attaching type of attached properties was missingMartin Smith2014-05-021-1/+2
| | | | | | | | | | | | | 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: fix inheritance information for some QML typesMartin Smith2014-03-311-1/+1
| | | | | | | | | | | | | | | 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>
* qdoc: Teach qdoc to use multiple trees (part 3)Martin Smith2014-03-311-10/+5
| | | | | | | | | | | | | | | | | | 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-311-3/+5
| | | | | | | | | | | | | | | | | | | 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: Don't output docs for internal thingsMartin Smith2013-11-011-0/+1
| | | | | | | | | | | | This update to the Generator base class prevents qdoc from writing an html file for anything that is marked \internal if the user has not set the showinternal flag. Task-number: QTBUG-34269 Change-Id: Ia60109d4568447501370bb9d4c1344a48f9b6113 Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com> Reviewed-by: Nico Vertriest <nico.vertriest@digia.com>
* qdoc: Restore support for output in one directoryMartin Smith2013-08-081-1/+4
| | | | | | | | | | | | | | | | | | | | | | The basic functionality is working. Add these lines to qt-html-templates-offline.qdocconf, or add them to the online version: HTML.nosubdirs = "true" HTML.outputsubdir = "html" Before it opens a .html file for writing, it tests whether the file alread exists. If so, it writes an error message, e.g.: ...platform-notes.qdoc:140: error: HTML file already exists; overwriting .../doc/html/platform-notes-windows.html There are currently nearly 100 files being overwritten for Qt5. Task-number: QTBUG-32580 Change-Id: I02b103fd00b9d1e624665ac518d571acc791be9d Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Doc: Unified the summary for C++ classes and QML types.Jerome Pasion2013-07-301-10/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | The placement of the header, since, inherits, instantiates, and instantiated-by are now in a table. For C++ classes: Header: #include <class name> Since: <version> Instantiated by: <QML type> Inherits: <parent class> Inherited by: <list of classes> For QML types: To import: import <QML module> Since: <version> Inherited by:<list of QML types> Instantiates: <C++ class> Inherits: <parent QML type> Inherited by: <list of QML types> This is only a part of the work being done for QTBUG-32172. Task-number: QTBUG-32172 Change-Id: Ia9d29e824ef7ab4052ea59c6397b5f8fd24022b9 Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com> Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-07-231-1/+1
|\ | | | | | | | | | | | | Conflicts: tests/auto/dbus/qdbusabstractinterface/tst_qdbusabstractinterface.cpp Change-Id: I18a9d83fc14f4a9afdb1e40523ec51e3fa1d7754
| * Changed digia contact details to */legal, updated licensesTeemu Kaukoranta2013-07-201-1/+1
| | | | | | | | | | | | | | | | Scripts are available in internal mkdist repo. Added license tags, updated licenses and copyrights/contacts Change-Id: Ibc734275f3000987eaa4f5c57f19d4e1fda2c479 Reviewed-by: Sergio Ahumada <sergio.ahumada@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-06-201-0/+2
|\| | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/cocoa/qcocoafiledialoghelper.mm src/plugins/platforms/qnx/qqnxrasterbackingstore.cpp tools/configure/configureapp.cpp Change-Id: I3092bd3276af14304b7ab3ae1e1cc05d11cdede0
| * Make qtbase compile with QT_NO_TEXTCODECTasuku Suzuki2013-06-171-0/+2
| | | | | | | | | | Change-Id: I1614dc08c0dd1950020e415f37c97160431b2336 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2013-04-221-1/+6
|\| | | | | | | Change-Id: I059725e3b7d7ffd5a16a0931e6c17200917172b5
| * qdoc: Add index of obsolete members to obsolete pageMartin Smith2013-04-171-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | qdoc has been modified to emit a compact list of the classes that have one or more obsolete members. The command is: \generatelist obsoletecppmembers This generates an index of all such classes, where each class name is a link to the class's subpage of obsolete members. A class's subpage of obsolete members is also accessible from the class's reference page, but now it is also accessible from this index. Also, The command shown has been added to the page obsoleteclasses.html in the generated output. This page already contains the index of obsolete classes. Currently, no such output is generated for QML types and QML types with obsolete members. But qdoc does accept commands for those: \generatelist obsoleteqmltypes and \generatelist obsoleteqmlmembers ...but qdoc doesn't know what to do with those commands yet. Task-number: QTBUG-30270 Change-Id: If19a3b977f64c948e4bd6f14a9e0a287419baa8a Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* | Add new option to qdoc.Jędrzej Nowacki2013-04-051-0/+1
|/ | | | | | | | | | The -redirect-documentation-to-dev-null option allows to get all qdoc errors, without creating full documentation. It significantly reduces amount IO operations. Change-Id: I80fb6f9e304eb106f1c1d1e6320a1b38d788f6fc Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
* qdoc: Fix translation contexts.Friedemann Kleint2013-02-071-0/+2
| | | | | | | | | | | Put all translations into the namespace QDoc and fix warnings about invalid tr()-usage by removing the free tr()-function from tr.h. Provide QCoreApplication::translate() for bootstrap builds. Change-Id: I2b6931188346f290e80e14b84adff8892d8a860f Reviewed-by: Martin Smith <martin.smith@digia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
* Update copyright year in Digia's license headersSergio Ahumada2013-01-181-1/+1
| | | | | Change-Id: Ic804938fc352291d011800d21e549c10acac66fb Reviewed-by: Lars Knoll <lars.knoll@digia.com>
* qdoc: Listing group members across modulesMartin Smith2012-11-271-1/+0
| | | | | | | | | | | | | | This is a first attempt at fixing the problem, but it probably is not the entire solution. The problem requires adding attributes to the index files and then reusing them when the index files are read. The same problem will be affecting the module lists themselves, but that is not fixed in this update. Task-number: QTBUG-28036 Change-Id: I8593d5b9446e51a5204b6c71f8c4f2b63f445972 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* Change license header from Nokia to DigiaSergio Ahumada2012-11-261-1/+1
| | | | | Change-Id: I2be215284d7670f60f8b5838fce1e6832dde2270 Reviewed-by: Martin Smith <martin.smith@digia.com>
* qdoc: Added module attribute to most index elementsMartin Smith2012-11-061-0/+1
| | | | | | | | | | | | | | The index file generated by qdoc when it is run in -prepare mode has been modified so that most elements have a module attribute. The value of the module attribute either came from an \inmodule command, or it is the value of the project variable specified in the qdocconf file that was read by qdoc. Task number: QTBUG-27626 Change-Id: I44198bbbc1738fafc110c6b905eb1d67bc745323 Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* qdoc: qdoc now can run in 2 passesMartin Smith2012-10-121-0/+6
| | | | | | | | | | | | | | | | | | | 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-0/+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: Adding a debug functionMartin Smith2012-10-081-0/+4
| | | | | | | | | | | | | 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: Augment imagedirs listMartin Smith2012-09-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Modularization of examples has resulted in putting all documentation and code for an example in each example subdirectory. In particular, each example subdirectory now contains a doc/images subdirectoy, where images are stored that are linked to from the example .qdoc files, which are in the doc/src subdirectory of the example directory. Because there are so many example subdirectories, it would be difficult to list all the doc/images directories in the imagedirs variable of the qdocconf file. Therefore, qdoc now searches all the directories listed in the exampledirs variable to find all the doc/images subdirectories there, and it adds these to the imagedirs variable for use in finding images called out in \image and \inlineimage commands. Task Nr: QTBUG-27248 Change-Id: I070ba1a558ab32e1db06429a71c083b55f9dd0ea Reviewed-by: Jerome Pasion <jerome.pasion@digia.com>
* QDoc: remove the experimental basedir variablePierre Rossi2012-09-281-2/+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-0/+1
| | | | | | | | | | | 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-8/+8
| | | | | | | | 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-40/+17
| | | | | | | | | | | | | | | | | | 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>
* doc: Replaced FakeNode with DocNodeMartin Smith2012-08-211-4/+4
| | | | | | | | | | | | | | | | | | 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: Fixed incorrect href attribute values in qdocMartin Smith2012-07-251-1/+2
| | | | | | | | | | | | 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>