| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit f2920663dcd3 ("Dialogs: Only import the QQC2 module used by the
style") changed the base fallback dialog QML files to import
QtQuick.Controls.Basic instead of QtQuick.Controls. This hardcodes the
Basic style for the fallback, preventing the active style from being
picked up at runtime. Only the style-specific files (+Fusion/, +Material/, etc.) should hardcode their style module.
Revert the base fallback imports to use the generic QtQuick.Controls
module so the active style is applied correctly.
Fixes: QTBUG-133655
Pick-to: 6.8
Change-Id: Ia4b98e13858c411d0b78bdc16027093bf685ce2e
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit 9ebd2fbd7ea08333257f8566c3994870451f0888)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
| |
Add an overview page to the documentation that introduces
the main features that are available in StyleKit.
Change-Id: Ib0a3146dec94e59fd016b22ae562185404b0f36e
Reviewed-by: Topi Reinio <topi.reinio@qt.io>
(cherry picked from commit a412104b5f911573dbe50ca6f663ca471888c7a6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When Drag.dragType is Automatic and Drag.active is bound to e.g.
DragHandler.active, calling setActive(true) previously invoked
startDrag() immediately, which in turn called QDrag::exec(). That
exec() call enters a nested event loop, which is incompatible with
being called from within a QML binding or JS expression: the QML engine
is still mid-evaluation when exec() blocks, so when the pointer release
arrives in the nested loop, deactivates the DragHandler, and causes the
binding to re-trigger, the engine detects a binding loop.
Fix this by deferring the startDrag() call via Qt::QueuedConnection so
that the current JS frame unwinds completely before exec() runs from a
clean event-loop context. An 'if (d->active)' guard in the deferred
lambda handles the case where the drag is cancelled before the queued
call fires.
The executingNativeDrag flag is now set/cleared around exec() inside
startDrag() itself (covering both the Automatic binding path and direct
QML calls to Drag.startDrag()). It suppresses re-entrant setActive(false)
calls that arrive via DragHandler deactivation while exec() is blocking,
since startDrag() already handles all cleanup when exec() returns.
Fixes: QTBUG-144006
Change-Id: I9bf6a4e6f3edea7e12e187b5756ab483c462696a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Konsta Alajärvi <konsta.alajarvi@qt.io>
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
(cherry picked from commit ae6e67e4cf23af6dbceab5e62881864b3a38c867)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pick-to: 6.8
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1543
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1544
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1549
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1741
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV1803
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3062
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3128
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3129
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3130
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3134
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3135
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3136
Axivion-Id: qt_Essentials_qtquick_dev_linux:SV3137
Change-Id: I4427a85cfa6050d43ccd74bd354af3301c802151
Reviewed-by: Christian Strømme <christian.stromme@qt.io>
(cherry picked from commit c570680474bcd5f098e1fda4c05bb46885e5bc3a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When edit() is called, consult QAbstractItemModel::buddy() first to
resolve the target index. This allows the model to redirect editing
to a sibling cell, matching the behavior of other Qt item views like
QTreeView and QTableView.
The included test verifies that we now respect the buddy.
The checkEditAfterReorder() test also had to be modifed slightly.
It assigned a QVariant(QSharedPointer(QAIM)) as model to TableView,
and not the expected QVariant(QAIM). This strangly works in most
cases, but will now cause a warning in canEdit() since the variant
cannot be casted directly to a QAIM.
Change-Id: I01092228019c91212c601f104f5f2fa3274e74e0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit b2af284eac4aa0e936c42c4c62a9fe14c9ab6916)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
| |
Change-Id: Iffa5644856c8a70e6cbc584f1c007ee3143d926c
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Alexey Zerkin <alexey.zerkin@qt.io>
(cherry picked from commit a1fc37c7d43f232e1f153af4fd18a4d21d45cf1c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We don't link against any frameworks that automatically bring in
the Objective-C runtime, so we need to explicitly link it.
This was only seen in shared library builds.
Pick-to: 6.10
Change-Id: I06c7b31c7d158ac42ec685df55f2ee81c946ac23
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 5cb49d6ef7b27257a6c8e14f104d8225a6dc746d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a menu has a scale applied, as is the case for the iOS style when
the menu opens a submenu, the calculation of the exact position does
not hold. This will need to be fixed in the popup positioner, or
otherwise the style will have to find another workaround to achieve
the same visual effect.
Until that is fixed, skip the check if the menu sets a particular scale.
Fixes: QTBUG-146038
Change-Id: If1c51ba1671f0662e613df2d78e507fa95b01864
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 93b307724637447b28e992ac162c87bbf1662900)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The condition for fixing up the alias property index was wrong. Instead
of checking the last list element, it was checking the first element
twice.
To avoid further mistakes and to make the logic easier to reason about,
use std::find and std::distance to compute the index, and rely on the
compiler to potentially optimize the loops.
Amends 5b775e96c067995bf21cdf5a3641c50d5b7b272d
Fixes: QTBUG-144701
Change-Id: I589378b6cbc8d68f550ff7ec67be9a420ebee4d5
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 4f28b5469dd8e847abb54b6fa0dd75c6ae0e2874)
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A hard dependency to QQuickShaderEffectSource was not protected by
QT_CONFIG ifdefs, leading to compilation errors in -no-feature-quick-
shadereffect builds.
Add the missing ifdefs.
Amends ffcf191bb6400a7c978dc12b7b2315c839ac59d0.
Pick-to: 6.8
Change-Id: I513dc452d92a8e82824a0abd03b0c9b9c0d85e4e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit d1e72d2ae922be1a9f71909373303b14b3ad6ec1)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When delegates are sized relative to the view (e.g. height:
ListView.view.height), resizing changes all delegate positions.
The content position becomes stale, and fixup() calls snapItemAt()
with that stale position, snapping to the wrong item.
Record the currently snapped item in geometryChange() before layout
runs. In fixup(), use the saved index to override the snapItemAt()
result, so the correct item is picked with all existing header,
highlight, bounds and animation logic preserved. The hint is reset
in fixupPosition() after the fixup pass completes.
StrictlyEnforceRange is excluded because its fixup() path already
forces currentItem as the snap target.
Fixes: QTBUG-112349
Fixes: QTBUG-44449
Change-Id: Ie766a4d8641bd2410116c468afc27c8bc25b9f16
Reviewed-by: Vladimir Belyavsky <belyavskyv@gmail.com>
(cherry picked from commit 8a99e83213c674ac2946ded86b1aec70c5af63f8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
This commit adds the Example and Reference Fallback Style topics to the
TOC tree. They were missing, which made it difficult to find them when
browsing the documentation.
Change-Id: I44da4b2947c74d5c1e72c6b1fe65480a73bf8e4c
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit 74c155f53f5b30081e48b4f8b49712b58240611a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
| |
Change-Id: I6f674f31fa361c0dc6141c9e439147f846610219
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit c39322626ec2ca05409d18c35a6e8af5e3f86b54)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
This is a step in the direction of enabling strict mode 6.11 in
this module.
Task-number: QTBUG-145828
Change-Id: I76a24d0e8ced12eabcdefaf6a58d3b4a284d8d35
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 25e5aacb52729f6579435f37c172adca6668f38a)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: Ibb178b9df0ef2ad3ca41d4ead16abbf04a226405
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It was still using Qt 5 uint instead of Qt 6 size_t.
While at it, make it idiomatic, to wit:
- make it a hidden friend (requires moving it into the header, which
is good, as it prevents possible ODR violations)
- noexcept
- make it use qHashMulti() instead of rolling your own combiner
It's ok to make this implementation inline, since this is a private
type.
Found while looking for qHash() overloads in platform-dependent code
in order to enable strict mode 6.11 in this module.
Amends the port of uint to size_t hash values (6.0).
Pick-to: 6.8
Change-Id: I31faacfe562e1fee9059922cea125a14b79a6d8a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
(cherry picked from commit 01148c612792bc7ea08190eae7765427fd87e193)
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickLayout::effectiveSizeHints_helper() adds margins to the size hints,
which are not needed in FlexBoxLayoutItem case as the item is managed
by the Yoga layout library.
Fixes: QTBUG-142153
Pick-to: 6.10
Change-Id: Ibd243a375c0f459770688250606462485666a282
Reviewed-by: SanthoshKumar Selvaraj <santhosh.kumar.selvaraj@qt.io>
(cherry picked from commit 8ea218874eb058f1294c56ed64f705a422aa6562)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV994
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV995
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV996
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV997
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV998
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV999
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1000
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1001
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1003
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1004
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1005
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1006
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1007
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1009
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1011
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1012
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1013
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1014
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1015
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1016
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV1019
Change-Id: Ie792b0bf76cc30cf70b948378de3752adc95c4f8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit c51e5c1b5cab2690db0493a9b54870bab37cfee6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
constLast() does the trick here.
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV942
Change-Id: I96d8e7bfb2561137f0b2c3be1f0a34a0a9d27f84
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
(cherry picked from commit f52a4d29f03336f4994c1af7f3b4e6ce27210bea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
We can do an early return here.
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV904
Change-Id: I2658d103d75f011384d2c60381ebd48b27277e87
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
(cherry picked from commit 10931b34091eaef6923feeaf2703ae44836ab5bd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
erase() will detach the container anyway and mixing const and non-const
iterators is bad.
Pick-to: 6.8
Task-nmber: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV883
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV959
Change-Id: Ic474f4ed8a31c38d81affcccd96a924a1d140dbf
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
(cherry picked from commit f33c383ee1b8de5434730efac441ee3dbb7202c6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
QHash is generally faster anyway.
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV853
Change-Id: If8a0e6a889a8cdb6b8ca83ff4ba7cbcf4e809a03
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 1c82429ed8cbff94921c1c64086da079ee3c64e5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Some tools seem to think there is a QStringBuilder involved here.
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV811
Change-Id: I16f5e88c8250838216ba2eabb6a5f09053fd6cdd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit a65fbb26770d2326b6381b1ff779e62dcf2ca32d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
| |
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV686
Change-Id: I6e349595fdc62a76f55356027b2cb86243e7f6fa
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit a7b327905a0e344139c63ba2c879cce3afa92bea)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV503
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV504
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV505
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV632
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV633
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV634
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV772
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV817
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV818
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV821
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV822
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV943
Change-Id: I67e256c7b57098dc59334bdede32530ad8dfef87
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 835468e6785932e65ab9fd0e8587ea9d5d6515f3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Amends 6c7f8e1cbcd71623661f451ee4329b42696ddad0
Pick-to: 6.8
Task-number: QTBUG-136194'
Change-Id: Ia143659e0cb3c2921ccab1b7907b41049a59bc40
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 1f4cf7e89079a61fa9a1412e7701f6cee27f4a80)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
positionAt(0) can make inaccurate estimates in cases where
the target element is outside the cache buffer, and the
list contains section headers.
However, since the beginning is a well-known position we
can just scroll directly to that position instead.
If we do, markExtentsDirty after clearing the visibleItems, to prevent
an issue that could occur when setPosition(0) gets called with a stale
extent. the extent must be recalculated, in order to be precise, and
take into account if the first item has a section or not.
Fixes: QTBUG-132694
Change-Id: I51e0634e685d56d1ab341c31f79a8e89cfa6f5c0
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
(cherry picked from commit 9111e967bf54e8fc6644727d334ebfdaf3b59a28)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
We don't want to copy the elements.
Pick-to: 6.8
Task-number: QTBUG-146040
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV289
Axivion-Id: qt_Essentials_qtqml_dev_linux:SV696
Change-Id: Ia72bd0577b704e5310850218eeb6e8ab3d75df81
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit b053d7ab99129d6b77920d17ccf75eacf218bb29)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The test application, mimicking Design Studio tools, has two
QQuickWidgets with content loaded before show(). This triggers a very
wrong usage of QRhi resources within QQuickWidget and the QRhi-based
compositor in the backingstore, because one of the two QQuickWidgets
seems to stick to the offscreen infrastructure it created (the dedicated
QRhi created by the QQuickWidget itself when it is not shown, basically
just to support grabbing).
Then the backing texture of this QQuickWidget is used by the
backingstore compositor with a different QRhi, the one for the window,
which the QQW should also have used by that point. That cannot work.
Remedy this by invalidating properly when starting to use the QRhi
reported from QWidgetPrivate::rhi() and the offscreen infra is already
initialized. No different from what happens when the widget is moved to
a new top-level and then has to deal with a new QRhi from then on.
In fact, the now-added logic matches exactly what QRhiWidget does in
QRhiWidgetPrivate::ensureRhi(). It is not clear why this was never there
in QQuickWidget.
Pick-to: 6.8
Fixes: QTBUG-145383
Task-number: QTBUG-142207
Change-Id: I865af6459f3dce756858a5d5bf3c12e292286d9c
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
(cherry picked from commit bf78d7bdf4702b8a3abc5e020d75b087d8f47631)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-116296
Fixes: QTBUG-145828
Change-Id: Ibef2895a408e6a21659825e185885085ef6ca70c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 2837fa1b31f735fb22c5eea84787e59195071a5d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I9822c0e6119c4214ad4e9dafbc35dadcf84a7eab
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I5e886e6984df93034a5dc3b4a87099d5828e0f97
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Set the connection type to DirectConnection, as pointed out by Ulf in
code review, the signal is emitted from the new thread, if the context
object lives in the main thread the connection will be queued by
default, which would make the test hang.
Change-Id: If98f064652a2821d234a46f5fb1e97f0cd9384fe
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 696007ac73e13d80a7f0406ef39813359fa32725)
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
value change
We're porting QTypedArrayData::allocate() away from std::pair, so wrap
its return value in a small conversion lambda to transparently adapt
to the change without causing a tight coupling between the QtCore and
QtDeclarative changes.
Task-number: QTBUG-146013
Pick-to: 6.8
Change-Id: I4db0232fcdcf3b0c8d1600b7be49a0afdc0d9795
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
(cherry picked from commit 43211cb3866f3b414566d1abe49acefa4191cfbd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the source object as the context object, since the lambda is only
interacting with the source object.
Amends 68c103225f4e8bd6c1b18ef547108fd60f398c0f (6.2), which, however,
just moved this code from another file.
Pick-to: 6.8
Task-number: QTBUG-145828
Change-Id: I63e2025ae31913f121f3a65fc8e735c1e6bedbf3
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
(cherry picked from commit b0d1ed208d71ca50f32fe72aa8ca1f8fb80fbb23)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the source object as the context object, since `this` is not a
QObject.
As a drive-by, pass HandleDestroyedFunctor as an rvalue.
Amends 537172dc9f76fa08e995042021f620cef7bd4929 (5.6).
Pick-to: 6.8
Task-number: QTBUG-145828
Change-Id: I61bd6faed425097b95da74045109e731f7808165
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
(cherry picked from commit fa20148237a172f0f08eb031df7c5d2cfd41235e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-145967
Change-Id: I6389c5a436360e4d6a912189efc358f9ed4211c4
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
(cherry picked from commit e7715adb1cd7d28a1c457ad267f418fb8b4af77b)
(cherry picked from commit cf19fa4270b62878b6a4c8d6e1752a6c44ca2486)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tst_qquicktext::contentSize(spyWidth.size()) fails consistently on
Windows. Instead of blacklisting it, add QEXPECT_FAIL to it. And remove
the test blacklists for other Windows compilers, as they also look to be
consistently failing and not flaky (QUIP 24).
Task-number: QTBUG-88646
Task-number: QTQAINFRA-7559
Pick-to: 6.8
Change-Id: I4e1519767b1804cbe09954d1f25ca11c6c478ac4
Reviewed-by: Mårten Nordheim <marten.nordheim@qt.io>
(cherry picked from commit c4179b8e121ef9caae8c11adddb8cad2dfc08662)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a ViewportOnly rebuild is triggered in TableView by a row
or column insertion or removal, delegate items that survive the
operation (i.e. are not part of the removed range) should not
be pooled and reused. Instead they should simply stay in place
and have their context properties updated to reflect any shift
in flat index, row or column. This avoids a full pool cycle,
preserves any ongoing visual state such as animations, and
suppresses unnecessary pooled/reused signals.
To achieve this, released items are now staged in a temporary
m_releasedItems cache rather than moved directly to the reuse
pool. During the rebuild, resolveModelItem() first searches the
cache for an item whose QPersistentModelIndex matches the
requested cell. If found, the item is reclaimed directly.
Once the rebuild is complete, commitReleasedItems() transfers
any remaining cached items (those whose cells genuinely
disappeared) to the reuse pool, like before.
In order to achieve this, a new QPersistentModelIndex is stored
on each delegate item. That way we know which cell it originally
belonged to, even after changes to the model shifted its
row and column position.
A new auto-test, verifyThatOnlyRemovedRowsArePooled, is included
that verifies the new expected behaviour.
The changes in this patch also uncovered that the test model used
throughout in the test file was implemented with too many assumptions,
and therefore needed some TLC.
Fixes: QTBUG-116650
Fixes: QTBUG-134741
Change-Id: I0b935320b6e7dca215df438f5981a154a8c10385
Reviewed-by: SanthoshKumar Selvaraj <santhosh.kumar.selvaraj@qt.io>
(cherry picked from commit de4b7283c978ca384f6c8bf9f27387158804b601)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
| |
Task-number: QTQAINFRA-7720
Pick-to: 6.8
Change-Id: I475c277aa69f5cfc754206e555258d4f344d1764
Reviewed-by: Simo Fält <simo.falt@qt.io>
(cherry picked from commit 254fbf03550d658ff3c712f43916ce9ac37da04c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the suggestion model becomes empty, we used to call
setCurrentItemAtIndex(-1), which goes through updateDisplayText()
and ends up setting the field text to textAt(-1) (an empty string).
This can overwrite the user’s input and can trigger binding loops when
the model is filtered by SearchField.text. Fix this by resetting with
setCurrentIndex(-1) (and clearing the highlight), and by returning
early from updateDisplayText() when currentIndex < 0 so we only update
the text when there’s an actual selection.
Pick-to: 6.10
Fixes: QTBUG-144241
Change-Id: I41c052e2fc1123100c68b0a31645b6f505640cbb
Reviewed-by: Jani Korteniemi <jani.korteniemi@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 67d43908fbae0e3c766a8a99c5d515508a6a207e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use `this` as the context object, because the lambda acts only on
`this`, too.
Amends 5af4c9b237a23ce12ca7c56eb6c9ecda17743228 (5.10).
Pick-to: 6.8
Task-number: QTBUG-145828
Change-Id: I481cc6dbb7bd4b003c606a9499ccc5ec946d154b
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 92186e50c3548dd0e22b23bf28c9050e443a1502)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a QQuickPopup is open inside a QQuickWidget,
pressing Tab on the last focusable item in the popup would move
keyboard focus to a widget outside the QQuickWidget instead of cycling
back to the first item in the popup.
QQuickItem::nextPrevItemInTabFocusChain() has a parameter `warp` which
is used by QQuickWidgets and embedded windows. To prevent wrapping
between the first and last focusable items in the QML scene.
This was working as intentional, with the exception that it would ignore
cases when the current focused item is inside a tab fence. In such
cases, we still want the item to wrap, we just want it to wrap inside
the tab fence, which nextPrevItemInTabFocusChain() already takes into
consideration, as long as we don't return early when wrap=false.
Fix it by only returning early from wrap=false, when not inside a tab
fence.
Fixes: QTBUG-138101
Pick-to: 6.10 6.8
Change-Id: Iab0914161f0a80c3b0df0385cfb1fd0c0027ac7a
Reviewed-by: Doris Verria <doris.verria@qt.io>
(cherry picked from commit 77c3189bc00ebd302b5a211d039db49228dca105)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickPopupPrivate::windowInsets() returns a QMarginsF object.
The constructor used is
constexpr QMarginsF(qreal left, qreal top, qreal right, qreal bottom) noexcept;
The values passed for top and right were swapped. Fix it in this patch.
Add test that verifies that the margins are set in the correct order.
Pick-to: 6.8
Change-Id: I25af57ac5ee6ddd056dda310392f7f9b2633f302
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit b41c6899490135268d27ccfb0cf552f1379387e8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
| |
|
|
|
| |
Change-Id: I1a263da950c5d3d2148bff5f010610a8156e17eb
Reviewed-by: Qt Submodule Update Bot <qt_submodule_update_bot@qt-project.org>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 439864b68e4dbc500b7eb941e3d0d48e538e8a78.
Reason for revert: Breaks qmlsc (QTBUG-145981)
Fixes: QTBUG-145981
Reopens: QTBUG-145611
Pick-to: dev
Change-Id: I9eff05139cd4659ce822a34a04b4ffe66813d310
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit d7666a15ce36f3e5e5ab5722da43c82124cba8b7.
Reason for revert: Breaks qmlsc (QTBUG-145981)
Task-number: QTBUG-145981
Reopens: QTBUG-145611
Pick-to: dev
Change-Id: I5bacc0b026fb79085e7e608de9b6634318880eb4
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use 'this' as the context argument, because that's what the lambda
acts on, too.
As a drive-by, fix the depreated [=] capture of *this by capturing
[this] instead, which likely breaks C++20 builds. Therefore pick all
the way.
Amends 8a650ed550ea65a62ecce7f472838cc0ba53d5e4 (picked to 6.5).
Pick-to: 6.8 6.5
Task-number: QTBUG-145829
Change-Id: I6ff932696a923b80796319729b93c97fb573dc9a
Reviewed-by: Ahmad Samir <a.samirh78@gmail.com>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 34d5f23ad5faa0218498066e770388cb0231ebc1)
Reviewed-by: Marc Mutz <marc.mutz@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As pointed out by a local QT_NO_SINGLE_ARGUMENT_QHASH_OVERLOAD build,
the qHash() function was missing the seed argument.
Rewrite the function to be idiomatic, to wit:
- add the seed argument
- make it a hidden friend
- make it noexcept
- use the idiomatic qHashMulti function instead of rolling your own
combiner.
We can change the hash calculation of this inline implementation
because it's a private type.
Also add the missing header, but include qhash.h instead of
qhashfunctions.h, because there's also a QHash object that's used
in-size.
Amends 2275a0896c7b7e648641f4c6977a02006a581577 (6.2), but that seems
to just have copied the code from somewhere else.
Pick-to: 6.8
Task-number: QTBUG-145828
Change-Id: Ic9380a73be1f6cf720cc8eb637b7293339f16400
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 9a33eef512b8dd262a388ff579f67e5c638d3b61)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a Text element uses StyledText with <br> tags, maximumLineCount,
wrapMode: Wrap, and elide: ElideRight, constraining its width could
cause implicitWidth to grow far beyond the correct value.
The root cause is twofold:
1. The loop that creates unwrapped lines for implicit width calculation
used '<=' instead of '<', causing one extra line to be created and
finalized beyond maximumLineCount paragraphs.
2. The multiline-elide code path creates a trailing line via
createLine() to compute the elided text. That line is left unfinalized,
so endLayout() finalizes it at QFIXED_MAX width, inflating
maximumWidth(). Finalize it at zero width right after use.
Fixes: QTBUG-142933
Change-Id: I64bab9512b8400ed63a4dda709259488a2b49a21
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 021778a0ad7d5758cee5f5592017e46b4e12171d)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|