summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* Make codecForLocale atomicLars Knoll2012-07-312-37/+36
| | | | | Change-Id: I8017b1c2aa1df8d613e83919a945fd5f320713d6 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* ICU code page conversion supportLars Knoll2012-07-315-24/+791
| | | | | | | | | | | | | Use ICU to do code page conversion instead of the builtin text codecs. With this QTextCodec simply becomes a wrapper around ICU's ucnv_* methods. We only keep our own codecs for UTF-*, ISO-8859-1, ISO-8859-15 for performance reasons, and for TSCII and iscii-* because they aren't supported by ICU. Change-Id: I4fc49eba55cf772b9772c6dac606a47a44346a60 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Rename some codecs to be in line with ICULars Knoll2012-07-311-2/+2
| | | | | Change-Id: If523d2a12ef64c79e3860da1f430f128d24ff600 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Disable iconv on utf-8 based platformsLars Knoll2012-07-312-4/+5
| | | | | | | | | There's no need to use iconv on Mac, iOS, Android or QNX, as all these platforms are fully utf-8 based. Change-Id: I2a03c8dea72ad91f6ec83da0a838de20e46babef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Lazily initialize iconv in the iconv codecLars Knoll2012-07-312-4/+12
| | | | | | | | | | | | | | | Avoid dlopen'ing libiconv and initializing it's members until the codec gets used for the first time. This avoids some memory and startup time overhead in case we can use the utf8 codec instead of iconv. It also removes a circular dependency between codec initialization during app startup. Change-Id: I119c010c288dc59ab32279d8a213ae1f4347cace Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Use utf-8 as the locale codec where it makes senseLars Knoll2012-07-311-6/+8
| | | | | | | | | Use utf8 as the fallback codec in case we can't determine something else instead of latin1. Also use utf8 for Mac, iOS, Android and QNX. Change-Id: I15dc85d2406b1ebdfacff25f45f8b6854c52b97e Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Remove encoding detection according to LANGLars Knoll2012-07-311-142/+0
| | | | | | | | | This code is left over from the 90's, and should not get used anymore. In all relevant cases we will use UTF-8 or iconv nowadays. Change-Id: Ie3776f671de33f782fa77f6359bf6e105bd9c1b8 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Move the text codec list to qcoreglobaldata.Lars Knoll2012-07-315-196/+116
| | | | | | | | | | | This removes some global statics in QTextCodec and makes the code better to maintain in the longer term. Remove QT_NO_THREAD defines around mutexes as this isn't required in Qt 5 anymore. Change-Id: I15ede75f53b16f134f4053f3188c4b47e86fcd8a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QtNetwork: Better detection of connection failures on WindowsMartin Petersson2012-07-301-21/+41
| | | | | | | | | | | | | | | If the error code from WSAConnect is WSAEWOULDBLOCK, then the operation proceeds but the outcome is not known at that time. We then check SO_ERROR's value to detect errors. But if that call returns 0 this could indicate that the value is still not know. In this case we try one more time to increase the chance of getting the correct value. This fixed the tst_QNetworkReply::getFromUnreachableIp auto test on Windows. Change-Id: I25008aca062b2f823e3d93ebb0ae456d7e4a6ecc Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* QUrl: document that setIdnWhitelist isn't thread-safeMarc Mutz2012-07-301-0/+3
| | | | | | | This is a forward-port of 6b10fc91 from Qt 4. Change-Id: I58878bf24e4f1b50ebfd0457c37eef58696f4a4c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* qdoc: Added safety checks to findUnambiguousTarget()Martin Smith2012-07-301-1/+4
| | | | | | | | | | This is a blind attempt to fix QTBUG-26615. I can't reproduce the crash on OSX. Task nr: QTBUG-26615 Change-Id: Ifc6b68b7f302b9cd7d02129be8ae56841a35e5de Reviewed-by: Martin Smith <martin.smith@nokia.com>
* fix QEventLoop qdoc errorsJeremy Katz2012-07-301-3/+6
| | | | | Change-Id: I17bb720d539a7ccf5d9a3b20853897ff052fc8a6 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QNX: Reduce dependency on QtWidgetsKevin Krammer2012-07-292-6/+2
| | | | | | | | Use QObject::inherits() to check if the current input focus object is a numerical input instead of trying to cast. Change-Id: Ie476fba3d2f9f20a1ce0328043430cb6a96a8a3d Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Send the native scancode in evdevkeyboardLaszlo Agocs2012-07-282-4/+8
| | | | | | | | | | | | | | Until now the native scancode was not specified which meant when qwindow-compositor (or any other Qt-based compositor using the standard Wayland protocol, i.e. sendKeyPress() and such) tried to send the native scancode over to the clients, all it got was a code of 0. This fixes keyboard input when running qwindow-compositor on top of kms and EvdevKeyboard. Change-Id: I5d9a882f249634fb7584900b5f298f794befee3b Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Document QEvent::EnterEditFocus and QEvent::LeaveEditFocus properly.Mitch Curtis2012-07-281-2/+2
| | | | | | | | These enums are only accessible if QT_KEYPAD_NAVIGATION is defined. Task-number: QTBUG-15631 Change-Id: Ifa826ac8f2bf28225572e0c664f18ffa5e78c302 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* removed duplicated docs in android qsharedmemory and systemsemaphoreJeremy Katz2012-07-282-27/+0
| | | | | | | | | | | | | Qdoc sees all source and header files, rather than the subset selected by qmake. This leads to qdoc errors when the same functions are documented in multiple implementations. In the cases fixed here, all documentation was duplicated, so no information was lost. Change-Id: Id7f8e2e617862a3778d0b05b38d8811aad456ac5 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Specialize QTypeInfo for QUrlTwoFlags to mark it PRIMITIVE.Stephen Kelly2012-07-281-0/+3
| | | | | | | | QTypeInfoMerger combines the typeinfos for the (PRIMITIVE) flag arguments. Change-Id: I5abf00489491d099f2bf7ba25c191a771a383d78 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
* Mark the QFlag and QIncompatibleFlag as primitive.Stephen Kelly2012-07-281-0/+3
| | | | | | Change-Id: I7dab4d029e7840fe4778a750a8dd7367675d7a27 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDebug: Add getter/setter for auto-insert-spaces.David Faure2012-07-272-0/+21
| | | | | | | | | | | | This is useful for inserting a string without space-handling, given that dbg.nospace() followed by dbg.space() inserts a space. It's also useful for QDebug operators for custom types, so that they can disable space handling and then restore to whatever it was before (rather than forcing it to space() mode). Change-Id: I9d72e9ffbcbc581ed093168752c29af924405b33 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* QDebug: adjust documentation of space(), nospace() and maybeSpace()David Faure2012-07-271-9/+5
| | | | | | | | Reality is that they control a "current mode" in the stream, not a "bool that remembers if the last character was a space". Change-Id: Ic907c34bcb458039b73ddff48021e19f0c24c78c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Correct method name referred to in QFont's detailed description.Mitch Curtis2012-07-271-1/+1
| | | | | | | | | | The detailed description of the QFont class reference contains the wrong method name (and link) setPointSizeFloat(). This change replaces it with the correct name: setPointSizeF(). Task-number: QTBUG-15536 Change-Id: Ieb2e398b8e1d0b637a6bac16a3ec48522c5dddc1 Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
* qdoc: Updated qdoc manual and qdoc guideMartin Smith2012-07-276-26/+143
| | | | | | | | | | | These documents now include the \qmltype and \instantiates commands, and the \qmlclass command is deprecated. Task nr: QTBUG-26648 Change-Id: I62da273be51609e651e33b9088e1667e4c6c1e76 Reviewed-by: Jerome Pasion <jerome.pasion@nokia.com>
* Fix crash in QVariant::canConvert().Volker Krause2012-07-271-1/+4
| | | | | | | | | When containing a QObject (or sub-class) pointer and trying to convert to a QObject pointer canConvert() did dereference the pointer without checking for it being null. Change-Id: Ie274e54f2f817f2b6c5df64504f8af6359b8f38d Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* fix QVariant qdoc error - mark const QVariant::data_ptr() internalJeremy Katz2012-07-271-0/+5
| | | | | | Change-Id: I1df93780f271ce06c3aa10c4bdcc1c2a43097b72 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix QUrlQuery qdoc errorsJeremy Katz2012-07-271-5/+28
| | | | | | | | | Add missing documentation for toString() and operator!= Mark data_ptr() and associated typedef internal and some qdoc tag usage issues Change-Id: I0ad5a2c767fb742d9a86ae259c0c11a0f5db64b4 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Introduce QTypeInfoMerger.Jędrzej Nowacki2012-07-273-12/+47
| | | | | | | | | | | | QTypeInfoMerger class was created to allow "inheriting" QTypeInfo traits. The class implementation was based on the QTypeInfo<QPair<>> specialization, therefore the specialization was refactored to use the new class. Change-Id: I4ff3e5eac1d55da086dad84274cce2b2c0a721be Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Implement implicit constructors for built-in classes.Stephen Kelly2012-07-274-0/+145
| | | | | | Change-Id: I6b0b104bc1da3252d014615c50b81830de42e722 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Describe an example usage of stretch in QSizePolicy documentation.Mitch Curtis2012-07-271-0/+11
| | | | | | | | | | | Martin Pejcoch suggested QSizePolicy's setVerticalStretch and setHorizontalStretch functions be better documented. This change gives sample usages. Task-number: QTBUG-18373 Change-Id: I54da8605f5e9e5f405c145b78865402baf78eee7 Reviewed-by: Martin Pejcoch <martin.pejcoch@nokia.com> Reviewed-by: Geir Vattekar <geir.vattekar@nokia.com>
* Add QCocoaAutoReleasePool to QCocoaMenu::setTextMorten Johan Sorvig2012-07-271-0/+1
| | | | | Change-Id: Ia47d79d400c6c4dcd7a49595f05ddafb5a256fad Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
* fix QMimeDatabase qdoc errorsJeremy Katz2012-07-271-2/+28
| | | | | | | | Some of the \sa lines were missing () after function names. Document MatchMode and the deprecated mimeTypeForNameAndData() Change-Id: I468b9741908beb7be5723a8bb927e5418fc1c344 Reviewed-by: David Faure <faure@kde.org>
* QtNetwork: unbreak QT_NO_SSL buildMarc Mutz2012-07-262-10/+8
| | | | | | | | | | | The Q_DECLARE_METATYPE()s were outside of #ifndef QT_NO_SSL for classes that are defined inside. Expand the #ifndef block. Change-Id: I45b73a24032fb2a79fd80d91282b782daa8a8f68 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Rafael Roquetto <rafael.roquetto@kdab.com>
* Fix several QUrl qdoc errorsJeremy Katz2012-07-262-7/+27
| | | | | Change-Id: I2b89751ed2ec54f3b992c5fc4b39539d521c3404 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix position of mouse events generated from touch events.Andrew den Exter2012-07-261-1/+1
| | | | | | | | | | | In touch event terminology the global position is the screenPos, scenePos is the windowPos. Fixes a tst_qdeclarativepincharea test failure in qtquick1. Change-Id: Ie98fe12be8cbedc9b019913b066e7c4bce75278d Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* Fix MSVC 64bit warnings about truncation from size_t to int.Friedemann Kleint2012-07-261-2/+2
| | | | | | Change-Id: I9aea91aeb9f71817e9cc612d41351dbc98056500 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* QMetaTypeId2::IsBuiltIn: (new) template meta-function to check for built-in ↵Marc Mutz2012-07-261-2/+2
| | | | | | | | | | | | | | | types This allows to check whether QMetaTypeId2::MetaType exists, and can help turn run-time into compile-time expressions, even without constexpr support, or in situations where constexpr can't be used (because you can't overload on it). This was designed for the QMetaType::registerConversion feature, but it's much more widely applicable. Change-Id: Iafa04add04bcb531b3f7fe3e751c7e91ee6a3bc0 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* QFileInfo: remove synchronisation macroMarc Mutz2012-07-261-1/+0
| | | | | | | | | Staged after all other modules have removed their Q_DECLARE_METATYPE(QFileInfo) copies. Change-Id: I9ac42fcc5f333dd6e8b92c8755610f88cb7267a0 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Fixup the plugin documentationLars Knoll2012-07-267-16/+497
| | | | | | | | | | Move the plugin howto from qtdoc to corelib where it belongs. Fix the snippets and remove all remaining references to Q_EXPORT_PLUGIN Task-number: QTBUG-26237 Change-Id: I43dce2ffa42193b7a992fa1a0f2fcb2f633037b2 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* qdoc: Changed \qmlclass to \qmltype, added \instantiatesMartin Smith2012-07-267-19/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | The \qmlclass qdoc command is now deprecated. Use \qmltype instead. \qmlclass had two arguments, the QML type name and, if the QML type was elemental, the name of the C++ class that the QML element instantiates. The \qmltype command has only one argument, the QML type name. If the QML type is elemental, then the \qmltype command should be followed by a \instantiates context command in the same qdoc comment. e.g.: \qmltype Item \instantiates QDeclarativeItem When the developer does not include the \instantiates command for an elemental QML type, qdoc will no longer be able to detect that the C++ class name is missing, and qdoc will no longer be able to detect when the name specified for a \qmlproperty of the elemental QML type has the wrong name. Task nr: QTBUG-26648 Change-Id: Ia60872a35113a6f615bfc751ce1e9db6279dfb8e Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Revert "QDoc: Allow '0' to be used as 2nd arg for \qmlclass."Casper van Donderen2012-07-261-21/+11
| | | | | | | | | | This reverts commit 50dfd15dcc49d12c5335a37999aef041d7fdfaae. The change is not necessary anymore, since a new solution using \instantiates in in the works, having two ways to do exactly the same thing is not necessary. Change-Id: I6e139d760372fc6177023c470850418b2385fccd Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Fix some typos.Frederik Schwarzer2012-07-264-4/+4
| | | | | | | Change-Id: I3c3c96fbbc19e2a69ac2f22618f15f5262718e50 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QtNetwork: use nullary version of qRegisterMetaType<T>("T")Marc Mutz2012-07-2519-23/+39
| | | | | | | | | | | | | | | | | Using the nullary version has the advantage that multiple calls during a program run are much more efficient, since an inlined atomic is used to store the result. It also ensures that Q_DECLARE_METATYPE(T) has been used, whereas qRegisterMetaType<T>("T") will happily register anything. So I've added the macro where it was missing, or moved it to a central place when it existed hidden. In tst_qnetworkreply, this became a bit tricky, because a private header is conditionally included, so moved the Q_DECLARE_METATYPE() into a conditional section, too. Change-Id: I71484523e4277f4697b7d4b2ddc3505375162727 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
* Added note to QTransform::isRotatingAli Akhtarzada2012-07-251-0/+2
| | | | | | | | | | Rotation of 180 or 360 is treated as a scaling transform Task-number: QTCREATORBUG-7651 Change-Id: I44077de0a4a90a87d2d9e8499c1920da1ed066c9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Make the operator| for QUrl with QIncompatibleFlag constexpr.Stephen Kelly2012-07-251-1/+1
| | | | | | Change-Id: I7780af7ef0d5e191e2715c40bf0ffbb6d376f1a2 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* De-inline QItemEditorCreatorBase destructor.Stephen Kelly2012-07-252-1/+5
| | | | | | | | Virtual destructors on public exported API should not be inline. Change-Id: I05bff0412ac97d2d8bd3cf8944f4fff2cb619f54 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Remove Qt5 to-do remarkGatis Paeglis2012-07-251-1/+1
| | | | | | | | | Removing Qt5 to-do remark since GraphicsView is considered done and this change is not performance critical. Task-number: QTBUG-25089 Change-Id: Ib6e59290a628d27d7e623d221e7100f2e11d13f9 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* QObject: add a macro for conveniently setting the object nameMarc Mutz2012-07-252-0/+19
| | | | | | | | | | | | | | | | | | This is a simplified port of KDTools' KDAB_SET_OBJECT_NAME. It simply assigns the variable name as the objectName of a QObject, uic-style. It uses a small helper function so that it works on references as well as pointer variables. QLabel label; QLabel *pLabel = new QLabel(); Q_SET_OBJECT_NAME(label); Q_SET_OBJECT_NAME(pLabel); Change-Id: I25fec0c90f33249a3ea5d2dd622ab708019fd101 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: David Faure <faure@kde.org> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Disable tty keyboard in kmsLaszlo Agocs2012-07-255-2/+150
| | | | | | | | Set QT_KMS_TTYKBD=1 to prevent this and keep vt switching, ctrl-c, input appearing on the tty, etc. working. Change-Id: I0071685205ae9e02536dcb71f6fef6495c48f8fb Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Fix keyboard input in kmsLaszlo Agocs2012-07-251-1/+3
| | | | | | | The window was not made active. Change-Id: I20c323201be71fa4deb758e4a8fc32297d6faf0c Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Update only dirty areas in kms backingstoreLaszlo Agocs2012-07-252-3/+36
| | | | | | | | | | Do not upload the entire (typically fullscreen) image all the time. Taken from eglfs' backingstore implementation. Change-Id: I53db5cf54577ebea715d6cbd7215b9d2154e8960 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* Create IMPORTED CMake targets for executables.Stephen Kelly2012-07-256-21/+80
| | | | | | | | | | | Although IMPORTED executables are not extra special, this is more future-proof in terms of both future CMake features and future our needs - it is possible that we would want to add a property to an executable at TARGET scope, which would not be possible if it is just a path. Change-Id: I649c601e004b21603c5fa97de0b7c397813ed68d Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>