Commit Graph

46870 Commits

Author SHA1 Message Date
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
Edward Welbourne
d0806bf26a Simplify qlocale_win's getLocaleInfo() and its _int variant
One of the former's overloads was a template; it and its _int variant
took an optional maxlen; no caller passed maxlen, only three callers
didn't over-ride the template's <QString> default return value to
<QVariant>; so eliminate maxlen and have it simply return QVariant,
using .toString() on it where needed.

Change-Id: Icf3ff32f167ee96cfbb6412613ecd7f0886a2fe9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 12:19:08 +02:00
Shawn Rutledge
e91b778395 QMouseEvent: Set QEventPoint globalPressPosition and globalLastPosition
Qt Quick's MultiPointTouchArea compares the delta since press against
the drag threshold to determine whether a gesture has started, for
example. Since it can be configured to handle both mouse and touch,
this needs to be done for mouse events in a similar way as it's done
in QGuiApplicationPrivate::processTouchEvent().

Storing one global cursor position is not OK for multi-mouse support,
but that's a problem for another time; so we keep using
QGuiApplicationPrivate::lastCursorPosition for now.

Amends 4e400369c0

Change-Id: I242565c4548878878a67074877468e5fde84a490
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-07-15 12:14:30 +02:00
Friedemann Kleint
e9bfd7862f Remove linuxofono
The module appears to be unused.

Task-number: QTBUG-83255
Change-Id: I0b6942734b8b4fcfd90515ba12d751ffccfad15c
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 07:33:32 +02:00
Giuseppe D'Angelo
2438308421 Fix namespaced build
No need of redeclare the function (wrongly, w/o the namespace),
we have the declaration already from qpaintdevice.h.

Change-Id: Iab37c1ac8f059b7d93de7f6c8f0a2eeef2314f35
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-15 03:15:32 +02:00
Fabian Kosmale
d27b9485c0 Replace emit with Q_EMIT in header
This fixes tst_nokeywords.cpp in declarative

Change-Id: Ia94c6c73a830a2eaac9288d9f73d43e63d7a5c17
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-14 21:44:18 +02:00
Volker Hilsheimer
b8ebadbecd Remove wrapper APIs from QDesktopWidgetPrivate
Change-Id: I99e7d82a9e369fee23bcc565553ad9783fa862f9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2020-07-14 19:24:28 +02:00
Kai Koehne
77c2ac559f Doc: Mark API in Q[Mutable]HashIterator as deprecated
The reverse iteration API got deprecated in code already in commit
dbb54805f6 . Now also fix the documentation.

Fixes: QTBUG-85482
Pick-to: 5.15
Change-Id: I3b575f60dabfe1005b9744d17c257da3e22817c5
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
2020-07-14 17:07:00 +02:00
Fabian Kosmale
ca54b741d6 qtypeinfo: Improve container check
Smart pointers like QSharedPointer<T> do have a value_type, but their
equality does not depend on T being comparable. Therefore, instead of
simply checking for T::value_type, test for a few other container
requirements.
This also required to add an additional check for std::optional, as that
one has an unconstrained operator== on MSVC.

Change-Id: Iefd048f7aa360f4713ecd79f80acd7dae72ee18c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2020-07-14 17:06:47 +02:00
Fabian Kosmale
8cdaeb2655 moc: allow wrapper generation for QProperty in pimpl class
Previously, only QNotifiedProperty was supported. As moc cannot
determine by itself whether the backing property is a QProperty or a
QNotifiedProperty, allow NOTIFY false to indicate that it is a plain
QProperty. For symmetry, NOTIFY true is also allowed and means that the
backing property is a QNotifiedProperty.

Change-Id: I66f3105c976ef084198ce8658bc07499a3cb1cd8
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-07-14 17:06:46 +02:00
Edward Welbourne
bb6a73260e Support digit-grouping correctly
Read three more values from CLDR and add a byte to the bit-fields at
the end of QLocaleData, indicating the three group sizes. This adds
three new parameters to various low-level formatting functions. At the
same time, rename ThousandsGroup to GroupDigits, more faithfully
expressing what this (internal) option means.

This replaces commit 27d1391280 with a
fuller implementation that handles digit-grouping in any of the ways
that CLDR supports. The formerly "Indian" formatting now also applies
to at least some locales for Bangladesh, Bhutan and Sri Lanka.

Fixed Costa Rica currency formatting test that wrongly put a separator
after the first digit; the locale (in common with several Spanish
locales) requires at least two digits before the first separator.

[ChangeLog][QtCore][Important Behavior Changes] Some locales require
more than one digit before the first grouping separator; others use
group sizes other than three. The latter was partially supported (only
for India) at 5.15 but is now systematically supported; the former is
now also supported.

Task-number: QTBUG-24301
Fixes: QTBUG-81050
Change-Id: I4ea4e331f3254d1f34801cddf51f3c65d3815573
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-14 14:52:08 +02:00
Edward Welbourne
19ed60d703 Refactor QLocale's integer formatting
Break out some shared code in the integer formatting to save
duplicating it. Simplify what's left.
Renamed some variables to match Qt style.

Change-Id: I369a013802a267a94725302de0d1d33291c29538
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2020-07-14 14:52:08 +02:00