Commit Graph

46981 Commits

Author SHA1 Message Date
Tor Arne Vestbø
6034494070 Move private platform interfaces to private QPA headers
They should not clutter the "public" QPA headers that clients
use to implement new platforms, and having them in the private
headers allows us to check for private configure features.

Change-Id: Ib4b4db96c086d81bb5810392c7c8922fc5b4950d
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-07-20 17:47:35 +02:00
Tor Arne Vestbø
3a475d48ee Add QXcbScreen platform interface
Task-number: QTBUG-84220
Change-Id: I6c166409fbaf50627dea65a6256764e08ab36a59
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-07-20 17:47:29 +02:00
Edward Welbourne
6e5694b63b QBasicTimer: purge deprecated API
Since 5.14, copy constructor and assignment.

Change-Id: Id569968ee3879caea2f69e373d392881901965f2
Reviewed-by: David Faure <david.faure@kdab.com>
2020-07-20 16:06:29 +02:00
Edward Welbourne
2ae3f70a40 QAbstractEventDispatcher: purge deprecated API
Since 5.0, registerTimer() without a timer type; and filterEvent(void *)

Change-Id: Id50c2daaf7b144ec403351d0fc50111272b34521
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-07-20 16:06:29 +02:00
Edward Welbourne
c7f277483a QRegularExpression: Purge deprecated PatternOption members
They've been no-ops since (at least) 5.12.
At the same time, save future readers the need to git blame to find
out how long the other deprecated enum name is.

Change-Id: I2081ba2859c6540651b6f6807cc6bd59890bfce5
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
2020-07-20 16:06:28 +02:00
Edward Welbourne
f12132ff23 QCommandLineOption: purge deprecated API
Since 5.8: setHidden(), isHidden()
Part of the QCommandLineParser test also used setHidden().

Change-Id: I05a1c63ff3beb1167ed75632c1b71d7fff17f09e
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-20 16:06:28 +02:00
Edward Welbourne
555be46527 QTemporaryFile: purge deprecated API
Since 5.1: createLocalFile()

Change-Id: I6743df58281d6ba7d90cc6735362e8b654565588
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-07-20 16:06:28 +02:00
Edward Welbourne
0a961129f0 QUrl: purge deprecated API
Since 5.0: QUrl's image of the QUrlQuery API
Remove deprecation-suppression from tst_qurl.cpp, too.

Change-Id: Ide826283cb4e177fb34fb4080502f5a4620bd5d7
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-07-20 16:06:28 +02:00
Edward Welbourne
996a7fc6f1 QChar: purge deprecated API
Since 5.3 joining() and old Joining type
Replaced by JoiningType joiningType()

Change-Id: Iefee50aaf94cec6d67b5fc004b3e68357b2015c5
Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com>
2020-07-20 16:06:28 +02:00
Tor Arne Vestbø
21d9384800 cmake: Slience bening warnings in 3rdparty code
Change-Id: I1a47695abd6d6ea1527e2803dde0ed29aca014cc
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-20 10:35:39 +02:00
Lars Schmertmann
76d02d895a Fix compiler warning in tst_qstringlistmodel
Warning: redundant move in return statement [-Wredundant-move]

Change-Id: I426c8c41c52b43ae3863f5aaf86027cabb961388
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-07-20 09:38:58 +02:00
Andy Shaw
e9932f6372 Doc: Update sql-driver to reflect current minimum versions needed
Fixes: QTBUG-85172
Change-Id: I82a8e008deec29dd217097b8427cb84b80c3a1c9
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-07-20 00:42:01 +02:00
Shawn Rutledge
1b72f9676f Styles manual test: show active, inactive and disabled palette colors
Change-Id: I19c9648f3099ec299e0117748a2808d7a407a3e2
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-17 23:29:27 +02:00
Friedemann Kleint
40bc8d5129 testlib/selftests: Fix generate_expected_output.py
Hardcode the tests which were previously scanned from the source.

See qtbase/24e83de8d1924b8003c84f1df05b7befea2c5120.

