summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* buildsystem: Remove SXE from the configure and qconfig-*.h filesHolger Hans Peter Freyther2012-07-022-6/+0
| | | | | | | The SXE feature was used with Qtopia but is long gone. Clean it up. Change-Id: I55fba97b6382300ba63e94f3a6c415227f571e37 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make the CPU detection much more efficient in user codeThiago Macieira2012-07-025-65/+87
| | | | | | | | | | | | | | | | | | | | | | | | | | First, check that the option in question hasn't been already enabled by the compiler, via compiler switches. If it has been, then we don't need to verify anything, and we can assume that it's safe to use such instructions. For example, on an x86-64 build, qCpuHasFeature(SSE2) is always a constant true. If the compile-time check fails, then we proceed to try and detect the processor features at runtime. But instead of insisting on a call to qDetectCPUFeatures, allow the code using the detection to read from a variable and simply test it for values. Only if the variable isn't initialised should it make a function call. The Q_ASSUME allows this code to be very efficient even with multiple uses of qCpuHasFeature. Change the uninitialised value from -1 to 0 so that simpler instructions can be used to check for non-initialisation. The qDetectCPUFeatures function is renamed to qDetectCpuFeatures to match the Qt coding style and also to catch uses this code that need to be adapted. Change-Id: I24ca5a6ad21075e2e249e1a4f8f5057b8f68ce7c Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix MinGW-w64 compilationJonathan Liu2012-07-022-4/+4
| | | | | | Task-number: QTBUG-24699 Change-Id: If6210315926f0266045766bb5d3b00a6d0bdf703 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Implement QVariant conversions for QObject derived pointer metatypes.Stephen Kelly2012-07-011-1/+64
| | | | | | | canConvert() and convert() use the metaobject to convert such types. Change-Id: Ic05e74c5c2423b4b9682b88adc856a16dcba4cff Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Store the QMetaObject with the QMetaType.Stephen Kelly2012-07-014-7/+101
| | | | | | | | This will allow conversion between pointers to compatible QObject derived types. Change-Id: I19e08934571fb3f1b91e594892214041fe5f6a11 Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* Don't lower the code generation level options for the compilerThiago Macieira2012-07-011-7/+9
| | | | | | | | | | | | | | | | If the default settings already include the necessary flags, do not override the compiler flags, possibly lowering support. This allows the user to specify a higher setting for a Qt build, such as what MeeGo did (it enabled SSSE3 support in all builds). Additionally, this prevents us from passing -msse2 or -arch:SSE2 options to x86-64 builds, as SSE2 is a mandatory part of that architecture. This silences a warning from MSVC that the option is unknown in 64-bit builds. Change-Id: I6e2969b672bcac87168c245b8be3309e8cc49224 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Make QtNetwork compile with qconfig smallJeremy Katz2012-07-011-0/+15
| | | | | | | Task-number: QTBUG-24816 Change-Id: I8c7965e4498794db93ee51c8511c9a72071ddce3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Support the showIsFullScreen style hint in widgets.Thomas McGuire2012-06-302-13/+26
| | | | | | | | | | | | | | | Now QWidget::show() will be the same as QWidget::showFullScreen() if the style hint is set. This is consistent with QQuickView now. De-inline related methods to make it easier to change them later without breaking compatibility. Change-Id: I843ac6f846428217bfc5dc9f1d0a554de9d0c08f Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Move QStandardItem/QStandardItemModel to QtGuiGiuseppe D'Angelo2012-06-297-18/+49
| | | | | | | | | | | The dependencies on QFont, QBrush, QIcon are all in QtGui, so there's little sense to still have these classes in QtWidgets. This also copies and pastes a version of QWidgetItemData as QStandardItemData inside qstandarditemmodel_p.h. Change-Id: Ibafc5a30748e7ce0b54753309ae6dc4a797fc20e Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Add framestrut mouse events.Friedemann Kleint2012-06-2914-14/+128
| | | | | | | | | | | | | - Add infrastructure to QWindowSystemInterface. - Add a setter for enabling framestrut events to QPlatformWindow. - Add Windows implementation, pass keyboard modifiers. QDockWidget relies on it for docking. Task-number: QTBUG-26296 Change-Id: I9d84b356e9a5eb341f57b6f51f34b6b494ff7f87 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* QQnxWindow: properly scope a local variableMarc Mutz2012-06-291-4/+1
| | | | | | Change-Id: I71f1052f614f4e926acf2c2b76963770f7b35c96 Reviewed-by: Thomas McGuire <thomas.mcguire@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Add detection for C++11 noexceptThiago Macieira2012-06-291-0/+13
| | | | | | | | | | | | | | | | | The Q_COMPILER_NOEXCEPT feature indicates whether this compiler has support for noexcept. Note that the GCC C++11 status page does not list this feature, but investigation into the source code as well as testing reveals it's supported since GCC 4.6. Also add Q_DECL_NOEXCEPT, to be used to declare that a function throws no exceptions, and Q_DECL_NOEXCEPT_EXPR(x), which declares that the function throws no exceptions if x evaluates to true. In C++98 mode, these macros expand to empty -- the old C++98 and C++03 exception specification is deprecated and considered harmful. Change-Id: Ic84901d13eceb06dcc7f025a4b7fc8b250769be9 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* Clean up the EXPORT macros in qglobal.h.Thiago Macieira2012-06-2924-63/+241
| | | | | | | | | | | | | | | | | | | | QtPlatformSupport is a static library. It should never export anything, so Q_PLATFORMSUPPORT_EXPORT is unnecessary. QtSql, QtXml, QtDBus, QtOpenGL and QtPrintSupport now have the macros on their own source trees. It's possible these modules might be separated out from qtbase in the future. For QtDBus, the macros are moving back to where they used to be. This also leaves qglobal.h only creating the macros for QtCore, QtGui, QtWidgets and QtNetwork, the core libraries. Q_CANVAS_EXPORT, Q_OPENVG_EXPORT and Q_COMPAT_EXPORT aren't used anywhere in the Qt sources, so simply delete them. And the Q_QUICK1_EXPORT macro in the static section was wrong, so remove it too. Change-Id: I50bdf86e783338f814903b25979721f788a7becf Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Remove deprecated tentative commit from QInputMethodEventPekka Vuorela2012-06-282-26/+0
| | | | | | Introduced and deprecated during Qt5 development. Change-Id: I5bceefcb5dfc13f8eae2ad22f04feeea5f87dcb3 Reviewed-by: Joona Petrell <joona.t.petrell@nokia.com>
* Change CONFIG += staticlib to CONFIG += staticThiago Macieira2012-06-282-2/+2
| | | | | | | That's the targetted, correct way of defining a static library. Change-Id: I43c23bf7e1bc5fb07bbb55720a320eaca680b038 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* QNX: Don't detach when iterating over child windowsThomas McGuire2012-06-281-19/+10
| | | | | | Change-Id: I55dcc1d188a2c45a11b0ab6a194625b50906eca9 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* Fix warning: returning non void by using Q_UNREACHABLEFrederik Gladhorn2012-06-281-0/+2
| | | | | | Change-Id: I08e5b629582b1286c57f6c5f991e2adaf431daa4 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Mitch Curtis <mitch.curtis@nokia.com>
* Make QCalendarWidget use its locale's firstDayOfWeek.Mitch Curtis2012-06-281-3/+5
| | | | | | | | | | | QCalendarWidget currently uses Qt::Sunday as the default first day of the week. It has been suggested that a better user experience would see the calendar's locale be used instead. Task-number: QTBUG-19811 Change-Id: I4441bf9ffd52213ef622a4a7f498530b7cc9e110 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Denis Dzyubenko <denis.dzyubenko@nokia.com>
* QDoc: Allow '0' to be used as 2nd arg for \qmlclass.Casper van Donderen2012-06-281-11/+21
| | | | | | | | | There can be occurences of \qmlclass where there is no C++ class (for a pure QML Type for example). QDoc will ignore searching for a C++ class when '0' is specified as second argument to the \qmlclass command. Change-Id: I09c8c7ad302daffb0723a49967951ca623e646e4 Reviewed-by: Martin Smith <martin.smith@nokia.com>
* Call QObject::disconnectNotify() when receiver is destroyedKent Hansen2012-06-282-0/+5
| | | | | | | | | | | | | | | | | | | | | | | Store the signal index in QObjectPrivate::Connection, thereby making it available in "implicit" disconnect contexts (i.e., receiver deletion). This change does not cause the size of QObjectPrivate::Connection to grow (still 40 bytes on 32-bit Linux, 72 bytes on 64-bit Mac). Valgrinding the new benchmark indicates that the percentage of the time spent in the QObject destructor increased from 7.8% to 8.4% on ia32, for that particular stress test; the increase is the combined cost of calling metaObject(), QMetaObjectPrivate::signal(), and disconnectNotify() for one connection. In practice, the measured wallclock time increased by about 3ms for a 500ms run (which repeatedly constructs, connects, and destroys an object). Task-number: QTBUG-4844 Change-Id: I1beb01c753f31542fc0acb62edb4c6d165fcc5b4 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Basic tablet support in xcb through XI2Laszlo Agocs2012-06-286-76/+464
| | | | | | | | | | The Maemo-specific function have been renamed a bit to prevent them clashing with the more generic stuff. Task-number: QTBUG-25865 Change-Id: Id55693159e15d5a0c679546eb48308feb48acac9 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* qdoc: Report multiple topic commands as an errorMartin Smith2012-06-284-16/+59
| | | | | | | | | | | | Some documenters are using two topic commands in a single qdoc comment. This is only allowed for \qmlproperty so that multiple QML properties can be documented with a single comment. qdoc now reports an error for all other combinations of multiple topic commands. Task Nr: QTBUG-26345 Change-Id: I1f9a6d2502ccffa76c2d41f961be3750014a0a56 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* QNX: Make geometry changes sync to fix QWidget::showFullScreen()Thomas McGuire2012-06-281-1/+1
| | | | | | | | | | These can't happen async, as otherwise the geometry of the widget is changed too late, having the effect that QWidget::show_sys() would overwrite the window geometry again. Change-Id: Id60d009867a5b282ac14c112c872af1075660732 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QMetaType: Fix warnings about truncation from uint64 to int.Friedemann Kleint2012-06-281-2/+2
| | | | | | | Triggers warnings with MSVC2010/64bit. Change-Id: I90abdf4de416e0db554eb46e4b3cc7a0a38cb1db Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
* fix QWidget::showFullScreen on WindowsJoerg Bornemann2012-06-281-0/+1
| | | | | | | | | | When calling SetWindowPos in QWindowsWindow::setWindowState_sys we must inform the QWidget about the new size we have set. Task-number: QTBUG-26226 Change-Id: I42b01125f50a94cdb97026c74f5445f9ff47d8ba Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Further fixes to widget maskingMiikka Heikkinen2012-06-282-0/+10
| | | | | | | | | | | | | If mask was set to a widget before the widget was shown, the mask was not applied. Also, if toplevel widgets were set a mask in Windows, the mask was applied to frame coordinates instead of client coordinates. Ported relevant code from Qt4 to fix these issues. Change-Id: Id6187cf4952b81b5b60c167e2fd284b7dc83ed9c Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Move QPlatformInputContextPlugin/Factory to QtGuiWeng Xuetian2012-06-289-11/+8
| | | | | | | | | | | | | PlatformSupport is no longer shared and there should be no plugin factory in it otherwise it will break plugin loading. Since PlatformInputContext is already in QtGui, so move QPlatformInput- ContextPlugin/Factory to resolve the platforminputcontexts plugin loading problem. And remove platformsupport-private dependency from existing inputcontexts plugin. Change-Id: If4cb766470b8f9c8b72157da86cb33b4e1ff09e3 Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
* Set window's surface format to support alpha channel.Gatis Paeglis2012-06-282-1/+4
| | | | | | Task-number: QTBUG-26114 Change-Id: I33f191373327832fb9d3054366412ec5be855cff Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Move the QDataStream operator<< for QPair to qdatastream.hThiago Macieira2012-06-2810-18/+27
| | | | | | | | | | QPair is small and is no problem to include from qdatastream.h. However, including QDataStream from qpair.h means including QIODevice and QObject too. Change-Id: I344321e9f68438008ec329a165135c3a346c6058 Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Clean up the use of QT_NODLLThiago Macieira2012-06-282-4/+0
| | | | | | | | | | QT_NODLL is replaced by QT_STATIC, but the latter is implied if QT_BOOTSTRAPPED is already defined. Therefore, simply remove the QT_NODLL definitions. Change-Id: Iac7ec0b494b7a78197c25d59547f45eaf92d7465 Reviewed-by: Mark Brand <mabrand@mabrand.nl> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Update the macros for shared/DLL and static buildsThiago Macieira2012-06-283-96/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Up until now, we had a mess of different macros used for building DLLs, for building shared libraries on Unix systems and for building static libraries. Some of the macros were contradictory and did not work. From now on, there shall be only: - QT_STATIC: indicates that it's a static Qt build and the export macros should expand to empty - QT_SHARED: indicates that it's a shared / dynamic Qt build and the export macros should expand to Q_DECL_EXPORT or Q_DECL_IMPORT, depending on whether the macro corresponds to the current module being built (the QT_BUILD_XXXX_LIB macro comes from the module's .pro file) QT_BOOTSTRAPPED implies QT_STATIC since the bootstrapped tools link statically to some source code. QT_STATIC is recorded in qconfig.h by configure when Qt is configured for static builds. Nothing is recorded for a shared / dynamic build, so QT_SHARED is implied if nothing is defined. This allows for the existence of a static_and_shared build: with nothing recorded, defining QT_STATIC before qglobal.h causes the export macros to be that of the static form. Linking to the static libraries is out of the scope of this change (something for the buildsystem and linker to figure out). From this commit on, the proper way of declaring the export macros for a module called QtFoo is: #ifndef QT_STATIC # ifdef QT_BUILD_FOO_LIB # define Q_FOO_EXPORT Q_DECL_EXPORT # else # define Q_FOO_EXPORT Q_DECL_IMPORT # endif #else # define Q_FOO_EXPORT #endif The type of the Qt build is recorded in QT_CONFIG (in qconfig.pri) so all Qt modules build by default the same type of library. The keywords are "static" and "shared", used in both QT_CONFIG and CONFIG. The previous keyword of "staticlib" is deprecated and should not be used. Discussed-on: http://lists.qt-project.org/pipermail/development/2012-April/003172.html Change-Id: I127896607794795b681c98d08467efd8af49bcf3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Get started with patching up the Qt GUI docsGunnar Sletta2012-06-2875-217/+372
| | | | | | | | Primary goal, make the front page of the Qt GUI module a bit more clarifying and avoid downstream references inside the Qt GUI docs. Change-Id: Icbcfbb64b93963add889bf83711daa9575885c02 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Include QScopedPointer in qsettings.hThiago Macieira2012-06-281-0/+1
| | | | | | | | qobject.h includes it, but only if QT_NO_QOBJECT isn't defined. It is during the build of the bootstrapped tools. Change-Id: I8fc921fb17c283358af263a6932b763a21209d40 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* doc: use correct snippet id for QObject::isSignalConnectedKent Hansen2012-06-281-1/+1
| | | | | | | Copy-and-paste error; the doc was based on QObject::receivers. Change-Id: I4f6ce716d388328e0345e8457cbc99fff323ce41 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
* doc: remove duplicate linkKent Hansen2012-06-281-1/+1
| | | | | | | | | | Since QStateMachine inherits QState, QStateMachine::finished() and QState::finished() are the same thing. Task-number: QTBUG-14553 Change-Id: I7df2f815be377c19aeee393e9a2ce124183dc5e1 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* doc: add missing \sa tagKent Hansen2012-06-281-1/+1
| | | | | | Change-Id: I50580bfefdf556f116b7099946b047acd12d4563 Reviewed-by: Laszlo Papp <lpapp@kde.org> Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Removed flags from SSPI calls which prevented the NTLM authentication from ↵Adrian Carpenter2012-06-281-8/+2
| | | | | | | working Change-Id: I87b085442ef301d9d92def0608a8baaa330522e6 Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
* Widgets: Apply masks to native windows only.Friedemann Kleint2012-06-271-10/+2
| | | | | | | | | | Do not go searching for a parent window handle in setMask_sys() as this causes for example MDI areas to set masks that show the child only. Fix breakage introduced by 8e280d1e187b09651c7036bd76272342d52ce401 . Change-Id: I57de41d16985ebc8d3fc81153a671f2e2807b1eb Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com>
* QNX: Add support for window statesThomas McGuire2012-06-272-1/+42
| | | | | | | | | Now QQuickView::showFullscreen() works as expected. QQuickView has no fallback for platforms without window state support, as opposed to QWidget. Change-Id: I9c41fe563ea1f6d117eaebd3ea1db87465142b85 Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
* QNX: Flush after changing rotationThomas McGuire2012-06-271-0/+4
| | | | | | | | | This fixes a painting glitch where the window would stay in the old position with the old rotation until it got repainted. Change-Id: Id9de256b525760e8b32e55a87549efeccca151e0 Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com>
* Also use x11FilterEvent for auto repeat key in xcb.Weng Xuetian2012-06-271-8/+24
| | | | | | | | | filterEvent for QPlatformInputContext is already used for auto repeat key, x11FilterEvent also need to be filtered. Task-number: QTBUG-25795 Change-Id: I3db87fdffdb5b01404047e905793ae6e10bb1e90 Reviewed-by: Pekka Vuorela <pekka.ta.vuorela@nokia.com>
* Add const & to foreach 'iterators'Albert Astals Cid2012-06-2719-35/+35
| | | | | | | Change-Id: I8c0600dfd919f45d14a0011f2da9b9fe0b9a0df3 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Document that the object of a plugin must be default-constructible.Stephen Kelly2012-06-271-0/+2
| | | | | Change-Id: Iaaf56ec3bb0d2423c8ab5deb0627dc1357cee830 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove .values() call in foreachAlbert Astals Cid2012-06-271-1/+1
| | | | | | | | foreach already knows how to iterate over the values without the need to create an intermediate qlist Change-Id: I4622a36fbdbf536a75f26b42e32488a77d078f02 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Robin Burchell <robin+qt@viroteck.net>
* Remove deprecated method from new class.Thiago Macieira2012-06-271-3/+0
| | | | | | | | | I'm pretty sure I've caught all uses of deprecated methods throughout the Qt codebase, except for the ItemViews changes and for QtWebKit (which must still compile with Qt 4). Change-Id: Ic17801b71434fa41c647f97c9e5e4234ad4f9af0 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Add QPA prefix and version number to QPA plugin factory interfaces.Friedemann Kleint2012-06-2713-13/+13
| | | | | | | The interfaces may change in Qt minor versions. Change-Id: I43bc6245ddbba8232e00313bdc64e8e60c7eab6f Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Fix raising and lowering native widgetsMiikka Heikkinen2012-06-271-2/+2
| | | | | | | | | Raising or lowering a native widget needs to raise or lower the associated platform window, too. Task-number: QTBUG-26344 Change-Id: Ib847d97df86857d92bcc4c9c0dd51219575d8db1 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Add QGuiApplication::setApplicationDisplayName.David Faure2012-06-273-0/+32
| | | | | | | This is for use in window titles. Change-Id: I0070a08abd379ae2edcfab4413c182bd9e840678 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Add \since 5.0 to QDir::removeRecursivelyShane Kearns2012-06-271-0/+1
| | | | | Change-Id: I2392f26e666d5e01e71932f1afa48a65704f6d48 Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* Remove debug outputABBAPOH2012-06-272-68/+0
| | | | | | Change-Id: I07270211ee6f0439dc7249c8946795a68025828f Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: David Faure <faure@kde.org>