Commit Graph

67422 Commits (421b05331c462722d3b14616b5a3046854e46d05)

Author SHA1 Message Date
Lucie Gérard 421b05331c Add Copyright and licensing information in file
Task-number: QTBUG-124453
Change-Id: I380ea0ad99b187c736e6f80fa8825ee9866f54c9
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-05-21 17:23:21 +02:00
Lucie Gérard 0f7a64a3ad Add copyright and licensing to build system files missing it
Task-number: QTBUG-124453
Change-Id: Ibb6a0ab839a16ceef3c68861bac2f508ddb3d1ae
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-05-21 17:23:21 +02:00
Petri Virkkunen cf816a57f6 Android: Remove unused qtActivityDelegate() API
Since the new functionality interface feature has removed all calls to
qtActivityDelegate, this is no longer needed.

Task-number: QTBUG-118874
Change-Id: Ibf65f953be8c4694b543610b405b65b91f3ec9ee
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-05-21 16:15:14 +03:00
Petri Virkkunen 01b6e8180b Android: Remove unused context menu functions from QtActivityDelegateBase
These are unused functions. They're only called through JNI and those
calls are now through the interface system, so through the interface,
which is the QtActivityDelegate object. These functions are also
already overridden and, in the case of openContextMenu, only
implemented by QtActivityDelegate anyways.

Task-number: QTBUG-118874
Change-Id: I69f41752626ac9892ecef8e40187dfe4663ab08a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-05-21 16:15:14 +03:00
Petri Virkkunen f939c18d16 Android: Enable QML embedding in services
Need a convenient way to access QtServiceEmbeddedDelegate from native
and create via QtView, so extend embedded delegate factory to handle
creating them.

QtView now initializes a QtEmbeddedViewInterface via
QtEmbeddedViewInterfaceFactory, which now has a generic create() API
that takes a Context object, and creates/returns a proper Service or
Activity delegate.

Task-number: QTBUG-118874
Change-Id: I8b04b280b9234f3ac3ab818b2d333430d1ac4e41
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-05-21 16:15:14 +03:00
Petri Virkkunen 6bee03629f Android: Implement input backend interface
Interface for input-related actions, based off of QtInputDelegate.

Implements all the QtInputDelegate functions called from native code
plus an extra function that allows the native side to get a
QtInputConnectionListener object for QtWindow creation.

Removed some unused functions and unmarked @UsedFromNativeCode in some
that are no longer called from native, but still used from java.

Added QtInputConnectionListener null checks in QtInputConnection, due
to the possibility of a non-existent InputInterface returning a null
QtInputConnectionListener for the QtInputConnection constructor.

Task-number: QTBUG-118874
Change-Id: I8d4cde3e0c735471d0fa30d16db20eb13542cdaa
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
2024-05-21 16:15:14 +03:00
Petri Virkkunen ad649b583d Android: Implement QtLayout backend interface
Small interface, just for QtLayout. This is used in
QtAndroid::qtLayout(), which is called by functions handling the
virtual keyboard and the keyboard handles.

Task-number: QTBUG-118874
Change-Id: Ib9b2830136d05dfd70c9c6ca86ac29be36cc5c30
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-05-21 16:15:13 +03:00
Petri Virkkunen 9319576a59 Android: Implement context menu backend interface
Implements interface for context menu in QtActivityDelegate and
QtEmbeddedDelegate.

Task-number: QTBUG-118874
Change-Id: I799ad1aca4beb789b87830b720abf0963ca09274
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
2024-05-21 16:15:13 +03:00
Petri Virkkunen 2322c71cc7 Android: Implement accessibility backend interface
This will provide the JNI API used by QtAndroidAccessibility namespace
via QtAndroid namespace.

Removed unnecessary functions like createAccessibilityDelegate from
QtEmbeddedDelegate, moved the interface extension to where it is
actually supported: QtActivityDelegate.

Until now, QtActivityDelegateBase has called the QtEmbeddedDelegate
implementation on createAccessibilityDelegate() in order to create a
QtAccessibilityDelegate - which has not actually created the delegate -
and then done a null check before trying to call the - always null -
QtAccessibilityDelegate member.

The embedding and service-embedding usecases are now dealt with via the
interface validity checks on the C++ side, until an actual
implementation for those is completed.

