summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* High-dpi drawTiledPixmap (raster paint engine)Morten Johan Sørvig2018-04-263-1/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement more consistent behavior for drawTiledPixmap(), which should produce the same visual tiling pattern independent of display devicePixelRatio Consider the following pixmaps and draw calls: QPixmap px32; // 32x32 QPixmap px64; // 64x64 drawTiledPixmap(QRect(0, 0, 128, 128), px32); drawTiledPixmap(QRect(0, 0, 128, 128), px64); On 1x displays this will produce 4x4 and 2x2 tiles, respectively. On 2x displays this would previously produce a different tiling pattern, where the paint engine would tile in the device pixel coordinate system. Change this to tile in the device independent coordinate system, producing the same visual tiling pattern as the 1x case. It is possible to produce a 4x4 tiling pattern with high-resolution output from the 64x64 pixmap by setting the devicePixelRatio: QPixmap px64; px64.setDevicePixelRatio(2); drawTiledPixmap(QRect(0, 0, 128, 128), px64); This change adds an inverse scale to the image filler transform that accounts for the pixmap devicePixelRatio. [ChangeLog][QtGui] QPainter::drawTiledPixmap() now tiles in the device independent coordinate system. Change-Id: I4918d274192967f222f181b374571c7c597dcd76 Reviewed-by: Jonathan Courtois <jonathan.courtois@gmail.com> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: 石博文 <sbw@sbw.so> Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
* Protect all accesses to the global engine cache by a mutexLars Knoll2018-04-251-34/+32
| | | | | | | | | | Otherwise, we'll end up with corrupted memory when using QRegExp from multiple threads. Amends bbdc1b5ccbb19405f997cd67ec53b2c4860105f7. Change-Id: I9d35897629d0bc26503aa0c537c5f99013921fdd Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
* Cocoa QPA: Remove uses of NULLGabriel de Dietrich2018-04-254-6/+6
| | | | | | Change-Id: Ia0d1f019622d20ad70b5fd8c4122b719c0286738 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
* QCocoaNSMenuItem: Add default initializerGabriel de Dietrich2018-04-253-5/+10
| | | | | | | Just tidying code a bit. Change-Id: I492535094533ee307d757bfbbcb41376291f8878 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
* Fix build of static plugins with resources with debug-and-releaseSimon Hausmann2018-04-251-2/+4
| | | | | | | | | | | | | | Writing out the $TARGET_plugin_resources.cpp file in !build_pass breaks when TARGET is adjusted by $qtPlatformTargetSuffix values. We end up writing out $TARGET_plugin_resources.cpp but the debug Makefile looks for $TARGET_debug_plugin_resources.cpp. Try using the pro file name as name source instead, as suggested by Ossi. Task-number: QTBUG-67931 Change-Id: I221cf9b2ec1db699568d0c73513aa66ecf0ada97 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* Fix drawTiledPixmap() and texture-brush painting with high-DPR imagesEirik Aavitsland2018-04-256-1/+102
| | | | | | | | | | | | | | Although QPainter::drawImage()/drawPixmap() would render images scaled according to their devicePixelRatio(), that would not happen for drawTiledPixmap() and when using a textured brush. Implemented here, in combination with the pending "High-dpi drawTiledPixmap (raster paint engine)" commit. [ChangeLog][QtGui] Fix drawTiledPixmap() and texture-brush painting with high-DPR images Task-number: QTBUG-67248 Change-Id: I037e3f897fa708038a0222d3b0c61c7842d87961 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
* Fix crash in QMainWindow::tabifyDockWidgets()Friedemann Kleint2018-04-251-1/+2
| | | | | | | | | | | | | | The list of tab bars in QMainWindowLayout::animationFinished() is apparently modified by animations. Take a copy before iterating over it and showing the tab bars. Amends ba2221bd7314c42353cd7ab2895c043d06d837ac. Task-number: QTBUG-67916 Change-Id: Ib3a70eeac1f3b3f0dd7bd5d37aa6c34b92a55086 Reviewed-by: Edward Welbourne <edward.welbourne@qt.io> Reviewed-by: Anton Kudryavtsev <antkudr@mail.ru> Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* tests: cleanup tst_QComboBox::keyBoardNavigationWithMouse()Gatis Paeglis2018-04-252-31/+8
| | | | | | | | | | | | | | | | | | | | | | - Don't use QCursor when we can position a mouse relative to the window coordinates via QTest::mouse*() functions. Even the way QCursor was user here seemed to be hackish. This hack apparently was there to make the test pass on macOS, I have verified that the updated test continue working on this platform. - Remove Q_OS_QNX ifdef, as this test does not depend on QCursor anymore. - Remove QTest::qWait()-s. Unconditinal waiting should not be used. - Add better comments. - Other minor things. And move tst_QComboBox to use QTEST_QPA_MOUSE_HANDLING code path. Eventually we want to deprecate the legacy code path. Change-Id: Ib72f324b5197d0fd66fc32b8c1c7509e58838e04 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
* Support std::unique_ptr and others in Q_DECLARE_PRIVATEJüri Valdmann2018-04-251-2/+2
| | | | | | | | | | Use ptr.operator->() instead of ptr.data() for getting the raw pointer. [ChangeLog][QtCore][QtGlobal] Q_DECLARE_PRIVATE can now be used with std::unique_ptr and other smart pointer types. Change-Id: I7f3f698d7bac477f2185837681e366057d292588 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Fix include style in qreadwritelock_p.hJoerg Bornemann2018-04-251-1/+1
| | | | | | | ...to make that file bootstrap-compatible. Change-Id: Ic7c3b64cb27f3fd81f0140b6ee899310fa04f4c7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-2410-30/+73
|\ | | | | | | Change-Id: If950406391f79d99f0101f0b6755395accb26f34
| * Fix QML integration of widgetsLars Knoll2018-04-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | We need to mark the object as deleted before destroying it's declarative data, otherwise all sorts of bad things can happen. This fixes the qwidgetsinqml autotest in qtdeclarative. Change-Id: I05a645ebe1ca7a50c8927e3dbd9ebb5aaf369a71 Reviewed-by: Simon Hausmann <simon.hausmann@qt.io> (cherry picked from commit 3e91625b58b4d7d2757678de9d77eef91e84df36) Reviewed-by: Lars Knoll <lars.knoll@qt.io>
| * doc: Make both qEnvironmentVariable() functions visible in the docsMartin Smith2018-04-231-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There had been a fake declaration for qEnvironmentVariable() in qglobal.h thaqt was only visible to QDoc. It was removed in favor of documenting both the actual declarations of qEnvironmentVariable(), one with a 2nd parameter for passing a defualt value and one without that parameter. But the one without the default value parameter was marked internal, so it didn't appear in the docs. When both functions were documented with a shared comment, a bug in QDoc was revealed, because these functions are global, while the shared comment functionality had only been implemented for class member functions. Now the shared comment functionality has been implemented for global functions, so these two functions are now documented with a shared comment. We can, of course, reintroduce the #ifdef QCLANG_QDOC trick, if that is pre3ferred. Change-Id: I41d85def5daa3215a995d7697d064dfae37e8b2a Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Windows QPA: Fix Korean IME removing words when using CTRL shortcutsFriedemann Kleint2018-04-231-0/+8
| | | | | | | | | | | | | | | | | | Ignore the WM_IME_ENDCOMPOSITION message in that case. Done-with: Tobias Koenig <tobias.koenig@kdab.com> Task-number: QTBUG-58300 Change-Id: I9506754a149905222a324b85634964fce398d3ac Reviewed-by: Liang Qi <liang.qi@qt.io>
| * tst_QFile: Don't expect Windows HANDLE equality in nativeHandleLeaks()Kari Oikarinen2018-04-231-4/+0
| | | | | | | | | | | | | | | | | | | | | | That check is flaky on Windows. It doesn't seem to be testing Qt functionality. I also don't see CreateFile2() documentation mentioning any guarantees that opening the same file twice would give the same HANDLE each time. Change-Id: Ica2e60571ae9fc39bf822803a2a9dd6add8323d7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
| * Doc: Mark local functions in qlogging.cpp as internalKai Koehne2018-04-231-0/+3
| | | | | | | | | | | | | | This fixes qdoc warnings introduced by 67d5f79fe6f86726eff. Change-Id: I4b199e6243d9a7706befe4bc9549c78c11026d9e Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
| * Doc: Advocate use of std::initializer_list constructor in Q[String]ListKai Koehne2018-04-234-15/+37
| | | | | | | | | | | | | | | | | | We're relying on C++11 since a while, so lets not advertise creating lists of strings with operator<<() anymore. Change-Id: I14a3442ff852ac2c106d90c63504eb9ebb737609 Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: hjk <hjk@qt.io>
| * Style sheets: Include margin while calculating QHeaderview section sizePeng Wu2018-04-221-2/+4
| | | | | | | | | | | | | | | | | | Align with QCommonstyle QHeaderview section size calculation. Change-Id: I4c11e1881f48850ace3bdbb3c96f999cc298c91e Task-number: QTBUG-56457 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com> Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
| * qmake: Fix prl lookup for suffixed frameworks on Apple platformsTor Arne Vestbø2018-04-221-2/+16
| | | | | | | | | | | | | | We need to take into account the presence of a possible ',_debug' suffix. Change-Id: I5655394b78723bbc6cc32e56849acc2366d288e2 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | Make it easier to use resources in plugins when using static linkingSimon Hausmann2018-04-239-24/+107
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | RCC generates code that registers resources automatically on program startup via global constructors. When linking statically and nothing references the symbols in the .o file compiled from the RCC generated code, then the linker will discard the embedded resources and they will not get initialized. That is why for static linking it is necessary to explicitly initialize resources using the Q_INIT_RESOURCE macro. We can avoid the need for the explicit initialization in the context of plugins that are statically linked into the application. resources.prf can generate a .cpp file with a helper function that contains all the Q_INIT_RESOURCE calls for all resources in the plugin. That helper function in turn is injected into the plugin entry point, which in turn is guaranteed to be included in the final binary. Change-Id: If1abf9c85ef92935020af073b989c58c1ae6ca63 Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
* | Introduce QPasswordDigestor functionsMårten Nordheim2018-04-236-0/+426
| | | | | | | | | | | | | | | | | | | | | | | | | | Added a few functions to derive keys from passwords. Currently it supports PBKDF1 and PBKDF2 as defined in RFC 8018 ( https://tools.ietf.org/html/rfc8018 ). [ChangeLog][QtNetwork][QPasswordDigestor] Added QPasswordDigestor Task-number: QTBUG-30550 Change-Id: I2166b518bd8b54e3486514166e76fd9ba2f219c8 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | QSslKey: Implement PKCS#8 support for the generic backendMårten Nordheim2018-04-235-11/+457
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the ability to decode keys which are encoded with PKCS#8 using the generic back-end (used in winrt and secure transport). It works on both WinRT and macOS; however QSslKey seems unused in the WinRT backend and it seems only RSA keys can be used for certificates on macOS. Meaning that DSA and Ec, which in theory* should represent their unencrypted versions, can't currently be tested properly. * Can also be confirmed by loading the key using the ST or WinRT backend, calling toPem(), writing the output to a file and then loading the unencrypted key using openssl. [ChangeLog][QtNetwork][QSslKey] Added support for PKCS#8-encoded keys in the generic SSL back-end (used for SecureTransport on macOS and for WinRT). Note that it does not support keys encrypted with a PKCS#12 algorithm. Task-number: QTBUG-59068 Change-Id: Ib27338edc7dbcb5c5e4b02addfdb4b62ac93a4c3 Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
* | iOS: Document why we're using a runloop mode tracker in our event dispatcherTor Arne Vestbø2018-04-231-0/+18
| | | | | | | | | | Change-Id: I71093ca05988c3e1ad6d51be7363952dd3f0518e Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
* | Speed up QTimeZone::isTimeZoneIdAvailable by a factor 43David Faure2018-04-237-2/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creating and sorting a list of bytearrays just to check if one entry is present, is really overkill. By adding a new virtual method isTimeZoneIdAvailable() in the backend classes, we can do this much more efficiently. Implemented for Utc and Tz backends, the others fall back to the slow way. The new benchmark shows, in release mode: Before: 43 msecs per iteration (total: 86, iterations: 2) After: 1.1 msecs per iteration (total: 73, iterations: 64) Change-Id: Ic0d79a41d74e2ce6aa088fa7986c41d33902c36b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
* | QHeaderView: emit geometriesChanged() when the header is resizedChristian Ehrlicher2018-04-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | When the QHeaderView is resized (e.g. due to setFixedWidth), the views are not notified about it and the layout is not updated which leads to a wrong painting. Therefore we have to listen for QEvent::Resize the same way as when the font or style changes. Task-number: QTBUG-67532 Task-number: QTBUG-34095 Change-Id: Id70daf083e0dddc2500d8e5aad47513266887a2c Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com>
* | Add image quality handling to QTextImageFormatDaniel Savi2018-04-223-6/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enhances QTextImageFormat with a property for image quality. Default will be quality of 100. The user may set different values with setQuality(int). QTextODFexport will export images as png if quality is set to 100 and as jpg with the compression quality set to the given value if smaller than 100. [ChangeLog][QtGui][QTextImageFormat] Adds two new functions to the class: setQuality(int=100) and quality(). Is currently used by QTextODFWriter to determine the image type and quality when exporting images to ODT files. Change-Id: Iaa8ec0246aaba004d98c9e8c66609795101519a9 Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
* | Examples: fix wrong QRegExp in Custom Sort/Filter Model ExampleChristian Ehrlicher2018-04-222-14/+19
| | | | | | | | | | | | | | | | | | | | | | | | Fix wrong QRegExp in Custom Sort/Filter Model Example and replace it with QRegularExpression. Task-number: QTBUG-61129 Change-Id: I515474ee6985d36195d90dcd93876ba28a83bccc Reviewed-by: André Hartmann <aha_1980@gmx.de> Reviewed-by: Paul Wicking <paul.wicking@qt.io> Reviewed-by: Samuel Gaist <samuel.gaist@edeltech.ch> Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
* | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-226-42/+113
|\| | | | | | | Change-Id: Id32f0ae002772444c0b61cd132ef81f96fe3b895
| * QSslSocket: Call transmit when encrypted on WinRTMårten Nordheim2018-04-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | Once connection is established the socket emits 'connected', and then you can start writing. But it will end up in the write-buffer and won't get sent until 'transmit' is called. Some code (e.g. QWebSocket) relies on QSslSocket transmitting once it's encrypted. This is done in the OpenSSL backend but was not done in the WinRT backend. Task-number: QTBUG-56558 Change-Id: I8cf5d3257f3597a4bb80f35369490a3816506a34 Reviewed-by: Oliver Wolff <oliver.wolff@qt.io> Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
| * QByteArray: Use nullptr for "Safe and portable C string functions"Andre Hartmann2018-04-211-22/+23
| | | | | | | | | | | | | | | | Change the documentation to use nullptr and modify the related code also while at it. Change-Id: I6264a254828159cda54e90393835ea04e131350b Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * QByteArray: Add a note regarding overlapping pointers to qstr(n)cpyAndre Hartmann2018-04-211-0/+4
| | | | | | | | | | | | | | Stated e.g. in http://en.cppreference.com/w/c/string/byte/strcpy Change-Id: I42fd5a5fa6a63b67a7105aa56e93e3d3f2193cf7 Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
| * Windows QPA: Fix ambiguous shortcut overload warnings for ALT-keysFriedemann Kleint2018-04-201-2/+13
| | | | | | | | | | | | | | | | | | | | | | Use the match with the least modifiers (prefer Shift+9 over Alt + Shift + 9) resulting in more missing modifiers. Task-number: QTBUG-67200 Change-Id: I90463c0dfaadda29dcd24a08ba35c91fac8bd04c Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
| * Windows QPA: Fix duplicate/missing native eventsFriedemann Kleint2018-04-204-18/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add utility functions to QWindowsContext input messages sent to native event filters (event dispatcher and window system interface). Do not send input and similar events to the event dispatcher since QEventDispatcherWin32::processEvents() also sends them. Note though that QEventDispatcherWin32 does not receive all windows messages. In QWindowsKeyMapper, send the WM_CHAR/WM_IMECHAR events from where the messages are removed. Task-number: QTBUG-67095 Change-Id: I5f61294fcb3aee7e0eacd840a2010d128cd02a5d Reviewed-by: Andre de la Rocha <andre.rocha@qt.io> Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
* | Detect C standard and try using the most recent one (take 2)Allan Sandfeld Jensen2018-04-2111-7/+103
| | | | | | | | | | | | | | Fixes the default C version used with gcc < 5 Change-Id: I948dece961caed8e6b181e1c6e6b9dc43c46583e Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
* | q{cocoa,ppd}printdevice: Fix string comparisonMichael Weghorn2018-04-202-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'QPrint::Color' should be returned in case 'ColorModel' is NOT set to 'Gray'. However, the logic was inverted before, since 'qstrcmp()' returns 0 if the two strings match. Also, eliminate a redundant condition: The left-hand side of the '||' already makes sure that 'colorModel' is non-null, so there's no need to check again. (Corresponding cppcheck warning: "Redundant condition: colorModel. '!A || (A && B)' is equivalent to '!A || B'") Change-Id: I965c29e8c020bc9c47a53678e23d94f05be3fd53 Reviewed-by: Gabriel de Dietrich <gabriel.dedietrich@qt.io>
* | Merge "Merge remote-tracking branch 'origin/5.11' into dev" into ↵Qt Forward Merge Bot2018-04-2026-439/+396
|\ \ | | | | | | | | | refs/staging/dev
| * | Merge remote-tracking branch 'origin/5.11' into devQt Forward Merge Bot2018-04-2026-439/+396
| |\| | | | | | | | | | Change-Id: I0bea38585382b5d9c8d7a013bf6bcb3a6008d159
| | * QTabWidget: clarify ownership after insertTab() and addTab()Anton Kudryavtsev2018-04-201-4/+8
| | | | | | | | | | | | | | | Change-Id: I7cd3aa5c092c99bbafd09c4bea7c6824d0b6740a Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
| | * configure: mention -libudev in help outputMirko Vogt2018-04-201-0/+1
| | | | | | | | | | | | | | | | | | | | | amends 684a1559f. Change-Id: I25fd5f096e99937382048e2eb763715b9578a8fb Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * Send ShortcutOverride event when receiving a non-spontaneous key pressAndy Shaw2018-04-202-2/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a key press is received which is not spontaneous then it needs to be manually sent as a shortcut override event to ensure that any matching shortcut is triggered first. This enables emulation/playback of recorded events to still have the same effect. [ChangeLog][QtWidgets] Sending a key press event with sendEvent() now sends a ShortCutOverride event first to the widget to trigger any shortcuts set first. Task-number: QTBUG-48325 Change-Id: Iafcc2cdb1773bffe89edaeb0abc44cd5a51088e6 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| | * Doc: Update QtConcurrent::mapped example snippetPaul Wicking2018-04-191-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wrap current example code snippet in std::function as a work-around, as suggested in comment to QTBUG-61145 (see history tab) with the same issue. Task-number: QTBUG-67603 Change-Id: I6875b31d8e983e234b88384c7d76917ac144f953 Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
| | * Manual shortcut test: Arrange in QGridLayoutFriedemann Kleint2018-04-181-190/+114
| | | | | | | | | | | | | | | Change-Id: I93264bec8810f4dd1e2c010cc4dd35df93f31102 Reviewed-by: Gatis Paeglis <gatis.paeglis@qt.io>
| | * qmake: fix sdk resolution on macosTim Uy2018-04-181-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | the 'info' variable was re-used too early. make a new one 'infoargs' instead. Task-number: QTBUG-67286 Change-Id: I77881ecbfce338d653358c5e5edac84e1c0c7de3 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
| | * iOS: Use the non deprecated application:openURL functionAndy Shaw2018-04-181-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In iOS 9.0, the original application:openURL function was deprecated and replaced with a newer one. As iOS 9.0 is no longer supported we can safely switch to the new one. This is also required to prevent a crash when the LSSupportsOpeningDocumentsInPlace and UIFileSharingEnabled keys are set to true in the Info.plist file. Change-Id: I59a7ee82e3ddb2777ef78e28b964ef8666c629af Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
| | * QToolTip: Hide tooltip on key event on macOSGabriel de Dietrich2018-04-181-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | This brings back Qt 4 behavior. The difference is that we only ignore modifier-only key events, as it's done natively. Task-number: QTBUG-49462 Change-Id: I02f2313e1164ba185336d80ac5cc16ce6d883b79 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QCocoaPlatformTheme: Fix tooltip background colorGabriel de Dietrich2018-04-181-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | It use to be yellowish in the past, but modern versions of macOS show it light gray. Change-Id: I8cca5cbb37c73a6dfc79e633a746b9a7d7bced05 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Fix SC_ComboBoxEditField rectGabriel de Dietrich2018-04-181-2/+1
| | | | | | | | | | | | | | | Change-Id: I851e4bb1e0177ef5c594328c717e58ec7c9494e3 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Fix appearance of selected inactive tab bar buttonGabriel de Dietrich2018-04-181-9/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we use toggle NSButton for selected tabs, the inactive appearance doesn't follow what NSSegmentedControl would have shown. Therefore, we fall back to our good old habits, i.e., render on a pixmap and do some pixel transformations. Change-Id: I838a2f23abee5846219ba67328c79fa8cc359a9b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * QMacStyle: Clean up code, remove dead bitsGabriel de Dietrich2018-04-182-170/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change QMacStylePrivate::drawNSViewInRect() signature to remove all the unused parameters. Reuse recent tab direction functions where appropriate. Includes the infamous outter -> outer fix. Change-Id: I8f92d79d8a6c3b5903bfbb13293afb6f72a5340b Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
| | * Do not ignore MenuItem on macOSJan Arve Saether2018-04-181-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The idea was probably to ignore it since macOS already provides accessibility for a menu item in its native system menu. However, a Qt Quick Controls2 Menu will instead show a non-native menu, which should not be ignored. Task-number: QTBUG-63522 Change-Id: Ib5ae16ad991ebd7a18fa73b8f576f20b1c14d4c8 Reviewed-by: Frederik Gladhorn <frederik.gladhorn@qt.io>