Change-Id: I8fb05568977f86726b20948a9c2d1cfce5cba161
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-17 22:14:56 +02:00
Friedemann Kleint
ae5d021f45 Fix some MSVC int conversion warnings
kernel\qmetaobjectbuilder.cpp(1279): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
kernel\qmetaobjectbuilder.cpp(1432): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data
sax\qxml.cpp(1275): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
text\qfontsubset.cpp(920): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
text\qfontsubset.cpp(920): warning C4267: 'initializing': conversion from 'size_t' to 'const int', possible loss of data
text\qtextengine.cpp(2664): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
text\qtextengine.cpp(2665): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
text\qtextengine.cpp(2706): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
text\qtextengine.cpp(2707): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
itemviews\qbsptree.cpp(60): warning C4334: '<<': result of 32-bit shift implicitly converted to 64 bits (was 64-bit shift intended?)
kernel\qprintengine_win.cpp(1558): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
qsql_odbc.cpp(804): warning C4267: 'argument': conversion from 'size_t' to 'SQLINTEGER', possible loss of data
qsql_odbc.cpp(822): warning C4267: 'argument': conversion from 'size_t' to 'SQLINTEGER', possible loss of data
qsql_odbc.cpp(1585): warning C4267: 'initializing': conversion from 'size_t' to 'int', possible loss of data
qsql_odbc.cpp(1602): warning C4267: 'argument': conversion from 'size_t' to 'int', possible loss of data
qwindowsmime.cpp(770): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data
windows\qwindowsmime.cpp(770): warning C4267: '+=': conversion from 'size_t' to 'int', possible loss of data

Change-Id: I04fbe17b9782f4c2704933fc005449b1e992475e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-17 22:14:43 +02:00
Giuseppe D'Angelo
d145dbc43f SSL: add an autotest for handling of illegal datetimes in certificates
At the moment it just exposes QTBUG-84676, that is, OpenSSL
and non-OpenSSL backend act differently. Went a bit overkill
in making it data-driven, so if someone wants to add more
samples it should be easier to do so.

Change-Id: I96538c9563d12d69c217415ba85e244dda5e0cd0
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-07-17 17:50:54 +02:00
André Klitzing
4581cd5fb6 Fix OCSP-Stapling error if identity cannot be verified
If QSslConfiguration::setCaCertificates is set to empty list openssl
cannot verify the OCSP-Response.
Qt will provide it as QSslError::OcspResponseCannotBeTrusted that can be
ignored. But the openssl error is still in the error queue and prevents
a successful reply in QNetworkReply::finished.

So let's clear the queue after OCSP checking to avoid side affects.

Change-Id: I44a7f45a2eebd20ea86a235a0534f80986c40a26
Fixes: QTBUG-85638
Pick-to: 5.15
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-07-17 16:28:52 +02:00
Giuseppe D'Angelo
0e240204b5 QSslCertificate: remove manual parsing code for ASN.1 (on OpenSSL)
OpenSSL 1.1.1 has a convenient function for parsing ASN.1 times;
use that instead of the hand-rolled code.

Change-Id: Ic0aecc915f362c02b220819305f3f3c347a75297
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2020-07-17 15:15:10 +02:00
Edward Welbourne
d853816307 Fix handling of Suzhou numbering system
This only arises when the system locale tells us to use its zero as
our zero digit, since no CLDR locale uses it by default. Adapt an
MS-specific QLocale::system() test to use Suzhou numbering, so as to
test this.

While updating the locale-restoration code to also restore the digits
being set in that test, add restore code for the long time format,
where previously only the short time format was restored. Add a
comment to make it less likely one of those shall be missed in future.

Fixes: QTBUG-85409
Change-Id: I343324bb563ee0e455dfe77d4825bf8c3082ca30
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-17 12:19:01 +02:00
Linus Jahn
51e3cd89a8 QDomNode: Add namespaceURI parameter to browse methods
This adds a namespaceURI parameter to the following methods of QDomNode:
firstChildElement(), lastChildElement(), nextChildElement() and
previousChildElement()

Those methods can now be used to filter for elements with a specific
namespaceURI without the need to use QDomNodeList.

[ChangeLog][QtXml][QDom] Added namespaceURI parameter to browse methods
like firstChildElement() to filter for elements with certain namespaces
without the need of QDomNodeList.

Change-Id: Ic2cfe8c6d5d5f6b5fcf27165df15bce54ad0f23a
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Sona Kurazyan <sona.kurazyan@qt.io>
2020-07-17 09:54:47 +02:00
Alexandru Croitor
96e3ee0659 CMake: Get tests/auto/cmake tests working
The tests/auto/cmake project can be configured separately as a
standalone project with qt-cmake, or as part of the overall qtbase
standalone tests.

To do that a bunch of things were done
- Ported all Qt5 strings to Qt6
- Replaced in all projects the use of add_definitions and
  include_directories with a target based approach, except for 2 tests
  where we check that the old-style approach works, otherwise the
  tests would file
- Removed some (possibly unneeded) EGL / OpenGL tests
- Fixed some C++ code
- Added setup code to tests/auto/cmake/CMakeLists.txt to figure out
  which modules are available and should be tested
