summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Add missing examples from doc repo.Frederik Gladhorn2012-08-282-0/+85
| | | | | Change-Id: I145ae05a5e7348740f858bd2bdcb8d21d7a90d22 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* doc: fix linksFrederik Gladhorn2012-08-283-4/+4
| | | | | Change-Id: Ifb6363e35c5317b6b1d9fd5e53079b30753f0666 Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
* Fix qdoc link.Frederik Gladhorn2012-08-281-1/+1
| | | | | Change-Id: I65e58351737b5628ac8c5dfe36a14b898076d690 Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
* QSharedPointer: make QT_SHAREDPOINTER_TRACK_POINTERS work with QObjectsGiuseppe D'Angelo2012-08-282-2/+9
| | | | | | | | | | | | | | | | If setQObjectShared crashes because a QObject is tracked by two different QSharedPointers, we lose the debug feature offered by #defining QT_SHAREDPOINTER_TRACK_POINTERS, as the check done by this define happens after the setQObjectShared call. Therefore, move setQObjectShared after the internalSafetyCheckAdd call. This is actually a noop change in 5.0, as setQObjectShared does nothing. However it prevents a bug in case the Qt 4 behaviour is brought back in some later version. Change-Id: I71340d0f878828354537762d01c46d441efc918c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Don't attempt to test DBus on QNX.Stephen Kelly2012-08-281-1/+1
| | | | | | | It is not expected to be there currently. Change-Id: I9e0ece35b8064ecb7cb24e55604ea78c9e6ab242 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Forward the CMAKE_TOOLCHAIN_FILE to tests.Stephen Kelly2012-08-281-2/+2
| | | | | | | | A Toolchain file must be supplied to cmake to cross compile. Forward that to tests so that they can be built too. Change-Id: Ie15190ff1d1f554ce436b7cb4d37a177a7e17e56 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Find example images for widget docs.Frederik Gladhorn2012-08-281-1/+2
| | | | | Change-Id: I958031b3ececa953c73d7792900f271f4a19803e Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* doc: remove links to Qt DesignerFrederik Gladhorn2012-08-287-12/+12
| | | | | | | | Designer is in the tools repo, we cannot link there. Mentioning the name should be good enough. Change-Id: I55193aa31e60ae266a8890f706c332a63ed3610d Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Add graphicsview documentation overview.Frederik Gladhorn2012-08-281-0/+557
| | | | | | | | This was removed from the docs repo and not re-added in qtbase. (change id for removal: Id1a65f07f4687465499fc5666bb1ad710914fabd) Change-Id: Ifb403757884114c00e64d713f65af5178dcb5d4b Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix qdoc errors in PrinterInfo.Frederik Gladhorn2012-08-281-2/+1
| | | | | | | | Document parameter and associate comment with function by removing newline. Change-Id: Ib4bb07c325144ef3501aea81d9e49e09b007387d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com> Reviewed-by: Laszlo Papp <lpapp@kde.org>
* beautify string operationsOswald Buddenhagen2012-08-282-5/+4
| | | | | Change-Id: I895a1ae26ee0c884c404bf585261d1a7e8a8242c Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* micro-optimize: use POD-initializable lists of variable namesOswald Buddenhagen2012-08-2810-42/+42
| | | | | Change-Id: I3732fef509b358949ef90002dbfc1960360afef8 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* remove unused checkMultipleDefinition()Oswald Buddenhagen2012-08-282-24/+0
| | | | | Change-Id: I533c2091333942f145063ad04f4420b7a2de0a37 Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
* remove dead variable assignmentsOswald Buddenhagen2012-08-284-5/+0
| | | | | | Change-Id: I032e9116ca1b7250497f56ea26103f2173f0fc09 Reviewed-by: Daniel Teske <daniel.teske@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* de-duplicate codeOswald Buddenhagen2012-08-281-26/+18
| | | | | Change-Id: Ic3f2bfeb5a16da86b1cd471b55dfc79f12dfadee Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* cmake: use .exe suffix only on WindowsPeter Kümmel2012-08-281-1/+1
| | | | | | Change-Id: I36ba61bd4690de0bfe4a44e579eb554c82b53bb4 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Fix CMake file INSTALLS with debug_and_release configurations.Stephen Kelly2012-08-282-4/+4
| | | | | | | Change-Id: Iad0161969e3632862102703fcc239358387e2181 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Peter Kümmel <syntheticpp@gmx.net> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add automatic metatype registration for invokable methods.Stephen Kelly2012-08-285-11/+312
| | | | | | | | | | | This works similarly to the automatic registration for Q_PROPERTY types, but in this case it mostly affects the need for users to call qRegisterMetaType<T>() before using queued connections with methods using non-built-in metatypes, or before using invokeMethod manually. Change-Id: Ib17d0606b77b0130624b6a88b57c36d26e97d12d Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Add automatic metatype registration for Q_PROPERTY types.Stephen Kelly2012-08-286-9/+285
| | | | | | | | | | | | | | | | In Qt 4, the user needs to call qRegisterMetaType if the property could otherwise be read before the type is registered with the metatype system. This patch makes that unnecessary and automatic by registering it when the first read indicates that it is not yet registered instead or when QMetaProperty::userType is called before it is registered. The types which are automatically registered exclude the built-in types, which do not need to be registered, and include metatypes which are automatically declared, such as pointers to QObject derived types and containers of existing metatypes. Change-Id: I0a06d8efdcb64121618e2378366d0142fa0771f5 Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Handle invalid dates properly for QDataStream versions < 5.Mitch Curtis2012-08-282-1/+63
| | | | | | | | | | | | | | | In Qt 5, when streaming an invalid QDate using a QDataStream version earlier than Qt_5_0, QDate.jd is written and read as 0, which is an invalid julian day for Qt versions earlier than 5.0. For Qt 5.0 however, 0 is a valid julian day, so when comparing a deserialised invalid date (read using a QDataStream version < Qt_5_0) against a default-constructed invalid date, they won't compare equal when they should. Task-number: QTBUG-26989 Change-Id: Ia76df493471f3b068c7d7187be20e3178eff2cc7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix some warnings in tests.Friedemann Kleint2012-08-282-3/+3
| | | | | | | | | - Unused variables - Signed/Unsigned comparisons. Change-Id: I0f4cc92a8366ad501d703d19c3358ac24db47270 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sergio Ahumada <sergio.ahumada@nokia.com>
* Remove automatic drive letter lowercasing from Option::fixString()v5.0.0-beta1Miikka Heikkinen2012-08-281-3/+0
| | | | | | | | | | This enforced lowercasing causes subtle errors, like changing the drive letter case when doing $$files(), which makes it difficult to do any string matching against the result later. Task-number: QTBUG-26985 Change-Id: I4973e3ac3e851e24af944295edf290cc98f02fb6 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Deprecate qWaitForWindowShown QWidget* overload since 5.0.Stephen Kelly2012-08-271-2/+2
| | | | | | | | It is already documented as deprecated in 5.0, so marking it as deprecated since 6.0 is silly. Change-Id: If72cc81bdad18c907022c48b9aa8e7d87eb88e59 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Make it possible to use static builds of Qt with CMake.Stephen Kelly2012-08-272-41/+35
| | | | | | | | | | | Parse the prl files generated by qmake to get the link dependencies. They contain all the information we need, and they are the only location with all the right information. Change-Id: Id9dcc988f20a744297502eff008de085326cdbcf Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Clinton Stimpson <clinton@elemtech.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* cmake: define QT_NO_DEBUG in client release buildsPeter Kümmel2012-08-271-0/+1
| | | | | Change-Id: Ife224bf908c5e9bc1e62a830a3750de88a082eb7 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Add some error checking to the qt5_use_modules function.Stephen Kelly2012-08-271-0/+8
| | | | | | Change-Id: I8fa2f10edbee1080646324c0689b23eda44aa75d Reviewed-by: Alexander Neundorf <neundorf@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fix plugin docs regarding location of json files.Stephen Kelly2012-08-271-1/+2
| | | | | | | | | The commit 2ef52ca12416baa96feb64e02186aae04f883a12 introduced an error regarding where the json file must reside. Change-Id: I296c93abebb3e9f8c9e7e29a4a433201064969f0 Reviewed-by: Peter Kümmel <syntheticpp@gmx.net> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* doc: key -> uicontrolFrederik Gladhorn2012-08-271-1/+1
| | | | | Change-Id: I42e5e2dc2d7cf7030ee9bc7dfa97ddaa66958370 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qcompilerdetection.h: set Q_DECL_OVERRIDE/Q_DECL_FINAL for 2005 <= MSVC <= 2010Marc Mutz2012-08-271-3/+18
| | | | | | | | | This enables Q_DECL_FINAL and Q_DECL_OVERRIDE backed by VC's non-standard extensions from VC 2005 on. VC 2012 will support the standard-compliant version, so use that there. Change-Id: I96874fe3d36fcaa283d2d1f53d5eb6825e55f259 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Make letter spacing APIs in QTextFormat more consistentEskil Abrahamsen Blomfeldt2012-08-273-42/+60
| | | | | | | | | | | | Change d060b6f04f956ab3a6358f826dc6928b3353f5f7 introduced some new properties to QTextFormat which were unfinished and did not match the documentation in the same change. I've updated the API and docs to use the regular QFont enum for letter spacing type instead of introducing bools (which inhibits expansions later) or mutually exclusive properties in the text format. Change-Id: Ife44993b6746c413e421fdaf92ebaaab6ba95977 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QNX: Enable pre-compiled header support for QNXSean Harmer2012-08-272-1/+6
| | | | | | | Change-Id: I6af69965b19c5d0d7a46de8000433bc5f1f2abcb Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Enable symbol visibility support on QNXSean Harmer2012-08-271-1/+1
| | | | | | Change-Id: Ie6015f87976cf16e0474dfa66da885ef24738f6c Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove mentioning of Phonon.Frederik Gladhorn2012-08-271-4/+3
| | | | | Change-Id: I78ce6d42ee043a35b520bf8567a1874cf8e2e43e Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* doc: clean up model view overview linksFrederik Gladhorn2012-08-271-12/+10
| | | | | Change-Id: I4aaf0cb254ffa4c7369e51b35af0226c98ec293c Reviewed-by: Gabriel de Dietrich <gabriel.dietrich-de@nokia.com>
* Fix limitting shortcuts to keypad onlyJani Honkonen2012-08-272-2/+54
| | | | | | | | | | | | | | | | | The Qt::KeypadModifier modifier is internally masked away from all shortcuts. So it is not possible to set a keypad only shortcut. Changed the implementation so that first a full keysequence match is searched. Then if no match is found the same sequence is tried without the keypad modifer. Added a autotest for this also to cover the basic use cases relating to this. Task-number: QTBUG-20191 Change-Id: Ibe7740c705fd0ab1eece4809b9a0b48882172933 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Update Q_PLUGIN_METADATA docu.Peter Kümmel2012-08-261-1/+6
| | | | | Change-Id: I7e451a15de392552609ef549118600684429e0ea Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* QMetaTypeId: optimize qt_metatype_id() in special casesMarc Mutz2012-08-261-48/+50
| | | | | | | | Same change as for Q_DECLARE_METATYPE, but in the container and smart pointer specialisations of it. Change-Id: If9390ccc43eb3b07122f5ea5b8094139b5e1ded0 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QMetaTypeId: optimize qt_metatype_id()Marc Mutz2012-08-261-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The old code resulted in one memory fetch for the test plus another one for the return value (at the assembler level). The new code reuses the already-loaded value: - movl _ZZN11QMetaTypeIdI12QDBusMessageE14qt_metatype_idEvE11metatype_id(%rip), %edx - testl %edx, %edx - je .L158 movl _ZZN11QMetaTypeIdI12QDBusMessageE14qt_metatype_idEvE11metatype_id(%rip), %eax - ret + testl %eax, %eax + je .L160 + rep; ret It also saves one load in the not-yet-initialised case: -.L158: +.L160: leaq .LC7(%rip), %rdi subq , %rsp .cfi_def_cfa_offset 16 movq himBH1, %rsi call _Z17qRegisterMetaTypeI12QDBusMessageEiPKcPT_ movl %eax, _ZZN11QMetaTypeIdI12QDBusMessageE14qt_metatype_idEvE11metatype_id(%rip) - movl _ZZN11QMetaTypeIdI12QDBusMessageE14qt_metatype_idEvE11metatype_id(%rip), %eax addq , %rsp .cfi_def_cfa_offset 8 ret Change-Id: I769950449822f2b1587680e05518be0a4f3120a2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QSlotObjectBase: make 'impl' and 'ref' privateMarc Mutz2012-08-262-20/+21
| | | | | | | | | | | | This allows to fold the deref() and the destroy() operations into one, destroyIfLastRef(). The member variables were renamed since there's now a member function of the same name (ref()). Change-Id: Ib94416d9e658065bbf5d3711ecafaf0eb063af17 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QSlotObjectBase: make Operation enum protectedMarc Mutz2012-08-261-3/+5
| | | | | | | | | We don't want people to go and call through the function pointer directly. Change-Id: I386645239974f008d513eaa62593c1141b294b60 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QSlotObjectBase: remove misleading commentMarc Mutz2012-08-261-1/+1
| | | | | | | | | | | | These constructors might not benefit from being constexpr (as the objects are only created on the heap), so don't suggest so. There's no disadvantage of them begin constexpr, but their constexpr'ability depends on whether QAtomic has a constexpr constructor, and the added complexity of finding that out isn't worth it. Change-Id: I089a29dcb98ba935c339dce09d71f283522a9afd Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* moc: test slots marked final/override in various waysMarc Mutz2012-08-263-0/+297
| | | | | | | | | While writing the test, I found that moc doesn't yet support volatile slots. I left the tests in, commented, for a time when it does. Change-Id: Ib5fa00b25600618aedcc66739630054f3c879b99 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* moc: parse classes that use Q_DECL_FINAL|final|sealedMarc Mutz2012-08-264-4/+178
| | | | | | | | | | | | | | | | | | | | This only works with the C++11 contextual keyword directly, the MSVC equivalent 'sealed', or the Qt define for it. While this isn't a problem for syncqt, being an internal tool, moc should eventually be able to parse user code using local C++11-final-wrapping macros. For this, I guess moc would have to be taught to expand macros in code and not just test #if clauses, potentially driven by something like #pragma qt-moc expand-this #define MY_FINAL_CLASS final but that's something for someone more intimately familiar with moc's source than I am. Change-Id: Id6aec961a881e8d5a9b76a7fc8e1c02c71913f64 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* syncqt: parse classes that use Q_DECL_FINAL|final|sealedMarc Mutz2012-08-261-1/+2
| | | | | | | | | | | | I've introduced a variable $post_kw (post-class-keywords) that contains the patterns which are expected after a class name. This variable is used both for a negative look-ahead assertion in the class-name capture (so the regex doesn't parse the keywords as the class-name), as well as to carry the parser over the keywords into the subclass clauses. Change-Id: Ia534ca01a511e1c773d007f1b0b4f448e8d009d0 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QtGlobal: document Q_DECL_FINAL and Q_DECL_OVERRIDEMarc Mutz2012-08-261-0/+56
| | | | | | Change-Id: I9b292ae3319c30ad878aade4416fb88155465a54 Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QtGlobal: remove Q_DECL_FINAL_CLASSMarc Mutz2012-08-262-9/+3
| | | | | | | | | | | Now that qvariant_p.h's HasIsNullMethod check is fixed so that it doesn't require Q_COMPILER_DECLTYPE anymore to be able to deal with final classes, there's no point in distinguishing Q_DECL_FINAL and Q_DECL_FINAL_CLASS anymore, so remove the latter. Change-Id: I31de5b63e7d2e44171a13e928997c946d93e05c9 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* QVariant: make the HasIsNullMethod check work across all compilers (maybe)Marc Mutz2012-08-261-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, we have a C++11 version that requires Q_COMPILER_DECLTYPE support, and can deal with final classes, and a C++98 version that doesn't require any C++11 features, but fails on final classes. What we're missing is a version that works for MSVC v8 and v9 (2005 and 2008), which sport the 'sealed' non-standard keywords but lack decltype support. So far, we tried to solve the problem by making class-level final special (Q_DECL_FINAL_CLASS), not defining that macro for these two compilers, even though we did define Q_DECL_FINAL, the method-level keyword. This new formulation, taken from http://stackoverflow.com/a/9655327/134841 supposedly supports all compilers with a minor #ifdef for MSVC which doesn't like applying sizeof() the way we do. However, testing has shown this to blow up on OSX. So we use the less intrusive approach: add this variant as a third version, only used by VC 2005 and 2008. Change-Id: If1945f8a6e9ed36cb68212fa781d5e29eb2a082d Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* qcompilerdetection.h: add MSVC 2012 featuresMarc Mutz2012-08-261-0/+7
| | | | | | | | These are taken from the table at http://blogs.msdn.com/b/vcblog/archive/2011/09/12/10209291.aspx Change-Id: Ifd2f88ca5d92092a6a025bef3da36fde0a802a66 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* qcompilerdetection.h: stream-line MSVC feature detectionMarc Mutz2012-08-261-6/+9
| | | | | | | | | | | | | | | | | Reformat the MSVC feature detection to be similar to other compilers, ie. 1. Inside the C++11 features section instead of where the compilers are detected 2. In one block for the compiler, with sub-blocks for the version. However, it's now not 100% compatible with the previous version, since Q_CC_INTEL is now explicitly excluded while before it was implicitly included in the MSVC case. I have no idea whether that matters, since Q_CC_INTEL is handled for itself further up already. Change-Id: Id9e8da0a5394ad5643bcb29493f14bc6e8264c13 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Small optimisation to recursive mutexesThiago Macieira2012-08-261-2/+2
| | | | | | | | | | | A recursive mutex operates on top of a non-recursive mutex. Therefore, we can bypass the test for recursive. The end result is simply that the compiler can inline the locking and unlocking a little better inside the lock() and unlock() functions Change-Id: Ic06d1344ccd411c22cbdef74536f3a4d368d75d7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>