Commit Graph

44189 Commits

Author SHA1 Message Date
Morten Johan Sørvig
17affdfbcb Blacklist failing tests on macOS 10.14
These tests fail locally, and have been reported to
fail on the CI system.

Change-Id: Ia76bb15c288af4171ebe47b3c30f3651a63df3f2
Task-number: QTBUG-75786
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-01-30 13:47:27 +00:00
Friedemann Kleint
d7a5d6a98d Windows style: Fix wrong color of non-editable combo box
Use QPalette::Button instead of Base as does QFusionStyle
so that style sheets specifying colors for the non-editable
case work correctly.

Fixes: QTBUG-81573
Change-Id: I84cecb38a48a1450c82498558aa350f3e60a5df6
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-01-30 13:51:17 +01:00
Edward Welbourne
2130d282b1 Change examples and snippets to pass QDate and QTime by value
They're value types, so we should show them being used as such.

Change-Id: If9f0c366fac66306b7861f04e2f047540d444acc
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2020-01-30 13:32:57 +01:00
Edward Welbourne
45967dfbd8 Simplify textdate/datestring #if-ery
Since datestring implies textdate, we don't need to check the latter
inside the #if-ery of the former.

Change-Id: I01e648245bc7707db024eac925092ed816173781
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-01-30 13:32:30 +01:00
Edward Welbourne
6bac3552ac Convert two QDateTime::toString() usages to QLocale::toString()
Qt::LocalDate has been deprecated for ages as an alias for
Qt::SystemLocaleDate, which we intend to remove at Qt 6; and all use
of them can (and should) be converted to use QLocale::toString().
So do that.

Task-number: QTBUG-80441
Change-Id: I0a40fa287cb347c704ec3673d17ef18381063f7f
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-01-30 13:31:59 +01:00
Paul Wicking
ee41a5941b Doc: Add see also link to QScreen::handle()
As the method returns a pointer to a private type (QPA), add see
also with link to QPA docs.

Fixes: QTBUG-76978
Change-Id: If59670ca0a9a47b42b6441baa23525eb20f92979
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-01-30 13:00:48 +01:00
Joerg Bornemann
1f8ced2d6d Fix line ending in custom build steps of vcxproj files
We must use Windows line endings in .vcxproj files to separate command
lines of custom build steps.

This amends commit f65cfadd.

Fixes: QTBUG-81553
Change-Id: I8d257f3846af7006df7f8d462b8f44efdce6a1fd
Reviewed-by: Miguel Costa <miguel.costa@qt.io>
2020-01-30 11:56:09 +00:00
Joerg Bornemann
5399f9443e Fix qt5_make_output_file macro for file base names with dots
The qt5_make_output_file macro returns the wrong outfile for infiles
containing multiple dots in the file name, e.g. 'foo.bar.h'. To fix
this we need to use get_filename_component(... NAME_WLE) which is
available since CMake 3.14. Re-implement the NAME_WLE functionality
for older CMake versions by using multiple get_filename_component
calls.

Fixes: QTBUG-80295
Change-Id: Ib8e11a69a41ba7f6739eb3d5541ce8f6f59dc18c
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-30 12:55:59 +01:00
Friedemann Kleint
9b0525729b Add missing \since for QTextEdit::markdown
The property was introduced by
23c2da3cc2.

Task-number: PYSIDE-1208
Change-Id: I2b9c5f116ffb154458de88d0efa0ac81f625121b
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-01-30 12:11:54 +01:00
Allan Sandfeld Jensen
49b158e07d Don't use libpng allocated buffer to store ICC profile data
The data becomes invalid by the next PNG read or write.

Fixes: QTBUG-81671
Change-Id: I738f5c2abbeebf2c9080d64fef7e66cc082afe89
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-01-30 11:45:33 +01:00
Paul Wicking
f24b247961 Doc: Add since version to enum value documentation
Fixes: QTBUG-80980
Change-Id: I707c4f45d45cb088fb7419038a448d29a2e8dbf5
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
2020-01-30 11:42:57 +01:00
Topi Reinio
5d82cbcfc3 Doc: Specify install path for Vulkan examples
Vulkan examples, although part of the Qt GUI documentation project,
live under their own directory under /examples. Mark the correct
install path for these using the \meta command.

Fixes: QTBUG-81360
Change-Id: I0b98a19bf56d5b1953dbd90c0d5103be9041689a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-01-30 10:42:57 +00:00
Allan Sandfeld Jensen
2e7a28958d Deprecate QImageIOHandler gamma correction
Don't do gamma correction at image decoding time, it can be a whole
lot more than just a simple gamma function, so it is better to use
QColorSpace and QColorTransform.

