| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that several table views can stay in sync through the
syncView parent-child chain, we also need to ensure that the
position of the content views stays in sync. This patch will
recursively go through all connected views when one of the
views are moved and set the same position on them all according
to the syncDirection flag.
Change-Id: I5a5b8e795426484eeab3771f6c8d4c9b7da046eb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This way you can enable or disable the JIT when configuring Qt. The
conditions for the availability of the JIT have also been cleaned up.
There is no reason anymore to artificially restrict availability on x86
and x86_64. The reason for the existence of those clauses are old
problems on windows that have been fixed by now. However, on arm and
arm64, we need a specialization of the cacheFlush() function for each OS
to be supported. Therefore, restrict to the systems for which such a
specialization exists. iOS and tvOS are technically supported and you
can enable the JIT via the feature flag now. Due to Apple's policy we
disable it by default, though.
Change-Id: I5fe2a2bf6799b2d11b7ae7c7a85962bcbf44f919
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Now that a TableView can be inside a syncView hierarchy, we
cannot update a table in isolation, but need to coordinate
this with the other views. It's especially important that
we update a parent syncView before a child syncView, to
ensure that the parent has calculated all the necessary
columns width and row heights. For that reason, we always
update the table views starting from the top.
Change-Id: Iba8ae7d28fa0bb2fbbad9f8fc7aa198e15b91872
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Ensure that properties that has to do with the layout
stays in sync with the syncView. This is currently
rowSpacing, columnSpacing, rowHeight, columnWidth,
contentWidth and contentHeight.
Change-Id: I5af29d7be6c30cefbfa7d2353f53359907c9405b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Make two sub-sections: C++ and QML
- Add a TableModel example to the QML section
Change-Id: Ib391b4c0a78e11f5130944b6ac99e20a5982a453
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Singleton object instances were previously managed by
QQmlType::SingletonInstanceInfo and kept in a shared storage. This caused
concurrency problems when instantiating singleton instances from different
QML engines in different threads.
This patch moves the singleton house-keeping infrastructure to
QQmlEnginePrivate and makes SingletonInstanceInfo immutable.
Singleton objects are stored in a QHash with QQmlType as the key because
the qml type id might be 0 for composite singletons. The public API of
QQmlType is extended to provide more information about singleton types so that
access to SingletonInstanceInfo is not needed.
All internal accesses of singleton objects must now take the same code path via
QQmlEnginePrivate::singletonInstance<T>() which simplifies overall usage of
singletons and scatters less implementation details throughout the code base.
Task-number: QTBUG-75007
Change-Id: I13c5fd21cac2eb7291f2cbcf2c2b504f0f51a07c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This property can be set to point to another TableView.
If set, this TableView will be synchronized to the
other table with respect to flicking, column width, row
heights, spacing, etc. This logic is needed as a foundation
for the upcoming HeaderView.
Upcoming patches will implement this logic (together with
autotests) gradually.
Change-Id: Ic7dea8e1d1aa46bbb3ea6e795953a65c96c25cc6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qml/qml/qqmlmetatype.cpp
Change-Id: Ieff61c076e46eb50a059c8b0210f7f4d7ce0cbcf
|
| |\|
| | |
| | |
| | | |
Change-Id: I9ef4be23bfe35aa48d4c65d4159e72c527943845
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If the same object is available under two different names it should
still have the same attached properties no matter which name you use.
This was achieved by having a static map of metaobjects to attached
property IDs that would always hold the first attached property ID
registered for a given metaobject. This attached property ID was then
used as key in the map of attached properties for the actual objects.
The obvious downside to that is that we need a global static which gives
us thread safety and static initialization (and destruction) problems.
It turns out, all the attached properties are created by attached
properties functions, registered by the user. Those functions only get
the object to be amended as parameter. Therefore, no attached properties
function can be registered for multiple attached properties on the same
object as it wouldn't know which one to create for a given call. Thus,
the whole ID dance is unnecessary as we can as well index the attached
property objects by the function that created them. This nicely avoids
creating two attached property objects for the same object and function
and still makes the global static unnecessary.
Fixes: QTBUG-75176
Change-Id: Ie8d53ef0a6f41c9b3d6b9d611cde1603a557901c
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I613bf5dc685bb4235262b429d8f7318ea144fb9d
Fixes: QTBUG-75203
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: Ie2e6a4af1953cb5d7965b95090d369e7433ceb85
|
| | | |\
| | | | |
| | | | |
| | | | | |
Change-Id: I2df05ba0066b9529d3b332ede8ade765aefbcea1
|
| | | |\ \
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ic25bb7ba2e9f404622157ef023e64c3d4d47263f
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes: QTBUG-74444
Change-Id: If504fe2a6b4a0d88d69e777d433a6773db5f4df3
Reviewed-by: Michael Brasser <michael.brasser@live.com>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It's hard to correlate with the other debug messages otherwise.
Task-number: QTBUG-74008
Change-Id: I611201cc8ca86739251b72ccc3e1c5860cfdad8a
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I0ca6d168abc076f93405791059db73667afa6009
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I5e7b5b261d3ba28fbbf345f2fc3f086d87112a2d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Rather than handle relayouts differenty than rebuilds, we
can make it a part of the rebuild structure instead, since
they overlap a lot. That way we can collect everything
that needs to be updated into a single variable (rebuildOptions).
This will simplify the upcoming work for synchronizing tableviews.
Change-Id: I8bb2638612c86194a854e6fefc998eae22357a7a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I1cc23941121a5b2b16e94fc46e48bdce1f452afb
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There is no reason anymore to split the class in two parts.
Change-Id: Iabef7acec1db7afc0ed4e89e1fd5b78699dc0847
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Ths data structure should only be accessed when protected by the
metatype data lock. In fact we don't access it from anywhere else.
To make that more obvious, move it to the right place.
This allows us to eliminate some const_cast and poking around in
QQmlTypePrivate from the outside.
Change-Id: I16ffd240b9504b9c00010bdb2d17b05c8196fe8a
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The QML-specific types need to be registered only for "QtQml". Make sure
we don't accidentally add new QML-specific types to QtQuick.
We also don't want the base types to be registered under any random URI
and version. Formally qmlRegisterBaseTypes() is a public function, but
it _really_ should not be called by anyone.
Finally, split the types into ones that should belong to QtQml.Models
and ones that belong to QtQml proper. Add a plugin that handles QtQml
itself rather than using the QQmlEngine ctor for this.
[ChangeLog] The accidentally exported function qmlRegisterBaseTypes()
was removed.
Change-Id: I8bf9f8515e18b016750c721fe694d4cda076780b
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The new version of Yarr has them and using them could give us some
performance benefits. Add the required load16 primitive for the ARM64
aseembler from webkit.
Change-Id: Ief498a353f9804c6b0f4ac091fb3707ffcb9f8cd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The file is not compiled at all if !qml-xml-http-request.
Change-Id: If3d3d00f195e6bd8bd2af9cff247f31c918ab0c8
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
|\| | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/qml/qml/qqmlimport.cpp
Change-Id: I6add6267297ea50a646d43d212027a168dca8916
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I1f7f0781521757f5412b50680203698e33bd9d23
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
tests/auto/qml/qv4assembler/tst_qv4assembler.cpp
Change-Id: I9d31c982881a617099354bf8acceb76332f11496
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
On all other architectures, the JIT is only enabled for explicitly
mentioned OSes.
This fixes build errors for Windows on 32 bit ARM, about the
cacheFlush function being unimplemented for that target.
This keeps all other OSes enabled that are mentioned in conditionals
for other architectures, except for windows.
Change-Id: I8c29a9399a05a57d23b4fee506c3d04859a08a76
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Because qFatal will abort() the program.
Task-number: QTBUG-71116
Change-Id: Ifd6be996cfbd6fff8e75ad2b26682c34f837ac88
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When an error occurred while creating a compilation unit, the pointer
might be set to null. Subsequent use in hashing should check for this,
and not use a nullptr.
Change-Id: I62650917a740c9c1be29608285670153bed8703c
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
All uses have been refactored out in previous commits, so now also
remove the field.
Change-Id: Ic6fb92f70a0451db04ddf40344239a69312faf8f
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: Ia42c0d732e0f6ccfa2c70b86edccd9eb471aac7c
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
If we have a theoretically valid capture reference that just didn't
capture anything in this match, we don't want to treat it as literal.
Only capture references that clearly are outside the range of things we
can possibly capture with this expression should be treated as literal
strings.
Change-Id: Iab0bf329d11a6b9e172aa662f11751d86cfc26a6
Fixes: QTBUG-75121
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
On eglfs platform input events are driven by libinput and
do not have window information as such. They are simply
delivered based on QGuiApplication::topLevelAt window selection.
In case of WebEnigne, QQuickWindow is returned as top level window.
QQuickWidget uses this QQuickWindow as an offscreen window,
however since 561b932 we fake 'visible' and 'visibility' values so
windows api in qml can use those properties. This ends up with broken
event delivery on eglfs, since window is offscreen and therefore
not really visible.
Make a minimalistic change to fix the issue, without braking
QTBUG-49054, which requires 'visibility' to have fake values,
and 'visible' will keep window as not visible for event
delivery system.
Fix encapsulation of setVisible(), prevent accidental window
creation when setVsiible() called from qml via binding.
The proper fix would require for example adding some new flag
to underlying offscreen window, which could be used
by event window selection mechanism or rework of qquickwidget
offscreen window parameters expose to qml.
Task-number: QTBUG-65761
Task-number: QTBUG-49054
Change-Id: I2a307ee5613771adf6d31f1c3cc4b4a25d7620df
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |\| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Conflicts:
src/3rdparty/masm/assembler/LinkBuffer.h
src/qmltest/doc/src/qtquicktest-index.qdoc
tests/auto/qml/qqmllanguage/tst_qqmllanguage.cpp
Change-Id: I7d83ad95cf489dda794dd7a0a33bad3ef3b05609
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Since it is possible that CompilationUnit::instantiate() might be called
more than once when the importCount is 0 then it should only create the
imports array when it is greater than 0. This prevents a memory leak due
to the recreation of this array each time it is called even though there
is no imports to assign.
Change-Id: I5d84b01de10bff2ca25248251e8337839e434bd5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Task-number: QTBUG-74876
Change-Id: I8e816d29b709750b121cc63edfc5f3493a3ed119
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Those are "scarce" resources which need to be kept as QVariant.
Fixes: QTBUG-74751
Change-Id: I28381e2a754ed4bbf4e409dc275f6288b64416cc
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The threaded render loop (or specifically
QPlatformIntegration::Capability::ThreadedOpenGL) is
disabled when building with Xcode 10 (10.14 SDK).
Task-number: QTBUG-75037
Change-Id: Ib0b4cab56c053958fcae5616cbb496602efbf5e1
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Only qmlEngineAvailable() is called for each QML test file; the rest
are called once for the entire test application.
Change-Id: I293c5a2491da75ddad68e7fb89bcd32b770fccf5
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
When running a QML application with using Canvas3D component inside a
QQuickWidget, the Canvas3D is not rendered. This is due to no scheduled
OpenGL commands with RenderStage == NoStage are actually executed when
there is a render control instead of a window manager.
Fixes: QTBUG-51993
Change-Id: I33323893cd6144187feccb1c6bcd010eff0fff6d
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Previously those would result in infinite recursion.
Fixes: QTBUG-74867
Change-Id: I6c0043b43e72fe7bc3a2a139ca600af2d5bca5ad
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Qt Quick Test is now its own documentation module; including the
path in both modules resulted in the duplication of QML types.
Change-Id: Ib947bb1fa136cc81328dcb46832f616adb1cefce
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
It's deprecated
Change-Id: Id901056e3a4ca378fb03486cd941e7e7222ffbc4
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The removal of QQmlV4Handle causes incompatible changes in private API
that other modules use.
Change-Id: I4f983e83a570c195c190f6d8c968f59f6adce21b
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Technically UINT_MAX is actually a valid array index, although that is
an academic problem right now. However, we do have a method
isArrayIndex() and should just use that to determine if a PropertyKey is
an array index.
Fixes: QTBUG-73893
Change-Id: I302e7894331ed2ab4717f7d8d6cc7d8974dabb4e
Reviewed-by: Erik Verbruggen <erik.verbruggen@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
As with WheelHandler, DragHandler also needs to allow the target movements
to be constrained with interceptors like BoundaryRule.
Also do a null pointer check in moveTarget(): we haven't needed it before, but
we are becoming more open to subclassing, so need to prevent user foot-shooting.
Change-Id: I6b39b6dd2ca8245c56ecb3812e6de9624b36fa50
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
We already have the variable 'scheduledRebuildOptions'. When this
is set to something else than RebuildOption::None, it means
that a rebuild is scheduled.
Change-Id: I85cde5c45eba15023cd389ebb0ba86f9d58835ae
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This is just an alias for QV4::ReturnedValue. We can as well use the
latter.
Change-Id: Ibd2c038a3ca726b39a8f0f05e02922adb9fccbdb
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|