Task-number: QTBUG-118874
Change-Id: Iea3db0e17ae80c0443e9027bdfe36bba311eed2b
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-05-21 16:15:13 +03:00
Petri Virkkunen 46a23b1fae Android: Implement interface for window-related backend
Add QtWindowInterface interface, to access native functionality related
to windows.

QtActivityBase now follows QtNative.onAppStateDetailsChanged in order
to register and unregister functionalities of QtActivityDelegate.

Task-number: QTBUG-118874
Change-Id: Ifad33bd7aac7683081f026f0591ef496909be095
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-05-21 16:15:13 +03:00
Petri Virkkunen 124eaa6b22 Android: Implement backend register class
This class will be used by java delegates to register their supported
functionalities to the Qt/C++ side.

It registers two native functions: register- and
unregisterBackend, which will be used by the aforementioned
delegates.

It will be used by C++ classes which currently use
QtAndroid::qtActivityDelegate() to access a JNI object which implements
all these features in one big class.

Task-number: QTBUG-118874
Change-Id: I23a7e433104c20b96c08b682a96cfaec98ecb4a9
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-05-21 16:15:13 +03:00
Michael Weghorn 353dd10a1c a11y atspi: Bridge help text to AT-SPI
at-spi2-core commit [1]

    commit 8f1c70155b4132de2c567b3034e4f242e0450df5
    Author: Mike Gorse <mgorse@suse.com>
    Date:   Wed Jan 3 16:52:31 2024 -0600

        Add HelpText property and corresponding functions in atk and libatspi.

        Closes #146

added a HelpText property to AT-SPI2. Qt already has
a corresponding QAccessible::Help, so report that
as the HelpText property in the AT-SPI adaptor.

[1] 8f1c70155b

Fixes: QTBUG-124197
Change-Id: I01489c1fdac953658d379951207f91784f3d1dfe
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2024-05-21 14:44:23 +02:00
Assam Boudjelthia 9b0ec58f4c Android: add QT_ANDROID_PACKAGE_NAME to android docs group
Amends fbb35cdb0b.

Change-Id: I9fd8b2b4eb4d75e3b75be268db926a11eb0f4ada
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-05-21 11:46:32 +03:00
Eirik Aavitsland a3e3e105ab Fix qt_attribution file for libjpeg
In the version update to 3.0.3, the LicenseId and LicenseFiles items
were updated, but not the License item.

Amends c9a1e8d306.

Pick-to: 6.7 6.5 6.2 5.15
Change-Id: I21870c78a247740ea8d67487a18511169607daba
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
2024-05-21 08:46:29 +00:00
Eskil Abrahamsen Blomfeldt 99e94f1035 Support application fallbacks for common script
While common script typically adapts the surrounding script, it is
possible for strings of only punctuation (for instance) to remain
undetermined. In addition, Qt considers Latin and Common the same in
font matching, so in order to get merging for latin, we need to
conflate them in the application fallback API as well.

This also adds a couple of missing clears of caches (clearing
the font cache itself when adding a new fallback, since the
fallbacks are kept as part of the cached font engine + clearing
the fallback cache when adding a new application font, since the
new application font may be a fallback candidate).

Note: This also adds some missing removeApplicationFont() calls
from other tests, since these were causing issues with the
new test.

Task-number: QTBUG-124914
Change-Id: Idbfa0f6b492a9194eca67b57101e674f7b8a4ec4
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
2024-05-21 07:24:03 +02:00
Nicholas Bennett daf494c585 Docs: Correct Android ABI string in build documentation
Changed arm64-v8 to arm64-v8a.

Pick-to: 6.7
Change-Id: I8ee5a5591bc22c28422643ab0d462b0638624d8c
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
2024-05-20 07:50:31 +00:00
Axel Spoerl b0b34c56a9 QKdeThemePrivate: refactor reading of KDE settings
KDE settings locations and keys were hardcoded in QKdeThemePrivate.
readKdeSetting() was implemented as a static method, because it was
called from the static readKdeSystemPalette().
It expects a QStringList argument with the KDE settings directories,
an int representing the KDE version, as well as a QHash with settings
passed as a reference.

Class members exist for settings directories and version. They have to
be passed for each call. The hash containing settings objects will be
created on the stack of each function making calles to
readKdeSetting(). The settings key, including subsections, was passed
as a QString.

Implement enumerations for all KDE setting types and settings.
Derive subsection from the settings type.
Change the signature of readKdeSetting() from a string to the new
enumeration.
Implement a non static override of readKdeSetting, to avoid passing
data memebers on each call.
Implement a mutable has for KDE settings, to enable caching across
functions in the future.