- Fixed Qt6CTestMacros.cmake to be loaded by Qt6Core
- Removed the CMake tests to not be run in qmake builds of Qt because
  they would fail anyway
- Enabled the CMake tests to be part of standalone tests
- Disabled auto-passing of the C and CXX compiler cache vars when
  cross-compiling so that the tests can somewhat pass on boot2qt.
  This is the issue we encountered in
  e2b2cd9397
- Ultimately disabled tests for boot2qt, because the -rpath-link
  flag is not generated by CMake for some reason.
- Added code to setup the environment when running an executable that
  was built as part of the test, so that the proper Qt libraries are
  found. This handles both the standalone tests case and separate
  project case.

The remaining unported tests are test_import_plugins which requires
quite a bit of work to get some modules and plugins built that were
done as part of the qmake .pro files, test_plugins that checks
some Network plugins which I'm not sure about, and
test_add_big_resource which doesn't work with namespaced builds
and there's no good way of detecting those at the moment either.

Change-Id: Ic8809c72817d1db81af6c6014c11df6473ad8c75
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-17 09:43:04 +02:00
Alexandru Croitor
054b66a657 CMake: Provide old style CMake variables for target info
This change provides the following per-module variables
Qt6Widgets_LIBRARIES, Qt6Widgets_INCLUDE_DIRS, Qt6Widgets_DEFINITIONS,
Qt6Widgets_COMPILE_DEFINITIONS, Qt6Widgets_PRIVATE_INCLUDE_DIRS.

These are deprecated and are only intended for easier porting from
Qt5 to Qt6. Qt consumers should instead rely on the Qt module targets
e.g target_link_libraries(app PRIVATE Qt6::Widgets)

Note that the variable contents includes transitive values for
everything except the _LIBRARIES variant. So Qt6Widgets_INCLUDE_DIRS
will contain values for Widgets, Gui and Core.

Qt6Widgets_LIBRARIES only contains a value like Qt6::Widgets, and when
that is used in target_link_libraries(), CMake will take care of the
transitivity.

Change-Id: I625e25aab7ba5eaf14de1dc76ba2a1a0c85e6226
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-17 09:43:00 +02:00
Alexandru Croitor
bc29555e6e CMake: Fix old style find_package(Qt6Foo) to work
Each module package needs to first find the Qt6 package to ensure
that all the necessary info is setup for further depedencies to be
found.

Task-number: QTBUG-81672
Change-Id: I3ee608d24c1efbb63a063261fb36341bf52fb78d
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-07-17 09:42:56 +02:00
Volker Hilsheimer
044ca0b8a8 Cover more properties in the QAction test
Expand the getSetCheck to include all properties, and add a test to
verify the fallback logic for the tooltip property.

Use the meta object system to set and check properties in the
tooltip-test to verify that things don't break when migrating to
the new property system.

Change-Id: I56355e8b436ede46701a124a9241ed26d2c706c5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-07-17 08:26:56 +02:00
Friedemann Kleint
bc98bc6890 QWizard/Windows: Fix deprecation warnings about old mouse event API
Fix:
src/widgets/dialogs/qwizard_win.cpp:515 C4996: 'QMouseEvent::globalX': Use globalPosition()
src/widgets/dialogs/qwizard_win.cpp:529 C4996: 'QMouseEvent::globalX': Use globalPosition()
src/widgets/dialogs/qwizard_win.cpp:544 C4996: 'QMouseEvent::globalX': Use globalPosition()

and add missing High DPI scaling for the native event on this occasion.

Change-Id: Ib9a8ab0b3419fa0435eba38401b91c445acdb7bf
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-07-17 07:12:52 +02:00
Sander Visser
b3b9875695 Fix syntax error in containers documentation code
Change-Id: Ie15f5a43cb97422b30c8be884ff6b0d2d8647ea5
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-07-16 21:54:13 +02:00
Sander Visser
3014b26cf2 Fix QXmlStreamPrivateTagStack uninitialized member
Make sure to init tagsDone from constructor.
Avoid relying on QXmlStreamReaderPrivate::init().

Change-Id: I40c08dd370b0ad519e2d6ebc23b8a906c836508e
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-07-16 21:53:44 +02:00
Sander Visser
4f9ece6c59 Fix missing member in QXmlStreamReaderPrivate::init
Add missing lastAttributeIsCData

