summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* linuxfb: Make first window fullscreen like eglfsLaszlo Agocs2016-11-095-3/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ...unless the legacy behavior is requested via QT_QPA_FB_FORCE_FULLSCREEN=0 or the platform plugin overrides QFbScreen::flags() to return QFbScreen::DontForceFirstWindowToFullScreen. The long pending asymmetry between eglfs and linuxfb is going to end because with the increased focus on the integrated Qt Quick Software backend the expectation for launching apps with -platform linuxfb is to behave in the normal, eglfs style, embedded manner. Forcing every app to handle this manually in QML is silly. Widget applications also benefit since the old non-fullscreen main window approach is pretty much never what is wanted (considering there is no desktop and the content in the background is either garbage or whatever was on the terminal). However, not every fbconvenience-based platform wants this. For example, vnc should remain with the old way where window sizes are not altered. vnc therefore opts out via QFbScreen::flags(). bsdfb follows the linuxfb behavior. [ChangeLog][Important Behavior Changes] The linuxfb and bsdfb platform plugins now follow the behavior of eglfs by making the first window fullscreen. This provides consistency and avoids applications having to make their windows match the screen size manually. The new behavior can be disabled by setting the environment variable QT_QPA_FB_FORCE_FULLSCREEN=0. Task-number: QTBUG-48658 Task-number: QTBUG-56306 Change-Id: I63d917147ce37205e29cbd0c6f37f35c46d4509c Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
* iOS, nsphotolibrarysupport: force plugin to be staticRichard Moe Gustavsen2016-11-091-0/+4
| | | | | | | | | | | Since the iOS plugin (kernel) is static, the optional plugin needs to be static as well. Otherwise the linker will complain about missing symbols (coming from the optional plugin calling out to functions in kernel). Task-number: QTBUG-42937 Change-Id: I154de0d383bfae09c75a57395b57414fc5ffcc2d Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Nitpick: fix style in QtCore codeAnton Kudryavtsev2016-11-071-2/+2
| | | | | | Change-Id: I28ab07f950c0992a2f3e14d139363d6c1b8af673 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* iOS, nsphotolibrarysupport: add missing framework dependencyRichard Moe Gustavsen2016-11-071-1/+1
| | | | | | | The plugin depends on Foundation. Change-Id: I39d28d16223764e96209d022165a4d146c4b825b Reviewed-by: Jake Petroules <jake.petroules@qt.io>
* Direct2D QPA: Fix g++ warningsFriedemann Kleint2016-11-056-41/+41
| | | | | | | | | | | | | Fix warnings like: qwindowsdirect2dpaintengine.cpp:722:107: error: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'HRESULT {aka long int}' [-Werror=format=] qWarning("%s: Could not convert Direct2D linear gradient brush: %#x", __FUNCTION__, hr); qwindowsdirect2dintegration.cpp:112:88: error: passing NULL to non-pointer argument 2 of 'WINBOOL GetFileVersionInfoW(LPCWSTR, DWORD, DWORD, LPVOID)' [-Werror=conversion-null] if (GetFileVersionInfo(filename, NULL, versionInfoSize, info.data())) { ^ Change-Id: Ie03abdb5f4ba47b4803c283b9a4ec10181aae76e Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
* Merge remote-tracking branch 'gerrit/5.8' into devTor Arne Vestbø2016-11-0515-145/+156
|\ | | | | | | Change-Id: Ib31cae9b57f6fb078739c409162bf2987eb430ad
| * Use async delivery when flushing events from secondary threadsTor Arne Vestbø2016-11-041-1/+1
| | | | | | | | | | | | | | | | | | | | | | Commit 33d748bb8 (Allow granular synchronous and asynchronous delivery of QPA events) replaced a postWindowSystemEvent() with a SynchronousDelivery, which was completely broken, as the delivery is already guarded by a mutex wait. Change-Id: I929fddc4e3403f943e8fe0677b5a46bf58419575 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
| * Fix build with ICC on macOS: <atomic> is properly supportedThiago Macieira2016-11-041-7/+0
| | | | | | | | | | | | | | | | I'm guess I introduced the regression in the commit 18ed6f20ad4327fa2ffbb687ac2f3ca7429c4348, which I wasn't sure about. Change-Id: Ic46ff326a6ba46bc877cfffd14839f84fdf796e7 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| * Use new "Files" property in testlib 3rdparty documentationKai Koehne2016-11-041-3/+6
| | | | | | | | | | | | Change-Id: I4ecef274f4afe0b1a25502fb64b2213a7bdb2853 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * iOS: remove wrong file include after upstream mergeRichard Moe Gustavsen2016-11-041-2/+1
| | | | | | | | | | | | | | | | | | qiosfileenginefactory.h is now a part of the optional plugin. Amends d7e49801 Change-Id: Ia1854145f54e4278ab5c0020361915f476d48cc9 Reviewed-by: Liang Qi <liang.qi@qt.io>
| * Add missing QBIG5CODEC_LICENSE.txt fileKai Koehne2016-11-041-0/+25
| | | | | | | | | | | | | | Add file that was forgotten in eb9681397609eee38703f. Change-Id: Ib288bfc1f1f9cb4857e42f2fa3fe750e23b56aea Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| * Windows: Fix high-dpi text renderingEskil Abrahamsen Blomfeldt2016-11-041-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | In change ce2ae6ebd8cfebf9edbb0b5653e80de029669548 we added support for hinted rendering to the DirectWrite engine. Previously, we would just use the DirectWrite engine for all text rendering in high-dpi and assume we would get only vertical hinting, but since the default changed, we ended up scaling hinted text and the resulting text layouts were a mess. Task-number: QTBUG-56841 Change-Id: I52101ea264878138de41878d1677c0ef8b522e78 Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * configure -libproxy: add a warning if not namespacing QtEdward Welbourne2016-11-031-0/+13
| | | | | | | | | | | | Task-number: QTBUG-46058 Change-Id: I62978b7fe9a82f9facb16ba56d0b14b792e3de61 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| * winrt: Removed unused member variable from socket engineOliver Wolff2016-11-031-2/+0
| | | | | | | | | | Change-Id: I3255c1fb10e053f9a9a1753ad0a0b6969d8a8cfe Reviewed-by: David Faure <david.faure@kdab.com>
| * winrt: Remove static mutex that protected handleReadyReadOliver Wolff2016-11-031-3/+0
| | | | | | | | | | | | | | | | | | | | At the point in time when the callback is called it is very unlikely that another thread sets the state or error of the socket engine. Other members (readBytes, bytesAvailable) are protected by readMutex. Change-Id: I76cf12fbc9019d1b42846c4b40e0cd1c06bbb220 Reviewed-by: David Faure <david.faure@kdab.com>
| * winrt: Guard pendingReadOps with mutexOliver Wolff2016-11-032-0/+12
| | | | | | | | | | | | | | | | | | | | As the list is changed inside a native callback (handleReadyRead) which can be run inside another thread it has to be protected by a mutex. Change-Id: I145a866a36a12b7ea9bfa9f99ad9f7add872a021 Reviewed-by: Maurice Kalinowski <maurice.kalinowski@qt.io> Reviewed-by: David Faure <david.faure@kdab.com>
| * winrt: Proper guarding by readMutexOliver Wolff2016-11-032-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commented its purpose and the guarded members for readMutex. Fixed places where guarded members were accessed without using the mutex. Use QMutexLocker instead of manually (un-)locking the mutex. Task-number: QTBUG-44357 Change-Id: I0d46f9592d5a9d1b52e73df961785a6f6c9e80be Reviewed-by: David Faure <david.faure@kdab.com>
| * Add QNetworkProxy::usesSystemConfiguration() accessorKai Koehne2016-11-024-103/+55
| | | | | | | | | | | | | | | | | | Allow to check programmatically whether using the system proxy settings is enabled. To implement this the QSystemConfigurationProxyFactory is replaced by an explicit boolean in QGlobalNetworkProxy. Change-Id: I52231b4ffc890b085bcd1739acf93c97bdb18eb5 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com>
| * QString: optimize replace(QChar, QChar, Qt::CaseSensitivity)Anton Kudryavtsev2016-11-011-14/+21
| | | | | | | | | | | | | | | | Only detach() if the string does contain the character to be replaced. Save memory allocations. Change-Id: I69c070d3f0b99f505fb6c209f657cdce31a35461 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| * remove bogus freetype dependency stuffOswald Buddenhagen2016-11-011-5/+0
| | | | | | | | | | | | | | | | | | | | fixes rebase FAIL in f9a80e06a. the ft dependency itself is pulled in via the basic font database, which is included if ft is used. Change-Id: I4e9c0c44bd0360b702953e51cde4c5d526eff499 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* | macOS: fix 32-bit buildsJake Petroules2016-11-042-3/+3
| | | | | | | | | | | | | | | | amends e39a436d0ca00fbcbef1428e32f74266c7a8d34d and 1ad6ae21f015ead3dcc4bed21a988f0d7d5d0d2d. Change-Id: Ib5c0b516ea2e5ec8d89f3e2e9888ef3eb8de6de4 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
* | Document that QWindow position is relative to its screen's virtualGeometryTor Arne Vestbø2016-11-041-2/+17
| | | | | | | | | | | | Change-Id: I36e14813d0d32aa1b5a30fa0e63e0a3c477acb01 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | moc: Cache header lookups to reduce number of file stat'sThomas Sondergaard2016-11-032-8/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves moc performance on Windows where file-stat'ing is slow and where the number of project include paths to search is often high because project third-party headers are installed in separate directories rather than a shared include path such as /usr/include. In a real project of non-trivial size it reduces the total from-scratch build time of an optimized build using CMake+ninja with 32 cores by 11% from ~11m35s to ~10m15s. Change-Id: Ieed59646927ed75c55ed9efa97600c328b2fed2c Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Don't disable CoreText on watchOS Simulator (take 2)Jake Petroules2016-11-032-8/+20
| | | | | | | | | | | | | | | | | | Follows up f607233c7ce899c27034eca01c23b0da2895bf93 (which originally introduced this workaround) and 397f345a6a2c69c8f15f5d2f21989c303aca586e (which refactored simulator_and_device not to use exclusive builds). Change-Id: I97f0edefb1bc97167cfa83e4ac0f7581713fb092 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | QAbstractSocket: print error message before emitting the signalAlex Trotsenko2016-11-021-2/+2
| | | | | | | | | | | | | | | | | | | | The socket might get closed by some slot connected to its error() signal. This could lead to 'errorString' being cleared, which would hide the actual error code from the debug output. Changing the order of calls ensures we always get the correct message. Change-Id: If7c01196dbeb3cb0c97235cd02a3baf63fc190da Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
* | QSocks5SocketEngine: improve buffering in CONNECT modeAlex Trotsenko2016-11-021-6/+5
| | | | | | | | | | | | | | | | | | Replace QByteArray-based read buffer with a more efficient QRingBuffer. Change-Id: Id43427a0692463481dfc4dfbe915772afb093364 Reviewed-by: Jesus Fernandez <jesus.fernandez@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | Merge remote-tracking branch 'origin/5.8' into devLiang Qi2016-11-02459-13770/+16406
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Blacklist tst_QMenuBar::taskQTBUG46812_doNotLeaveMenubarHighlighted() on macOS. Conflicts: mkspecs/features/mac/default_post.prf mkspecs/features/mac/sdk.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/sdk.prf src/angle/src/libEGL/libEGL.pro src/platformsupport/fontdatabases/fontdatabases.pro src/platformsupport/platformsupport.pro src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/direct2d/qwindowsdirect2dintegration.cpp src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro tests/auto/widgets/widgets/qmenubar/BLACKLIST tests/auto/widgets/widgets/qmenubar/tst_qmenubar.cpp Task-number: QTBUG-56853 Change-Id: If58785210feee3550892fc7768cce90e75a2416c
| * Merge remote-tracking branch 'origin/5.7' into 5.8Liang Qi2016-11-01110-11649/+13659
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: config.tests/win/msvc_version.cpp configure.pri mkspecs/macx-ios-clang/features/default_post.prf mkspecs/macx-ios-clang/features/resolve_config.prf mkspecs/features/uikit/default_post.prf mkspecs/features/uikit/resolve_config.prf src/corelib/io/qsettings_mac.cpp src/corelib/json/qjsondocument.cpp src/plugins/platforms/cocoa/qcocoawindow.h src/plugins/platforms/cocoa/qcocoawindow.mm src/plugins/platforms/cocoa/qnswindowdelegate.h src/plugins/platforms/cocoa/qnswindowdelegate.mm src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/qiosintegration.h src/plugins/platforms/minimalegl/qminimaleglintegration.cpp tests/auto/gui/painting/qpainter/tst_qpainter.cpp tools/configure/environment.cpp Change-Id: I654845e54e40f5951fb78aab349ca667e9f27843
| | * Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-3118-38/+70
| | |\ | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/minimalegl/qminimaleglintegration.cpp Change-Id: Ia6ab42a6daadbf8abc085c971545904d49ea4b56
| | | * Mark the entire widget dirty when changing flush pathsLaszlo Agocs2016-10-291-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This augments 2a7cee47e5e84c73e32a6953e145771196645f1a Task-number: QTBUG-56534 Task-number: QTBUG-54241 Change-Id: I635478c43e353b0e435d3ac30e4cc608a5a2a6a5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io> Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
| | | * minimalegl: Reorder includes to avoid EGL native type clashesLaszlo Agocs2016-10-283-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some of the qminimaleglscreen.h includes are not even necessary. With the inclusion of egl.h (or qt_egl_p.h in 5.7 and up) isolated to this header, all we need to ensure is that the sources that include it place the include at a suitable place. This is not the only possible solution, there are alternatives (each with its own caveat), but this is likely the least intrusive. Task-number: QTBUG-56559 Change-Id: I17db031c8e401d9895a417ba3568ad1e4ba30f72 Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
| | | * windows: Disable OpenGL proper on Intel 945Laszlo Agocs2016-10-281-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I77fbf5bafcd6b0fe5040513ef6b0d049600f9b33 Task-number: QTBUG-40991 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| | | * Fixed crash taking null central widgetAndré Somers2016-10-281-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When no central widget has been set, calling takeCentralWidget should just return a null pointer instead of crashing. [ChangeLog][QtWidgets][QMainWindow] Fixed crash using takeCentralWidget when the central widget was not set. Task-number: QTBUG-56628 Change-Id: I240ccf4caa41d2716a78851571fbfbf444a4922e Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
| | | * Doc: Fix a typo in QtConcurrent example snippetTopi Reinio2016-10-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And use different wording to describe QtConcurrent::filtered(), as it doesn't modify the sequence it operates on. Change-Id: I768c0d121e027c5de36ba7bd548c2d4c2a7f1bd9 Reviewed-by: Martin Smith <martin.smith@theqtcompany.com>
| | | * QWidgetPrivate: remove unused declarations of methodsAnton Kudryavtsev2016-10-281-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... such as beginSharedPainter() and endSharedPainter() Change-Id: I0e76dd172c2f3bce169f58e4c62bd47c73c99dcd Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| | | * QNSColorPanelDelegate: Don't restore stolen view on deallocGabriel de Dietrich2016-10-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We may not be playing nice with Cocoa's internals when we decide to reparent NSColorPanel's contents to add QColorDialog's own OK/Cancel buttons. In order to reduce issues, we should avoid poking at things during the application's shutdown sequence. Simply releasing the stolen view should be enough at that point. A similar pattern exists in QNSFontPanelDelegate. Change-Id: I678c236e0c57c4d08a1109a479d965f924288c54 Task-number: QTBUG-56448 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@theqtcompany.com> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
| | | * QWindowsXPStyle: Use qreal scale factors in theme drawing helpersFriedemann Kleint2016-10-282-20/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This improves support for fractional scale factors. Task-number: QTBUG-49374 Change-Id: Ied6579ee831f3ea29f238baaffa67374ea6823d9 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | | * QAbstractSocket: avoid unspecified behavior in writing on TCPAlex Trotsenko2016-10-272-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Passing zero as size parameter to QAbstractSocketEngine::write() has unspecified behavior, at least for TCP sockets. This could happen on flush() when writeBuffer is empty or on writeData() with size 0. Avoid by explicitly checking against zero size. Change-Id: I070630d244ce6c3de3da94f84c2cded2c7a4b081 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * nsphotolibrarysupport: add missing namespace macrosRichard Moe Gustavsen2016-10-273-0/+13
| | | | | | | | | | | | | | | | | | | | Change-Id: Ib2014dc64dfcc1ea8de63a1668907ace6d26c530 Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | | * Compilation fixVyacheslav Koscheev2016-10-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If qreal is float, then android-clang compilation was breaking here Change-Id: Ieccc357ecbbea5cbb22a5808dd0791795240a985 Reviewed-by: Marc Mutz <marc.mutz@kdab.com>
| | * | Fix a mis-merge in af0d0b9Liang Qi2016-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | "-framework AudioToolbox" was lost. Task-number: QTBUG-56784 Change-Id: Ibd536c53e7e1456077559c021a70407339f33971 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * | eglfs: Cast to EGLNativeDisplayType in EGLDevice backendLaszlo Agocs2016-10-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling with EGL native types being the Xlib types (uncommon since we disable this both for Mesa and NVIDIA embedded, but can happen with other vendor's headers), the types for EGLDeviceEXT (void*) and EGLNativeDisplayType (Display, i.e. _XDisplay*) won't match, breaking compilation. At runtime we won't hit that path, so all we need to ensure is that the code compiles. Do this via a cast. When the native types are generic, both types are void* so the cast has no effect. Change-Id: Ib54f569d4494906f74107f08b47bd6b521d700db Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
| | * | xcb: Avoid crash when requesting non-supported stereo formatsLaszlo Agocs2016-10-282-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduced in the 5.7 branch by 5f39a0ef8d037ed8d1fa19d5514308ed4a2ca161. Add also a warning in the GLX backend instead of just dereferencing the null pointer. Task-number: QTBUG-55291 Change-Id: I1f2930768b39a04ee443a68d0ac7dc9ecf26cb9c Reviewed-by: Louai Al-Khanji <louai.al-khanji@qt.io>
| | * | Merge remote-tracking branch 'origin/5.6' into 5.7Liang Qi2016-10-2731-181/+476
| | |\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/plugins/platforms/ios/ios.pro src/plugins/platforms/ios/kernel.pro src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.h src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileengineassetslibrary.mm src/plugins/platforms/ios/optional/nsphotolibrarysupport/qiosfileenginefactory.h src/plugins/platforms/ios/qiosintegration.h src/widgets/widgets/qcombobox.cpp tests/auto/widgets/dialogs/qwizard/tst_qwizard.cpp tests/auto/widgets/graphicsview/qgraphicsitem/tst_qgraphicsitem.cpp Change-Id: Ibaee7cbbba99e7c4b1d8926e55932ffa6030ce45
| | | * qmacmime: convert UTF-16 using QTextCodecRichard Moe Gustavsen2016-10-261-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of QMacPasteboardMimeUnicodeText didn't contain any logic to handle unicode text with a byte order mark (BOM). According to the docs (*), 'public.utf16-plain-text' can have an optional BOM. Because of that, Qt would fail encoding UTF-16 text from the pasteboard if it had a BOM. Additionally, perhaps because of a bug in iOS 10, UTF-16 text placed on the pasteboard by Qt ends up being encoded wrong by native apps, unless the text has a BOM. Rather than hard-coding UTF-16 encoding/decoding in qmacmime, we now leave it to QTextCodec. QTextCodec will add a BOM by default, and can handle decoding of UTF-16 both with, and without, a BOM. *: https://developer.apple.com/library/content/documentation/Miscellaneous/Reference/UTIRef/Articles/System-DeclaredUniformTypeIdentifiers.html Task-number: QTBUG-56229 Change-Id: I3a08deb0262350c67e5622cf23eb3c3a4907ec39 Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | | * Document qGuiApp and tweap qAppAlbert Astals Cid2016-10-262-6/+13
| | | | | | | | | | | | | | | | | | | | Change-Id: I2cd865da0e081251a2702c11cb83dde35444693a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | | * qiosfileengineassetslibrary: replace Q_DECL_OVERRIDE with overrideRichard Moe Gustavsen2016-10-261-12/+12
| | | | | | | | | | | | | | | | | | | | Change-Id: Iba67e1a1fa86dff3c82543597351b597be69ed1f Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | | * Android: Fix synthesized oblique for non-latin scriptsEskil Abrahamsen Blomfeldt2016-10-261-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 5e3e34731b7880ac775e8f1fa156ce016e6820f1, a default implementation of QPlatformFontDatabase::fallbacksForFamily() was added, but this implementation included only the fonts with a matching style in the returned list. The result of this was that if a font face for a specific language did not have e.g. an italic font, then we would show missing glyph boxes instead. On Android, it would be impossible to show any italic text in Chinese, Japanese, Hebrew, or Arabic. [ChangeLog][QtGui][Text] Fixed synthesized oblique for non-latin text on platforms using the basic font database, such as Android. Task-number: QTBUG-51223 Change-Id: I494d8ad87292b65d4380a2e600c1c0dc7fc8f937 Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
| | | * iOS: link photo lib plugin based on Info.plist contentsRichard Moe Gustavsen2016-10-261-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If the application's Info.plist contains the key 'NSPhotoLibraryUsageDescription', we know that we can safely link in qiosnsphotolibrarysupport without violating AppStore requirements. This is a simple feature that doesn't introduce additional qmake API for doing app deployment with optional iOS QPA plugins. [ChangeLog][iOS] Starting from iOS 10, Apple requires all apps that need access to photos to have the key 'NSPhotoLibraryUsageDescription' in the Info.plist. Therefore, to get the same support in Qt (when, e.g., using a file dialog), the Info.plist assigned to QMAKE_INFO_PLIST will need this key as well. Change-Id: I7a93afe24b589cad96d5a1d9e2a155ad1671178a Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>
| | | * iOS: refactor usage of photos into optional pluginRichard Moe Gustavsen2016-10-2617-112/+370
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Starting from iOS 10, apps that tries to access photos on the device need to specify the reason for this up front by adding the key 'NSPhotoLibraryUsageDescription' into Info.plist. If the key is missing, the app will be rejected from AppStore. This causes problems for the iOS plugin as it stands since parts of it already tries to access photos, e.g to show an image picker dialog if a file dialog is set to open QStandardPaths::PicturesLocation. This means that currently, all apps written with Qt will be rejected from AppStore unless the developer adds this key, whether he tries to access photos or not. To solve this, we choose to split the plugin into two parts, one that contains the core functionality, and one that contains optional support. The latter will need to be enabled explicit by the developer in the pro file, or in this case, indirectly by adding the right key to the Info.plist. This patch refactors the code in the plugin that gives access to photos into a separate optional plugin called 'nsphotolibrarysupport'. Change-Id: Ic4351eb0bbfffdf840fd88cd00bb29a25907798f Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> Reviewed-by: Jake Petroules <jake.petroules@qt.io>