This patch does not change any behavior.

Task-number: QTBUG-125285
Pick-to: 6.7
Change-Id: Ic0320853e08e82dd83bdba1e7765a1e5c6ffb384
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2024-05-20 09:50:09 +02:00
Axel Spoerl 802cd973f2 Fix documentation of QKdeThemePrivate::updateColorScheme()
The method's documentation mentions appearance, instead of color scheme.
Update it.

Task-number: QTBUG-125285
Pick-to: 6.7 6.5
Change-Id: Iceb2b7d0a51d0ba34f98dd942d7988feb685a4f6
Reviewed-by: Christian Ehrlicher <ch.ehrlicher@gmx.de>
2024-05-20 09:49:04 +02:00
Jesus Fernandez 7c128f8866 Add -Wweak-vtables to headersclean
This requires some fixes in several classes that are also included
in this patch.

The QTestEvent hierarchy is all-inline and changes layout depending on
QT_GUI_LIB and QT_WIDGETS_LIB, so we can't just export it. Suppress the
warning in that header for now. Created QTBUG-104486 to track a fix for
the real issue.

The QFutureInterface hierarchy is also all-inline, but templates, so
doesn't trigger, except the <void> specialization. Created
QTBUG-125115 to track a fix for the real issue.

Done-with: Marc Mutz <marc.mutz@qt.io>
Task-number: QTBUG-45582
Change-Id: I96b3e109aa989b70e0d4809b90bd53a369e50d55
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2024-05-19 15:56:17 +00:00
Marc Mutz 00099c057c tst_QCryptographicHash: mask a QSKIP in addDataAcceptsNullByteArrayView()
We know NumAlgorithms is not supported, so don't print a skipped
warning, by not including that enumerator in the test data in the
first place.

Amends 96dc4acb23.

Pick-to: 6.7
Change-Id: Ie19f7ebcceb855b9363017c8b2626dae99e23313
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
2024-05-19 14:27:01 +02:00
Marc Mutz 8586f9e1b9 QCryptographicHash: add specific test for static hash() function
The test already exercised the function here and there, but it lacked
a central place to test the static hash() method, so add one.

Pick-to: 6.7 6.5
Change-Id: I229bc8a8ed07e0036f60de62ecc4d11ef88dd20e
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-05-19 14:25:33 +02:00
Marc Mutz 6736fe3a0f tst_QSpan: fix GCC 11 -Wmaybe-uninitialized
GCC 11 doesn't understand that 'i' isn't ever read from (because all
spans created over it have size zero), but initialize it nonetheless
to suppress the warning.

Amends f82cf6333e.

Pick-to: 6.7
Change-Id: Ibfb3e9b7fdcbe93c43b7873986c74b4b5a0c9e54
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
2024-05-19 12:24:41 +00:00
Marc Mutz 725455ed33 [docs] QSpan: enable 2nd subspan() overload docs
They didn't work due to qdoc bug QTBUG-118080, which has since been
marked as fixed (for 6.7FF).

Remove the protection.

Task-number: QTBUG-115022
Task-number: QTBUG-118080
Pick-to: 6.7
Change-Id: I1b792676754074dd85611e647d4e2c372de3a647
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-05-19 14:23:59 +02:00
Thiago Macieira 817c0c33e1 QByteArray/QString: use qregisteruint for storing the moving hash
There are some architectures where
  sizeof(qregisteruint) > sizeof(size_t)
so this could be a minor performance improvement.

Change-Id: If05cb740b64f42eba21efffd17cf30c3ae5bd88f
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
2024-05-19 02:30:58 +00:00
Thiago Macieira 7886d0adbb QByteArray: inline the REHASH macro into the code
It was used in a single place, in each of these files, now that the
forward indexOf is moved to qbytearraymatcher.cpp. There's another copy
in qstring.cpp.

Task-number: QTBUG-125283
Change-Id: If05cb740b64f42eba21efffd17cf30607317877a
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
2024-05-18 19:30:56 -07:00
Thiago Macieira 726379c581 QByteArrayView: move up the call to 1-char findByteArray()
The public, inline QtPrivate::findByteArray() function duplicates some
of the entry conditions that this does (including the negative from), so
help the compilers.

