summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Platform-plugin support for QSystemTrayIcon.Christoph Schleifenbaum2012-07-035-2/+240
| | | | | | | | | | | | | | | | | | | | | Implement QPlatformSystemTrayIcon providing QPA-plugin-support for system tray icons. Make QSystemTrayIcon use this as new backend. Ported over qsystemtrayicon_mac.mm to qcocoasystemtrayicon.mm to provide Cocoa support for the new interface. It had to be changed to match the interface, especially for icon and menu handling. This interface is made to not use QStyle or QMenu which are related classes of QSystemTrayIcon. It's therefore not introducing QtWidget dependency into the platform plugin. Task-number: QTBUG-20978 Change-Id: I0d0a73835698b3b4f97219d4f5bbcfa2af57dbe2 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove platform specific DirectWrite font engine from QtGuiEskil Abrahamsen Blomfeldt2012-07-034-843/+0
| | | | | | | | This has moved into the platform plugin, but it was still lying around in QtGui and hindering it from compiling. Change-Id: I47fa730453cbd8aa230ccc4651afd2e774023db6 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Add QChar::SoftHyphen enum valueKonstantin Ritt2012-07-031-1/+1
| | | | | | | | | Just like for the QChar::ByteOrderMark, `ch == QChar::SoftHyphen` is much more readable than `ch == 0x00ad // (soft-hyphen)`, etc. Change-Id: I9c85f14cfd979037d35103c3259a435fd729b869 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
* Suppress QWindowSystemInterface inclusion warnings.Girish Ramakrishnan2012-07-032-3/+3
| | | | | | | | | | | | | Since QWindowSystemInterface is now part of QPA API. The correct inclusion is: #include <qpa/qwindowsysteminterface.h> #include <qpa/qwindowsysteminterface_p.h> Bulk of the work was done by: find . -type f | xargs sed -i -e 's,#include <\(QtGui/\)\?QWindowSystemInterface>,#include <qpa/qwindowsysteminterface.h>,g' Change-Id: If75fc32611e72ef1cf58505794def375b1acf74a Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove _qpa from cpp filenamesGirish Ramakrishnan2012-07-0332-28/+28
| | | | | | | | 36547f4eff44361f7a6acd0cff107c0e47561f93 removed the _qpa from .h files and promised to remove it from .cpp files at a later date. Change-Id: I24a5c3796f6b07dd9a1931b699f3212d315edb12 Reviewed-by: Andrew Stanley-Jones <andrew.stanley-jones@nokia.com>
* MIPS DSP composition functions optimizations.Damir Tatalovic2012-07-036-159/+1770
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | List of optimized routines: - comp_func_DestinationOver - comp_func_SourceIn - comp_func_DestinationIn - comp_func_DestinationOut - comp_func_SourceAtop - comp_func_DestinationAtop - comp_func_XOR - comp_func_SourceOut - comp_func_solid_SourceOver - comp_func_solid_DestinationOver - comp_func_solid_SourceIn - comp_func_solid_DestinationIn - comp_func_solid_SourceAtop - comp_func_solid_DestinationAtop - copm_func_solid_XOR - comp_func_solid_SourceOut Previously optimized routines qt_blend_argb32_on_argb32_mips_dsp and comp_func_Source_mips_dsp are redesigned and rewritten. Overall improvement by running tst_bench_blendbench benchmark app from tests/benchmarks/gui/image/blendbench/ is 27%. Change-Id: I6ab09b17cac10f4aded59787074ab4c89e72ccac Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make QWindowSystemInterface part of QPA APIGirish Ramakrishnan2012-07-035-10/+19
| | | | | | | | | | | | | | | As discussed on mailing list and QtCS 2012. Any file starting with qwindowsystem is now marked as QPA API. This change drops _qpa from the filenames and adds gui-private where required for the code to compile. This change is backward compatible otherwise and compat headers are created for the old inclusion headers. Change-Id: I72ea0f394dee74f46e614fcf11ab5500ac9fef2a Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QtGui: add member-swap to shared classesMarc Mutz2012-07-0316-0/+101
| | | | | | | Implemented as in other shared classes (e.g. QPen). Change-Id: I5b96d4a4795870d6252aa53de6fbaedde7c0095a Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* DirectWrite font engine: don't leak the font table bufferKonstantin Ritt2012-07-031-13/+11
| | | | | | | | | | | Ideally, each TryGetFontTable() call sequence should be followed by the call to ReleaseFontTable() with the context value taken from the first TryGetFontTable() call, otherwise we'll leak the buffer allocated for the font table. Change-Id: I627bf0133b7f61798e82929723ccfb780ce9ee69 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* Fix capitalization with newline bugYann Bodson2012-07-031-1/+1
| | | | | | | | | We only want to change the capitalization if the QScriptAnalysis flag was Lowercase, Uppercase or SmallCaps. Task-number: QTBUG-17485 Change-Id: Icbecb09b06a9153866ae81d592b3f6779c2dafb5 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* shapeTextWithHarfbuzz() minor optimizationKonstantin Ritt2012-07-031-5/+7
| | | | | | | | | | | If the used font engine is of type QFontEngine::Multi, then we already have both the "font engine runs" and the stripped glyph indicies for the kerning -> just call the actual font engine's doKerning() method. If the font engine is not of type QFontEngine::Multi, then we could safely avoid the glyph indicies extra manipulations. Change-Id: Ia8899e6d7beecfd391b050683ac41c21465336e4 Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* Make the CPU detection much more efficient in user codeThiago Macieira2012-07-023-22/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* 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>
* Move QStandardItem/QStandardItemModel to QtGuiGiuseppe D'Angelo2012-06-295-0/+3812
| | | | | | | | | | | 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-296-6/+58
| | | | | | | | | | | | | - 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>
* 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>
* Move QPlatformInputContextPlugin/Factory to QtGuiWeng Xuetian2012-06-285-0/+330
| | | | | | | | | | | | | 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>
* Move the QDataStream operator<< for QPair to qdatastream.hThiago Macieira2012-06-284-0/+4
| | | | | | | | | | 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>
* Get started with patching up the Qt GUI docsGunnar Sletta2012-06-2873-213/+304
| | | | | | | | 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>
* Add const & to foreach 'iterators'Albert Astals Cid2012-06-273-5/+5
| | | | | | | 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>
* 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-272-2/+2
| | | | | | | The interfaces may change in Qt minor versions. Change-Id: I43bc6245ddbba8232e00313bdc64e8e60c7eab6f Reviewed-by: Samuel Rødal <samuel.rodal@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>
* Remove all references to XLFD fontsLars Knoll2012-06-276-38/+10
| | | | | | | | XLFD fonts are no longer supported in Qt 5. Change-Id: I83400dab417c933d5cd956c0d168c45b9d79dab7 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Convert QPA menus to use QIcon, and enable icons.James Turner2012-06-271-1/+2
| | | | | | | | | Icon support was disabled in QPA menus, now QIcon is in QtGui, convert the QPA interface, enable setting the icon in QMenu, and make the Cocoa implementation use it. (And fix a ref-counting leak if an icon is actually set) Change-Id: Ica203bf6826b79d8beee58f39febc851b9633a66 Reviewed-by: Christoph Schleifenbaum <christoph.schleifenbaum@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
* Add a method for querying window activation status from QPA.Morten Johan Sorvig2012-06-272-0/+12
| | | | | | | | | | Add QPlatformWindow::isActive(), where the platform can do further isActive tests, and Windows implementation for it. Change-Id: I1acfc44d3a4ab36a3aaee52fb7b5f5b40661095e Reviewed-by: Miikka Heikkinen <miikka.heikkinen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Fixed missing way of choosing EGL renderable type with QSurfaceFormat.Samuel Rødal2012-06-272-0/+36
| | | | | | | | | | | This has been long overdue, since EGL now lets you choose between desktop and ES based OpenGL. We also add OpenVG for those who want to use raw OpenVG with a QOpenGLContext. The underlying EGL API for using OpenGL / OpenVG is the same, with eglMakeCurrent() and eglSwapBuffers(). Change-Id: Ib0146b3fde5fe632069ebf99e7712f496ee7ea4d Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Remove toRect_normalized().Robin Burchell2012-06-261-11/+0
| | | | | | | Seems to have been unused since qt4's fde7475bcf9c10522a8170e6eb8fb9a8fadc21cd. Change-Id: I7ec88fb4ca8c1ffda469a1c048b4fea17ff042bc Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QPlatformWindow: Add Window masks.Friedemann Kleint2012-06-263-2/+14
| | | | | | | | | Add functionality for window masks to QPlatformWindow, which is required to implement QWidget::setMask() in order to fix the regression in functionality from Qt 4.8. Change-Id: I2c2d5629f0b4c6d90e52595ad70b13559aab1f41 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* Make QRegion not need to be friends with QVectorThiago Macieira2012-06-261-3/+2
| | | | | | | | | | This hack was introduced in Qt 4.5 and the intention was to resize (hopefully, shrink) the QVector without causing it to reallocate memory. We can accomplish the same by reserving the size: until we clear() or squeeze(), the container will not free memory. Change-Id: I03a09537a617be0ce865eefa043005e4051e8706 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* Fix docs mentioning Q_EXPORT_PLUGIN2Lars Knoll2012-06-253-3/+3
| | | | | | | | Fix all remaining places where Q_EXPORT_PLUGIN2 was being used in the documentation. Change-Id: I7be67b83c18545d0e74f250b4b26583444b01909 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Make qtbase compile with QT_NO_DRAGANDDROPTasuku Suzuki2012-06-241-1/+5
| | | | | | Change-Id: Ief16e435af6e6d246b84505a1c1208994c7b0b38 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Jeremy Katz <jeremy.katz@nokia.com>
* Remove documentation for QIconEnginePlugin::keys().Robin Burchell2012-06-241-10/+0
| | | | | | | Method was removed in dcf3c95175a93cf883e14a6d434b4306df50cf37. Change-Id: I6c01ea7d329e15aec8b4ce29e8d3d5c3e784731a Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Docu: fix copy/paste typoDavid Faure2012-06-221-1/+1
| | | | | Change-Id: Ie3573ab6983c2b66c66b0f9c342f72018674016c Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* QPA docs: list the platform names that the method is likely to return.David Faure2012-06-221-0/+3
| | | | | Change-Id: Ia98c534fbdb157ff7b2b328a832941772ea833ec Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* fix doc typo in qwindow.cppJoerg Bornemann2012-06-211-1/+1
| | | | | Change-Id: I0980319e32b94882fe882c57cd8341f6b3e62048 Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
* Fix possible crash when copying QImage.Kim Motoyoshi Kalland2012-06-211-1/+1
| | | | | | | Task-number: QTBUG-14766 Change-Id: I82a4736dbd5ac08ede1b2bdccfa29a2009ebb4d8 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* Avoid unnecessary detach when saving to BMP.Kim Motoyoshi Kalland2012-06-211-5/+5
| | | | | | | Task-number: QTBUG-11486 Change-Id: Ic9aa733da4f23dc3eaba111c97a39bfd911f8cb3 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* QTextLayout docs: a minor typo fixKonstantin Ritt2012-06-211-1/+1
| | | | | Change-Id: I5e6d02f17e9064afe0c21dda806e67bc14c728b7 Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
* proper filling when using Qt::TexturePatternKonrad Grochowski2012-06-211-1/+1
| | | | | | | | | fix for using both Qt::OpaqueMode and Qt::TexturePatter for filling Task-number: QTBUG-19202 Change-Id: Ia92363cacaa51140fe78b542d9768aead81868ff Reviewed-by: Kim M. Kalland <kim.kalland@nokia.com>
* Change *-clang mkspec globs to *-clang*Bradley T. Hughes2012-06-201-1/+1
| | | | | | | | Like with the numerous g++ mkspecs, we have mkspecs with suffixes, and these mkspecs should still match the clang globs. Change-Id: I9296408b5192bc72cc468d229a57923e3f5ab6f0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Document and use UserEvent::nullWindow for event deliveryGirish Ramakrishnan2012-06-201-54/+61
| | | | | | | | | | | | | | | | | nullWindow is used to track if the window was null when the event was created. If the window was null at contruction time, the qpa event delivery code will choose a window to deliver it to. If the window was not-null at creation time but became null during the actuall event processing time, the event is ignored. All the event delivery except the touch event delivery has been changed to reflect this. I have not changed touch event delivery because I don't really know what all need to be retranslated into new window co-ordinates. Change-Id: Ic62d12a13e70dd4d01226509411817db1b6af108 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
* fix misnomer: qt_module.prf => qt_build_config.prfOswald Buddenhagen2012-06-191-1/+1
| | | | | | qt_module suggests to be congruent to qt_plugin. Change-Id: I629530bcbe2ba6c0adbdc11a275119c8aff0c953
* automatically add QT_BUILD_FOO_LIB to DEFINESOswald Buddenhagen2012-06-191-1/+1
| | | | | Change-Id: I35d9861e48469eb5cc8824e361450684047e6559 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* clean up projects from QPRO_PWD nonsense, etc.Oswald Buddenhagen2012-06-191-1/+0
| | | | | Change-Id: I4c41aedf5bfb37e31ad202cacd2312b0bdb168e2 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* auto-generate QMAKE_PKGCONFIG_REQUIRES and QMAKE_PKGCONFIG_DESCRIPTIONOswald Buddenhagen2012-06-191-2/+0
| | | | | | | less boilerplate, more accuracy Change-Id: I6cc2abd50eafb4901d987c122f10a62ec9ea9da3 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* auto-generate module prisOswald Buddenhagen2012-06-191-2/+1
| | | | | Change-Id: I654428771034221ccf424be34d5d9c7764daf3b4 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* automatically add the version header to HEADERSOswald Buddenhagen2012-06-191-2/+0
| | | | | Change-Id: I7c2e1d852ebdbc5cca7a3a31ab2b4c9ab9faffd9 Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* make qt_module_config.prf install the module pri fileOswald Buddenhagen2012-06-191-1/+0
| | | | | | | | | absorb module.prf into qt_installs.prf, as that's where it belongs. add qt_install_module option and automatically set it in qt_module_config. make qt_installs use that option. Change-Id: I860616f3a29a456f7b88ddaffa09375400c8911e Reviewed-by: Joerg Bornemann <joerg.bornemann@nokia.com>
* Fixed QOpenGLFunctions API.Samuel Rødal2012-06-185-6/+10
| | | | | | | | | We don't use the GL short term in the new API. Change-Id: I73a51f65f5f4216c1763b95dcddf68fe8fc229d1 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com> Reviewed-by: Sean Harmer <sean.harmer@kdab.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>