Change-Id: Iebc960bad6ecdd878240be965699d2df869572ad
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2020-01-30 11:23:50 +01:00
Ulf Hermann
ed080c64ae Core: Add a QTypeRevision class
QTypeRevision is needed to encode the value of the new two-argument
Q_REVISION(major, minor) macros. Those, in turn are necessary because
the minor version resets to 0, and we need to take the major version
into account when stating revisions for Qt classes.

Task-number: QTBUG-71278
Change-Id: I63eff6eab7d6e4f8f32b359a216767c98947a106
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-01-30 10:20:53 +01:00
Lars Knoll
daf1f3f9ce Fix a few test cases to not rely on QMultiHash only API for QHash
Change-Id: If4a741adec6f93d14bd5b21baa1dd062b49898ec
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:29:39 +01:00
Lars Knoll
8020a52793 Adjust QVariant autotest to prepare for upcoming QHash changes
QHash won't contain an insertMulti() method anymore.

Change-Id: I507e76d496c3a33a6e88d15aa30df06c07eeba9f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:29:31 +01:00
Lars Knoll
1b3075dfcb Split QHash and QMultiHash in auto test
Change-Id: I0f31feaca740abe33f36a8c117d64447ddcc8043
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:29:25 +01:00
Lars Knoll
2aeccbe4da Make QTypeInfo::Tampered usable
Inheriting privately means QTypeInfo is unusable. This worked so far, as it
wasn't used by anybody.

Change-Id: I747fafce4ed83188dcb5d727bc65de9d041059d6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:29:18 +01:00
Lars Knoll
d5669a4854 Fix tests in QHash that would read beyond end()
A couple of tests in the QHash autotest could iterate beyond
end(), leading to undefined behavior. This is bound to crash
with the new upcoming QHash implementation.

Change-Id: I977fc939e6e472f05b7cb2fa0a79c2d5f8782f45
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:29:12 +01:00
Lars Knoll
dca3d467a7 Don't enforce C++11
We require C++17 in Qt6

Change-Id: I2dde485524208a1c7131869f4267f44ad2b32e9f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:29:08 +01:00
Lars Knoll
c0d2deac8b Remove deprecated functionality from QSet
Remove support for reverse iteration over a QSet.

Change-Id: I1e9c986a118aea4ebeb7fcdceb41e9ce6593cdb6
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 08:28:51 +00:00
Lars Knoll
e41d243789 Adjust autotest to coming QHash changes
QHash and QMultiHash are separate classes in the future, and
the iterator is not random access.

Change-Id: I7e1a4162ca964001c8da81a2fd7c41ccae27bdb3
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:28:46 +01:00
Lars Knoll
866174307a Some fixes to collection autotest
Split QHash and QMultiHash, and get rid of some compiler warnings.

Change-Id: I48991f097f408ad5c1aa349443e26ab816e0b736
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:28:42 +01:00
Lars Knoll
f98a20a690 Prepare for separating QHash and QMultiHash
Prepare the test cases so that QHash and QMultiHash are used
as if they were fully independent classes.

Change-Id: Iaf5d65c8f6321ec2edaef490e657b144619655a0
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-30 09:28:18 +01:00
Mårten Nordheim
22d0e91970 QHash: Re-remove Java-style iterator
When deprecating reverse iteratation for QHash the macro defining
QHashIterator was expanded but QT_NO_JAVA_STYLE_ITERATORS was
unfortunately forgotten. This patch brings it back.

Amends dbb54805f6

Change-Id: I7b1912a13f6f8d2446c1f61a1c4a19afb2f28993
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-01-30 07:11:40 +01:00
Kari Oikarinen
4f077b7e5f QScopeGuard: Make constructor public
With Class Template Argument Deduction users might want to use the constructor
itself instead of a separate helper function. In both cases it's possible to let
the compiler deduce the template arguments.

Try to make the usefulness of the helper function in the absence of CTAD still
clear in the documentation.

Change-Id: I9b07983c1fb276a6dd9e7ed4c3e606764e9b68ca
Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io>
2020-01-30 07:30:17 +02:00
Volker Hilsheimer
601ce9e08a Implement moving of a single file system entry to the trash
This implements the operation for Windows, macOS, and Unix, for now
only as a private API (since QFileSystemEngine is private). This adds
the capability as a testable function; public API to be agreed on and
added in a separate commit.

The Unix implementation follows the freedesktop.org specification [1]
version 1.0.

[1] https://specifications.freedesktop.org/trash-spec/trashspec-1.0.html

On macOS and Windows, native APIs are used, with each having some
limitations:

* on macOS, the file in the trash won't have a "put back" option,
  as we don't use Finder automation, for the reasons provided in the
  comments
* on Windows, we might not be able to use the modern IFileOperation
  API, e.g. if Qt is built with mingw which doesn't seem to provide
  the interface definition; the fallback doesn't provide access to
  the file name in the trash