Task-number: QTBUG-125283
Change-Id: If05cb740b64f42eba21efffd17cf3034ce9ab9b8
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
2024-05-18 19:30:55 -07:00
Thiago Macieira 7200f8638c QByteArray: deduplicate QtPrivate::findByteArray() and qFindByteArray()
The former is the only place where the latter is called and both were
doing duplicate and redudant work. So merge the two functions again...
and split off the actual hashed searching into a new qFindByteArray.
That simplifies the diff and Git history.

Drive-by adding the Q_NEVER_INLINE to the Boyer-Moore search, which will
be reached via tail-call.

Task-number: QTBUG-125283
Change-Id: If05cb740b64f42eba21efffd17cf2ed2bbc64b17
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
2024-05-18 19:30:55 -07:00
Thiago Macieira eeb6f0337e QByteArray: de-duplicate the find-one-char function
We have a public, inlineable one, so use that one instead of the private
copy. They do the same thing.

Task-number: QTBUG-125283
Change-Id: If05cb740b64f42eba21efffd17cf2ded689e0691
Reviewed-by: Øystein Heskestad <oystein.heskestad@qt.io>
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
2024-05-18 19:30:54 -07:00
Assam Boudjelthia 112e554cbf Android: update AGP to version 8.2.2
This works better with the current Gradle 8.3 and supports
Android api 34 builds.

Task-number: QTBUG-106907
Change-Id: I816a1aa163a9aee0a5859872129cff62f81a2dea
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
2024-05-19 00:34:42 +03:00
Toni Saario 8d5e7d50d8 Coin: sign only x86 packages
Coin is currently missing support for arm64 signing. Drop the signing
on arm64 for time being to allow packaging flag to be added to export
arm64 builds.

Change-Id: If684fa4d787fccb99ac9a0ebad56ec723faba354
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
2024-05-17 14:36:27 +03:00
Michał Łoś e82b79d382 Don't rely on TLS to call QThread::finish on VxW
On VxWorks, its pthread implementation fails on call to
`pthead_setspecific` which is made by first `QObject` constructor during
`QThreadPrivate::finish()`. This causes call to `QThreadData::current`,
since `QObject` doesn't have parent, and since the pthread is already
removed, it tries to set `QThreadData` for current pthread key, which
crashes.

The aforementioned `QObject`'s instances are created in multiple places
during `QThreadPrivate::finish` method, first one in during call to
`qCDebug()`.

The sequence currently leading to call to `QThreadData::current` starts
with `qCDebug` call in `QThreadPrivate::finish`, which:
 - creates `QDebug` object, which
 - creates `Stream`, which
 - creates `QTextStream`, which
 - creates `QTextStreamPrivate`, which
 - creates `QDeviceClosedNotifier`, which
 - is a `QObject`, which
 - calls `QThreadData::current()` because its `parent` is nullptr.

Even ignoring debug print, next line calls
`QCoreApplication::sendPostedEvents` which calls `QThreadData::current`
directly.

Pick-to: 6.7
Task-number: QTBUG-115777
Change-Id: I4d405eebdff0c63c6cd66fba4eaa95c3818ceaea
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-05-17 09:23:51 +02:00
André Klitzing 0beaa63d4a Bump androix dependency to 1.13.1
This avoids linter warning like in
5dc9692e48ea15ab3da4283997547a2849f1944e:
       Obsolete Gradle Dependency

Brings back the commit 3bae65e7d6
that was reverted earlier.

Pick-to: 6.7
Task-number: QTBUG-106907
Change-Id: Ia1e3362853b5d43299acf21d5f3ac099a478b396
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
2024-05-17 04:35:52 +03:00
Christian Ehrlicher f6fdd91941 Tests/QWidget: fix hoverPosition test for openSUSE
On some xcb platforms the xcb_configure_notify_event_t is sent after the
window is fully exposed which leads to a wrong position for
QWidget::mapToGlobal(). In this case this results in a wrong position
for QCursor::setPos() which lets the test fail.
Fix it by waiting for a move event with a position != 0,0 before calling
mapToParent/Global().

Pick-to: 6.7 6.5 6.2
Fixes: QTBUG-123998
Change-Id: Ic5e989c4497ccf3ed720a521f9d7e73632b4b1fc
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-05-16 22:18:53 +02:00
Christian Ehrlicher a8011cbe2a QDialogButtonBox: use QFlatMap instead QHash
Use QFlatMap for standardButtonMap and hiddenButtons - these two
container normally don't hold more than 5 elements so QFlatMap suits
much better.

