| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Also fail on warnings so that warnings like the ones printed by
qWaitForWindowActive will be caught in the future.
Fixes: QTBUG-124230
Pick-to: 6.5 6.7
Change-Id: Ieed327fab35707574afc4e2290958d86c3cddc63
Reviewed-by: Doris Verria <doris.verria@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-124230
Pick-to: 6.5 6.7
Change-Id: I617f851cd2b2b1a4f4c3dada2e4ebdf5c4be18fd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Doris Verria <doris.verria@qt.io>
|
|
|
|
|
|
|
| |
This adds functionality corresponding to QBrush transform to QuickShapes.
Change-Id: I2b5903f8c228adec65a6f5be64e3816143879302
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The existing function for creating a non-identity matrix4x4 requires
all of the 16 values to be specified. That is needlessly cumbersome in
the common case of a 2D (planar) transform. So add a new interface
singleton object to hold invokable methods that simplify specifying
such transforms in qml, avoiding exposing the full complexity of the
underlying 4x4 matrix in the api.
Change-Id: I8a94099da5c94f5483e6b46280c6101c6d3f6dc3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It is not enough to call setFocus on the target item, as there
may be other focus scopes currently holding the active focus.
Call forceActiveFocus instead.
Also, if the target item is the First or Last target, we want
to explicitly set the focus to the first/last item of the window
that can receive focus. If that item is a FocusScope we need to
clear its previous subFocusItem.
Task-number: QTBUG-121789
Change-Id: I99e5da5727dfd99c76bf2fc0baf7e9b8330f7c4d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Most FunctionObjects do not actually need their custom jsCall members.
They will only call the functions from the vtable anyway. FunctionObject
can therefore be split into a static and a dynamic variant. Only the
dyanmic variant needs to carry (and invoke) the extra pointer. The
jsCallWithMetaTypes pointer is completely pointless because none of the
dynamic functions actually implement it.
Furthermore, the QV4::Function and QV4::ExecutionContext pointers in
FunctionObject are only needed by actual JavaScript functions. The
builtins that like to be dynamic functions never need them. Therefore,
split out another class for this.
In the generic FunctionObject, we need the capability to decide at run
time whether the function shall be a constructor or not. Add a flag to
replace the check for jsCallAsConstructor.
Also, where we can, avoid the pessimization of checking whether a
function is a constructor before trying to call it as constructor.
Rather have the default implementation throw the exception.
As a side effect, for most functions we don't need an ExecutionContext
anymore. The engine is enough.
Task-number: QTBUG-124662
Change-Id: Iac657fa71288dd6ec230a33de2986ba3bcf4628c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The runner can have a "normal" exit status but a non-zero exit code.
That's still a crash.
Amends commit 4e0cf9658a28b7d048a016b9d0ab5926964e9a60
Change-Id: Ia803a947b51c9ea5486d0ca5b6cdd9c01040c84f
Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
We send headers as lower-case now.
Though this also presents a potential incompat issue, if people
are, for some reason, inspecting the headers we intend to send
using hard-coded strings they will encounter the same issue...
Change-Id: I1a423379939cc72c8c8cf321c7a0de93b4dee994
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The logic that handles the item to the left of the handle being resized
incorrectly used a hidden handle as the leftEdge. This would cause the
item to get more space than it should because it thought it had more
space to consume.
Before the fix, leftEdge is 10 and accumulated is 0, so:
// 390 400 0 10
const qreal rightStop = size - accumulated - pressedHandleSize;
// 110 10 110
qreal leftStop = qMax(leftEdge, pressedHandlePos);
// 110 110 110 390
const qreal newHandlePos = qBound(leftStop, pressedHandlePos, rightStop);
// 100 110 10
const qreal newItemSize = newHandlePos - leftEdge;
After the fix, leftEdge is 60 and accumulated is 0, so:
// 390 400 0 10
const qreal rightStop = size - accumulated - pressedHandleSize;
// 110 60 110
qreal leftStop = qMax(leftEdge, pressedHandlePos);
// 110 110 110 390
const qreal newHandlePos = qBound(leftStop, pressedHandlePos, rightStop);
// 50 110 60
const qreal newItemSize = newHandlePos - leftEdge;
Fixes: QTBUG-125049
Pick-to: 6.5 6.7
Change-Id: I3cdf57693c71c1f367780eda0ff6794fea02d546
Reviewed-by: Kaj Grönholm <kaj.gronholm@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
While we don't support all style strategy flags in
Qt Quick, we do support selected ones as bools.
QFont::ContextFontMerging is useful to be able to
set per Text element, so it should be exposed through
the QML APIs.
Task-number: QTBUG-121131
Change-Id: If28a065aefc4e2043e830e31356b8bd98f6d4cd8
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
ES2021 introduced numeric separators in numeric literals to improve
readability.
For example, one billion can be written "1_000_000_000" where "_" are
the numeric separators.
Update the QML lexer to allow numeric separators, based on
https://262.ecma-international.org/12.0/#prod-NumericLiteralSeparator.
Add a non-exhaustive test case to `tst_qqmlparser` to track the behavior.
Fixes: QTBUG-123792
Change-Id: Ie62d1f40fc8e0c7678e7dfea16408bdeeba6d150
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Calling `qmllint` can produce warning for usages of the `QJsonObject`
type, due to it not being found.
Make `QJsonObject` a builtin type so that calls to `qmllint` will import
and recognize the type.
Add a test-case to ensure that the type is now recognized.
Task-number: QTBUG-111015
Change-Id: I09afa006036059b826f6d76adb76fe802ba18f70
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
54a2a35f17d5e5d1793af63b76993a583e10ab41 fixed the theme/accent/primary
inheritance of the Material and Universal style's ComboBox popups. This
patch makes an equivalent fix for styles that use palettes. Now the
Basic and Fusion ComboBox popups will have the correct colors in both
light and dark modes.
Fixes: QTBUG-124474
Pick-to: 6.5 6.7
Change-Id: I3e3fcdc9d6fe75f195cc4f4707eac6d30413121f
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Otherwise the blinking cursor might result in mismatches.
Pick-to: 6.7
Change-Id: I2cd2c8984689986fa196d22bf65cc727e8adcc7f
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the document is too big, a client might not want to reperform all
highlights. Instead, they will request semanticTokens/delta to
understand what has changed on top of the latest data.
Server now holds a resultID string and the last encoded tokens. If the
client requests a delta with the same resultID then the difference is
computed and semanticeditstoken is populated. Else, servers' response will
contain the full semantic tokens.
Skip the module test for now as there is an unexpected behavior on
handling of variants in the language server api. This issue is tracked
with QTBUG-124870.
Task-number: QTBUG-120000
Change-Id: I5ea6d7a8f892d0be101dcc8f799937654618d79c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add declarationKindToken location in the pattern element node. This is
required for semantic highlighting to highlight the type correctly
within iteration statements.
Add type identifier region for the declaration kind token in the
for-declaration construct.
Fixes: QTBUG-124677
Task-number: QTBUG-120000
Change-Id: I02520bdc6f1b9dfc5d47078cd7e5e8d2f40bf382
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Clients might ask only a range of the text document to be highlighted.
Then, we should perform highlighting for that particular range.
Introduce an optional data member m_range in the highlighting visitor.
If m_range has value, then highlight the current item only by checking
if it is overlapping with the requested range.
Task-number: QTBUG-120000
Change-Id: I635765d3d8831f7717edb96331db414f3813308f
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is the final commit for the core functionality of the semantic
highlighting. There is still a few issues which will be taken care by
the follow up patches.
Known issues:
-- lambda expressions is not highlighted (QTBUG-124625)
-- bool literals are mapped to keywords but they deserve their own
custom color (QTBUG-124711)
-- highlighting of variable declarations inside for loops (QTBUG-124677)
Task-number: QTBUG-120000
Change-Id: Ice07a514c2ae3afaeb871e663bcc0b20624976c0
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some identifiers cannot be handled in their containing dom type if they
contains dot in their names. Js variables that are not special types
are also highlighted here. Because an identifier can represent a few
different types, semantic analysis are performed to resolve their actual
types.
Also, adapt the binding handler's highlighting. A binding identifier can
be a property or a signal handler. In those cases, it should be
colorized as methods.
Pass built-in directory while creating the dom environment so that it
will behave the same as the code model.
Task-number: QTBUG-120000
Change-Id: Ifb8dda81ca7ef6f3150e68907c036387e32f279e
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Implement the highlighting for the numbers, single and multiline
strings, boolean and null literals.
Task-number: QTBUG-120000
Change-Id: Ibb80563b27c9e77a347334fdf805b8d69475ab5d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-120000
Change-Id: Ic0eefe77c84a7fcd80176c560ee81f28c3787697
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Also implement the modifiers that can change the highlighting color.
Readonly is mapped to lsp's ReadOnly field, required is mapped to lsp's
Abstract and default is mapped to lsp's DefaultLibrary.
Task-number: QTBUG-120000
Change-Id: I68c6c151215631fa388a77aba47c9c4cf6949a16
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
... and inline components.
Task-number: QTBUG-120000
Change-Id: Id421b534d3da3f250863e123796d9cb83b1a2a7c
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pragma is mapped to keyword token type, pragma name and values are
mapped to variable highlighting token type. Enum has its own token types
in the protocol. Identifier name in the enum declaration is mapped to
Enum, enum items are mapped to EnumMember in the protocol.
Task-number: QTBUG-120000
Change-Id: I257827e6db494c9c4e1865da9fb632130c46d321
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bindings can be written either x:y or Behavior on x{} syntax. If binding
identifier contains dot in its name, defer the highlighting operation to
be handled when ScriptExpressionIdentifier is visited.
Task-number: QTBUG-120000
Change-Id: I405ea42efe128817ff56f6d9c17c65a0ec6fe868
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Imports can have the syntax of
"import <Module> [VersionNumer] [as Qualifer].
Module and Qualifier elements are mapped to Namespace field in the
protocol. Version number will be colorized as number. If the import uri
type is directory, then it should be colorized as strings.
Task-number: QTBUG-1200000
Change-Id: I8674c8eba21d427e7df174db9753ccbcd2f46bdf
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Comments can be laying on multiple lines. Usually, lsp clients will not
support multiline tokens. Therefore, introduce a utility function that
splits the highlighting of multiline tokens into multiple highlighted
tokens.
Task-number: QTBUG-1200000
Change-Id: Ib81e2781e39c3bf952b17d788031384ccab91e7b
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add the non-functional semanticTokens protocol. Introduce the basic data
structures and the utility functions that is widely going to be used
during the rest of highlighting tasks.
When semanticTokens is requested, collectTokens visits the entire
domtree and accumulates the highlighting tokens. It is encoded to list
of integers as specified by the protocol at the end of collectTokens.
Add the utility tests in tst_qmlls_highlighting and module tests in
tst_qmlls_modules::semantichighlightingFull.
Task-number: QTBUG-1200000
Change-Id: I070251552a623eff4d4ff34e4201466b3ad2efab
Reviewed-by: Dmitrii Akshintsev <dmitrii.akshintsev@qt.io>
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Parser doesn't take comment start strings into account. So, // or /* is
not the part of the source location. Add this via this post-processing.
The full comment region is required for semantic highlighting.
This is obviously not the correct layer for a fix. The actual fix should
go in the parser level which is tracked by QTBUG-124897.
Task-number: QTBUG-124897
Task-number: QTBUG-120000
Change-Id: I1759edf512c21809955531ba6d5dfe4ec2f7d678
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The tst_QQuickApplicationWindow::attachedProperties test uses multiple
windows. When on EGLFS, creating multiple windows ends up in a QFATAL
error message stating EGLFS: OpenGL windows cannot be mixed with others.
Fix the problem by skipping the test when on EGLFS.
Task-number: QTBUG-115777
Pick-to: 6.7
Change-Id: I5cf189715af7e64a27980fab238a9dcee20700f1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
| |
Change-Id: I61c8a24cf25fef98df4ce274fb5f829867059922
Reviewed-by: Semih Yavuz <semih.yavuz@qt.io>
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a few options to the svgtoqml generator, to enable
more control over how embedded images are stored.
It adds the "keep-asset-paths" option. When this is set,
the generator will check if an image reference was originally
to a file on disk. Instead of duplicating this, the output
will contain a relative reference to the original file instead.
It adds the "asset-output-prefix" which overrides the default
prefix of output files.
And it adds the "asset-output-directory" which overrides the
default target directory. The default target directory has
also been changed to match the directory of the output QML
instead of always saving to the currently active directory.
In addition, this change makes the tool always output PNG
files, since JPEG is a lossy format and should never be preferred.
Previously, PNG was only preferred when the image had an alpha
channel.
Change-Id: I9a9b03eaea3ac511419789cfc5651d398ce42a5b
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The BusyIndicator control is animated in all styles, so the snapshot-
grabbing never stabilizes.
Ideally we could inject our own animation driver into the QML engine
to control the progression, but that's not a priority for now, so
rather than getting constant noise from the system for the tests
failing, blacklist them.
Change-Id: I6a37415d43eb318305b410d423182acee038610e
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the focus chain wraps when tabbing (prev == last && next == first),
we need to give a chance to the parent window to gain focus so that
the focus can be passed to the next/prev object in the focus chain.
To give focus to the prev/next target, override new virtual
setFocusToTarget for QQuickWindowPrivate.
Task-number: QTBUG-121789
Change-Id: Ibe91af53ca622e7fe2b7fc662a95f1a5d7cb479b
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This also fixes a crash in this peculiar condition:
Item {
width: 0
height: 0
RowLayout {
anchors.fill: parent
anchors.leftMargin: 1
anchors.leftMargin: 1
}
}
Reason for crash:
As a consequence the layout was rearranged with size == (-1, -1), (which
happens to be the value of uninitialized QSizeF).
This invalid size was passed down to QGridLayoutEngine::setGeometries()
(in the contentsGeometry QRect), and again to ensureGeometries().
ensureGeometries() would return early because of the condition
if (q_cachedSize == size)
(q_cachedSize is an uninitialized QSizeF by default, and size == (-1, -1)
This caused the q_xx, q_yy, q_widths, and q_height to not be properly
initialized, and it would crash inside
QGridLayoutEngine::setGeometries() when accessing the list:
qreal x = q_xx.at(item->firstColumn());
Pick-to: 6.2 6.5 6.7
Fixes: QTBUG-124456
Change-Id: I2e3586389aa1728c3622e92bd589af87d11955ae
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As a result of 16023fc77c423a267fcc48894ff942e94cf35b86 we were no longer
calling QWindow::setVisible or setVisibility from the QQuickWindowQmlImpl
overrides, but instead deferred them until applyWindowVisibility().
As a consequence, if the QWindow::Visibility of the QQuickWindowQmlImpl
was left at AutomaticVisibility, we would always apply the window state
when making the window visible or hidden, which is a major regression.
We should only apply the window state on first show, if the window's
visibility is AutomaticVisibility, or on explicit requests to set the
window's visibility.
This means a window with visibility: Window.Maximized will initially
show as maximized, but if the user then resizes the window and then
hides and shows it again, the window will show in the normal window
state, instead of re-applying the Window.Maximized visibility, which
matches the pre-6.7.0 behavior.
Fixes: QTBUG-124363
Pick-to: 6.7 6.7.1
Change-Id: Idc2078c17bd56026425acbabdc40174fd12558ca
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
| |
Now developer build tests compile, but some are not working.
Functional fix will come later via separate tasks.
Task-number: QTBUG-122999
Change-Id: I0a0dfcf7affb73f928b8be62b3576a6a51658488
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5308fef4b50c5971f65fc6087dadde8c05f5a685
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
|
|
|
|
|
|
|
|
|
| |
Adapt to the changes in WorkspaceEdit that makes the handling of the
documentChanges variant easier in the tests.
Task-number: QTBUG-114993
Change-Id: Ic092d8faccbe3fb32e81e8b08d5ecef22bad908a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pass the metatypes of the contained types rather than the stored types.
[ChangeLog][QtQml][Important Behavior Changes] The AOT compiled code for
type-annotated JavaScript functions does not let you pass or return
values of the wrong type anymore.
Fixes: QTBUG-119885
Change-Id: I685d398c0745d32a999a3abd76c622a2c0d6651f
Reviewed-by: Olivier De Cannière <olivier.decanniere@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This way we can express the relationship between qsizetype, qlonglong
and int, as well as the equivalents for long, ulong, char, qreal.
We consider aliases as equivalent to primitive types in
qmltyperegistrar. Therefore, you can only do this with types that don't
have a QMetaObject of their own. However, considering the use case, this
is not a big restriction.
When generating qmltypes, we propagate the aliases. When reading back
the qmltypes, we insert the resulting QQmlJSScope under all its separate
names. This makes all the aliases discernible, but actually equal types.
Since we now record the original type names in the qmltypes, this
changes a few test artifacts for qmltyperegistrar and qmllint.
Task-number: QTBUG-122582
Task-number: QTBUG-124294
Change-Id: I571684e3020b9bc30f8819bdc39389646fd1ff54
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you have a property of an unknown type, that will create problems
later on. The same holds for method arguments, return types and
underlying types of enums. qmltyperegistrar now warns about those.
When scanning the types, we consider a type potentially primitive if it
is not the root type, but one of:
a, a self-extending value type
b, a type with a JavaScript extension
c, a sequence type
If those types are found to be "missing" later, we ignore them.
All other missing types trigger warnings now. Since we use types from
QPA headers in a few places, we now need to recognize QPA headers when
looking for private Qt includes.
Task-number: QTBUG-101143
Change-Id: Ic4350e8ed46212c0f4af6f10e86323514f710e1e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
| |
To avoid cluttering the temp directory, temporary files should be
deleted when they are closed.
Change-Id: I2fe863f62e749b40aecb90e02fcfa91f1ec1a44f
Reviewed-by: Eirik Aavitsland <eirik.aavitsland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WeakValue::set shold normally not mark objects, given that a weak value
is not supposed to keep an object alive.
However, if we are past GCState::HandleQObjectWrappers, nothing will
reset weak values referencing unmarked values, even if sweep collects
the referenced value.
That leads to stale pointers, and then most likely to crashes.
To avoid this, we mark the objects under this special condition.
The test is written in a way that would also allow for resetting the new
weak values instead, but the current implementation treats memory usage
for throughput and doesn't revisit weak values to reset them.
Change-Id: I789f63c1d8609957711c2253d2e76b4bd3f9810a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously QLocale's digested form of CLDR-derived data for AM/PM
indicators was processed through a mapping that always selected the
upper-case form, the AP format. Since 6.3, the formatting (and
parsing) code has understood an Ap format to select the
locale-appropriate case, rather than obliging client code to pick the
case regardless of the user's locale. However QLocale's data still
selected the upper-case version instead of the "locale-appropriate"
form for time and datetime formats. I recently fixed this in qtbase;
it's now time for QML's Locale's test-cases to catch up.
The en_AU locale inherits lower-case am/pm markers from en_001
("world" English, rather than plain "en" USAish), so correct the tests
that expected upper-case markers.
Change-Id: Ie05f5e39278758ea8d9e3ea556c133a143070ab8
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There was a bug where the Dial background would be aligned top-left on
some styles (Universal). This caused issues with mouse/touch input
because the Dial assumed that the Dial background was centered.
This was especially noticeable when the Dial was much wider than taller,
since the Dial background was unexpectedly at x == 0:
If you tried to move the handle to almost the middle (e.g. width/2 - 1)
it would move the handle towards its left side (but the mouse cursor was
on the right side of the visual Dial background because it was
left-aligned). Also, just clicking on the handle would cause it to jump
to a different position in most cases.
While investigating, this appears to have been fixed
(probably with bb7ba7667b4cf3565aa1849d08cc71b9ac011e77 ), so my fix is
not needed any longer. However, in order to avoid regressions, add the
autotest.
Change-Id: Iba9b599dd2945695a973e7de57f54f9907035a8d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
SVG different stroke attibutes can be easily mapped to QQuickShapePath
properties.
Task-number: QTBUG-121650
Change-Id: Id52f3e7d99a81c84851b7a7645f75fdee1efbaeb
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
We end up in a rather weird state otherwise.
Also test that we don't mistakenly collect ObjectWrappers created in
onDestroyed.
Change-Id: Iab158e5b34510979c8ac9a51a75247a2cee100f3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This adds an autotest for the fix that landed in qtbase:
(2a95ecf7e81fbdcfad50f8a1dd5c62b120e2ec27)
Task-number: QTBUG-116577
Pick-to: 6.7 6.6 6.5
Change-Id: I143f969596c6ee7ccd3d8607cfa53d539566a0b5
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QML Modules with dotted URIs actually should not have .qmlls.ini point
the QML modules build folder, but to the build folder from which qmlls
can actually find the QML module.
For example, a QML module called Dotted.Uri.Hello.World should have the
build directory `<buildfolder>/` instead of
`<buildfolder>/Dotted/Uri/Hello/World`.
Add tests for that, and pick back to 6.7 where the feature was
introduced.
Pick-to: 6.7
Fixes: QTBUG-124521
Change-Id: I95cf8e0d5894c5ad2c6f3117224d0a1a76cf531f
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|