summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
* moc: fix infinite loop over malformed inputOlivier Goffart2016-07-201-0/+5
| | | | | | | | We should not call prev() if we had already reched the end. Task-number: QTBUG-54815 Change-Id: I56bc86880a0dbfdce57fc4a08e5950f2ff3a5958 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* moc: Fix a crash with malformed inputOlivier Goffart2016-07-151-4/+4
| | | | | | | | | | Do not increment 'data' past the buffer in case of invalid token. Remove the left over qDebug so we can make a test. Task-number: QTBUG-54609 Change-Id: I8f0dd3381fbdea3f07d3c05c9a44a16d92538117 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com>
* Merge remote-tracking branch 'origin/5.6.1' into 5.6Liang Qi2016-05-191-2/+6
|\ | | | | | | | | | | | | Conflicts: src/network/socket/qnativesocketengine_winrt.cpp Change-Id: I8edb72f8ba958d80c3d7993b3feaaae782ca8d9c
| * Merge 5.6 into 5.6.1Oswald Buddenhagen2016-05-121-4/+4
| |\ | | | | | | | | | Change-Id: I22003b840f1a7ac685a1ec3353d7e7dbd84c3953
| * | make zlib_dependency auto-add QtCore as a private depOswald Buddenhagen2016-05-091-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | our zlib header includes qglobal.h, so we need the qtcore include dirs, and qtcore is also where the actual code is compiled into. Change-Id: I09f530a1b4e6160438215a6d7223c0771ce94f05 Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
* | | Moc: fix crash when a file ends with \\\rOlivier Goffart2016-05-181-2/+4
| |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | make the 'cleaned' more robust by making sure we do not read past the buffer in some cases. We must also use resize and not reserve on the outpt buffer because reseve is meant as a hint and we are not supposed to write past the size of the QByteArray even if it is reserved. [ChangeLog][moc] Fixed crash on file ending with \\\r Task-number: QTBUG-53441 Change-Id: I901e6c0ffc7f8877de3d07fd08cf26495461d294 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@theqtcompany.com> Reviewed-by: Robert Loehning <robert.loehning@qt.io>
* | Fix moc warning detected by ICCThiago Macieira2016-05-091-4/+4
|/ | | | | | | moc.cpp(385): error #187: use of "=" where "==" may have been intended Change-Id: Ibb6ef27030762cbe4f7c7002581a0955f0f9086d Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* rcc compiler with -list on Windows (newline symbols)Timur Pocheptsov2016-04-081-0/+5
| | | | | | | | | | Suppress '\n' -> '\r\n' replacement done by QIODevice, on Windows fwrite to stdout will end up in such replacement, no need in \r\r\n (reported as a bug in QtQuickCompiler originally).) Task-number: QTRD-3497 Change-Id: I61010831b49e41b3e4fa6626054f9fb53c63bb8a Reviewed-by: hjk <hjk@theqtcompany.com>
* Remove empty first lines of files.Friedemann Kleint2016-04-062-2/+0
| | | | | | | They might upset licensing related tools. Change-Id: I858d21fc418ba16959c88847b559b11bea29ed6b Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* moc: bail out early on missing or invalid options fileJoerg Bornemann2016-03-311-0/+2
| | | | | | | | | | | If moc is invoked with the @ argument and no options file is specified or the options file cannot be read, do not try to parse the empty arguments list. Otherwise QCommandLineParser will print an additional error message that is of no value for the user. Task-number: QTBUG-51847 Change-Id: I9aa1eb20a44097b553123be8bc6fded87473a03a Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Generate QVariant::fromValue(enum_value) for enum valuesJarek Kobus2016-03-091-1/+4
| | | | | | | | Instead of just QVariant(enum_value). Task-number: QTBUG-49383 Change-Id: Id57c65b68d4328816046bc35301dc6afba47b727 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@theqtcompany.com>
* consistently put {qt,qml}_{module,plugin} at the end of project filesOswald Buddenhagen2016-03-072-7/+7
| | | | | | | | this fixes static builds by ensuring that all dependencies are exported. Task-number: QTBUG-51071 Change-Id: Icbce502dcbcb4d4b4d922c42679f44e2cc930bf3 Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com>
* Reduce allocations by using reserve()Sérgio Martins2016-02-073-4/+10
| | | | | Change-Id: If34fa53402985f6b3c5e7217bce4a1177af835b6 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Fix GCC 6 valid warnings about misleading indendationsThiago Macieira2016-01-301-7/+7
| | | | | | | | | | | It's currently producing a lot of false positives, but a few are actually valid. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69029, https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69122 and some others. Change-Id: I24a735698d3c4a719fc9ffff1425f29d7b5a3458 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* Bump copyright year to 2016Kai Koehne2016-01-293-3/+3
| | | | | | | | | | Bump copyright year in tool output and user visible strings to 2016. Task-number: QTBUG-50578 Change-Id: I2f4aa9089c6672726f554cba7e6009b425d27683 Reviewed-by: Liang Qi <liang.qi@theqtcompany.com> Reviewed-by: Topi Reiniö <topi.reinio@theqtcompany.com> Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
* Speed up QObject::connect with function pointersSimon Hausmann2016-01-221-0/+1
| | | | | | | | | When resolving the signal/slot of connect(&Foo::bar, ...) we place a meta-call to map the address to the method index. Once we have found the index, we don't need to continue but can return the result right away. Change-Id: I67bb22df394d7c22dc1731367c0961b958ed77b3 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* rework include path construction in the module systemOswald Buddenhagen2016-01-122-22/+4
| | | | | | | | | | | | | | | the main objective was to fix the bootstrap modules in framework builds. bootstrapped modules which "borrow" headers from "proper" modules can specify this in a clean way now. a side effect of this is that the bootstrap-dbus module now has its own syncqt call. most includepath-related setup from qt_module_pris.prf was moved to qt_module_headers.prf. Change-Id: Ie0d8192cfac1a8cdae0ddd0bc0cd8c3092b1e85b Reviewed-by: Joerg Bornemann <joerg.bornemann@theqtcompany.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
* 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>
* 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>
* 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>
* | 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>
* | qdoc: Use lowercase names for modules read from index filesTopi Reinio2015-08-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The module names are used as keys in the map that defines the forest of module trees. A physical module name (lowercase) is used as the primary tree name, but modules read from index were using a name written to the index file (project name, typically CamelCase) as-is. This caused issues for resolving link commands that have a module name in the square bracket parameters. To ensure that such links work, convert module names read from index to lowercase, too. Change-Id: I698e01fd1df888e4a78c06a76ad72b5eb1a70892 Reviewed-by: Martin Smith <martin.smith@digia.com>
* | qdoc: Check and warn if \relates is used incorrectlyTopi Reinio2015-08-192-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | There are instances in the documentation where a member function tries to set itself also a related non-member of its parent. This should be treated as invalid behavior, as it likely causes also problems during deletion of the node tree. QDoc now checks for and warns about these instances. Change-Id: I951e0de6be4d48618c60b8a0382e2c70700cc402 Task-number: QTBUG-47751 Reviewed-by: Martin Smith <martin.smith@digia.com>