summaryrefslogtreecommitdiffstats
path: root/src/tools/qdoc
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix a typo in the qdoc manual (QChra -> QChar)Laszlo Papp2012-08-021-1/+1
| | | | | Change-Id: I331765f42f8dd46bf312223754ade3c5d156e6dc Reviewed-by: Casper van Donderen <casper.vandonderen@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: Added support for modularized example docMartin Smith2012-08-013-2/+28
| | | | | | | | | | | qdoc now searches for .qdoc files in the directories listed in the exampledirs variable. These files are added to the list of sources to be parsed. Task nr: QTBUG-26708 Change-Id: I6dfd7cd7b41e0bdf847f88b6d61ac0272902d4e1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Removed useless qdoc warningsMartin Smith2012-08-011-4/+0
| | | | | | | | | | | qdoc was printing warning messages when a QML type was not given a minor version number in its \inqmlmodule command. The minor version number is not used for anything, so the warning messages are no longer printed. Change-Id: I5586b4d860fcc8e392de3d388c3327ed0029e266 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Added safety checks to findUnambiguousTarget()Martin Smith2012-07-301-1/+4
| | | | | | | | | | This is a blind attempt to fix QTBUG-26615. I can't reproduce the crash on OSX. Task nr: QTBUG-26615 Change-Id: Ifc6b68b7f302b9cd7d02129be8ae56841a35e5de Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Updated qdoc manual and qdoc guideMartin Smith2012-07-276-26/+143
| | | | | | | | | | | These documents now include the \qmltype and \instantiates commands, and the \qmlclass command is deprecated. Task nr: QTBUG-26648 Change-Id: I62da273be51609e651e33b9088e1667e4c6c1e76 Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* qdoc: Changed \qmlclass to \qmltype, added \instantiatesMartin Smith2012-07-267-19/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | The \qmlclass qdoc command is now deprecated. Use \qmltype instead. \qmlclass had two arguments, the QML type name and, if the QML type was elemental, the name of the C++ class that the QML element instantiates. The \qmltype command has only one argument, the QML type name. If the QML type is elemental, then the \qmltype command should be followed by a \instantiates context command in the same qdoc comment. e.g.: \qmltype Item \instantiates QDeclarativeItem When the developer does not include the \instantiates command for an elemental QML type, qdoc will no longer be able to detect that the C++ class name is missing, and qdoc will no longer be able to detect when the name specified for a \qmlproperty of the elemental QML type has the wrong name. Task nr: QTBUG-26648 Change-Id: Ia60872a35113a6f615bfc751ce1e9db6279dfb8e Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Revert "QDoc: Allow '0' to be used as 2nd arg for \qmlclass."Casper van Donderen2012-07-261-21/+11
| | | | | | | | | | This reverts commit 50dfd15dcc49d12c5335a37999aef041d7fdfaae. The change is not necessary anymore, since a new solution using \instantiates in in the works, having two ways to do exactly the same thing is not necessary. Change-Id: I6e139d760372fc6177023c470850418b2385fccd Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Introduce a setting to include index nodes in QHP.Casper van Donderen2012-07-252-1/+3
| | | | | Change-Id: I5d35961241300f509b8a9d8e3cf980fabc10cfab Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Fixed incorrect href attribute values in qdocMartin Smith2012-07-2511-105/+99
| | | | | | | | | | | | 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: Restricted qdoc errors for \reimp commandMartin Smith2012-07-201-26/+28
| | | | | | | | | | | qdoc no longer considers the \reimp command when the parent C++ class has been marked \internal, because the reimplimented functions aren't supposed to be in the documentation at all, when the parent class is internal. Change-Id: I3d811ca737934f95e9078ce7b1e957890f6aaf38 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Fix make commands for QDoc manual.Casper van Donderen2012-07-192-10/+8
| | | | | Change-Id: I55c3eae43928e87a0aa470127f9877741391deee Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Clean path names before using themMartin Smith2012-07-132-3/+3
| | | | | | | | | | | The excludedirs variable doesn't work correctly when its values have '../' in them. The solution is to use QDir::cleanPath() on each path name before using it. Task Nr: QTBUG-26492 Change-Id: I2db74e79cf096c1c75ab5b10877320360c016fc7 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix some spelling errorsSergio Ahumada2012-07-111-1/+1
| | | | | | Change-Id: I19d3b2e9a5180b13deb828b55195404ef20be295 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
* Use QDoc instead of Qdoc to be consistent with the rest of the documentationLaszlo Papp2012-07-082-2/+2
| | | | | Change-Id: Iec031e207609b87e3c85bec66a7aaebd971973d1 Reviewed-by: Richard J. Moore <rich@kde.org>
* Fix some typos in the qdoc manualLaszlo Papp2012-07-061-10/+10
| | | | | Change-Id: I7d5e4ad684556b6c96fde2dcbdce6c772856cc33 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Removed several #if 1 macros.Martin Smith2012-07-064-28/+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: Fix relative URL generation for cross-linking.Casper van Donderen2012-07-061-1/+1
| | | | | | | | Previously the URL relative to the installdir was used, now we use a relative URL to the index file. Change-Id: Ia2485aa49da8240901d0db1f102eb48da689ef2a Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Removed several #if 0 blocks.Martin Smith2012-07-068-317/+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-055-0/+14
| | | | | | | | | | | 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: Allow '0' to be used as 2nd arg for \qmlclass.Casper van Donderen2012-06-281-11/+21
| | | | | | | | | There can be occurences of \qmlclass where there is no C++ class (for a pure QML Type for example). QDoc will ignore searching for a C++ class when '0' is specified as second argument to the \qmlclass command. Change-Id: I09c8c7ad302daffb0723a49967951ca623e646e4 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Report multiple topic commands as an errorMartin Smith2012-06-284-16/+59
| | | | | | | | | | | | Some documenters are using two topic commands in a single qdoc comment. This is only allowed for \qmlproperty so that multiple QML properties can be documented with a single comment. qdoc now reports an error for all other combinations of multiple topic commands. Task Nr: QTBUG-26345 Change-Id: I1f9a6d2502ccffa76c2d41f961be3750014a0a56 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Add const & to foreach 'iterators'Albert Astals Cid2012-06-273-4/+4
| | | | | | | Change-Id: I8c0600dfd919f45d14a0011f2da9b9fe0b9a0df3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* QDoc: Use the module page as link in qt.ditamap.Casper van Donderen2012-06-212-7/+17
| | | | | | | If the number of [QML]module pages in a single qdoc run is 1: Use it as the link for the nested group of documentation pages in the automatically generated ditamap. Change-Id: Idbc3e2e5d65a1e7f0201638102ffab62475a66ec Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QDoc: Use 'Type' instead of 'element' in instantiates.Casper van Donderen2012-06-212-4/+4
| | | | | | | | | 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>
* don't refer to module versions during bootstrapOswald Buddenhagen2012-06-191-2/+2
| | | | | | | | | | once we auto-generate the pris while building their respective modules, the versions won't be available during bootstrap yet. however, as these are core modules, their version is locked to the global $$QT_VERSION anyway, so just use that. Change-Id: I092f5e7d4dfe99c03e0df71f9409cac9be9f2297 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* properly declare the host tools as such in the project filesOswald Buddenhagen2012-06-191-0/+1
| | | | | | | don't mess with the qmake cmdline args any more. Change-Id: I399d87145d31d25e29951b6acd96387a3c7282f0 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* QDoc: Check if index file was already inserted in list.Casper van Donderen2012-06-141-8/+15
| | | | | | | | | | | Previously it was possible to insert exactly the same index file in the map twice by specifying an -indexdir which is the same as -installdir. Probably you can also have two indexes with the same name that happen to have the same creation time, but changes of that happening are slim to none. Change-Id: I6be5fb9d04839026830b9948887b282489b379c0 Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* QDoc: Also allow dependant modules to be specified on CLI.Casper van Donderen2012-06-121-1/+8
| | | | | Change-Id: I25dfbadc788616a864ecbf322434a3ce45bb94e5 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Better error messages for QML command errorsMartin Smith2012-06-1212-83/+205
| | | | | | | | | | | | 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: Only print modulename::type on collision pages.Casper van Donderen2012-06-081-3/+2
| | | | | Change-Id: I090698b106456370f6c0982006243304f87dc70c Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Look for template and include() under installdir.Casper van Donderen2012-06-053-2/+10
| | | | | | | | The installdir will now also be used to search for include() qdocconf variables and the stylesheet. Change-Id: I388392114fd5a8d57bab0b71699b30e4a6ddd46e Reviewed-by: Martin Smith <martin.smith@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>
* QDoc: Use the correct DITAiXML for table col/rowspan.Casper van Donderen2012-06-052-6/+48
| | | | | Change-Id: Id5443b4428a5f0b6b9fee92efcf2fd1ae19c0d19 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: check if !isNull() before casting prev/next nodes.Casper van Donderen2012-06-041-3/+3
| | | | | Change-Id: Ifac095ef0af0b483fbf53c6a18cf3c3130d37710 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Don't put ditamaps in index file.Casper van Donderen2012-06-011-1/+1
| | | | | Change-Id: Id3ceb05d3c9c4424b767222850237755080b9879 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Do not put indexNodes in qt.ditamap.Casper van Donderen2012-06-011-1/+1
| | | | | Change-Id: I659a3a91aaa6da26f4f739428d79cccfab8ce076 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Use \page title with prev/next links in DITAXML.Casper van Donderen2012-06-011-0/+12
| | | | | Change-Id: I260998986752f5c8cc48279c04557c925af1cb14 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Remove fatal exit when not finding an index directory.Casper van Donderen2012-05-301-1/+0
| | | | | | | | QDoc would exit with exit code 1 when an index directory is not found, this behaviour was probably a bit too strict. Change-Id: If62fe1aeac4392002fa7419f6abcb62ed41c2beb Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Add support for 'all subfolders' in dependant modules.Casper van Donderen2012-05-301-5/+24
| | | | | | | | | It is now possible to use '*' when specifying the 'depends' qdocconf variable, this will automatically load all index files found in subdirectories of the index dirs. Change-Id: I94b140df27da8d987824005a1dcf2a9348d5cd9e Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Force writing \n before a snippet in DITAXML.Casper van Donderen2012-05-301-2/+5
| | | | | | | | | Previously the snippet text would be indented, which causes an XSLT to render the first line of a snippet at the indentation level of the .dita file. Change-Id: Iead8d07277f83ca5ccbf463f1cdb1c8210459d56 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Make qdoc compile with QT_STRICT_ITERATORSThiago Macieira2012-05-2917-411/+411
| | | | | Change-Id: I2923315678d1aef516b35a8c83fe734367723a28 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Fixed pure doc parserMartin Smith2012-05-257-60/+213
| | | | | | | | | | | | | | | | | | | | | | | | This parser was meant to parse any file for qdoc comments only, ignoring everything else that is not inside a qdoc comment. But it wasn't doing that. It was parsing all code, regardless of the language, using the C++ parser. Now it has been corrected to look at qdoc comments and skip over everything else. Note thast this means qdoc will expect a qdoc topic command in each and every qdoc comment in the file. The posiution of the qdoc comment with respect to the code it is meant to document is not taken into account in the pure doc parser. This is in contrast to the QML and C++ parsers which do take comment location into account in some cases. Change-Id: I0804a4149baa942b463e0b6990c71e4039ac1a50 Reviewed-by: Keith Isdale <keith.isdale@nokia.com> Reviewed-by: Martin Smith <martin.smith@nokia.com>
* replace remaining "const QChar &" with "QChar"Konstantin Ritt2012-05-221-1/+1
| | | | | | | QChar is actually a ushort and passing it via const-ref is suboptimal Change-Id: Ib806b90397de6a816142ed130a22c0fe10a85d79 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* qdoc: Write <qmlinheritedby> before <qmlinstantiates>Martin Smith2012-05-211-1/+1
| | | | | | | | | | The order of these two elements has been switched in DITA XML files for QML types. <qmlinheritedby> now comes before <qmlinstantiates>. Change-Id: I1a041c087351734d20629336bbc1c136e04d345a Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* qdoc: Report multiple QML property docssMartin Smith2012-05-183-20/+75
| | | | | | | | | | | | | | | | | | | | | | | | | | Documentation authors sometimes make the mistake of documenting a QML property more than once. Here, we refer to cases where a C++ class is documented in a .cpp file as a QML type. In this context one QML property might be documented in two qdoc comments, because the author of the second comment does not search the file for an existing qdoc comment for the property before adding the second one. When DITA XML is generated for this case, the QML type element will contain two <qmlproperty> elements with identical id attributes, which is invalid XML. id attributes must be unique within an XML document. qdoc now reports an error for this case, indicating that the QMLN property has been documented multiple times. This problem can't occur when documenting QML in a .qml file because in .qml files, each comment must appear directly above the thing it applies to. Change-Id: I3a22650a58371fbda2ac7a5429fc036f41750423 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* QDoc: Generate correct relative paths and links when using -installdir.Casper van Donderen2012-05-162-6/+9
| | | | | | | | This change will generate working links between all modules in qtbase. Some testing needs to be done on the other modules. Change-Id: Ic65a9c753f891ac51427ca7c1cdcab13611d2f5b Reviewed-by: Martin Smith <martin.smith@nokia.com>
* qdoc: Include QML type name in method quidMartin Smith2012-05-162-6/+6
| | | | | | | | | | | | A case was found where a method inherited from a QML type marked abstract had the same name as a method in the inheriting class, and these two methods received the same quid. This was fixed by including the QML type name in the guid for QML methods. Change-Id: I110eb254b3c6be014cb67fdc5b57b5aa2f575220 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>