Change-Id: I66429d35da0451eefe8d14e031306b16df910d0f
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2020-07-16 21:53:13 +02:00
Sander Visser
85dd6ff89b Fix return of uninitialized pointer in guiloader example
Signed-off-by: Sander Visser <github@visser.se>
Change-Id: I7e23402562bd560d55bb811e5e61cca4fcfe247d
Reviewed-by: Jean-Michaël Celerier <jean-michael.celerier@kdab.com>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
2020-07-16 21:52:26 +02:00
Tor Arne Vestbø
d4e78fce16 Suffix qt_pluginMetaData with class name
Allows defining multiple static plugins in the same translation unit.

Change-Id: I175fd4980b21a461a18c23ed1a62a3cea73e67a0
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-16 20:51:04 +02:00
Edward Welbourne
d6502614d0 Deprecate QTimeLine's curveShape in favor of its easingCurve
QEasingCurve has a richer variety of curves and curveShape was already
implemented by changing the easingCurve property.

[ChangeLog][QtCore][QTimeLine] Deprecated QTimeLine's curveShape
property in favor of the easingCurve property.

Pick-to: 5.15
Change-Id: I7261c0f24d7e02bc94624f0b74d699df62de1a52
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-07-16 17:39:11 +02:00
Friedemann Kleint
ea2ae140e9 QtGui: Rename all QEvent members according to the m_ convention
As they are protected, they need to be excluded from the Python
bindings, which is best done by a pattern.

Task-number: PYSIDE-1339
Task-number: PYSIDE-904
Change-Id: I667aa3b8e229e11b3b46635adfddbd62ce4747c1
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
2020-07-16 15:00:37 +02:00
Joerg Bornemann
044cb3ce20 CMake: Fix top-level configure
The working directory for CMake must be the top-level build dir, not the
qtbase one.

Change-Id: I1090aca8bf2617719e724f96b1fa356eb9fabb46
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-16 15:00:37 +02:00
Friedemann Kleint
b2504af4da QtGui/Windows: Move the QRegion conversion functions into QtGui
Task-number: QTBUG-81876
Change-Id: I2297291a4157e7015f499b0a6127301d9cb58526
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-16 12:09:44 +02:00
Andy Shaw
777d6a546d sqlite: Upgrade to 3.32.3
[ChangeLog][QtSQL][sqlite] Upgraded to v3.32.3

Pick-to: 5.15
Pick-to: 5.12
Change-Id: I3c00fb6b0bd7daa3465b38ac6536b82d0b16596f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-16 10:09:41 +02:00
Andy Shaw
8f4f1789e4 Android: Don't treat gradle.pro as a buildable target
When installing gradle it can conflict as it will treat it as the target
and therefore install it as an executable although it is a directory
inside this one. As this does not build anything but is really an
installation target, we can mark it as aux template and change the target
name to avoid any conflicts with the existing directory.

Pick-to: 5.15
Task-number: QTBUG-80938
Change-Id: I000ee57521818b6d4d30d770362ff4700846e576
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
2020-07-16 09:08:52 +02:00
Dimitrios Apostolou
3da9cff845 Avoid warnings regarding bit-field signedness
Up to (including) C++11, integral bitfields of unspecified signedness have
implementation dependent signedness.

Detected by LGTM.com static analyzer.

Pick-to: 5.15
Change-Id: Ibaa0fdc6e443495a3cd40330c4573c9cc6ccdf5b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-16 01:04:44 +02:00
Dimitrios Apostolou
273be0b9e6 Skip LGTM analysis for the bootstrap library and tools
This is because the same code is built for the bootstrap library with
non-standard options like disabled threads, which causes false alerts.
So we build the bootstrap tools in the "configure" step.

Additionally we update the configure flags to only the ones that
matter for the CMake build, after the latest configure script updates.

Change-Id: Id4f90db2a16904f6665f3994f23a9f2a974aefc6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-16 01:04:34 +02:00
Sona Kurazyan
b7ccc80526 Use qsizetype instead of int in QByteArrayMatcher
Change-Id: Id32dc567fa0359ad281d34fcf88c46484f87ce2c
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-07-15 23:16:50 +02:00
Jonas Karlsson
a99bc30e1e Add OS-specific prelude to qt-cmake-standalone-test
This makes sure the executable is run as a shell script
with the proper interpreter on Unix systems.
Otherwise it will fail in some shells, like fish.

On windows, it prevents all commands in the batch file
from displaying on the screen.

Change-Id: If554262f172b035b9661b3e2ff26a96789fa707b
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2020-07-15 15:13:05 +00:00
Volker Hilsheimer
124590850b Don't test for equality if types can't be compared
For types that don't have an operator==(), always trigger the binding
and the changed notification.

