summaryrefslogtreecommitdiffstats
path: root/src/gui
Commit message (Collapse)AuthorAgeFilesLines
* Remove hardcoded font names in QFont::defaultFamily()Jiang Jiang2012-03-211-10/+11
| | | | | | | | | | | QFont::defaultFamily() should not use any hardcoded font names like "Helvetica" or "Times" as they might not be present in certain systems, it should rather use abstract names like "sans-serif", "serif" and "monospace" then let the platform plugin to decide which font map to them. Change-Id: I5aafb103a5238c17b10773711ad504806c6fc3ce Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@nokia.com>
* EGLFS: Integrate building into configure.Donald Carr2012-03-211-0/+2
| | | | | | | | | | With the move to the QPA architecture EGL is now only required by individual platform plugins and the configure script has been adjusted to reflect this. Change-Id: Ieadacef0b970f29752d9e3e36a007e5cbb005b0d Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com> Reviewed-by: Girish Ramakrishnan <girish.1.ramakrishnan@nokia.com>
* Set the default QPA plugin for QNX builds to "qnx"Sean Harmer2012-03-201-0/+2
| | | | | | Change-Id: I630c3631d480929c1e3a618d0f0b084fd2cc6ad0 Reviewed-by: Kevin Krammer <kevin.krammer@kdab.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Fix KDE palette.Olivier Goffart2012-03-201-0/+1
| | | | | | | | | | | | | | | | | | | | In QKdeTheme We want to load every color. Else, only the first color is loaded, and the rest of the palette is just black making the applications basicaly not usable. But KDE only put in its config files the colors that are different from the default colors. This is the reason why we need to resolve against the style's default palette. We need to make sure the resolve_mask is 0 for an empty palette, even before the application palette is set. This was not required in Qt4 because the system palette was initialized differently. I realize this will only work with QApplication (and not with a single QGuiApplication) but it was not working before either. Change-Id: Ifb3c2c1358ef6d83a1ca5aa8fac3d2d4ea712b94 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
* Remove QAccessibleEvent child parameter.Frederik Gladhorn2012-03-192-17/+20
| | | | | | | | | This makes the api cleaner and generally the child should not be there. It is only sometimes more convenient not to create a QAccessibleInterface instance, so the functionallity is kept. Change-Id: I26018a6d3e0549f4d79856775b4167c5660e229d Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Accessibility: add text update eventsFrederik Gladhorn2012-03-192-11/+150
| | | | | Change-Id: Iece9d100b3f5a379d7d8e29dea67a10d0c918c06 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Fix the compat handleWheelEvent function.Morten Johan Sorvig2012-03-191-1/+1
| | | | | | | | | Only set the angleDelta QPoint when the platform sends a delta/orientation pair. Change-Id: I0440dca8b290bce10830c04ba42c5c955cd8e001 Reviewed-by: Luis Gabriel Lima <luis.gabriel@openbossa.org> Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Make copy and assign private for QAccessibleEvent.Frederik Gladhorn2012-03-181-2/+4
| | | | | | | | | Also make the handling of events in the test pointer based since mac-g++ doesn't seem to like const references the way they were before. Change-Id: I7fe39978d4729b8e586be30978b74aa51ca7cfe6 Reviewed-by: Jan-Arve Sæther <jan-arve.saether@nokia.com>
* Add QWindowSystemInterface::tryHandleSynchronousShortcutEvent()Bradley T. Hughes2012-03-172-0/+46
| | | | | | | | | | | | | | This function sends a shortcut override through the shortcut system and returns the result of the event. This will be used in platform plugins (such as the Cocoa plugin) to make sure that shortcuts work when the user presses a dead-key combination that normally would go through an input method to produce text. An extended overload taking native scan code, virtual key, and modifiers has also been added. Change-Id: Ia3836229ab0c66d2fb6f310e72b6f4d6dfa9ead9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@nokia.com>
* Fix font cache check in QFontEngineFT::recalcAdvances()Miikka Heikkinen2012-03-161-1/+3
| | | | | | | | | | Cached font was used regardless of the format, resulting in incorrect advance in some cases when default format differed from the cached format. Task-number: QTBUG-24188 Change-Id: I39e4156bd9ba743afa7e106e934c90227fbf2b8b Reviewed-by: Jiang Jiang <jiang.jiang@nokia.com>
* 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>
* 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>
* 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>
* Merge remote-tracking branch 'origin/api_changes'Lars Knoll2012-03-0414-74/+40
|\ | | | | | | | | | | | | | | | | | | Conflicts: dist/changes-5.0.0 mkspecs/features/qt_module_config.prf qmake/project.cpp qmake/property.cpp Change-Id: I6e4af40743a9aeff8ed18533a48036e332acc296