| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
Fallback property lookups are created for completely dynamic
metaobjects. Anything about them may change between any two calls.
Pick-to: 6.10 6.8 6.5
Fixes: QTBUG-142331
Change-Id: Ib732c37a6f27ab8105bea0eeae000af7eb9c36d7
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
|
|
|
| |
Change-Id: I9cc429c5a5e229983cb68648df239260903a0af4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
| |
Change-Id: If1285165aa28fea401bbff061fcdfd4563bce334
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A Qt Quick Control will use StyleKitControl.text.color as its
text color. But as it stood, it was not initialized to anything
in the FallbackStyle. The result was that all controls got a black
text color, regardless of what was set in the theme palette. It
would also not respect any palette overrides done from the app.
This patch will make sure that we, by default, bind text.color
for the various control types to the matching color in the
Qt Quick Control's palette. This color will, unless overriden by
the app, be initialized to the color set by the theme.
Change-Id: I6d4f67c81c57c9a30940a720816fa4ed2675b8bd
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The ToolBar missed a binding to spacing.
A ToolBar doesn't actually layout its items, the
application is responsible for that. Still, it might
want to query the spacing set from the style for
doing the layout.
Change-Id: I1613ba519e8edaeb58fe2b4cc6f7e5599dd02dff
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
It gets added to the json output of moc for every object. Include it in
the object's qmltypes representation too and add it to the corresponding
qqmljsscope when parsing them.
Task-number: QTBUG-142186
Change-Id: Id551a4edb1284018dee8d9afbe3b7189660478b8
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The setup part is mainly meant for qmlls client developers, so mark it
as such. Add the download links to the standalone qmlls, in addition to
qmlls's location inside of qt. Also document that build directories can
be passed via an LSP extension, to support multiple workspaces.
Remove the parts about import paths and documentation directories, those
are handled by CMake's .qmlls.build.ini and can lead to weird behaviors
when set incorrectly.
Change-Id: I59496d20a9d02504636af6374818260c1e5f622d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
| |
Use valueAsAbsolutePathlist instead of duplicating code in
buildPathsForFileUrl().
Change-Id: Ia2db7356efe8401178f28b55f72d3c113dbbe6f3
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
| |
Change-Id: I2a985ab1900afb8c027405fb0ec76c250c7535e0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This amends 39ec01eec2b5262cb60f5c266d5f4107aae7e415.
On Android, we need to ensure implicit imports are known
to the tools. When adding support for the blur effect, we
also added an implicit dependency on MultiEffect, but since
no one told the deployment tool, we would get a test failure
when loading files.
Fixes: QTBUG-142472
Change-Id: Ic2f91c9fce94a90ca05314827edb77b7f9cdec4a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This path focuses on the actual expansion of Override Semantics
with regard to newly added virtual and override keywords.
Since Override Semantics is central to the way PropertyCache is
being populated, expanding it requires additional care.
To ensure smooth and reliable iteration, this patch isolates
data-flows: within this patch adding properties from MetaObject
stay "unaffected" by the expansion, as well as the paths adding
Methods and Signals from the IR.
This is done with the help of 3 things:
1. Separating logging logic from the Override logic
2. Extracting Override Semantics into it's own namespace
3. Adding a nob to control the set of rules
To facilitate and separate testing of the logging logic and
override semantics, the principle of dependency injection is
being used, allowing us to easily Fake handling of override
semantics, simplifying testing of PropertyCache::appendPropertyAttr
Logging logic (messages) is kept on the side of QQmlPropertyCache
mostly because this entity logically has more context to do proper
logging. Taking into account how the class name and name of the
property are handled, those are kept to be "requested on demand",
a.k.a. query them only in cases when the logging indeed needs to be
performed.
Multiple append* methods have been moved to the private section to
avoid invalidation of caches. See comment above QQmlPropertyCache.
As a workaround to enable unit-testing of some methods,
tst_qqmlpropertycache has been added as a friend class.
This patch updates tests/auto/quick/qquicklistview/data/negativeDisplayMargin.qml to remove an unintended override of ListView’s built-in count property. The test declared its own count property, which implicitly shadowed ListView.count. The newly introduced validation correctly flagged this conflict, so the test has been adjusted accordingly.
Change-Id: I809e58e421fa50f5ee7f21b31edbf926ad472736
Task-number: QTBUG-98320
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
|
|
|
| |
QSequentialIterable is deprecated.
Task-number: QTBUG-140181
Change-Id: I797c18fa5c319e5c1a0114448d98a38aad33ae04
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
While qtsvg now supports ligatures of multiple characters the existing
code here does not yet. Fixing that is out of scope for this patch. It's
only meant to keep the code working the way it did before.
Pick-to: 6.10
Change-Id: Ie62d3b3d5764a6bcb3d75e6594a8729652c0dcf4
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This patch will implement support for styling ScrollBar
and ScrollIndicator. It also includes ScrollView, since
otherwise, if we inherited the one from the Basic style,
it would also use the ScrollBars from the Basic style.
Change-Id: I8163824aec61ce3c84303b6add3fdb1b7701532e
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
|
|
|
| |
This patch will implement support for styling
ProgressBar.
Change-Id: Ic6d48bbb61b068ff967289736236f2d21992dc0a
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
|
|
|
| |
This patch will implement support for styling
TabBar and TabButton.
Change-Id: I31658cf6cb923a06efa0cc4b02275a26c1968577
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It's wasteful to set off pointer space for all the possible
states that can be nested. Usually a state will not
use nested states at all. E.g the assignment
'button.pressed.spacing' would cause the 'pressed' state
to also set off space for all the states that can be nested
inside it, even if they are never used.
In addition, the current implementation would, by accident,
lazy create all the nested states while traversing up the
parent chain of states. And as it turns out, by just
storing the nested state flag inside the state, we don't
need to do any traveral at all.
This patch will make sure that we only allocate space for
nested states if we encounter that at least one of them
are being used, and store the nested state to avoid
unnecessary traversal.
Change-Id: Ied87f0c6b04057cb4c9f3e31f275a2d4b87c3efb
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Describe the option and how to set it via a setting file, a commandline
argument or a environment variable.
Task-number: QTBUG-142352
Change-Id: I37da4ebed65e4228aaed0973b8d98b43af9f53e0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Control the numbers of jobs to be used in Qmlls in background builds via
the "-j" argument of CMake. Set the default to 1: a background build
should not eat up all the CPU/RAM available of the users computer.
[ChangeLog][qmlls] The number of CMake jobs can be set with a command line
option, an environment variables, and a .ini setting option. The default
was changed from using all available cores to 1. You can restore the
previous behavior by passing "max" as number of CMake jobs.
Task-number: QTBUG-142352
Change-Id: Icc8573906632272773c0a2812febbf06aa6b3079
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Move a check from callers of setImportPath to setImportPath and do
nothing if the import paths are unchanged.
Task-number: QTBUG-141707
Change-Id: I3dfa6bc3927a12c323c85b340aa88ef1049f6a76
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
QFD::directoryEntered()'s arg is a QString, whereas
QWidgetPlatformFileDialog::directoryEntered() takes a QUrl, this works
because there is an implicit conversion from QString to QUrl, but it
would fail if QT_NO_URL_CAST_FROM_STRING is defined (which will happen
in a subsequent commit).
Pick-to: 6.10 6.8 6.5
Change-Id: I0e4c2e33bbaabe4553a3e49d05351ce32c0e6417
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch introduces and consolidates documentation of the 'final' and newly
introduced 'virtual' and 'override' property attributes under the section Override Semantics.
The section explains their purpose, semantics, and interaction rules, as well as
the rationale behind. It includes examples illustrating common cases as well as
invalid modifier combinations.
Task-number: QTBUG-98320
Change-Id: I2662b469180ec82983d42ad28a5836f8393250fa
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Instead of writing each line via an "echo" command, collect all target
specific .ini bits into a file, and then append that file into the
.qmlls.build.ini file.
Note that writing the .ini bits directly into .qmlls.build.ini is not
possible because add_custom_command() eats away the newlines from its
arguments.
Change-Id: Ibc79aa69e227b1b46459109fd055a0e0dfe8b96c
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Write qrc file paths to the .qmlls.build.ini. This ensures that qmlls
doesn't pick up other modules .qrc files to avoid situations like
QTBUG-141707.
Fixes: QTBUG-141707
Change-Id: I4ea6756af7b12bf00e2f3f3338c0d5bfd792dc77
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add some asserts to avoid calling methods from the wrong thread (this
only seems to happen in the tst_qmlls_qqmlcodemodel tests, not in qmlls
itself). Also make the methods private to avoid this from happening
again.
Adapt the tests to call the right methods, and to wait for the
QQmlCodeModel file loading thread to finish (by waiting on the newly
added openUpdateThreadFinished signal).
This fixes the flakines from tst_qmlls_qqmlcodemodel reloadLotsOfFiles,
where a data race, caused by the test calling one of QQmlCodeModels
function in the wrong thread, was making the test flaky.
Pick-to: 6.10
Fixes: QTBUG-142264
Change-Id: I6d6b89674344f271e94e6e558a34dd6900cfe703
Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Currently Override semantics evaluation is based on the
flags of QQmlPropertyData. Therefore adding this flags
is necessary.
On a bigger picture this patch focuses on the data flow
from the IR to QQmlPropertyData (property cache)
Change-Id: I206ee46a075675e37c35e4c72c74c68e132d2ef2
Task-number: QTBUG-98320
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds two new fields, IsVirtual and IsOverride, to CompiledData::Property.
These fields will later be used to populate QQmlPropertyData and to handle
property override semantics.
At a high level, this change focuses on the data flow from the AST to the IR,
laying the groundwork for future semantic resolution.
Also moves test helper Syntax namespace to the quicktestutils
Task-number: QTBUG-98320
Change-Id: Ic2a2e28df08d53c8752c49304bd5f7ff46916d08
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
|
|
|
|
|
|
| |
This patch adds support for the completions of newly introduced
keywords and corresponding valid combinations.
Change-Id: I9c3b008405ac4fd45d7393013838df0813426358
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
|
|
|
|
|
|
|
| |
This patch introduces corresponding QmlVirtualProperty and QmlOverrideProperty modifiers and expands the highlight of the
PropertyDefinition
Task-number: QTBUG-98320
Change-Id: If1cd98b9958ed3be5fd67e02abb71ca6fa68da6b
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds corresponding
- VirtualKeywordRegion and OverrideKeywordRegion
- isVirtual and isOverride members to Dom::PropertyDefinition
adjusts the corresponding PropertyDefinition::writeOut method
and introduces a test for the PropertyDefinition structure,
currently covering / focusing only on the functionality
relevant to the scope of this patch
Note: maybe it is a good idea from now on to use newly added
tests/auto/qmldom/elements directory for the tests covering
qqmldomelements_p.h
Task-number: QTBUG-98320
Change-Id: Ifac60d3e52900605778afaf3819a9af46c97954a
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The revision change does not break qqmlpropertycache but will cause
static_asserts failures while the patch adapting to the moc change is
not merged.
Temporarily allow for both revision and revert to 14 only as soon as
poosible.
Task-number: QTBUG-142186
Change-Id: I4ea37bff08f0780148ec7f8958a05f372a6df0f3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
| |
We no longer support it.
Change-Id: I4244f251f4fb8f3b2d93d1d0a12bc4bba68b931e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
| |
We support merging up to 8 effects for now.
Task-number: QTBUG-121541
Change-Id: Ic60400f054700e4ff44452870770b2175834dd85
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
This introduces chaining post-processing effects, and the
feComposite and feBlend nodes to allow compositing these.
Task-number: QTBUG-121541
Change-Id: Ib2aa99139869814a575a2bf9d9e6319b31828285
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds support for the feColorMatrix, feOffset and
feFlood filters.
We also need to change how we calculate the bounds of
post-processed items to use the internal bounds. Basically,
we need the bounds of the children of the item + the
item itself before the node's transform is applied. This
is because the bounding box is axis aligned, so we cannot
get the original rectangle back just by applying the
inverse transform in the case of e.g. rotations.
Task-number: QTBUG-121541
Change-Id: I7a8863bef4397df4043c854256dca312b91f888a
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
Reviewed-by: Hatem ElKharashy <hatem.elkharashy@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
A dialog button box is not a list of page tabs, but it
groups the buttons, so use QAccessible::Grouping for the
accessible role like the QDialogButtonBox equivalent in qtbase
does (see QAccessibleDialogButtonBox).
Fixes: QTBUG-141734
Pick-to: 6.10
Change-Id: I5ce474fbf6902c7e565f86307d00a0b8bdc63abd
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Since 1919410cf2f82be2ca4d6e8015cfc93d734aa7cb, rejecting should be done
with REJECT.
Amends c7d5375714f5dc706416ea62375092f5c1214422
Change-Id: I6d83cedf7944d90d33ba388c7963f394d4ba153c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
| |
[ChangeLog][QtQuick.Shapes.DesignHelpers] Added RegularPolygonShape
Fixes: QTBUG-141530
Change-Id: Ifc1b9d54cb89f90d8032e44e269e6207c4e2d87f
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
|
|
|
|
|
|
| |
[ChangeLog][QtQuick.Shapes.DesignHelpers] Added StarShape.
Fixes: QTBUG-141531
Change-Id: Ifcce36d3bbac7f59612c3d056e8bcbbcea034137
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
|
|
|
| |
Change-Id: Ie23d3dfc1a93d052e9a19c9151c5ede4afee5ea9
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
| |
Change-Id: I8a7fc86482e2083a24d1e7159737fd0ababc8e0b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
| |
Change-Id: I0177d20c381d83d2a816199a89b6fc9150fa4766
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
| |
Change-Id: I3594798dfb475118cad046948ccc4fe180bbd9a3
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
| |
It's redundant as the class name is QQStyleKitPropertyFont.
Also this makes it consistent with the palette API.
Change-Id: Ic334c1febb1cdfb5cb09f898cb2f27ecb06c1c1f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
commit : 1f51dc291c0763453f6a3230c8eb79a28892870f introduced a way
to share custom easing curve objects among different animations.
However, the easingCurve type was not constructed properly leading
to the animation falling back to linear easing.
Change-Id: I5a0ce2bd513ba2c24f9554a46547c479f2a2d021
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
| |
|
|
|
|
|
|
|
| |
* group by qt module
* align include style
* remove unused headers
Change-Id: I9c27289e3e19e210b692aa4f59ca72a42caf82f5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
| |
[ChangeLog][Controls] Added DoubleSpinBox.
Fixes: QTBUG-67349
Change-Id: Icb2f02162825daf74778de725f80af63874a5d16
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Accessibility Insights for Windows complained that
the ProgressBar didn't communicate that it's readOnly.
The reason, is because ProgressBar supports
the ValueInterface, which according to
https://www.access-board.gov/ict/#502-interoperability-assistive-technology
must report its minimum value, maximum value,
and readOnly state.
In general, it looks like QAccessibleQuickItem never
acknowledged that anything could be readOnly.
Pick-to: 6.10 6.8
Change-Id: I96cc0d815e00981d320b50f4309fad6bb5ab0118
Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A style property in StyleKit typically looks like this:
'indicator.foreground.border.color'.
In this example, the property name is 'color', and its group
path is 'indicator.foreground.border'. The styling engine assigns
a unique ID to each property—based on both its group path and its
name—so its value can be stored efficiently in a QMap.
Previously, the engine recalculated this ID on every property read
by traversing the group path from color back to indicator. This
resulted in a large amount of repeated work, especially during state
changes or theme changes, when many properties are read at once.
This patch refactors that logic so the group ID is computed
once, when each group is created. In the example above, the
groups indicator, foreground, and border each receive a unique
group ID at construction time. From that point onward, computing
a property’s ID simply combines the cached group ID with the
property’s local ID—no group path traversal required.
Change-Id: Id07a0cb477038420a55c7850ea09db7f7b4d9978
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
| |
|
|
|
|
|
|
| |
This patch will implement support for styling
ToolBar and ToolButton.
Change-Id: Ie8cbda5a1ee361e8f2ee1a78ec5634e52811e0cd
Reviewed-by: Doris Verria <doris.verria@qt.io>
|