Change-Id: I70f1a0471ec3cb118120805973bab28568d48317
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-05-16 20:18:34 +00:00
Michał Łoś 062c538781 Exclude VxWorks from qstorageinfo tests
VxWorks doesn't have implementation of QStorageInfo and uses stub.
Remove tests of it from building and running, since these can't work.

Pick-to: 6.7
Task-number: QTBUG-115777
Change-Id: Idd63d20c2dda1ae09838a7d371ae5b713180cb96
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-05-16 21:36:03 +02:00
Tor Arne Vestbø 35cdd8abf6 Widgets: Don't assume layout handles safe area margins if widget opts out
As an optimization when calculating the safe area margins for child
widgets we look at the parent hierarchy, and if we find a widget that
is in a layout, and that layout respects the widget's contents rect,
we assume the safe area margins are accounted for already.

But this relies on the widget the layout is operating on to not opt out
of the safe area margins affecting the contents rect. If it does, the
layout can't help us, and we need to fall back to computing the child
widget's safe area margins.

Task-number: QTBUG-125345
Change-Id: I2e2f7d292d2b2c3ecd2e2e95316c4d72b92db5d6
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
2024-05-16 20:17:06 +02:00
Mårten Nordheim 68ceb847d6 QNetworkReply: Add a separate test for self-contained tests
Nothing there should rely on the network testing server.
Part of this will also be testing the local/unix domain socket support.

Task-number: QTBUG-102855
Change-Id: Icf3b0bd9370ec62e003862caf4cd3ed38d875bac
Reviewed-by: Mate Barany <mate.barany@qt.io>
2024-05-16 19:40:03 +02:00
Allan Sandfeld Jensen abed1a41e1 Merge two color conversion methods
We can do both conversions with the logic from
applyElementListTransform with a few simple changes.

Change-Id: I560a2954b3a4c1acfee57813fa0caa418b1fc5d6
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
2024-05-16 19:40:03 +02:00
Ilya Fedin 7dbf070dd1 Make the high dpi downscaling work with Wayland
Wayland provides fractional device pixel ratio without using QHighDpiScaling
so it should work when QHighDpiScaling::isActive returns false.

There are also invalidation adjustments given that high dpi backing
store's device pixel ratio could lead to different native sizes
depending on platform's device pixel ratio.

Fixes: QTBUG-115462
Change-Id: Ib799272cd0108af6a5886496874349ff04352333
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2024-05-16 21:40:03 +04:00
Morten Sørvig b8bcf6b883 wasm: handle unable to determine emcc versiopn
It can happen that we are not able to determine which
Emscripten version Qt is built with, for example if
the detection code runs at a time when qconfig.h has
not been created yet.

In that case skip printing a warning since we are not
able to offer a sensible recommendation.

This fixes Qt configure when building for shared libraries,
where we would previously print this warning several
times:

  Qt Wasm built with Emscripten version:
  You are using Emscripten version: 3.1.50
  The recommended version of Emscripten for this Qt is: 3.1.50
  This may not work correctly

Change-Id: Ie15300e89c0e4b6f22650e662dd30fd32828e60c
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
2024-05-16 18:49:25 +02:00
Lena Biliaieva a246286c46 Http2: Export configurationToSettingsFrame(const QHttp2Configuration &)
Q_AUTOTEST_EXPORT to access it from tests

Task-number: QTBUG-122312
Change-Id: I4f7b93d476ac9cdb4b9d8338680cd681c949b039
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
2024-05-16 18:06:57 +02:00
Marc Mutz 672afb13ca QSignalSpy: make sig member const
Previously, the sig member was used to indicate successful
construction of the QSignalSpy (incl. successful connection to the
monitored signal), so it was set only after all other initialization
had taken place, preventing it from being marked as const, which would
indicate that accesses to it need not be protected by the mutex.

Now that we have it, we can instead use the d_ptr's value to indicate
success, and mark sig const.

[ChangeLog][QtTest][Important Behavior Changes][QSignalSpy] The
signal() method no longer necessarily returns an empty byte array when
the connection failed. Use the existing isValid() method to determine
whether a given QSignalSpy object listens to a valid signal on a valid
object.

