summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Merge master into api_changesKent Hansen2012-03-1634-68/+273
|\ | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetatype.cpp src/gui/kernel/qplatformsurface_qpa.cpp tests/auto/corelib/tools/qtimeline/qtimeline.pro Change-Id: Iff3fff34eeeb06f02369767ddfce44cfde505178
| * Add a note to QTouchEvent docs about empty touchpoint listsLaszlo Agocs2012-03-151-3/+4
| | | | | | | | | | Change-Id: I65e9e3ed2069d9194f5e70fb9731d605e0979e6d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Added missing \since 5.0 and tweaked some docs in QtGui.Samuel Rødal2012-03-158-4/+19
| | | | | | | | | | Change-Id: I91564f7a61962f97b9fb78c96d94d5695a3924db Reviewed-by: Casper van Donderen <casper.vandonderen@nokia.com>
| * Make QWindow::isActive return false when the application loses the focusAnselmo L. S. Melo2012-03-151-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | In QTBUG-24807 there is a test case that shows a case when a segmentation fault happens inside isAncestorOf. When the whole application loses the focus, e.g. when it is minimized or other application receives the focus, QGuiApplication::focusWindow() returns a null pointer, so we need to do a check before proceed inside of isActive. Task-number: QTBUG-24807 Change-Id: I732c92bb9f236804ede5e89592f6e6609a4711b9 Reviewed-by: Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Fix compiling with --no-accessibilityJerome Leclanche2012-03-152-0/+6
| | | | | | | | | | | | | | | | Adds missing QT_NO_ACCESSIBILITY checks where required to build without accessibility support. Change-Id: Id98ecdcb9b351289b21dc2d382100d0b63857db9 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
| * Use pointers for QAccessibleEvent.Frederik Gladhorn2012-03-156-9/+9
| | | | | | | | | | | | | | | | | | At least on mac g++ badly wants to copy the event and cannot use the copy ctor. The sensible solution is thus to use pointers. This is in line with QCoreApplication::sendEvent. Change-Id: Icb58852be351ab04ffa17069989d7a07d4b377da Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * implement virtual destructor in QPlatformSurfaceGunnar Sletta2012-03-152-0/+6
| | | | | | | | | | Change-Id: Iaadd9c3cd7c2e2022066ca859cbe1e912050c561 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Add a way to query for global handles in QPlatformNativeInterfaceJørgen Lind2012-03-152-0/+6
| | | | | | | | | | Change-Id: I4f29f40a3d6d4237f7da092bb34b8e596321b47d Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Refactor theme plugin loading.Friedemann Kleint2012-03-153-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the old implementation, the QPlatformIntegration was asked for the theme first, so there was no way of overriding that by a custom plugin. Also, there was a memory leak in case the platform theme was actually created by a plugin. QGuiApplication now asks the QPlatformIntegration for a list of potential theme names first, tries to load them using the plugin loader and finally invokes a factory method of QPlatformIntegration in case that fails. The theme is now owned by QGuiApplication. In the XCB plugin, the environment variable DESKTOP_SESSION is queried and appended to the list of themes, making it possible to load plugins for other session types. Change-Id: I1a4b4e061815bca16c65b23e591bb7563a3e44e2 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Add QGuiApplication::platformName.Friedemann Kleint2012-03-143-2/+22
| | | | | | | | | | | | | | Store the name of the QPA plugin as platformName. Change-Id: Id87cab2a189743c0dd727c86080f7d4595a852bb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Use the lazily-queried families for all QPA multi font engines.Pierre Rossi2012-03-147-32/+47
| | | | | | | | | | | | | | | | | | This is the approach introduced together with the WebKit "backdoor" that lets us use QRawFont with QTextLayout. We could use it all over the place and share more code. Change-Id: Ie1963679755f37ba9204d67554a163f1d1115604 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
| * Removed invalid assert in BMP loader code.Kim Motoyoshi Kalland2012-03-141-2/+0
| | | | | | | | | | | | | | Task-number: QTBUG-24505 Change-Id: I2e369b6d92f072caadeda41125303856ddfabd48 Reviewed-by: aavit <qt_aavit@ovi.com>
| * Add support for IAccessible2 on WindowsJan-Arve Saether2012-03-131-0/+3
| | | | | | | | | | Change-Id: Ia955ab46dc5037ed1c74e0acc525e98b02552c97 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com>
| * Move variant animation interpolators from QtWidgets to QtGuiCharles Yin2012-03-133-1/+99
| | | | | | | | | | | | | | | | There is no reason these interpolators need to stay in QtWidgets library. Change-Id: I27db49fea2cfd8f0ef417dc52edf66dd1835e7a1 Reviewed-by: Michael Brasser <michael.brasser@nokia.com> Reviewed-by: Martin Jones <martin.jones@nokia.com>
| * Cleanup after the qsf cache file if it fails to be written toAndy Shaw2012-03-121-8/+25
| | | | | | | | | | | | | | | | | | | | It is possible that although a qsf cache file could be opened that it could not be written to, therefore it should clean up after itself in these cases so that it does not cause a problem later on. Task-number: QTBUG-24122 Change-Id: I1999759837607657ddc3f967eeda370ce9991a16 Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
* | QPlatformSurface: add missing virtual dtorMarc Mutz2012-03-152-0/+3
| | | | | | | | | | Change-Id: Ia7630cf33380badfe4ec7bdb59a9b86320257978 Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* | QtGui: make some constructors explicitMarc Mutz2012-03-1428-42/+42
| | | | | | | | | | | | | | | | | | This is a semi-automatic search, so I'm reasonably sure that all the exported ones have been caught. Change-Id: I5b122db2498dbb2aee50c7ad95c67e708aade45b Reviewed-by: Gunnar Sletta <gunnar.sletta@nokia.com>
* | Merge remote-tracking branch 'origin/master' into api_changesLars Knoll2012-03-1241-2070/+429
|\| | | | | | | | | | | | | Conflicts: tests/auto/corelib/kernel/qmetatype/tst_qmetatype.cpp Change-Id: I884afc3b6d65c6411733a897a1949e19393573a7
| * Add documenation about QAccessibleStateChange event.Frederik Gladhorn2012-03-121-0/+23
| | | | | | | | | | Change-Id: Iea34d71d71a6dd58f761722ce20ae8ec2b81ae58 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * Delete QPlatformDragPrivate object in QPlatformDrag's destructorjian liang2012-03-122-0/+3
| | | | | | | | | | Change-Id: Ib722df14123b24ca044f6e0846aa1435c7e0e201 Reviewed-by: Rohan McGovern <rohan.mcgovern@nokia.com>
| * Line up underlines if fallback fonts are used (QTBUG-21832)Stefan Hundhammer2012-03-126-44/+200
| | | | | | | | | | Change-Id: Icecc514f6c47c0576af8cabd39cdc0987f8d93fa Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
| * Add a movable type declaration to QGlyphRun.Andrew den Exter2012-03-121-0/+2
| | | | | | | | | | | | | | Allow it to take advantage of QList optimisations for pointer types. Change-Id: Iddbb9741efef43604e38fc3eeb08b522c0414e21 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
| * Remove Mac multiple-arch support.Morten Johan Sorvig2012-03-121-52/+6
| | | | | | | | | | Change-Id: Iaad361301e4772c3d8be6186da88e494cb234801 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
| * Remove QAccessible2::TableModelChange.Frederik Gladhorn2012-03-121-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This was never a good idea since it has issues: It doesn't really work with more than one update without the client fetching the data. The same is unlikely to work reliable since it involves two ipc roundtrips. Instead we should have an extended QAccessibleEvent that contains the data so that the bridges can decide how to pass on the data if needed. Change-Id: Iaf6b74f49586f7155909a6fe1a17137b71b31175 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * Update accessibility StateChange by custom event.Frederik Gladhorn2012-03-122-1/+17
| | | | | | | | | | | | | | | | Subclass QAccessibleEvent to give details what changed in the state change. Change-Id: I9005d311e85a3c8bfa6e062833fa6a8a7dc6a4a4 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * Migrate QWindowSystemInterface to use QElapsedTimerLaszlo Agocs2012-03-123-6/+5
| | | | | | | | | | Change-Id: I7dfb0590dce79678d49f5d6ef8f60758719bcf72 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Remove unneeded check.Sergio Martins2012-03-101-1/+1
| | | | | | | | | | | | | | | | It would have already crashed on QOpenGLSharedResource(ctx->shareGroup()). Change-Id: Ib68759457a0fa7e4417dcd30cc40fbabf3df232c Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Fix some duplication between QGuiApplication and QApplication,David Faure2012-03-094-2/+52
| | | | | | | | | | | | | | | | | | | | | | for the mouseButtons and keyboardModifiers vars and methods. Implement queryKeyboardModifiers with a new virtual in QPlatformIntegration. Task-number: QTBUG-11243 Change-Id: I9e95841542ac61c73ff72d7682ad962ea8aada42 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * Start eventTime timer so that the .elapsed method will work.Jon Trulson2012-03-091-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | QWindowSystemInterfacePrivate::eventTime.start() is never called, resulting in all calls to QWindowSystemInterfacePrivate::eventTime.elapsed() within qwindowsysteminterface_qpa.cpp to return 0. This could cause events to be lost, such as mouse button press events from the evdevmouse input plugin. Change-Id: Iba9d23b51af80e8532d24ccf382e9077c06bb4be Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
| * Remove legacy pre-QPA gui/egl implementationDonald Carr2012-03-088-1855/+0
| | | | | | | | | | | | Change-Id: I22a100cec7064df87eb2036adbca8a41aab5a10d Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * QAccessibleEvent needs a virtual destructor.Frederik Gladhorn2012-03-081-0/+3
| | | | | | | | | | Change-Id: Ia0cd82c5457d39fe501e7ee6b5468ccb0f62f35a Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * Enablers for shared graphics cache in raster paint engineJiang Jiang2012-03-0814-51/+113
| | | | | | | | | | | | | | | | | | | | | | | | Required changes for using shared graphics cache for distance field raster glyph rendering. Most of the logic is in platform plugins. Platform plugins should implement QPlatformIntegration::createImagePaintEngine() to create a subclass of QRasterEngine. Change-Id: Icf0a396e722e43b4caa2c1849aae38753cde38f1 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
| * Remove dead code.Pierre Rossi2012-03-084-32/+0
| | | | | | | | | | | | | | | | This logic was introduced as part of change I92dfb39289a359f49caa02c2caf8baf66098fb59 but isn't used anymore. Change-Id: I5bcfea99a7a2993434e1e978195a70dae52d6cfa Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
| * Add accessible role Desktop.Frederik Gladhorn2012-03-082-0/+3
| | | | | | | | | | | | | | | | | | Another role that is mostly needed to make Qt based desktops accessible. Would be nice to have for KDE's Plasma in the future. Change-Id: I1d2ce9d55d677f73cc59f0a3646ee5e588c1d948 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com> (cherry picked from commit edc6fae534835a2c72edffb52255fe522a37928f)
| * Fix typo: remember not remembetFrederik Gladhorn2012-03-081-1/+1
| | | | | | | | | | Change-Id: I6e3bc6a233e7ec8ba94ecaeeafc730b18dd32f02 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | Merge "Merge remote-tracking branch 'origin/containers' into api_changes" ↵Friedemann Kleint2012-03-091-2/+2
|\ \ | | | | | | | | | into refs/staging/api_changes
| * \ Merge remote-tracking branch 'origin/api_changes' into containtersJoão Abecasis2012-03-0886-1948/+1697
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/kernel/qmetaobject.cpp src/corelib/kernel/qvariant.cpp src/tools/moc/moc.h Change-Id: I2cd3d95b41d2636738c6b98064864941e3b0b4e6
| * | | Rename QMetaMethod::signature() to methodSignature()Kent Hansen2012-02-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt5 the meta-data format will be changed to not store the method signature string explicitly; the signature will be reconstructed on demand from the method name and parameter type information. The QMetaMethod::signature() method returns a const char pointer. Changing the return type to QByteArray can lead to silent bugs due to the implicit conversion to char *. Even though it's a source- incompatible change, it's therefore better to introduce a new function, methodSignature(), and remove the old signature(). Task-number: QTBUG-24154 Change-Id: Ib3579dedd27a3c7c8914d5f1b231947be2cf4027 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: João Abecasis <joao.abecasis@nokia.com>
* | | | {QTouchEvent,QWindowSystemInterface}::TouchPoint: replace QList<QPointF> ↵Marc Mutz2012-03-094-7/+8
| |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | with QVector QPointF is in the category of types for which QList is needlessly inefficient (elements are copy-constructed onto the heap and held through pointers). Use a vector instead. This is consistent with the QPainter API. Change-Id: Ie3d6647e05b40a33a7bb0598cbbcde4676e00836 Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com> Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | Merge remote-tracking branch 'origin/master' into api_changesJoão Abecasis2012-03-0818-94/+196
|\ \ \ | | |/ | |/| | | | Change-Id: I89dc2e193bd01624c1fb50484610d516e39b1538
| * | QCursor: Associate cursor with screen.Friedemann Kleint2012-03-078-47/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Introduce cursor() accessor to QPlatformScreen. - Remove screen member of QPlatformCursor (a cursor can be shared by multiple screens of a virtual desktop). - Add QCursor::pos()/ QCursor::setPos() taking a QScreen-parameter, use primaryScreen() for old overloads. QCursor::pos() can then query the platform cursor for the position and return the position even if the mouse position is outside the windows owned by the Qt application. - Fix tests Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com> Task-number: QTBUG-22457 Task-number: QTBUG-22565 Task-number: QTBUG-20753 Change-Id: Ia69f37343f95772e934eab1cd806bd54cbdbbe51 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
| * | Add fonts to QPlatformTheme.Friedemann Kleint2012-03-075-13/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Remove QPlatformFontDatabase::defaultFonts() returning a hash containing widget name ->font and the Windows implementation. - Add enumeration and font accessor to QPlatformTheme. The value returned for the enumeration value overwrites the default font of the font database. - Implement for Windows, Mac and KDE. - Add more Windows palettes. Task-number: QTBUG-23686 Change-Id: I8a2abdfd216df23daa7c9630c54264cdf61295db Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
| * | Fix double click handling.Laszlo Agocs2012-03-071-23/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now double clicking in Qt 5 resulted in the following sequence of mouse events: pressed, released, double clicked, released. This is wrong, the press belonging to the second button down is missing. In Qt 4 that pressed event is present. The problem is not apparent in desktop environments because the double click is functioning properly even when the second pressed is missing. However when using a platform plug-in like wayland, where the clients receive only press, move and release events, double click was broken because the second click was effectively ignored (due to receiving nothing but a button release). Change-Id: Ief6af12c666b23e544da4a68cb835cd577265469 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * | Make cache of opentype tables in Harfbuzz face lazyEskil Abrahamsen Blomfeldt2012-03-063-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The mechanism in fontconfig which determines if a certain character is available (FcCharSetHasChar()) may give false positives, in which case we would load and unload those fonts per every char for which FC gave us a false positive. This was a major performance regression. Specifically the false positives happened when looking at e.g. italic variants of certain multilingual fonts, since we only check the charset of the font family as a whole and not of the specific variant, which may only support a subset of the chars. To optimize this, we remove the deletion of the font engines after loading them, but also wait with loading the opentype tables until they are actually needed. This means that for the false positives, we will load the font, but the cached data for each unused font will be much smaller. Change-Id: Idfc794401a2080da5946bf65204eb947aeb635ed Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
| * | Cocoa: Implement widget palettes.Morten Johan Sorvig2012-03-061-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add roles to QPLatformTheme::Palette, map QWidget subclasses to those. Port Qt4 widget palette creation code to use the QPLatformTheme::Palette roles. Palette entries are disabled in this commit, this will be fixed later. Change-Id: I07babe3d7c76d306efc4ea4813c7161fdf36227f Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
| * | qpa: Document a requirement of the backing store implementationHolger Hans Peter Freyther2012-03-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | Docuent the requirement that the alpha channels need to be properly initialized by the implementation. Change-Id: I03db81b44b43ea75feb1b983fb0725c65a3bd9f4 Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
| * | Remove AccessibilityPrepare event.Frederik Gladhorn2012-03-051-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This event was completely unused. In addition it leads to crashes on linux when sending the Destroy accessibility update. The Destroy event on linux would still query an accessible interface. That in turn would trigger the event to be sent. Change-Id: I8915527de067b8b70ba41b1361e3ef5d12866d7d Reviewed-by: Frederik Gladhorn <frederik.gladhorn@nokia.com> Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
| * | Update QTouchEvent docs with regards to raw positionsLaszlo Agocs2012-03-051-1/+6
| | | | | | | | | | | | | | | Change-Id: I2c955e42605c442793095d5ca27c34d7d87e08fb Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
* | | QTouchEvent::TouchPoint: make it a proper value classMarc Mutz2012-03-062-13/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This includes: - Marking it as Q_MOVABLE_TYPE - adding move ctor and move assignment operator - add member-swap - use the copy-swap idiom in the copy-assignment operator This required making the destructor safe for d == nullptr. Change-Id: I8a77ffcb8e4a395a7e103d1df610561b6ae4c001 Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | | Merge an overloaded QKeySequence constructor.Stephen Kelly2012-03-062-12/+1
|/ / | | | | | | | | Change-Id: I14dc9234b9a4822f65338b75482cab05a017dc69 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>