Task-number: QTBUG-85578
Change-Id: I41374f6d13c88106f4de83864e82172f3a248150
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-07-15 16:16:53 +02:00
Andre de la Rocha
5f3f23462e Allow Windows accessibility backend to receive focus updates
The removed code no longer applies to the current Windows accessibility
backend, and was causing it to miss focus change events when the
application UI contained one or more widgets associated with native window
handles, or when the Qt::AA_NativeWindows application attribute was set.
This caused accessibility tools like Narrator to miss changes in the
focused widget.

Fixes: QTBUG-81862
Pick-to: 5.15
Change-Id: I6e42d09c54e9e1338fc4b103eba8a0b2c4309e7f
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
2020-07-15 08:39:54 -03:00
Shawn Rutledge
53496e67f0 Un-deprecate QMouseEvent::flags() and QGraphicsSceneMouseEvent::flags()
On one hand it looks like API clutter: a whole Qt namespace enum just
to track whether an individual mouse click is about to geenerate a
MouseButtonDblClick event. On the other hand, we should not remove it
without replacing it somehow, so that users don't lose the workaround for
QTBUG-25831 that it provides. That would be an invasive change because
this flags property exists in QMouseEvent, QGraphicsSceneMouseEvent
and in MouseArea { onClicked: doSomethingWith(mouse.flags) }

Reverts a small part of 4e400369c0

Task-number: QTBUG-25831
Change-Id: I9a3b4f6cc6b858012186f10ed57689f8c0f5fd79
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-15 12:55:56 +02:00
Shawn Rutledge
5ca5dfa89e Set QEventPoint::state properly in QSinglePointEvent
State was Unknown by default, and that is OK in widgets so far, because
widgets pay attention to the event type, not QEventPoint::state().
But Qt Quick cares about that, because QEventPoint turns into
QQuickEventPoint, in which state() has long been important, due to
the semi-unified handling of mouse and touch events.

If it was not a button that caused the event, state is Updated (the
mouse is hovering or dragging, or it's an enter event, wheel event etc.)
If more buttons are now held than before, state is Pressed.
If fewer buttons are now held than before, state is Released.

Amends 4e400369c0

Change-Id: I926d268982449e46e7ca713c4a6ee2014c28c645
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-07-15 12:55:19 +02:00
Ulf Hermann
1ebb891c2f moc: Accept NAME attribute for any properties
At the time when we parse it we don't know if the property will be a
QProperty.

Change-Id: I720afa6d5ec284c727328db92c791771def82f41
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-07-15 12:44:30 +02:00
Lars Knoll
19b5520abf Work around compiler problems on MSVC 16.6.X
The compiler apparently doesn't resolve the emplace overload
correctly to the rvalue version, leading to infinite recursion
in the overload that takes a const Key & as argument.

Take a copy to make it explicit.

Change-Id: I22039d6ca1e2176c81e51b181c72f511dab662f7
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-07-15 12:37:43 +02:00
Andy Shaw
eb201a57db Compare the showDecorationSelected variable when caching the option
Since the size of the display rect can change if showDecorationSelected
is set then this should be included when seeing if the item is already
cached.

Change-Id: Ied6182337de5894d879c5ba5d1125b4869a11cc9
Pick-to: 5.15
Fixes: QTBUG-85451
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-15 12:19:52 +02:00
Edward Welbourne
1a280b2072 Update documentation of Qt::TextDate
This follows up on commit 5ba66c5622,
which removed all locale-dependence from QDateTime; I neglected the
doc of the DateFormat enum.

Change-Id: I244db9c6e1ab47892162c7f441c2b4202662e6e4
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
2020-07-15 12:19:33 +02:00
Edward Welbourne
7ec5cba6de QSystemLocalePrivate::substituteDigits(): change to move semantics
Rather than passing an in-out reference parameter and ignoring the
return (of that parameter) use an actual rvalue ref parameter and move
the value through the function, to make it easier for compilers to
see how to optimize it.

Change-Id: Ie239400345da012d8fb8a731394f1687b8b62430
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 12:19:21 +02:00
Edward Welbourne
b5bc3ee036 Simplify uses of QSystemLocale::query()
QVariant::isNull() shall no longer return true when the variant does
package an object, but that object's isNull() is true, so take care to
catch QString-wrapping returns that contain an empty string, except
where this is a valid return. Generally tidy code processing the
returned value.

At the same time, make the second argument of query() optional, since
it's only used by a subset of the query types.

Change-Id: I3dba9a59260f9f182ca277784c77277e2ea255e2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 12:19:14 +02:00