Change-Id: Ia08fe3b383681f3f203cf1a121c0e1ce08ad268b
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
Reviewed-by: David Faure <david.faure@kdab.com>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2024-05-16 17:12:14 +02:00
Edward Welbourne bd01008bca Decouple the TZ and ICU backends for timezone data
The TZ backend was instantiating an ICU backend to look up display
names, which entailed locking of the lazy-evaluated ICU
member. Instead, break out how ICU looks up display names into the new
timezone_locale feature's code, so that it can be shared between the
two backends. Linux thus only needs to build one backend.

Task-number: QTBUG-115158
Change-Id: I37ebc9a30f1c0ab6fd32d45dffa9f21355fb868d
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-05-16 16:51:15 +02:00
Edward Welbourne e813acbb02 Rework QTZP::displayName() to use locale and data() more
We should only use the isoOffsetFormat() version of offset name for
QLocale::C - while other locales may coincide with it, we don't know
so shouldn't just assume. Add a query for whether a locale is the one
used by the backend for the abbreviation in its data() and, when it
is, use that abbreviation as short name. The TZ backend was searching
its transitions for help with the abbreviation; we can do that also in
the base-class, so introduce a data(TimeType) that will search
transition history (if available) for a suitable transition from which
to take the abbreviation (when appropriate).

This shall make displayName() return an empty string in various cases
where it did not, before; this is more honest than returning a string
that's inappropriate for the locale for which it was meant to be
answering.

Task-number: QTBUG-114914
Task-number: QTBUG-115158
Task-number: QTBUG-122448
Change-Id: I523229def63aafcd2009b8406b2c3d13f7c01d9c
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-05-16 16:51:15 +02:00
Samuli Piippo f3bf304de7 CMake: Allow force use of builtin testdata
Builtin testdata packages all test files into resources. This is used
on mobile platforms by default, but it can be useful on other platforms
as well. Add CMake option to force this on other platforms.

Change-Id: I67c82bc735960be53b351ed16526cbfacfbe9bb6
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
2024-05-16 17:51:15 +03:00
Assam Boudjelthia 8473b9ad19 JNI: fix docs snippet typo in QJniObject
Pick-to: 6.7
Task-number: QTBUG-125287
Change-Id: Ie0f2f26400d2e055d1de7a2307c9905d12891828
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
2024-05-16 16:40:55 +03:00
Assam Boudjelthia fbb35cdb0b Android:CMake: Add QT_ANDROID_PACKAGE_NAME property
Allow setting the package name directly from CMake properties.
If the package name is not set manually under AndroidManifest.xml
nor build.gradle, then the value set by this property is used.
The value is passed to build.gradle as "namespace" which is the
way to set the package name after AGP 7.4 instead of
AndroidManifest.xml "package" attribute.

Task-number: QTBUG-106907
Change-Id: I94bd73c294d751eabfd96c0a10a6b3ff270d8137
Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
2024-05-16 16:40:55 +03:00
Tuomas Vaarala c9ddc4b8e1 [QNX] Use QRhiBackingstore for non-raster surface windows
Since the change to use compose render-to-texture widgets through QRhi,
the RasterGLSurface is not existing anymore and it was used in QNX QPA
to check the support for using backingstore with non-raster windows.
With the use of QRhiBackingstore the QNX QPA now supports
render-to-texture widgets for non-raster surface windows.

Fixes: QTBUG-114938
Task-number: QTBUG-114938
Pick-to: 6.5 6.6 6.7
Change-Id: I01d4a34efe4902a527051776b0460ccf22e5d232
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Marianne Yrjänä <marianne.yrjana@qt.io>
2024-05-16 16:40:55 +03:00
Kai Köhne 5e699c2a8b Replace 'Qt Designer' and 'Qt Widgets Designer' in code
Use new term in examples, code comments, error messages and and mime types.

Task-number: QTBUG-122253
Change-Id: I355452d6eb02a7a0ffbb20acf82ddb8ebbfa4837
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2024-05-16 13:04:41 +01:00
Michał Łoś 7678edebba Limit size of large files test for VxWorks
VxWorks doesn't allow mapping file beyond EOF, adjust tests to encompass
that.

Additionally, for testing on VxWorks we use use builtin /tmp which is a
RAM disk (in case of VxWorks-supported imx.6 bord which have 1GB of
RAM), set max size of tested large file to 256MB, 28 bits.

Pick-to: 6.7
Task-number: QTBUG-115777
Change-Id: I73cbe112331b7cb95d80bb44b792578a1eb88a07
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
2024-05-16 14:04:41 +02:00