summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
* 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-012-25/+32
|\
| * Merge remote-tracking branch 'origin/5.3' into devFrederik Gladhorn2014-07-012-25/+32
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * Correct grammar of missing Q_OBJECT macro warning.Mitch Curtis2014-06-231-1/+1
| | | | | | | | | | | | | | | Change-Id: Ifb84220285e38ce6940595035ca9fe012c350b79 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
| | * 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>
* | | Remove the rcc output file if we failed to write itThiago Macieira2014-07-011-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This happens if the second pass failed to find the signature data in the compiled output, which can happen if the compiler is not *actually* compiling anything (LTO / LTCG mode). If we left the unmodified file in the output, make would continue running next time it was invoked, resulting in bad data. Change-Id: I97f23a89a1ca1f8b8c449b0744de3f0c78daa706 Reviewed-by: hjk <hjk121@nokiamail.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 "Merge remote-tracking branch 'origin/stable' into dev" into ↵J-P Nurmi2014-06-071-9/+1
|\ \ | | | | | | | | | refs/staging/dev
| * | 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>
* | | Make RCC handle bigger binarieshjk2014-06-063-53/+167
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Traditionally, RCC in "C mode" was meant to bundle small resources into a binary, like help texts or an occasional icon. RCC produces a .cpp file containing the actual data in a char array which is then passed to the compiler and linker as a normal source file. Larger resources should be compiled in RCC's binary mode and loaded at run time. Current Qt Quick use tries to deploy large hunks of data in "C mode", causing heavy compiler/system load. This patch works around the issue by splitting the process into three parts: 1. Create a C++ skeleton, as usual, but use a placeholder array with "easily compilable" (mostly NULs) data instead. 2. Compile the skeleton file. 3. Replace the placeholder data with the real binary data. time (qmake5 ; make clean ; make) takes 1.3 s real time for a 100 MB resource here, and there is still room for improving patching performance if really needed. Change-Id: I10a1645fd86a95a7d5663c89e19b05cb3b43ed1b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Kai Koehne <kai.koehne@digia.com>
* | RCC: Avoid some needless to/fromLatin1 cyclehjk2014-06-031-10/+11
| | | | | | | | | | Change-Id: I70f330ee5ce083fb90f0c6d70e5b99063bc6e974 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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-224-7/+10
|\| | | | | | | Change-Id: Ia36e93771066d8abcf8123dbe2362c5c9d9260fc
| * Disable hash seeding for bootstrapped toolsThiago Macieira2014-05-212-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * Make the use of -ffunction-sections more generic in QtThiago Macieira2014-05-191-2/+0
| | | | | | | | | | | | | | | | | | | | | | Move it from bootstrap.pro into qt_module.prf so it will apply to any other bootstrapped libraries, like libQmlDevTools. Variable called "SPLIT_SECTIONS" because -fdata-sections could be added in the future, if it proves to be a benefit. Change-Id: I3fbb004f111620a84e58e9112e9bce3afd95631e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@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>
* | Force qdbusxml2cpp to use QStringLiteral rather than QLatin1StringAlex Blasche2014-05-151-3/+3
| | | | | | | | | | | | Change-Id: I6db4c80a14466b51d73c2704e8fc2e2e8a8a6b02 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.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>
* | Merge remote-tracking branch 'origin/stable' into devFrederik Gladhorn2014-05-063-370/+220
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: mkspecs/qnx-x86-qcc/qplatformdefs.h src/corelib/global/qglobal.h src/opengl/gl2paintengineex/qpaintengineex_opengl2.cpp src/opengl/qgl.cpp src/opengl/qglpixelbuffer.cpp src/opengl/qglshaderprogram.cpp tests/auto/opengl/qglthreads/tst_qglthreads.cpp Change-Id: Iaba137884d3526a139000ca26fee02bb27b5cdb5
| * Add default case to switch statementsKurt Pattyn2014-05-021-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling with the -Wswitch-default flag, the compiler spits warnings for the moc generated files. In certain development environments (e.g. where MISRA rules have to be followed) every switch statement needs to have a default case. Unfortunately the moc generated files contain switch statements without default case. This patch adds a default statement to all switch statements that are generated by the moc compiler. Change-Id: I8f3d81e3463fce4d3abf2ea5d0fa8727a7d9ba2e Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Build fix with defined DEBUG_MOCJędrzej Nowacki2014-04-252-370/+211
| | | | | | | | | | Change-Id: I365feceda20625e95503eb5acfa58fc89bd3720a Reviewed-by: Olivier Goffart <ogoffart@woboq.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>
* | Mark each QT_MOC_LITERAL usage with a commentJędrzej Nowacki2014-04-151-2/+4
| | | | | | | | | | | | | | The comment shows to which string a QT_MOC_LITERAL is pointing. Change-Id: Ia389d750b1b1c21e2242bad6beceea4f9298ff8e Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/stable' into devIikka Eklund2014-04-016-20/+17
|\| | | | | | | Change-Id: I2a6eb9dd7724931bc89f28bcc156e77c4e26d069
| * Update copyright year in tools outputKai Koehne2014-03-313-6/+6
| | | | | | | | | | | | Change-Id: I9ee9604303b3cb29f89a4252df5af35e729f6249 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
| * 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>
* | QDebugStateSaver: call maybeSpace() in destructor.David Faure2014-03-131-0/+1
|/ | | | | | | | | | | tst_qdebug didn't test adding something else after the MyLine object, so I didn't realize that a space was missing there. All debug operators should end with maybeSpace(), but with the settings of the caller, so this requires restoring the settings before calling it. To make it convenient for all << operators, the destructor of QDebugStateSaver takes care of that. Change-Id: I18ab78d99d7ee3be951082b5b5d34718ee60e21d Reviewed-by: Thiago Macieira <thiago.macieira@intel.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>