| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Port QSGDepthStencilBuffer in a slightly changed form from Qt 5.
Two layers in the same scene can use the same single depth-stencil
buffer, instead of creating a dedicated one for each. As long as the
size and sample count is the same. The render passes are recorded
sequentially, and there is no need for the depth-stencil content once
a render pass is done.
The catch is having to deal with changing sizes, e.g. a window resize
often leads to changed sizes for the layers of the scene. We do not
want to end up cached renderbuffer objects with sizes that will
possibly never be needed again. The Qt 5 approach solves this with
reference counting and QShared/WeakPointers. Continue with that
approach.
If there is actually a depth-stencil buffer that is fully physically
backed, that is a different question. With Vulkan for instance,
on some GPU architectures we expect that the depth-stencil images will
be transient + lazily allocated + no store, so it may matter little
how many images we have. Similar things might happen in GLES
implementations on tiled GPU architectures.
However, generally it is ideal if the Qt 5 behavior is kept, so that
no confusion arises from an extra renderbuffer or two showing up when
counting and comparing resources in frame captures between Qt 5 and 6.
Fixes: QTBUG-135813
Pick-to: 6.9 6.8
Change-Id: I238dc53600f4a00e6ee2f7ccc97ac33ff189e3c5
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
A new example showcasing use of a worker thread for fetching data to a
custom model based on QAbstractListModel. The pattern is a topic in
Qt World Summit 2025.
Fixes: QTBUG-135351
Pick-to: 6.9
Change-Id: If1fe04740206fa5bfbe1eea269e2bde1e217eaf9
Reviewed-by: Shawn Rutledge <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an object has a dynamic meta-object (e.g. because it has been
extended with additional enums), we can no longer create a property
cache.
This could have caused a null-poninter dereference; avoid this by
checking for nullptr.
We currently don't do any checks at all in that case; finding a better
solution is tracked in QTBUG-136560.
Pick-to: 6.9 6.8
Change-Id: I678cf9908d5bbec50e133a462f7f4c813dca44dd
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Commit 137cdc364dd5d569c613b83246a26e3803d7556d broke
qt6_target_qml_sources with no QML_FILES argument, because it called
qt6_add_resources without FILES (for the QML files), which causes a
linker error.
Check whether we have QML files and only then create the QML-specific
resource.
Add an autotest that calls qt6_target_qml_sources separately for QML and
resource files.
Fixes: QTBUG-136491
Change-Id: I5e8173652887f257fd6d8e6c8d18bcc0e295b714
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
| |
In theory, newly loaded modules might have different module imports.
Change-Id: I045769e25b2bb89face1984fac0991e80cdbc199
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
| |
In theory, we might otherwise get conflicts when loading new types.
Change-Id: I6df05088684da8baeaf820fd7df78a10046b3ccd
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
| |
If a QMetaType is a pointer to QObject, it's not a value type.
Change-Id: I7505a968e02ff87646af6c1e506a99328fc7d6eb
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
| |
- Warn if the same `QML_FILES`/`RESOURCES` are passed more than once
- Add an opt-out warning for duplicate file warning
Change-Id: I6c547b1ea869216cbafbc9bcbcda229c5f03d337
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
...if the position is not already set. Events that come from a keyboard
menu key or shortcut often have pos() == {0, 0}, but we want the context
menu to be in the context of what the user is editing.
First though, we need QQuickDeliveryAgentPrivate::contextMenuTargets()
to search for items at the correct position. We don't override delivery
order, but activeFocusItem should be in the list that is returned.
Pick-to: 6.9 6.8
Fixes: QTBUG-136253
Change-Id: I7eea03e118a95a1a267f02bd3385cc1ae4cbb0a0
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the type propagator, when encountering back jumps, we need to run the
pass again in order to ensure that the state of the registers at the
target of the jump is fully known.
For this, we need to compare the latest state in the current pass with
states we have encountered earlier. If a match is found, no more passes
are needed.
The propagation is run multiple times and state is accumulated between
passes. For certain conversions, this will try to append types as
origins again every iteration. These would previously have been
deduplicated by QQmlJSTypeResolver::merge but, since the change at
1e095058e165b1c2f244799ca1928ae4cc046a2c, we consider 2 registers to be
equal only if their d pointers are equal. And since instructions such as
MoveRegexp create a new register for the literal type RegExpr every
time, the pointer doesn't match with the one from the register created
by the instruction during the ealier pass. This would lead to set of
origin types growing forever and to the state never matching a previous
one. This, in turn, caused an infinite loop because an additional pass
was always deemed necessary.
Therefore, restore the old logic that deduplicates based on contained
type, variant, and (recursively) scope.
Amends 1e095058e165b1c2f244799ca1928ae4cc046a2c
Fixes: QTBUG-135457
Pick-to: 6.9
Change-Id: I23167e95b958304698d12537598c1d72b03a5364
Reviewed-by: Ulf Hermann <[email protected]>
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revisions are for unqualified lookup. Aliases are always qualified.
[ChangeLog][QtQml] You can now create aliases to revisioned properties
that would be unavailable when accessed without qualification. Aliases
are always qualified after all.
Pick-to: 6.9
Task-number: QTBUG-136248
Change-Id: I2aae7bb104850def8f220bfab1a2fa056efe78e0
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The alpha value of the fill and stroke colors can be animated
separately in SVG. In order to support this, we introduce a
specialized ColorOpacityAnimation type in a Helpers library
which only overwrites the alpha channel of the target property.
This requires an extra hook in the animation frame work which
allows us to get the current value of the property. It should
have minimal impact on any existing code, but may have
additional use cases later, when we implement support for
additive color animations for instance. Since the interpolator
API in QVariantAnimation is public API, we add a secondary,
private API for this. If we see use for it in the future,
this could mature to a public API as well.
Fixes: QTBUG-135322
Change-Id: I803f4e64c41e9d6dc355f2468233661885aa7f15
Reviewed-by: Eirik Aavitsland <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QtQml] The new Synchronizer element allows you to
synchronize values between two or more properties without breaking their
bindings. This is useful for connecting user-editable controls to
backend values.
Fixes: QTBUG-21558
Change-Id: I01c32d7a39f1efc89975d8494ad698444c803fd4
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
| |
This commit fixes several broken links in \nativetype.
Pick-to: 6.9 6.8
Change-Id: I45c599eb165b062b2a9eddea3fd13b90d2d7fd74
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There has never been a version 2.1 of Qt.labs.platform. All those
signals were added in version 1.1.
Amends commit 5246dd2de211ffb81313a5c29ae7894545a28c43.
Pick-to: 6.9 6.8 6.5
Task-number: QTBUG-136248
Change-Id: Iee02e95e8b7558d30ab0fe725aa2d80220acfa48
Reviewed-by: Mitch Curtis <[email protected]>
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
The list models can be nested, and inner models don't necessarily have a
layout. Also, we need to release any worker agents we reference.
Pick-to: 6.9 6.8 6.5 5.15
Fixes: QTBUG-136127
Change-Id: Ibedefce2a1d6783169e754fbf083099d050dceb1
Reviewed-by: Olivier De Cannière <[email protected]>
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If no file is found by the glob REMOVE will throw a warning.
Catch that.
Amends 538cd9d8ce5539d0b95d8e33cdd705a4cb388d53
Pick-to: 6.9 6.8
Change-Id: I35169e1930ddd6b34a7b0f8a979ee34c796f36f5
Reviewed-by: Alexandru Croitor <[email protected]>
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
| |
The binding might not update if their value changes.
Fixes: QTBUG-112508
Change-Id: I27801d662117a89c0fdddc2aaa2f1dde21b238df
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emit the rowsChanged signal when there is a change in the rows.
Update the test cases accordingly.
Fixes: QTBUG-136142
Pick-to: 6.9
Change-Id: I864a743f1a197c755daa014ce0dfcc71651ab8ca
Reviewed-by: Richard Moe Gustavsen <[email protected]>
Reviewed-by: Matthias Rauter <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Warn about duplicate property bindings for object and script bindings.
Remove a TODO about doing this task that seemed to be at the wrong
place.
Fixes: QTBUG-118102
Change-Id: I46696b696f6c7e0c83e36077998d6118b14498ad
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
| |
In order to correctly support transformation order, we needed
a refactor in Qt Svg. We need to adapt to this and apply the
animations in the correct order in Qt Quick.
Change-Id: I38e323f95b7edc26fd8d78ebd98778c3da1adbea
Reviewed-by: Hatem ElKharashy <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
There will be compilation errors if QByteArray's implicit
conversion to const char* is disabled (which is possible in
some user configurations). Just convert QByteArray to const char*
manually, don't rely on such implicit conversions.
Change-Id: I7b68066bc82a0a64f38ad8f9903d06ffe4bb0754
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The current setup makes it difficult for the reader to separate the
actual values from the see also part. This patch capitalizes the
See also part and puts it on a new line.
Fixes: QTBUG-134606
Pick-to: 6.9 6.8 6.5
Change-Id: I03847c82bbc115ce62358f196dbd26cac87b3497
Reviewed-by: Safiyyah Moosa <[email protected]>
Reviewed-by: Shawn Rutledge <[email protected]>
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Replace separate storage for corner radius and bevel with a single 8-bit
field cornerProperties. The first 4 bits track radius flags, and the
next 4 track bevel flags.
Fixes: QTBUG-134908
Change-Id: Ie2d706112965fc5dde07fa698e32e29695da219b
Reviewed-by: Shawn Rutledge <[email protected]>
Reviewed-by: Eirik Aavitsland <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
The warning suggested calling TextEdit.clear() before loading a
different url if the text is modified, but that actually doesn't work.
But as the `source` property docs say, it's possible to set
`modified = false`.
Pick-to: 6.9 6.8
Change-Id: Ia078269c76be141adb06303163a661927f125bcd
Reviewed-by: Oliver Eftevaag <[email protected]>
|
|
|
|
|
| |
Change-Id: Ia71e88dbd983303c15e532b812550214426d4d6d
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because we only search for the name of the property in the
scopesToSearch and not which property that name actually references, we
confuse a property of the same name in a neighboring scope for the
actual required one.
Include the property's owning scope when searching through the scopes.
Amends daf57e29de918b7b4be7bb0d469db0c51d41bb07
Fixes: QTBUG-136058
Pick-to: 6.9 6.8
Change-Id: I998901fd0840270dd2048e7257d6eaca556b513d
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Amends daf57e29de918b7b4be7bb0d469db0c51d41bb07
Task-number: QTBUG-136058
Pick-to: 6.9 6.8
Change-Id: Ibf412089427e4d9d5a568ee24c224b9fa41fd20a
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Move it next to QQmlJSImportVisitor::checkRequiredProperties and also
make it filter out any scope that isn't of type QMLScope.
Task-number: QTBUG-135244
Pick-to: 6.9
Change-Id: Ibf3fa90ab7db9fcd9811509b5f893aeab4f14925
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Checking required properties had become quite slow, especially on huge
files, after daf57e29de918b7b4be7bb0d469db0c51d41bb07.
Immediatelly checking for the presence of a property binding speeds
things up a lot. fluentwinui3/Slider.qml, which reference a 20k line
file, now compiles almost instantly again instead of talking several
tens of seconds.
Amends daf57e29de918b7b4be7bb0d469db0c51d41bb07
Fixes: QTBUG-135244
Pick-to: 6.9 6.8 6.5
Change-Id: I4391db27f391b179ad03dabadc910f23fa932037
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
We create and increment an iterator and then don't use it...
Amends daf57e29de918b7b4be7bb0d469db0c51d41bb07
Task-number: QTBUG-135244
Pick-to: 6.9 6.8 6.5
Change-Id: Ia92df8e7dc337786eba43980364ad03c747ec11b
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amends daf57e29de918b7b4be7bb0d469db0c51d41bb07 that recurses into
inline components when checking for required properties that were not
set. We should only check inline components that are base types of the
scope, and ignore all inline components in children of the scope.
Fixes: QTBUG-136008
Pick-to: 6.8 6.9
Change-Id: I8c687ce97b3f2eac699e2fd535193197b5239ada
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The compiler is very polite and does not tell the user about its useless
code. Codegen::statementList(StatementList *ast) silently discards
unreachable statements during byte code generation.
Warn the user that their code is unreachable. Don't warn about
function definitions because these ones are "hoisted" up,
which means that their definition is supposed to be pushed up, so that
they can be used even if they are behind a "return" or "throw"
statement.
Don't use the qqmljsbasicblock analysis for that, it reports too many
"false positives" where the compiler generates dead code that can't be
fixed by the user.
Task-number: QTBUG-129307
Change-Id: Ia26e8af1adf4e63b26dcaa7fb10be73b7eb084d7
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
- State ownership of returned object for createWithInitialProperties.
- Add missing stuff about contexts.
- Correct another sentence that referred to "m_engine".
Pick-to: 5.15 6.5 6.8 6.9
Change-Id: I1f6e743b0999236844f2666ca638efe75f3f8f0c
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also add support for popups (when controlstestutils_p.h is included).
[ChangeLog][Qt Quick Test] Added QVERIFY_ACTIVE_FOCUS and
QTRY_VERIFY_ACTIVE_FOCUS macros that can be used to get detailed
failure messages for when QQuickItem::hasActiveFocus should be true but
isn't.
Task-number: QTBUG-133858
Change-Id: I30c67a84ccc16e3969bac5661648d0062bc3d62c
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Warn about functions used before their declaration. Its not technically
an error like the "var used before declaration" because functions are
"hoisted up" and therefore available even before their declaration, so
create a new warning category for it instead of reusing the "var used
before declaration" category. Disable the warning by default: Qt Creator
used to have it as default, while other tools like eslint don't.
For the same reason, don't warn about functions used before declaration
during codegen, and add a method to warn about it in
CodeGenWarningInterface. The code for "var used before declaration"
can be reused by function declarations by adding a sourcelocation for
function declarations in the "addLocalVar"-call, so make sure to
differentiate between functions and vars by adding an extra member to
Context::ResolvedName.
Task-number: QTBUG-129307
Change-Id: I83a4f8cd00c120db23a0cec3365a00ed44de2836
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of passing the DPR through as function arguments to each addFoo
function we set the DPR on the QSGInternalTextNode and QQuickTextNodeEngine.
We could have solved this by pulling the DPR from the QSGRootNode's
renderer, but there might be more than one of them, and we're missing
a setDevicePixelRatio in QSGAbstractRenderer (it's only exposed one
level above, in QSGRenderer).
Pick-to: 6.9
Fixes: QTBUG-127913
Change-Id: I48081d441259f0713cdc5f784eede6777b5fb601
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Line 68 is using the Qt::QuickControls2WindowsStyleImpl
target, however, it is included after the qt_internal_add_qml_module()
call, and this always cause warning [1] when CMake is configuring.
[1] CMake Warning at qtbase/cmake/QtFindPackageHelpers.cmake:561 (message):
Could not find target Qt6::QuickControls2WindowsStyleImpl to query its
package name. Defaulting to package name
Qt6QuickControls2WindowsStyleImpl. Consider re-arranging the project
structure to ensure the target exists by this point.
Call Stack (most recent call first):
qtbase/cmake/QtFindPackageHelpers.cmake:620 (qt_internal_get_package_name_of_target)
qtbase/cmake/QtTargetHelpers.cmake:286 (qt_internal_register_target_dependencies)
qtbase/cmake/QtPluginHelpers.cmake:290 (qt_internal_extend_target)
qtdeclarative/src/qml/Qt6QmlBuildInternals.cmake:224 (qt_internal_add_plugin)
qtdeclarative/src/quickcontrols/windows/CMakeLists.txt:39 (qt_internal_add_qml_module)
Change-Id: I26a430bad89aee96ecb0f0b4610a16b88704121b
Reviewed-by: Mitch Curtis <[email protected]>
Reviewed-by: Alexey Edelev <[email protected]>
|
|
|
|
|
|
|
|
| |
There's no reason to use the helper function in QtCore, now that we have
the scheme available from the style hints.
Change-Id: I70063b62f0c359d9c88cf2ba401e4354b6d546c4
Reviewed-by: Tor Arne Vestbø <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The calculation for progress was wrong.
With enough steps moving towards a position that's centered over an
item, this wouldn't have been noticeable. However, with only a couple
of steps, it will fail to reach its target.
Before:
i=0, progress=0
i=1, progress=0.333333
i=2, progress=0.666667
After:
i=0, progress=0
i=1, progress=0.5
i=2, progress=1
forEachStep(1, func) is silly: then there is just one step, so we only
call func(1.0) once, and avoid divide-by-zero.
Task-number: QTBUG-105856
Task-number: QTBUG-136031
Pick-to: 6.5 6.8 6.9
Change-Id: Ia8e37e3810ab3e94a17bab6d40087e521f1abde0
Reviewed-by: Shawn Rutledge <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
8fb643f6d63813a5a8df5e829e4ddeb357e0348d fixed ComboBox not being
hoverable by setting QQuickApplicationWindowPrivate::control's
hoverEnabled property to true. By doing so, it ensured that only
that control and its parent chain could get hover events, breaking
hover for e.g. background.
The correct fix is to adapt QQuickControlPrivate::calcHoverEnabled
to skip the property("hoverEnabled") == true check for
QQuickApplicationWindowPrivate::control, resulting in it falling back
to the global checks.
- Remove code added in 8fb643f6d63813a5a8df5e829e4ddeb357e0348d.
- Move QQuickApplicationWindowPrivate declaration into its own header
so that code outside the .cpp file (qquickcontrol.cpp, in this case)
can use it.
- Document behavior of hover flags in
void QQuickItem::setAcceptHoverEvents.
- Move the check done in tst_QQuickControl::hoverEnabledDefault()
into the new tst_QQuickApplicationWindow::hoverInBackground()
since they're closely related.
- Add initial starting position argument to PointLerper's constructor
since it wasn't previously possible to set it.
- Remove unused headers in qquickapplicationwindow.cpp.
Fixes: QTBUG-133886
Fixes: QTBUG-136031
Pick-to: 6.9
Change-Id: Ic32f902be6433c1c9dc9f4610c5715ce1537e605
Reviewed-by: Shawn Rutledge <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qmlls makes QQmlJSImportVisitor re-create a QQmlJSScope when a file gets
updated. It turns out that QQmlJSImportVisitor only works correctly when
used on an empty scopes, methods like rootScopeIsValid() don't work
correctly if the scope is not empty.
Therefore, reset the scopes before making QQmlJSImportVisitor run on
them. Make sure that the internalName and the moduleName are still set.
This fixes a bug where qmlls can't autocomplete an "in-memory" enum
because the import visitor does not set the new enum values in the root
element correctly on an non-empty scope.
Pick-to: 6.8 6.9
Fixes: QTCREATORBUG-32634
Change-Id: If6d620f350215074f87b53bb153363f2dec06145
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Add a command line parameter to print the qmlls version, required by
qmlls clients to check the version of downloaded qmlls binaries.
Fixes: QTBUG-132692
Change-Id: I7903f6859b6da2f3849a899e46fe4c5ce1cf4c42
Reviewed-by: Ulf Hermann <[email protected]>
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of manually observing the effectiveAppearance in the Mac
style we now propagate the colorScheme change signal, which lets
us update the style in lock step with the theme changes in QtGui.
Pick-to: 6.9
Change-Id: I459d47f722a26323f3b3a1f0e8b803b0058d0e7a
Reviewed-by: Doris Verria <[email protected]>
Reviewed-by: Oliver Eftevaag <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Unlike most other styles the macOS style didn't initialize QQuickTheme
with a style specific palette (either directly or via a custom theme
class).
Instead, we would indirectly pick up the platform theme palette when
QQuickStylePlugin::createTheme called QQuickStylePrivate::readPalette
to read palette settings, as we then default-constructed a QPalette,
which picks up its colors from QGuiApplicationPrivate::app_pal, which
in turn is based on platform theme palette, via QGuiApp's basePalette.
However QQuickStylePlugin::createTheme only initialized the System
palette of QQuickTheme, which meant that we failed to use any role
specific palettes that the platform theme provided.
In addition, because we only initialized the palette once, when
creating the theme, we failed to pick up any changes to the platform
theme's palette.
To fix this we simply tell the QQuickTheme to prefer
the platform theme for its palette, which means any query to the theme
will go through the platform theme. This also means we don't need to
hook into QtQuickControls2StylePlugin::updateTheme() to re-initialize
the palette.
Technically we do have the same problem with the theme's fonts, but for
that we don't have a way to instruct the theme to use the platform theme.
Pick-to: 6.9 6.8 6.5
Change-Id: I56eb278a80b184397114282839e958d61bd0028e
Reviewed-by: Shawn Rutledge <[email protected]>
Reviewed-by: Doris Verria <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc allows positioning some amount of documentation under certain pages
by use of the "\relates" command.
The "\relates" command takes an argument that represents a name and
tries to find where the documentation should be positioned in the
output, based on that name.
When the provided name doesn't refer to anything that QDoc is aware of
in the current project, a "proxy page" will be created to hold the
documentation.
The "qqmlintegration.h" header is documented as an header and its
generated page was intended to be used to collect the documentation for
a series of elements that the header exports.
Nonetheless, while the header page itself was created while, the
elements that were intended to be collected where insted positioned
under a similarly named proxy page.
The issues stemmed from the "\headerfile" command using the
"<qqmlintegration.h>" name to refer to the header and the relevant
relates command using the "qqmlintegration.h" name to refer to the same,
with the two names differing in the usage of the surrounding angle
brackets.
To avoid creating a proxy page, and instead correctly collecting the
relevant documentation under the header documentation page, the name
usage was synchronized by changing the relevant "\relates" command to
refer to "<qqmlintegration.h>".
A similar issue existes for the "qqml.h" headerfile and a similar
solution was applied to solve the issue.
Pick-to: 6.9 6.8
Fixes: QTBUG-136037
Change-Id: I3bf1aa97648c0a94acb7a0de5f5fbbaeb6a81c7b
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QDoc generates warnings for images that do not have alt-text associated
with them. Alt-text is used to add context to images for users who use
screen-readers.
This patch applies alt-text to images in the QtQuickDialogs module that
do not have any alt-text associated with them.
Fixes: QTBUG-135123
Pick-to: 6.9 6.8
Change-Id: Iff2fd3350d72e3bc986caefe2ca1977858890f05
Reviewed-by: Oliver Eftevaag <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickStyleItemScrollViewCorner uses both QPainter and
QPainterPath and relied on transitive includes for them. This causes
a build error if some other features are disabled (transitive include
no longer happens).
In the header QPainter can be forward declared. But also add namespace
macros so that namespace builds pass too.
Pick-to: 6.9 6.8
Change-Id: Ibb7dd46d819aebce1b05779e694dbb4e837e879b
Reviewed-by: Oliver Eftevaag <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
This changed after 83d90845527799c78366c2b89e9c14bc35e88695. It's not
documented anywhere and is difficult to follow when going only by the
code.
Task-number: QTBUG-136031
Pick-to: 6.9
Change-Id: Ia9a12191bb19d8dd23d142a78dbe573a4d2e3007
Reviewed-by: Tor Arne Vestbø <[email protected]>
|
|
|
|
|
|
|
| |
Pick-to: 6.9 6.8
Fixes: QTBUG-135946
Change-Id: Ie22da6a87d3cb43601ae9df30cb99262a8f6b479
Reviewed-by: Oliver Eftevaag <[email protected]>
|