summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
...
* | | uic: eradicate all Q_FOREACH loops [generated code]Marc Mutz2016-01-261-35/+70
| | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for loops. Change-Id: I0561174d9981ee2171c23644b5e7aebeb8c25665 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | rcc: eradicate all Q_FOREACH loopsMarc Mutz2016-01-262-5/+6
| | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 ramge-for loops. Change-Id: I95a91ac36c2b2bef17bf12cf7f1676653a2d807d Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | qlalr: eradicate all Q_FOREACH loopsMarc Mutz2016-01-265-15/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for, or, for loops over .values(), with explicit iterator loops over the result of equal_range(). Some fixes here and there to get to mark containers const for iteration, without having to resort to qAsConst(). Didn't work everywhere. Change-Id: Ibc0e71d3b208d118f06e16741af47261ef4b9e15 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | qlalr: remove uses of inefficient QListsMarc Mutz2016-01-262-2/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For QList<QLinkedList<T>::iterator>, mark the iterator Q_PRIMITIVE_TYPE. This should be done in Qt itself, but would be binary incompatible. For two other types that are used as values in QMultiMap, replaced foreach (x, map.values(y)) with auto range = map.equal_range(y); for (auto it = range.first; it != ramge.second; ++it) x = *it; which doesn't require a temporary QList. Change-Id: I9ddd15dd9b1d5bb3000833d14ed911451a272328 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | qdbuscpp2xml: eradicate all Q_FOREACH loopsMarc Mutz2016-01-261-8/+9
| | | | | | | | | | | | | | | | | | | | | ... replacing them with C++11 range-for loops. Change-Id: I0233bcf874cdadcd7461e11b89f752dabde086c0 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | qdbusxml2cpp: eradicate all Q_FOREACH loopsMarc Mutz2016-01-261-10/+10
| | | | | | | | | | | | | | | | | | | | | ... replacing them with C++11 range-for loops. Change-Id: I13825a444dee30b56b08f3ad8a7a0e15bf324678 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | qdbusxml2cpp: port classNameForInterface() to QStringRefMarc Mutz2016-01-261-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... and QStringBuilder. Found while fixing Q_FOREACH/foreach use in src/tools, thus contains port to range-for as a drive-by. Change-Id: I221bb8cb1f0fc3edeabfdb37d5d5a17551ee8d36 Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | moc: eradicate all Q_FOREACH loopsMarc Mutz2016-01-262-21/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... by replacing them with C++11 range-for, or, for loops over .keys() or .uniqueKeys(), with explicit iterator loops. Saves 2300b in text size on optimized GCC 5.3 Linux AMD64 builds. Change-Id: I6e1d4f5e56895dfd74aba21a3d4e913b5825645c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | | moc: simplify finding required Qt containersMarc Mutz2016-01-261-28/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code searched for any Qt containers by looking at - each class definition - each property's type - each function (signal, slot, method) - each argument type and matching each against "Container<", building the pattern string each time through the loop. It would then collect hits in a QSet to be converted to a QList and sorted at the very end. The new code pulls the iteration over the candidates out of all other loops. By doing so, it can stop looking at classes, properties, functions etc when it finds the first hit, and it inserts every candidate at most once. By iterating over the statically-known list of candidates, the result is not a sorted set of Qt containers, as before, but it still has s fixed order across runs, which was the purpose of the sorting in the original code. In the implementation, make liberal use of C++11 range-for, which is safe, as we're passing everything around as const. Change-Id: If76dd3f57aa1b544a9cf1de2dca94ca7999220f0 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | | Updated license headersJani Heikkinen2016-01-2185-1495/+1066
|/ / | | | | | | | | | | | | | | | | | | | | | | | | From Qt 5.7 -> tools & applications are lisenced under GPL v3 with some exceptions, see http://blog.qt.io/blog/2016/01/13/new-agreement-with-the-kde-free-qt-foundation/ Updated license headers to use new GPL-EXCEPT header instead of LGPL21 one (in those files which will be under GPL 3 with exceptions) Change-Id: I42a473ddc97101492a60b9287d90979d9eb35ae1 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@theqtcompany.com>
* | qdbuscpp2xml: Fixed wrong filename being reported in messagesSwen Kooij2016-01-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This caused the filename in messages to be one of the other arguments that were specified instead of the actual filename. Caused by the fact that mutations are possibly made to `args` in `parseCmdLine` and thus the amount of items in `args` does not always match the amount of items in `argv`. Change-Id: Ief3716dde39dfdc949a5192e7f83d93cf90130f0 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Moc: fix duplicate condition in AND expressionAnton Kudryavtsev2016-01-121-1/+1
| | | | | | | | | | Change-Id: I0c0e69aecdb7a15228d44688116a88b6afb44a50 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | moc: replace a QStack<QByteArray> with std::stack<QByteArray, QByteArrayList>Marc Mutz2015-12-301-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A QByteArrayList is almost as efficient as a QVector<QByteArray>. More importantly, the QByteArrayList case can share code with the myriad of other QByteArrayList users, in particular because std::stack is but the thinnest of wrappers around its underlying container. For moc, saves almost 1KiB in text size on optimized GCC 4.9 Linux AMD64 builds. For qdbuscpp2xml, which re-uses moc code, saves ~1.6KiB. Change-Id: I861e92b3c79e47e0ce892ccf54c9041182aaf212 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Optimize moc: Preallocate space for list of preprocessed symbols.Milian Wolff2015-12-121-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Without this, the symbol list is frequently reallocated. The value is a guestimate. It corresponds to a block of memory with the size 262144 * 3 * 8 byte = ca. 6.3 megabytes on a 64 bit machine. Looking at the final size of the symbol list, this seems to fit the common case nicely. Change-Id: Ib546a1ea479f2c6d8ab57be783cdf630f9b54f77 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* | Use Q_UNLIKELY for every qFatal()/qCritical()Marc Mutz2015-11-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If, after checking a condition, we issue a qFatal() or a qCritical(), by definition that check is unlikely to be true. Tell the compiler so it can move the error handling code out of the normal code path to increase the effective icache size. Moved conditional code around where possible so that we could always use Q_UNLIKELY, instead of having to revert to Q_LIKELY here and there. In some cases, simplified the expressions newly wrapped in Q_UNLIKELY as a drive-by. Change-Id: I67537d62b04bc6977d69254690c5ebbdf98bfd6d Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-11-181-4/+1
|\| | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/qprocess.cpp src/corelib/io/qprocess_unix.cpp src/network/kernel/qnetworkinterface_winrt.cpp tools/configure/configureapp.cpp Change-Id: I47df00a01597d2e63b334b492b3b4221b29f58ea
| * make a proper header-only module for QtZlibOswald Buddenhagen2015-11-171-4/+1
| | | | | | | | | | | | | | | | | | | | that way other modules can use the headers without hacks. this required making the base directory for paths in headers.pri configurable in syncqt. Change-Id: Id35cfe05bcf4c576d3f2d0d8d09590a5e23d21d3 Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-10-23129-65675/+255
|\| | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: .qmake.conf configure src/corelib/global/qglobal.h src/tools/qdoc/node.cpp src/tools/qdoc/qdocdatabase.cpp tests/auto/corelib/io/qsettings/tst_qsettings.cpp tools/configure/configureapp.cpp Change-Id: I66028ae5e441a06b73ee85ba72a03a3af3e8593f
| * qdoc is moving back to qttoolsOswald Buddenhagen2015-10-22124-65523/+0
| | | | | | | | | | | | Change-Id: Icb5abd32a1cbc3e8d876341c877e8d2a963c0e25 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * moc: fix Q_PROPERTY with parentheses in their MEMBER clauseOlivier Goffart2015-10-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This was never a documented feature, but happended to work before Qt 5.5. It broke because the peoperty access went into the static function and are now prefixed with '_t->' So restore the behavior as it was by not including the parentheses in the member name. Task-number: QTBUG-47695 Change-Id: Ic3509ddea7ac9abc871e71f5bfbe81d04d08e9bc Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@theqtcompany.com>
| * qdoc: Minor optimizationsTopi Reinio2015-10-212-62/+22
| | | | | | | | | | | | | | | | | | Remove unnecessary type casts in qdocindexfiles.cpp, and reduce the amount of duplicate string literals used for generating QML documentation. Change-Id: Ia6d68a44fad14bd7414c0106e8752999830c93e8 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * Doc: Update examplesinstallpath to include the repository nameTopi Reinio2015-10-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The examplesinstallpath variable in .qdocconf files defines the path under QT_INSTALL_EXAMPLES where examples are found. To match the way examples are packaged in Qt 5.6, prefix each install path with the repository name. Task-number: QTBUG-48736 Change-Id: I6a35c94fdacaad21cd044411aba02027b9019300 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| * qdoc: Conditionally generate the navigation bar items as table cellsTopi Reinio2015-10-192-30/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new offline template for Qt 5.6, including simplified CSS rules suitable for rendering with a QTextBrowser, requires the navigation bar to be generated as an HTML table instead of the previously-used unordered list. Make QDoc select between the two based on the contents of HTML.postheader .qdocconf variable, which defines the header of the navigation bar. Modify the old offline CSS to look good also when the nav. bar is a table. Task-number: QTBUG-48322 Change-Id: I00e16c24f436e0be049b85d4bcfc916c33ea6b73 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
| * qdoc: Warn if a topic command is not allowed in a \qmlpropertygroupTopi Reinio2015-10-191-0/+4
| | | | | | | | | | Change-Id: Icff1f3a4e85ce1eb2afe0a4d66f0728dc414c6ec Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com>
| * uic: updates from running generate_ui (III)Marc Mutz2015-10-191-101/+101
| | | | | | | | | | | | | | | | | | (as of qttools:a7ff0d7d9ac2ff17e540521ef59029bf5cb35e14) Saves almost 10K of text size on optimized GCC 4.9 AMD64 Linux builds. Change-Id: Ib059e8b076362dbf81356861bebaec3810af6dcc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * uic: updates from running generate_ui (II)Marc Mutz2015-10-191-25/+25
| | | | | | | | | | | | | | (as of qttools:1ed9418c0f38190cd839164229eeb7504438f740) Change-Id: I4a30878450218a56fa6af23b6784b314ab499338 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
| * Split two error cases so they get reported distinctly.Edward Welbourne2015-10-161-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a macro is used with too few parameters, complaining about its definition using '#' followed by something other than a macro parameter name is apt to be confusing - reading the definition will reveal that the name in fact is a macro parameter after all. The reader needs attention directed to the invocation, not the definition. Split the test in two: one to test the prior error message does in fact get produced for an invalid macro definition, the other to test the invalid invocation case. Task-number: QTBUG-46210 Change-Id: Ie177a56d346e553bf9d67e2008a4352633afa1ae Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
| * tools: use QStringBuilderMarc Mutz2015-10-151-0/+1
| | | | | | | | | | | | | | | | | | | | src/tools/bootstrap was already compiled with QT_USE_STRINGBUILDER, by way of load(qt_module), but the actual apps weren't. Some apps become smaller, some larger; all (presumably) faster. Change-Id: Idc8662e62ec14b27e730de9842bec295a1b5566e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * uic: updates from running generate_uiMarc Mutz2015-10-152-1/+125
| | | | | | | | | | | | | | (as of qttools:9ed1cfb27d7354cbc1020563569b8f65a3311303) Change-Id: I2f539d2a20428cf167c04ea9f5881b1f5d58beb0 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-10-1419-94/+132
|\| | | | | | | | | | | | | | | | | Conflicts: tests/auto/corelib/io/qfile/tst_qfile.cpp tests/auto/corelib/io/qprocess/tst_qprocess.cpp tests/auto/corelib/tools/qversionnumber/qversionnumber.pro Change-Id: Ia93ce500349d96a2fbf0b4a37b73f088cc505c6e
| * qdoc: Improve formatting of function signaturesTopi Reinio2015-10-133-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a continuation of the work started in commit 694d30035593addc377fea374d1dbe8e3f5ca503. Attach reference ('&') and pointer ('*') qualifiers to the parameter name, as per Qt coding style. Previously, function signatures were documented like this: QString & QString::append(const QString & str) After this change, they will appear like this: QString &QString::append(const QString &str) Change-Id: Ie103fc2929635bc32145e50469c600f9f378f97c Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@theqtcompany.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
| * qdoc: Insert targets for function and enum nodes read from the indexTopi Reinio2015-10-132-8/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDoc wrote \target and \keyword information into the index file properly, but did not read them back in. This was because the code for handling enum and function elements read their own child elements (without handling targets), and marked the remaining children to be skipped. This commit fixes the issue by refactoring the code for inserting targets into a new function and calling it from relevant places. Change-Id: I85d7b26ce54620daec35b19e447d1a065515b863 Task-number: QTBUG-48687 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * qdoc: Fix single-character string literals.Friedemann Kleint2015-10-1310-36/+36
| | | | | | | | | | | | | | Use character literals where applicable. Change-Id: I7011ae6ee55107b4788cc434e0dc3618c4213799 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * qdoc: Avoid extra spaces in function synopsesTopi Reinio2015-10-072-5/+5
| | | | | | | | | | | | | | | | | | | | | | Instead of blindly leading each parameter name with a space, check if the data type name is empty first. This prevents extra spaces from appearing in QML method signatures, which can be documented with parameter names only, without data types. Change-Id: I726f8c29839430186fcae4ac19d00404233395e0 Task-number: QTWEBSITE-691 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * Merge "Merge remote-tracking branch 'origin/5.5' into 5.6" into refs/staging/5.6Liang Qi2015-10-021-3/+3
| |\
| | * Merge remote-tracking branch 'origin/5.5' into 5.6Liang Qi2015-10-021-3/+3
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/doc/src/qmake-manual.qdoc src/corelib/tools/qstring.h src/gui/image/qimagereader.cpp src/network/access/qnetworkaccessmanager.cpp src/tools/qdoc/doc/examples/examples.qdoc src/widgets/accessible/qaccessiblewidgetfactory_p.h src/widgets/doc/qtwidgets.qdocconf Change-Id: I8fae62283aebefe24e5ca4b4abd97386560c0fcb
| | | * Doc: Corrected link issues in qtbaseNico Vertriest2015-09-041-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | Task-number: QTBUG-43810 Change-Id: I0a019becc53b222cb6a7df1fafdccd57aca5b598 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | | Doc: replace \target with \keyword if at start of pageNico Vertriest2015-10-021-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A \target whose purpose is to link to the top of a page (and not to a section within a page) works better as a \keyword, because \target generates a new html anchor which, in this case, is not tied to any title element on the page. A \keyword links to the page itself, as expected. Task-number: QTBUG-48482 Change-Id: I957551edd0eb7e665358d04b37dab41e2686b851 Reviewed-by: Topi Reiniö <topi.reinio@digia.com>
| * | | Doc: Update obsolete URLs to external documentationTopi Reinio2015-10-023-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I199de83971701c14e903e712fcdcd29aaff95c6d Task-number: QTBUG-48420 Reviewed-by: Venugopal Shivashankar <venugopal.shivashankar@digia.com> Reviewed-by: Liang Qi <liang.qi@theqtcompany.com>
| * | | qdoc: Fix a regression with QML node attributes written to index filesTopi Reinio2015-10-021-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDoc needs to write the following attributes to index files: For qmlclass: qml-module-name, qml-base-type For qmlmodule: qml-module-name, qml-module-version Because of a regression introduced in Qt 5.5, no QML module name or base type information were written for QML types, resulting in linking issues. Change-Id: I69e616dadfc9ede389bc05e16acb831f1e15bac5 Task-number: QTBUG-48479 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | | qdoc: Resolve namespaces declared in index treesTopi Reinio2015-10-021-1/+5
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDoc never called resolveNamespaces() unless running in single-exec mode. This commit fixes that, and causes public namespaces documented in other modules to be treated as 'seen', i.e, as if they were declared locally. Change-Id: Id1dda7aaea6c9bd38bbeb5992121575a1876cbf7 Task-number: QTBUG-48523 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | uic/class_lib_map.h: Fix include path of QValidator-derived classes.Friedemann Kleint2015-09-301-4/+4
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-48492 Change-Id: I1b43bd955cdb36c564483dfa3d9b416885ada983 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* | | Merge remote-tracking branch 'origin/5.6' into devLiang Qi2015-09-2515-81/+197
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/io/io.pri src/corelib/io/qdatastream.cpp src/corelib/io/qdatastream.h src/network/socket/qabstractsocket.cpp src/plugins/platforminputcontexts/ibus/qibusplatforminputcontext.cpp src/plugins/platforms/cocoa/qcocoaaccessibilityelement.h src/widgets/styles/qgtkstyle.cpp tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/qmimedatabase-cache.pro tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/qmimedatabase-xml.pro tests/auto/dbus/qdbusconnection/qdbusconnection.pro tests/auto/dbus/qdbuspendingcall/tst_qdbuspendingcall.cpp tests/auto/network/access/qnetworkreply/tst_qnetworkreply.cpp Change-Id: I347549a024eb5bfa986699e0a11f96cc55c797a7
| * | qdoc: Fix write to invalid memoryTopi Reinio2015-09-251-4/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before deleting the children of an Aggregate, we must clear its internal collections first. This prevents removeChild() (called from ~Node) from accessing already deleted siblings. Change-Id: Ic657b1d57fe4c766daa2bd4b791c3840099de709 Task-number: QTBUG-47751 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | qdoc: Document macro parametersTopi Reinio2015-09-241-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | QDoc has the ability to accept parameters for macros but it was never documented. Change-Id: Iaf9a629c906fbe1552717c7444a0fd52b5655a3f Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | qdoc: Allow linking to QML signals with their proper nameTopi Reinio2015-09-111-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Trying to link to QML signal documentation failed when the link string ends in parentheses: \l someSignal() This commit fixes the issue by adding QML signals into the list of primary functions, making it thereby available for findFunctionNode() method. Change-Id: Ib5a8325cd18171cdea392bcc1af676efe373f433 Task-number: QTBUG-48158 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | qdoc: Fix issue with findNodeForTarget()Topi Reinio2015-09-071-7/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QDoc was searching for nodes using empty target string in some cases (when the string contained no '::' but genus was set to either QML or CPP). This resulted in random nodes being returned from findUnambiguousTarget(), causing mislinking without any warnings. Change-Id: I1bd434ec7470580cf5cb8083c2b74c37ef562473 Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | qdoc: Introduce codeprefix & codesuffix, re-introduce codeindentTopi Reinio2015-09-078-12/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: Correctly resolve non-function links that end in parenthesesTopi Reinio2015-09-071-22/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If QDoc fails to find a function node for a link target that ends in parentheses, it must retry to find another type of node, as page/section titles can sometimes resemble function signatures. This fixes a regression introduced by commit 8c5ce68f. Change-Id: I675fe5b93ecc8a1823c0a5f817fb4b80b4e63320 Task-number: QTBUG-47919 Reviewed-by: Alex Blasche <alexander.blasche@theqtcompany.com> Reviewed-by: Martin Smith <martin.smith@digia.com>
| * | qdoc: allow 'void' function parameter without a parameter nameTopi Reinio2015-08-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are a few functions using a C-style function declaration: void foo(void); meaning that foo() takes no parameters. This change allows this for QDoc, making it successfully match documented \fn blocks with the correct declaration, and not print out warnings. Change-Id: I8191c55094371431b0e9c2ad22d19cadcb7facfb Reviewed-by: Martin Smith <martin.smith@digia.com>