summaryrefslogtreecommitdiffstats
path: root/src/tools
Commit message (Collapse)AuthorAgeFilesLines
...
* | Add qdbuscpp2xml.Stephen Kelly2012-03-182-0/+456
| | | | | | | | | | | | | | | | This is the pristine version from qttools at a0e2b3e96be934438974b175d0e640ed30f4efcb. Change-Id: I38eafde3f4b909bb63988f855672a908cae41d2c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Bootstrap qdbusxml2cppStephen Kelly2012-03-183-12/+47
| | | | | | | | | | Change-Id: I06856b169d5ee4f99fcf9c87ce88cb5ac34568e8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Add qdbusxml2cpp.Stephen Kelly2012-03-182-0/+1157
| | | | | | | | | | | | | | | | This is the pristine version from qttools at a0e2b3e96be934438974b175d0e640ed30f4efcb. Change-Id: I4dc7c7fd98637cecfc57a9be61063d351b660e72 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Include geometric variants when bootstrapping.Stephen Kelly2012-03-172-2/+4
| | | | | | | | | | | | | | | | They are needed by the qdbus tools. Change-Id: Ia1994f6a9bfa2ce1d526fd3e49370fd188ce5972 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | Fix comparison type warning.Stephen Kelly2012-03-161-1/+1
| | | | | | | | | | | | | | Change-Id: I4051c5bc204215f368e4381e508dd870be240f8f Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Andreas Holzammer <andreas.holzammer@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* | Merge master into api_changesKent Hansen2012-03-1621-197/+216
|\| | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * qdoc: Structure the DITA map with a root node.Martin Smith2012-03-154-85/+41
| | | | | | | | | | | | | | | | | | | | | | The root topicref is now always index.dita, unless there is no index.dita. But there is always a root topicref that has the project name as its navtitle, even if there is no index.dita file to map it to. Task-number: Mzilla bug - 7229 Change-Id: I0c9fdf1a2e3ba847fe8975a0745667189a77a755 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * Rename qdoc index file to qdoc-index.htmlCasper van Donderen2012-03-151-1/+1
| | | | | | | | | | Change-Id: I74fcbce7d2929c31031db379d5e0b4b0d2f48800 Reviewed-by: Martin Smith <martin.smith@nokia.com>
| * Rename all occurences of qdoc3 to qdoc in the qdoc manual.Casper van Donderen2012-03-153-9/+9
| | | | | | | | | | Change-Id: I84cfab5a7130aff9ed8a6eb568d78f29167e1ac8 Reviewed-by: Martin Smith <martin.smith@nokia.com>
| * qdoc3: Change suffix of DITA files to .ditaMartin Smith2012-03-154-11/+13
| | | | | | | | | | | | | | | | | | | | The files output by the DITA XML generator now have .dita on the end instead of .xml, but the ditamap files still use .ditamap . Task-number: Mzilla bug - 7291 Change-Id: Idb8b70c5d3f2ac2c4fdf195e385393f7ac68b7ba Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * bootstrap: remove QtXml dependencyGiuseppe D'Angelo2012-03-143-19/+15
| | | | | | | | | | | | | | | | | | | | Only qdoc is now using QtXml classes, so just add them to qdoc.pro and drop them from the bootstrap library. Change-Id: I821839396141d1d7a2ada565a513aa46c54c9620 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * uic: Avoid creating multiline QStringLiterals for MSVC.Friedemann Kleint2012-03-131-10/+25
| | | | | | | | | | | | | | The compiler complains about L"foo" "bar". Change-Id: I94be0528b26fe65413db56d210a5c02fcdba13a3 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
| * qdoc3: qdoc now handles overloaded methods for QMLMartin Smith2012-03-138-15/+81
| | | | | | | | | | | | | | | | | | | | | | | | When a C++ class is documented as a QML type, it can have overloaded QML methods. These are now handled correctly by qdoc. The method list for QML types is now output with the full method signature. For signals and handlers too. Task-number: QTBUG-24670 Change-Id: If529d4136f5b480373b6ac25d2dceef15e6ea3db Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * Update the footer for qdoc output for qt-project.Casper van Donderen2012-03-132-27/+31
| | | | | | | | | | Change-Id: I418ac4e754aac96220d14948ce066c982c4b8054 Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
| * qdoc: Update to prepare to run on a directory.Casper van Donderen2012-03-132-22/+2
| | | | | | | | | | | | | | | | | | | | This change sets some default file extensions to accept to generate documentation. It also removes support for the sourceModules qdocconf variable which is not used anymore. It was used just after modularization. Change-Id: Iabdcfb534dc662bd44e0928036fd68ee4e460b07 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* | Add an overload to Moc to allow reading from a QIODevice.Stephen Kelly2012-03-142-2/+9
| | | | | | | | | | | | | | | | This allows external code to provide the input data, such as a bootstrapped version of qdbuscpp2xml. Change-Id: I163062efc6495b3ab92573f94523967a67601191 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-03-12137-127/+66307
|\| | | | | | | | | | | | | Conflicts: tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I884afc3b6d65c6411733a897a1949e19393573a7
| * qdoc: Fix closing 'table class="generic"' tagSergio Ahumada2012-03-121-2/+2
| | | | | | | | | | Change-Id: I251ed6d4e5788b0816211e06f33ace03d2fa14e8 Reviewed-by: Martin Smith <martin.smith@nokia.com>
| * Remove unnecessary function.Casper van Donderen2012-03-121-25/+0
| | | | | | | | | | | | | | | | The reconstituteFieldMemberExpression static function was not usedf anywhere. Change-Id: Ide23045d7f7c3194a9725ae658df85562ba29ad5 Reviewed-by: Martin Smith <martin.smith@nokia.com>
| * qdoc3: qdoc user manual updateMartin Smith2012-03-109-817/+1048
| | | | | | | | | | | | | | | | | | Changed \bold to \b, \i to \e, and \o to \li. Task-number: QTBUG-24578 Change-Id: If02517164f30f05436596224c1b1895a86d9e9f8 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * remove obviously counterproductive uses of QT_SOURCE_TREE & QT_BUILD_TREEOswald Buddenhagen2012-03-081-4/+4
| | | | | | | | | | Change-Id: I77cf734b58f350d82277c084a680ab56fdf82f08 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
| * Remove usage of QtXml from rcc, add testGiuseppe D'Angelo2012-03-081-122/+182
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ported from QDom to QXmlStreamReader. This enables removal of QtXml classes from bootstrap. A new rcc test was added, copying the data from the QResourceFileEngine test. The new test runs rcc to create binary resources, dynamically loads them under various locales and checks that they do contain the expected files. Change-Id: I15d23dfda45de851a421156951ce2a60af4c1f7f Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: hjk <qthjk@ovi.com>
| * Move qdoc into qtbase and bootstrap itLars Knoll2012-03-08135-1/+65915
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We need qdoc in qtbase to be able to properly modularize our documentation and build it when building the different Qt modules. qdoc does contain a copy of the qml parser from qmldevtools, but this is the lesser evil compared to how we are currently forced to genereate our docs (and the fact that no developer can run qdoc and check the docs for their module). Change-Id: I9f748459382a11cf5d5153d1ee611d7a5d3f4ac1 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Martin Smith <martin.smith@nokia.com>
* | Merge remote-tracking branch 'origin/api_changes' into containtersJoão Abecasis2012-03-0810-13/+129
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetaobject.cpp src/corelib/kernel/qvariant.cpp src/tools/moc/moc.h Change-Id: I2cd3d95b41d2636738c6b98064864941e3b0b4e6
| * | Split up base class QFileDevice for open-file operations (read/write)David Faure2012-03-061-0/+1
| |/ | | | | | | | | | | | | | | | | This will be used later on as a base class for QTemporaryFile and QSaveFile. Change-Id: Ic2e1d232f95dc29b8e2f75e24a881ab459d3f037 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-03-048-11/+126
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: dist/changes-5.0.0 mkspecs/features/qt_module_config.prf qmake/project.cpp qmake/property.cpp Change-Id: I6e4af40743a9aeff8ed18533a48036e332acc296
| | * revamp -sysroot and -hostprefix handlingOswald Buddenhagen2012-03-013-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | instead of being a variable added to the makespec (via qconfig.pri), QT_SYSROOT is now a property. the QT_INSTALL_... properties are now automatically prefixed with the sysroot; the raw values are available as QT_RAW_INSTALL_... - this is expected to cause the least migration effort for existing projects. -hostprefix and the new -hostbindir & -hostdatadir now feed the new QT_HOST_... properties. adapted the qmake feature files and the qtbase build system accordingly. Change-Id: Iaa9b65bc10d9fe9c4988d620c70a8ce72177f8d4 Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
| | * Merge master -> api_changesRohan McGovern2012-02-297-18/+12
| | |\ | | | | | | | | | | | | | | | | | | | | Includes fixes for tst_qfiledialog2, tst_qtextedit autotests on mac. Change-Id: I49cac26894d31291a8339ccc1eb80b6a940f0827
| | * | Allow moc to handle symbols that have been redefined.Matthew Vogt2012-02-273-5/+120
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow moc to produce the desired identifiers when used with C++ symbol names that have been redefined, for example by -Dfoo=bar. Two changes are required: firstly, when encoding a type name, the components of the name must be checked for substitutions that have been defined for that token (note that this is not done here by correct pre-processing, but only by processing the resultant table of definitions). Secondly, the arguments to the SIGNAL, SLOT and METHOD macros must be allowed to be substituted during macro expansion rather than stringized directly. This is a temporary change to prevent breaking existing projects that depend on the declarative module. After clients have had an opportunity to update their code to the use the new interfaces, it can be removed. Task-number: QTBUG-23737 Change-Id: I39e6844cebf6ca7984af6028160b8a3797ac44a5 Reviewed-by: Martin Jones <martin.jones@nokia.com>
| | * | QByteArray: deprecate QT_NO_CAST_FROM_BYTEARRAY-protected operatorsMarc Mutz2012-02-262-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The QByteArray::operator const {char,void}*() implicit conversions are a source of subtle bugs, so they right- fully can be disabled with QT_NO_CAST_FROM_BYTEARRAY. const char *d = qstring.toLatin1(); // implicit conversion while ( d ) // oops: d points to freed memory // ... But almost no-one ever enabled this macros in the wild and many were bitten by these implicit conversions, so this patch deprecates them. I would have liked to remove them completely, but there are just too many occurrences even in Qt itself to hope to find all conditionally-compiled code that uses these. Also fixes all code that needs to compile under QT_NO_DEPRECATED (in qmake/, src/tools/). I984706452db7d0841620a0f64e179906123f3849 separately deals with the bulk of changes in src/ and examples/. Depends on I5ea1ad3c96d9e64167be53c0c418c7b7dba51f68. Change-Id: I8d47e6c293c80f61c6288c9f8d42fda41afe2267 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | | don't abuse $$fromfile() for inspecting entire projectsOswald Buddenhagen2012-02-291-2/+2
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | a project can rightfully expect a sane environment. $$fromfile() does not necessarily provide that. so instead use include() with a target namespace. Change-Id: I8d6d30ab1b760d4930c9b4453bc92f8f8ad0b0ae Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com>
* | | Introduce QMetaType::UnknownType.Jędrzej Nowacki2012-03-022-12/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QMetaType::Void was ambiguous, it was pointing to a valid type (void) and in the same time it was signaling errors in QMetaType. There was no clean way to check if returned type was valid void or some unregistered type. This feature will be used by new QMetaObject revision which will store type ids instead of type names. So it will be easy to distinguish between: void mySlot(); MyUnregisteredType mySlot(); Change-Id: I73ff097f75585a95e12df74d50c6f3141153e771 Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | | Long live Qt5 meta-object method/property descriptorsKent Hansen2012-02-294-67/+127
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit introduces two significant changes to the meta-object data format: 1) Meta-type information (QMetaType type/name) information is stored directly in the meta-data for both properties and methods; 2) The original signature (string) of a method is no longer stored in the meta-data, since it can be reconstructed from the method name and parameter type info. The motivation for this change is to enable direct access to method names and type information (avoiding string-based lookup for types if possible), since that's typically the information language bindings (e.g. QML) need. (moc already had all the desired information about methods, but it threw it away!) This change keeps support for the older (6 and below) meta-object revisions, but the support will be removed after a short grace period. The following public QMetaMethod functions have been added: name() : QByteArray returnType() : int parameterCount() : int parameterType(int index) : int The following internal QMetaMethod function has been added: getParameterTypes(int *types) : void This commit extends the meta-method data to include explicit type/name data for methods. The new data follows the existing (5-word) method descriptors in the meta-data. The method descriptor format was modified to enable this. First, the descriptor now contains the meta-data index where the method's type/name information can be found. Second, the descriptor contains the number of parameters. Third, the descriptor has a reference to the name of the method, not the full signature. Each entry of a method's type/name array contains either the type id (if it could be determined at meta-object definition time), or a reference to the name of the type (so that the type id can be resolved at runtime). Lastly, instead of storing the method parameter names as a comma-separated list that needs to be parsed at runtime (which was how it was done prior to this commit), the names are now stored as separate entries in the meta-object string table, and their indexes are stored immediately after the method type info array. Hence, parameter names can be queried through the public API without parsing/allocating/copying, too. Task-number: QTBUG-24154 Change-Id: Idb7ab81f12d4bfd658b74e18a0fce594f580cba3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* | | Change the representation of meta-object string dataKent Hansen2012-02-294-74/+188
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up to and including meta-object revision 6, string data have been stored as 0-terminated C-style strings, that were made directly accessible as const char pointers through the public API (QMetaMethod and friends). This commit changes moc to generate an array of QByteArrayData instead, and adapts the QObject kernel accordingly. Generating an array of QByteArrayData (byte array literals) means that the strings can now be returned from public (or private) API as QByteArrays, rather than const char *, with zero allocation or copying. Also, the string length is now computed at compile time (it's part of the QByteArrayData). This commit only changes the internal representation, and does not affect existing public API. The actual (C) string data that the byte array literals reference still consists of zero-terminated strings. The benefit of having the QByteArrayData array will only become apparent in the upcoming meta-object data format change, which changes the format of property and method descriptors. Support for the old meta-object string data format was kept; the codepaths for old revisions (6 and below) will be removed in a separate commit, once all the other meta-object changes are done and affected code has been adapted accordingly. Task-number: QTBUG-24154 Change-Id: I4ec3b363bbc31b8192e5d8915ef091c442c2efad Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* | moc: Only generate IndexOfMethod for signals.Olivier Goffart2012-02-281-4/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | moc is currently generating code to convert from a pointer to member function of a slot or signal to its index. The idea was that it could be usefull for slots to have the new syntax do the same as the old one (connecting signal index to slot index). But in practice, the new syntax do not use the IndexOfMethod for slots. Also, it does not work for all the slots (no Q_PRIVATE_SLOT, no static slots) So since it is not used, and that it would take room in the binaries to generate all the code to get the index of slots, we remove it. If ever we need it, we can still add it later. Change-Id: Ia417e3e524d7915ca86433ea86c66ac2b299c81a Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* | remove over-uses of $$list()Oswald Buddenhagen2012-02-271-2/+2
| | | | | | | | | | | | | | not sure why anyone would do *that* ... Change-Id: Id91e9e8bd602a9d9275ade2ca86aaa4f4698ff72 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* | uic: remove unused QRegExp #includesGiuseppe D'Angelo2012-02-262-2/+0
| | | | | | | | | | | | | | QRegExp is not used, so they're unnecessary. Change-Id: I3480bcbe013a0bf15e2ee4fa30862fe035820eea Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | rcc: micro-optimizationMarc Mutz2012-02-241-1/+1
| | | | | | | | | | | | | | | | Declare a char array instead of a pointer variable. Change-Id: I2beff815d05b6dc9c35bb0a55d7294189afbf17e Reviewed-by: Marius Storm-Olsen <marius.storm-olsen@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* | clean up qmake-generated projectsOswald Buddenhagen2012-02-241-8/+0
| | | | | | | | | | | | | | | | remove "header" and assignmets which are defaults or bogus, reorder some assignments. Change-Id: I67403872168c890ca3b696753ceb01c605d19be7 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
* | Bump the moc output revisionKent Hansen2012-02-231-1/+1
|/ | | | | | | | | | | | | | Commit aee1f6cc413f56bf4962324799ee3887c3dd037f changed the values of some built-in meta-type ids. Since the ids of built-in types are directly encoded -- not as the symbolic QMetaType::Type name, but as a raw integer -- in the flags for meta-properties, the moc output prior to that change is incompatible with the current output. Change-Id: I970484825137a4f19c80726cfe2024e741e3e879 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com> Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Drop file-engine abstraction from public APIJoão Abecasis2012-02-221-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This abstraction imposed serious performance penalties and is being dropped from the public API. In particular, by allowing file names to be arbitrarily hijacked by different file engines, and requiring engines to be instantiated in order to decide, it imposed unnecessary overhead on all file operations. Another flaw in the design with direct impact on performance is how engines have no way to provide (or retain) additional information obtained when querying the filesystem. In many places this has meant repeated operations on the file system, where useful information is immediately discarded to be queried again subsequently. For Qt 4.8 a major refactoring of the code base took place to allow bypassing the file-engine abstraction in select places, with considerable performance gains observed. In Qt 5 it is expected we'll be able to take this further, reaping even more benefits, but the abstraction has to go. [Dropping this now does not preclude that virtual file systems make an appearance in Qt at a later point in Qt 5's lifecycle. Hopefully with a new and improved abstraction.] Forward declarations for QFileExtension(Result) were dropped, as the classes were never used or defined. Tests using "internalized" classes will only fully run on developer builds. QFSFileEngine was removed altogether from exception safety test, as it isn't its intent to test internal API. Change-Id: Ie910e6c2628be202ea9e05366b091d6d529b246b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* replace 'const QChar &' with 'QChar ' where appropriateKonstantin Ritt2012-02-211-1/+1
| | | | | | | | | as QChar is actually an ushort and there is no point in taking its address. Merge-request: 69 Change-Id: Idcc9d621e5627514ade006aa12a789a88929d48b Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* moc: Fix loading of plugins in release mode.Friedemann Kleint2012-02-211-26/+40
| | | | | | | | | | | | Generate the plugin meta data with "debug" set to false/true in two code sections #ifdefed QT_NO_DEBUG. Do not use the value of QT_NO_DEBUG set at moc compile time which does not work in release mode/Windows. Change-Id: I0252795ed063bebb2c3b3784f880e64845b5b7e7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* uic: use QStringLiteral() instead of QString::fromUtf8() where applicableMarc Mutz2012-02-202-29/+41
| | | | | | | | | | | | | | | | | | | | | | | Many (most?) strings written aren't in fact UTF-8, and we can check at compile-time which are and which aren't, so don't hard-code fromUtf8() but use the much more efficient QStringLiteral() where applicable. This is low-hanging fruit. This patch only optimises US-ASCII string literals, not those that are latin-1 or even UTF-8, because that would require more extensive changes to the original fixString() function. Likewise, there are also other calls to QString::fromUtf8() being generated (e.g. in the pixmap code) that could benefit from being turned into QStringLiterals, but their code paths are more involved than those this patch fixes. This patch at least suffices in turning all the setObjectName() arguments into QStringLiterals, which was the main goal. The autotest baseline has been updated with the new expected results. Change-Id: Ic1ef67f500f9ff92d36164d515f4e004ef2a10bc Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Small moc cleanup: Pass lists by const referenceKent Hansen2012-02-202-4/+4
| | | | | | | | | generateFunctions() shouldn't (and doesn't) modify the list of functions, so the list should be passed by const reference. Change-Id: If5ff810e5623e734816c3089eb8b3fd4f54f2345 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* moc: Get rid of implicit conversions to const char *Kent Hansen2012-02-206-26/+25
| | | | | | | | | moc mostly operates on QByteArrays. When an actual const char * is needed, it should be explicit. Change-Id: I0b3e262830128306688f4512a4b59ce8966c2579 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Minuscule moc cleanup: Don't declare i in function scopeKent Hansen2012-02-201-5/+3
| | | | | | | | | This is not C. Furthermore, the function-level i was already shadowed in several places by "for (int i = 0; ..." blocks later in the function. Change-Id: Ic1777f78d9838bc2921d68337be05de454bbeabe Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Qt 5 plugin system: Fix handling of namespaced plugin classes.Friedemann Kleint2012-02-171-0/+4
| | | | | | | - Add 'using namespace' to moc code as was the case in 4.8. Change-Id: I26cba9ad74bf05eecc5205714c32c3176695e3b4 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove usages of QT_ARCH and QT_ARCH_* from qtbaseBradley T. Hughes2012-02-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The architecture is detected at compile time based on the predefined macros from the compiler. Don't use QT_ARCH in .pro, .pri, or .prf files. The PNG_NO_ASSEMBLER_CODE define from libpng.pri is not present in the current copy of src/3rdparty/libpng, so no change in functionality is expected. The conditional for the SUPPORT_JIT define in pcre.pri is moved to src/3rdparty/pcre/config.h, again so that we can use the compiler's predefined macros to detect the architecture at compile time. Replace QT_ARCH_ARM, QT_ARCH_MIPS, and QT_ARCH_SPARC with their Q_PROCESSOR_* equivalents. Replace QT_ARCH_INTEGRITY, QT_ARCH_VXWORKS, and QT_ARCH_WINDOWSCE with their Q_OS_* equivalents. Note that this commit also effectively disables the SPARC atomic implementation. An inline implementation for SPARC needs to be added, or we remove the current code and instead rely on the GCC intrinsic or C++11 std::atomic support on SPARC. Note also that this commit does not remove QT_ARCH from configure or qconfig.h. This will continue to be set until all Qt 5 projects can be moved away from using QT_ARCH. Change-Id: I5de747cc4436d21941329974cff3016970f497b8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Don't hardcode the number 14 in meta-object generatorsKent Hansen2012-02-161-1/+1
| | | | | | | | | | | | | 14 is the number of fields (ints) in the QMetaObjectPrivate struct as of revision 6. Use the calculated number of fields instead, so that the code will still be correct when more fields are added in future revisions. Change-Id: I4f2c2bfc125f3fabc8e8caedf5c6ba6c17a34d06 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>