The test case creates files and directories, and moves them to the
trash. As part of the cleanup routine, it deletes all file system
entries created. If run on Windows without IFileOperations support,
this will add a file in the trash for each test run, filling up
hard drive space.

Task-number: QTBUG-47703
Change-Id: I5f5f4e578be2f45d7da84f70a03acbe1a12a1231
Reviewed-by: Vitaly Fanaskov <vitaly.fanaskov@qt.io>
2020-01-30 06:14:56 +01:00
Mårten Nordheim
7321a2c624 QNetworkAccessManager: deprecate bearer related functions
In Qt6 QNAM will no longer use bearer in any way so we deprecate it now.

Also mark bearermanagement-conditioned sections for removal in Qt6,
the _q_networksession property is part of how QNAM passes the
QNetworkSession around.

Task-number: QTBUG-81609
Change-Id: I04aad9dd96482c6822dffba1b9af7aa58961149c
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-01-30 05:29:35 +01:00
Lorn Potter
4df303ece7 wasm: fix c++17 detection on windows
Our copy function for qtloader.js does not handle quoting when a
directory has '+' in the path, and this makes the copy method fail.

This is fixed the same way the cxx_future test works

Fixes: QTBUG-79552
Change-Id: Iad8331800aa73eea948e7d2650568645a4c0640c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-01-30 13:59:23 +10:00
Giuseppe D'Angelo
78edc18057 QGraphicsProxyWidget: fix handling of proxy focus
If a widget inside a QGPW has a proxy focus, the code would keep
sending focus in events to the proxy even if the proxy was already
focused. Amend the check in place to prevent this from happening.

Change-Id: Id28d3bfe4f396da5c9477df713441ca7d506662f
Fixes: QTBUG-51856
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-01-29 19:57:02 +01:00
Timur Pocheptsov
b36b7abb40 Implement/fix session resumption with TLS 1.3
The session we cache at the end of a handshake is non-resumable
in TLS 1.3, since NewSessionTicket message appears quite some time
after the handshake was complete. OpenSSL has a callback where
we can finally obtain a resumable session and inform an application
about session ticket updated by emitting a signal. Truism: OpenSSL-only.

[ChangeLog][QtNetwork] A new signal introduced to report when a valid session ticket received (TLS 1.3)

Fixes: QTBUG-81591
Change-Id: I4d22fad5cc082e431577e20ddbda2835e864b511
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-01-29 19:38:43 +01:00
Alexandru Croitor
a1dbdcbd6e Merge remote-tracking branch 'origin/dev' into wip/cmake
Conflicts:
        src/corelib/Qt5CoreConfigExtras.cmake.in
        src/corelib/Qt5CoreMacros.cmake
        src/dbus/Qt5DBusConfigExtras.cmake.in
        src/widgets/Qt5WidgetsConfigExtras.cmake.in

Change-Id: Ib782f3b177c38b2cce83beebe15be9c0baa578f7
2020-01-29 16:57:27 +01:00
Leander Beernaert
67ea445f09 Append to AUTO_MOC_OPTIONS in order not override existing value
Change-Id: Id1bf607e31ee2baa5ffb6d6b4aedd98ea83e5e15
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-29 15:55:49 +00:00
Leander Beernaert
f47efdac1d Only add --automoc-json to AUTOMOC_OPTIONS for metatypes targets
Change-Id: I7c2e859a83ea78c2a6cf2ad59c175c1b29a74621
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-29 15:36:55 +00:00
Alexandru Croitor
274a61d096 Skip processing '-framework' flags in qt6_generate_meta_types_dep_file
Otherwise we get generation errors due to calling GENEX_EVAL on
something that is an invalid target.

Perhaps there will be a better way once
https://gitlab.kitware.com/cmake/cmake/issues/20287 is fixed.

Change-Id: I6af9511cbb9942b9edbc3b3fc7028936308715d8
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-29 15:11:58 +00:00
Alexandru Croitor
ccdc6c2dd3 pro2cmake: Fix flake and mypy issues
Change-Id: I33ab818c53f751ede7a7840b1086a3ae8263e109
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-29 14:42:03 +00:00
Alexandru Croitor
957007a949 pro2cmake: Handle QML_IMPORT_MAJOR_VERSION and minor variants
This is needed for qtdeclarative examples, otherwise CMake configuration
fails due to missing QML import version info.

Change-Id: Iedde7b6a9e2d5ac7f6d81969ac7d6d874361c02e
Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-29 14:41:40 +00:00
Edward Welbourne
0ef79d94f6 Ensure we use UTF-8 for the emitted QLocaleXML data file
Python helpfully uses a sensible locale when stdout is a tty but uses
the system (not the filesystem) default encoding, which may be ascii
and unable to encode some of the data we need to save. So brute force
kludge it to ensure sys.stdout.encoding is UTF-8 when writing the
output we'll read as UTF-8 anyway.

