summaryrefslogtreecommitdiffstats
path: root/src/platformsupport
Commit message (Collapse)AuthorAgeFilesLines
...
| * Reduce code duplication in QFontconfigDatabaseAlexander Volkov2014-10-162-146/+97
| | | | | | | | | | | | | | Extract common part from fontEngine() methods to setupFontEngine(). Change-Id: Id4aee43b2a477f9fd40dc564d96a2335bfde9e22 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
| * Print warning when unable to query physical screen sizeGatis Paeglis2014-10-101-0/+5
| | | | | | | | | | | | | | | | This warning was removed when re-factoring code in: 328f2f9c35f3cc5e7049a060a608c3f72876484a Change-Id: I5a9d7fbbf2b78e6e80a79478f4e9fb08ccaec431 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Simplify using tslib with eglfsLaszlo Agocs2014-10-173-4/+17
| | | | | | | | | | | | | | | | | | | | | | tslib support can now be built-in into eglfs, like evdev. Set QT_QPA_EGLFS_TSLIB to 1 to use tslib instead of evdevtouch. The input device can be controlled via TSLIB_TSDEVICE. Change-Id: Iff6bdbb4d133f73eca5528705844862236f8752b Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Switch to categorized logging in all the input handlersLaszlo Agocs2014-10-166-137/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the rule qt.qpa.input (similarly to xcb). In addition, evdevkeyboard supports qt.qpa.input.keymap to enable keymap debug messages. For compatibility, evdevtouch retains the QT_QPA_EVDEV_DEBUG environment variable, this will simply turn on the associated logging rule. Change-Id: Ia038beb827346d2573ca9a2b69b8dcc53adcf0eb Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com> Reviewed-by: Risto Avila <risto.avila@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Clean up tslib pluginLaszlo Agocs2014-10-164-0/+208
| | | | | | | | | | | | | | | | | | | | | | | | The code is now cleaned up, properly divided between platformsupport and the actual plugin (like evdev) and categorized logging is in use. This will allow us to use tslib as a built-in input handler in eglfs in the future. Change-Id: Ic87cdcfe8049bb98530e7f26ffa7a77611a8ede3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com> Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | Avoid qCWarningLaszlo Agocs2014-10-161-7/+7
| | | | | | | | | | | | | | | | | | | | qCWarning messages are shown by default. This was not the intention. Switch to qCDebug since these are not necessarily errors, just debugging information. Change-Id: I15f114fd07887afb687e40342b289a6463e0c93a Reviewed-by: Andy Nichols <andy.nichols@digia.com>
* | eglconvenience/eglfs: Clean up warning messagesLaszlo Agocs2014-10-134-25/+21
| | | | | | | | | | | | | | | | | | | | | | | | Remove the last occurrence of ifdefed debug prints and replace it with categorized logging. Also clean up the warning texts for some of the serious errors, the old ones from Qt 4 times were somewhat messy. Change-Id: I2a3e48c393d56be2511d25c3003b1f2b74ac3c8c Reviewed-by: Louai Al-Khanji <louai.al-khanji@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | EGLFS: Add support for multiple displaysLouai Al-Khanji2014-10-102-14/+3
| | | | | | | | | | Change-Id: Id039e0ed2d99562eb2a5cfe1e7b34013c75ff3ac Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | eglfs: Add support for systems without pbuffer supportLaszlo Agocs2014-10-102-16/+33
| | | | | | | | | | | | | | | | | | Use a small native window and window surface in case the hooks indicate that pbuffer support is not available. Change-Id: I6515309041f0e1e2f5321d59941f35d6ee16dca7 Reviewed-by: Louai Al-Khanji <louai.al-khanji@digia.com> Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-10-095-23/+24
|\ \ | |/ | | | | Change-Id: I05fcd8dc66d9ad0dc76bb7f5bae05c9876bfba14
| * Don't stream QStringLiterals into QDebugMarc Mutz2014-10-091-7/+7
| | | | | | | | | | | | | | | | Normal (C) string literals do just as well and use more than twice less space in the DATA section. Change-Id: Iafb0682a362c41dfd5b4d8b9137d88014d7992a2 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Don't use QStringLiteral in comparisonsMarc Mutz2014-10-093-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For QLatin1String, operator== is overloaded, so comparing to a latin-1 (C) string literal is efficient, since strlen() is comparatively fast. OTOH, QStringLiteral, when not using RVO, litters the code with QString dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare using QLatin1String instead. Change-Id: I7af3bf3a67c55dae33ffaf9922d004fa168a3f9c Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Don't use QByteArrayLiteral in comparisonsMarc Mutz2014-10-091-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For const char*s, operator== is overloaded, so comparing to a (C) string literal is efficient, since qstrcmp doesn't require the length of the strings to compare. OTOH, QByteArrayLiteral, when not using RVO, litters the code with QByteArray dtor calls, which are not inline. Worse, absent lambdas, it even allocates memory. So, just compare with a (C) string literal instead. Change-Id: Id3bfdc89558ba51911f6317a7a73c287f96e6f24 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Add Cinnamon to the list of Gtk+-based DEsDmitry Shachnev2014-10-071-0/+1
| | | | | | | | | | Change-Id: I6c2a374026fde30858f1a51f34fa195ef8f8fe37 Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
| * Clean up the CFTypes used in popuplateFamilyAndy Shaw2014-10-071-2/+2
| | | | | | | | | | Change-Id: Iabe127486c77ebb2afe7fe13ecccd70252a79031 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * Rename internal enum value to avoid clashing with XlibLaszlo Agocs2014-10-051-2/+2
| | | | | | | | | | | | Change-Id: I4926d1f75ece220d28abf9f2e7081e41f0aaf339 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com> Reviewed-by: Martin Jansa <Martin.Jansa@gmail.com>
* | Do not assume QEGLPlatformCursor in the common egl bitsLaszlo Agocs2014-10-031-1/+1
| | | | | | | | | | | | | | The kms hook uses a custom QPlatformCursor. Change-Id: I4543df6314a45abfc20495cbffdd376aed8bbe93 Reviewed-by: Jørgen Lind <jorgen.lind@digia.com>
* | EGLFS: Fix plugin destruction (again)Louai Al-Khanji2014-10-032-9/+7
| | | | | | | | | | | | | | | | | | The previous patch was flawed since by the time the QEglPlatformIntegration destructor was called the virtual function table did not point to the methods in QEglFsPlatformIntegration any more. Change-Id: I310e5e3e734a22b44645ba912b579f193bcfae86 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | EGLFS: Fix plugin destructionLouai Al-Khanji2014-10-012-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The proper init/destruction order is as follows: QEglFsHooks::platformInit() eglInitialize() eglTerminate() QEglFsHooks::platformDestroy() Prior to this patch platformDestroy() was called before eglTerminate(), leading to a crash on some platforms. Additionally we need to destroy the native windows before deleting the screen, otherwise the QEglFSWindow destructor ends up calling into the deallocated screen. Change-Id: Id08ccbac9bb44a778bcf1a55f73c0057e0a7b3af Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-2991-1677/+1482
|\ \ | |/ | | | | | | | | | | | | | | | | | | Conflicts: src/corelib/tools/qbytearray.cpp src/gui/image/qimage.cpp src/gui/image/qppmhandler.cpp src/gui/kernel/qguiapplication.cpp src/gui/painting/qpaintengine_raster.cpp Change-Id: I7c1a8e7ebdfd7f7ae767fdb932823498a7660765
| * Update license headers and add new license filesMatti Paaso2014-09-2489-1673/+961
| | | | | | | | | | | | | | | | | | - Renamed LICENSE.LGPL to LICENSE.LGPLv21 - Added LICENSE.LGPLv3 - Removed LICENSE.GPL Change-Id: Iec3406e3eb3f133be549092015cefe33d259a3f2 Reviewed-by: Iikka Eklund <iikka.eklund@digia.com>
| * Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-09-2344-0/+475
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The isAlwaysAskOption was removed in 38621713150b663355ebeb799a5a50d8e39a3c38 so manually removed code in src/plugins/bearer/connman/qconnmanengine.cpp Conflicts: src/corelib/global/qglobal.h src/corelib/tools/qcollator_macx.cpp src/corelib/tools/qstring.cpp src/gui/kernel/qwindow.cpp src/gui/kernel/qwindow_p.h src/gui/text/qtextengine.cpp src/platformsupport/fontdatabases/fontconfig/qfontenginemultifontconfig_p.h src/plugins/platforms/android/qandroidinputcontext.cpp src/plugins/platforms/xcb/qglxintegration.cpp src/plugins/platforms/xcb/qglxintegration.h src/plugins/platforms/xcb/qxcbconnection_xi2.cpp src/testlib/qtestcase.cpp src/testlib/qtestlog.cpp src/widgets/dialogs/qfiledialog.cpp src/widgets/kernel/qwindowcontainer.cpp tests/auto/corelib/tools/qcollator/tst_qcollator.cpp tests/auto/gui/text/qtextscriptengine/tst_qtextscriptengine.cpp tests/auto/widgets/kernel/qwidget_window/tst_qwidget_window.cpp tests/auto/widgets/widgets/qlineedit/tst_qlineedit.cpp Change-Id: Ic5d4187f682257a17509f6cd28d2836c6cfe2fc8
| | * Add missing private headers warningSamuel Gaist2014-09-0443-0/+472
| | | | | | | | | | | | | | | Change-Id: I7a4dd22ea3bcebf4c3ec3ad731628fd8f3c247e0 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | * QCoreTextFontDatabase: reduce memory consumptionJ-P Nurmi2014-09-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | ATSFontNotify() allocates over 30MB for no apparent reason for applications that don't register fonts. Change-Id: I7bbc97f53b76be1e638de8ca0d1be3a08586cf00 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@digia.com>
| | * QCoreTextFontDatabase: Remove number type asserts.Morten Johan Sørvig2014-08-281-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | On iOS 8, the value 0 is returned as a kCFNumberIntType. The code still works - CFNumberGetValue converts it to a 0.0 double. Change-Id: Ic50900b22e4fa19ad1481e8e0e293559bbfd8cd2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * | Cocoa: Always add Arial Unicode MS to fallback listEskil Abrahamsen Blomfeldt2014-09-181-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The fallbacks on the platform should ideally contain all fonts that support the script passed in, but this would require populating the font database and checking the unicode ranges for all fonts, so it would cause a significant performance hit on Mac. What we do here instead is just return a set of default fonts as the fallbacks and disregard the requested script. The consequence of this is that some special unicode codepoints were not supported on Mac, because we weren't working with a full fallback list. To rectify this without breaking performance, we always add Arial Unicode MS to the end of the fallback list as a final fallback. This should always be present on the system and has a wide support of different scripts. [ChangeLog][OS X][Fonts] Fixed missing glyph box shown in place of some uncommon Unicode code points. Change-Id: I4fc8576bfddc8a73204aca2b16437d42c524bc79 Task-number: QTBUG-40986 Task-number: QTBUG-40549 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * | Fix QT_LINUX_ACCESSIBILITY_ALWAYS_ONJocelyn Turcotte2014-09-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current behavior was that accessibility is enabled if the variable is _not_ set, which causes accessibility to be enabled all the time even if a screen reader isn't present. Change-Id: I73286622fb5abe1cedce420e760306ab7f200e69 Reviewed-by: Adam Majer <adamm@zombino.com> Reviewed-by: Tomasz Olszak <olszak.tomasz@gmail.com> Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * | OSX: Properly detect language support in fontsEskil Abrahamsen Blomfeldt2014-09-103-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The language support detection in Cocoa does not report the correct set of languages for all fonts. One consequence of this is that e.g. Mkhedruli (Georgian) was not supported on Mac because the 'ka' language code was not reported for e.g. the Arial Unicode MS font. This was never detected in Qt 4, because the writing system support we set for each font was never used for font matching, since we let CoreText do the matching in Qt 4. To remedy this, we also detect writing system support based on the OS/2 table in the font. We add this in addition to the current test in case the language list has information about fonts with incomplete OS/2 tables, to avoid regressing. [ChangeLog][OS X] Fixed detection of writing system support in fonts for some scripts such as Mkhedruli. Change-Id: I26c2a42ef45112e17d6794d8798a57c8d8aaaafa Task-number: QTBUG-41208 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * | qpa: Make screen geometry updates (full and available geometry) atomicTor Arne Vestbø2014-09-101-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating the geometry and available geometry in two steps means that QScreen will be in an inconsistent state when emitting the geometry change signal, as the available geometry has not been updated yet. Piggy-backing changes to the availableGeometry based on the virtual geometry changing does not make sense, so we now tie geometry and availableGeometry (and their size variants) to their own separate geometryChanged and availableGeometryChanged signals. Change-Id: Iee0ced642cbb91c470cb54bc507d2c0512482c13 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com> Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
* | | Add Grayscale8 and Alpha8 formats to QImage and drawingAllan Sandfeld Jensen2014-09-171-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the QImage format with two 8-bit grayscale and alpha formats. These formats have the advantage over Indexed8 that they have simpler conversion and can be rendered to by the raster engine. [ChangeLog][QtGui][QImage] Added support grayscale and alpha 8-bit formats which can also be rendered to. Change-Id: I4343c80a92a3dda196aa38d0c3ea251b094fc274 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | EGLFS: Do not assume all hooks will want to create a QEGLPlatformCursorLouai Al-Khanji2014-09-161-0/+1
| | | | | | | | | | | | | | | Change-Id: I05502c27d697524fb4c4d4ccc3aec0e59589fe24 Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
* | | Read and use WheelScrollLines configuration on KDEAllan Sandfeld Jensen2014-09-121-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt supports changing the default lines a scroll wheel click scroll, but wasn't trying to read the system settings. The patch adds support for platform themes to set the default. Change-Id: I53fdcec7984941d1d1285d927d70460356613f81 Reviewed-by: Kevin Ottens <kevin.ottens@kdab.com> Reviewed-by: David Faure <david.faure@kdab.com>
* | | QEvDevTouch: use qEnvironmentVariableIntValue()Marc Mutz2014-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It doesn't allocate memory, so cannot throw and is a lot faster than qgetenv(). Change-Id: I64de0b2644c50469a35fdba9ecde167862975b79 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | QFbVtHandler: use qEnvironmentVariableIntValue()Marc Mutz2014-09-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | It doesn't allocate memory, so cannot throw and is a lot faster than qgetenv(). Change-Id: I18c00da9504dd3744e6fbb23ea9b9fb7c6d669c9 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | eglconvenience: use qEnvironmentVariableIntValue()Marc Mutz2014-09-122-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | It doesn't allocate memory, so cannot throw and is a lot faster than qgetenv(). Change-Id: Id50609c1f3511287d99e24b03e48c0a254893194 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Merge remote-tracking branch 'origin/5.4' into devOswald Buddenhagen2014-09-104-4/+18
|\ \ \ | |/ / | | | | | | Change-Id: Id4997327cc01bd4bb397a463bdffbd15e80398ef
| * | Change a qFatal to a qWarningLars Knoll2014-09-031-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are valid uses cases how to use Qt without installing any fonts (e.g. by using an application font), so let's make the warning non fatal. Task-number: QTBUG-29192 Change-Id: I5684331b687bef4b8a54be1f68303c80aa8d4372 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com>
| * | Make the EGL platform cursor reset the array bufferLaszlo Agocs2014-09-022-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise bad things happen if the application leaves a buffer bound. [ChangeLog] The eglfs mouse cursor properly resets the array buffer to prevent rendering issues. This, just like with vertex attributes and textures, requires applications to be aware of such state changes in swapBuffers(). Change-Id: I8b383cc867d8d0d0572773eacfa650e7b33b9680 Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
| * | Prevent current context from becoming inconsistent upon create()Laszlo Agocs2014-09-011-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Platform plugins have a tendency to make the newly created native context current with a temporary surface. This is usually needed to query some information related to the new context. Afterwards most of them just reset to having nothing current. This has two issues: It unexpectedly changes the current context/surface. A call into QOpenGLContext::create() does not imply that the current context will get changed. This is the minor issue and we could probably live with it (at least if it had been documented). However, the real issue is that QOpenGLContext::currentContext() will become inconsistent: it will still report whatever was current before the create() even though on the EGL/WGL/GLX level that's not the case anymore. To prevent all this confusion the platform plugins can easily be changed to restore whatever context/surface was current before they altered it. Change-Id: I6a5b4597c86571327524ddb13e0d02538593cc7b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com> Reviewed-by: Gunnar Sletta <gunnar@sletta.org>
* | | Merge remote-tracking branch 'origin/5.4' into devFrederik Gladhorn2014-09-018-68/+331
|\ \ \ | |/ / | | | | | | Change-Id: I2811ff0b9d4097f0be60ff16e9664a5060cff23e
| * | Enables remap of NumpadKeys when Numlock is on and using evkeyboard.Risto Avila2014-08-271-0/+70
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-32823 Change-Id: I80841a965c61a117e8b50a2775431bb723ca8eca Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
| * | QCoreTextFontDatabase: Remove number type asserts.Morten Johan Sørvig2014-08-261-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | On iOS 8, the value 0 is returned as a kCFNumberIntType. The code still works - CFNumberGetValue converts it to a 0.0 double. Change-Id: Ic50900b22e4fa19ad1481e8e0e293559bbfd8cd2 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@digia.com>
| * | Accessibility Linux: add action interfaces for valueFrederik Gladhorn2014-08-193-23/+37
| | | | | | | | | | | | | | | Change-Id: I454493fc6e9e93f44d15986ca843c3244f97cbe6 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * | Merge "Merge remote-tracking branch 'origin/5.3' into 5.4" into refs/staging/5.4Giuseppe D'Angelo2014-08-192-24/+170
| |\ \
| | * \ Merge remote-tracking branch 'origin/5.3' into 5.4Frederik Gladhorn2014-08-122-24/+170
| | |\ \ | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually included changes from 3a347a4e70e5a10ee92dd2578316c926a399e894 in src/opengl/qgl.cpp. Conflicts: src/opengl/qgl_qpa.cpp src/plugins/platforms/android/androidjnimain.cpp Change-Id: Ic26b58ee587d4884c9d0fba45c5a94b5a45ee929
| | | * Font Database: Add support for private, system UI font familiesGabriel de Dietrich2014-08-112-24/+170
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We introduce QPlatformFontDatabase::isPrivateFontFamily() to allow testing for private, system UI font families. Both QFontComboBox and QFontDialog need to filter out those private font families which, by definition, should be hidden from the end user. (The textedit example had to be updated to fix the issue where the default font would be private. In 5.4, we will be adding an equivalent, public API in QFontDatabase, and a better solution for the textedit example and QTexEdit in general). In particular, on OS X and iOS, private fonts are used for the system UI font. Those have their font family name prefixed by a dot. QCoreTextFontDatabase knows about this, and makes sure those are tested positive as private font families. In order to have a cleaner layer separation, we moved the QPA theme font resolution from the platform theme classes into QCoreTextFontDatabase for both Cocoa and iOS QPA plugins. In both cases, we use CoreText's CTFontCreateUIFontForLanguage(), that nicely maps to the HITheme API we were using so far on Mac. That means one HITheme dependency less. We also cache the font descriptors we get for these font for each time QCTFD::populateFamilies() gets called. (While not common, this currently happens in auto-tests, like tst_QFontDatabase, and could happen in actual applications -- specially when adding and removing application fonts.) Change-Id: Ic6f0b60f9f597afee1a43596a669742dc546b97f Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
| * | | Accessibility Linux: use Frame for WindowsFrederik Gladhorn2014-08-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Linux it's actually more common to use frame as role for windows since they are per definition normal main windows. Change-Id: Iee5bdfca139049846c1be864661231a594edf695 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
| * | | Support antialias and rgba Xft settings as used by GNOME and UNITYAllan Sandfeld Jensen2014-08-181-17/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only parsed the hintstyle from the Xft settings. This patch adds parsing for also subpixel style and disabling antialiasing. Task-number: QTBUG-27106 Change-Id: Icdb88ccc10e50d76eb30a5b126bee7590e257022 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
* | | | Compile with -no-feature-accessibilityFrederik Gladhorn2014-08-2113-4/+31
|/ / / | | | | | | | | | | | | | | | Task-number: QTBUG-38045 Change-Id: Id436b70aa6161bdf2428ca0a605212b278c71849 Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
* | | GTK2 theme should use GTK configured font variantAllan Sandfeld Jensen2014-08-172-6/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | This patch makes the GTK2 theme read the font configuration and use that as the default system font. Task-number: QTBUG-39643 Change-Id: Ieacf8968e54f34c6d44669350d349c9a96ed6cc5 Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>