Task-number: QTBUG-79902
Change-Id: I218dc0ec4c71a6b1b7181db55b018266d803bc58
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-01-29 15:23:16 +01:00
Leander Beernaert
a6ccef651d Generate metatypes dependency file
Due to generator expression it is impossible to recursively evaluate the
link dependencies of a target. This is required by QtDeclarative's
qmltyperegistrar.

To overcome this we generate a ${target}_metatypes_dep.txt file which
contain lines with the following pattern:
${PATH_TO_METATYPES.json}=${PATH_TO_METATYPES_DEP.txt}

This can be used to recursively evaluate the dependencies at run time.

Change-Id: Ia4cee0632c16ba9631e0289db906fe9d320844a3
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Qt CMake Build Bot
2020-01-29 14:20:54 +00:00
Alexandru Croitor
34a112e383 Fix CMAKE_BUILD_TYPE to be a cache variable in QtBuildInternalsExtra
Rather than pass the build type in the wrapper, make sure the build
type is a cache var, so it gets picked up when building other repos.

This reverts commit f72ca4cf85.

Change-Id: I5d91ab66249b6c40c5e548b0eec0e467ba0f2ebc
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-01-29 11:56:27 +00:00
Ville Voutilainen
3ad5d7aa55 configure: Add support for -feature and -no-feature for cmake builds
Change-Id: I160a9513da0401f1c83598691294ec48737e08a5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-01-29 11:35:42 +00:00
Mårten Nordheim
33c9a1e0bc Remove some usage of deprecated QSslCertificate::fromPath
The changed function was added in September 2019 in 5.15 branch before
the new overload was added and the old one was deprecated, so we can
freely change it.

Amends 1068d579ee

Change-Id: Iff9d72c26ce557c28b188e1754daa03fd061d531
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-01-29 10:53:30 +01:00
Leander Beernaert
f72ca4cf85 Forward CMAKE_BUILD_TYPE, if available, in qt-cmake
Change-Id: I299e16cfc084b3fc009e806902e26121ebdd454b
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-01-29 09:39:32 +00:00
Qt Forward Merge Bot
6f44c40f18 Merge "Merge remote-tracking branch 'origin/5.14' into 5.15" 2020-01-29 01:01:12 +01:00
Qt Forward Merge Bot
a3fc03c130 Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: I98b1a5a11ece3957a1115c1d9be8841759206ffe
2020-01-29 01:00:56 +01:00
Friedemann Kleint
9109461809 Manual test foreignwindows: Modernize code
Use nullptr, range-based for and replace typedef by using.
Fix duplicated setting of option. Replace deprecated API.

Change-Id: I2628e8b41e64e9809b2f405dfd2be6bee18b048c
Reviewed-by: André de la Rocha <andre.rocha@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-01-28 22:39:07 +01:00
Volker Hilsheimer
6e1d70ae12 QPushButton: only trigger button when click occurs within the bevel rect
On the mac, the push button's bevel doesn't cover the entire widget
rectangle, but is smaller to leave space for focus frame, shadow, and
in general to meet style guidelines. Without this change, a click
anywhere inside the widget would activate the button.

QAbstractButton::hitButton can be reimplemented to limit the area in
which the button is triggered. However, getting the rectangle also
requires an addition to QStyle, so that we can query
QStyle::subElementRect for the actual area the button's bevel covers.

As a side effect, tests that use QPushButton and assume that it
responds to clicks at position 0,0 have to be fixed so that they
don't fail on mac.

Change-Id: I01b60a763bccf39090aee5b2369af300f922d226
Fixes: QTBUG-81452
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
2020-01-28 22:26:26 +01:00
Leander Beernaert
88b7f64e73 Fix example generation without qmldir file
Do not return when no qmldir file is present and no dynamic qmldir
information is set.

Change-Id: I04e458f69e4e4a6ec9b1e7ca7ba0b0f7520996f7
Reviewed-by: Qt CMake Build Bot
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-28 20:43:44 +00:00
Robert Loehning
94bc57213f configure: Add switch for clang's "source-based" code coverage feature
This adds instrumentation to the binaries. At the end of their
execution, these will then write a file containing information which code
was executed. This can be used for code coverage analysis.

[ChangeLog][QtCore][configure] Add switch "-coverage source-based" to
enable clang's "source-based" code coverage feature. This can be used
for code coverage analysis.

Change-Id: If31c6849aa797ff8820e041e85a492a14e2f1a6b
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-01-28 20:26:15 +00:00
Leena Miettinen
382619de65 Doc: Fix copy-paste error in QOpenGLTexture::Target docs
Add a link to https://www.khronos.org/opengl/wiki/Array_Texture.

Fixes: QTBUG-49802
Change-Id: Ic740dd758c41a8f3e471a503bd2d02f6d3096f50
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-01-28 18:42:58 +01:00