Sqlite adds an implicit transaction if no transaction is used. That can
be problematic if you use multiple statements but it is okay for one
read statement.
Write and read write statements should use immediate transactions
because the acquire the write lock. Otherwise the write lock is only
acquired as you try to write. From there it is much harder to recover.
Change-Id: I04b0be7447f2b82b6921738d789c33cbbaa8de6e
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
The new implementation doesn't require these colors to be stored in
external dependencies anymore, as auxiliary properties are used for
them instead.
Fixes: QDS-10496
Change-Id: Ie71408617259d1af73a45f327d4bdfa4f2fa3a2b
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
In case id is not ancestor, we cannot find that ID in m_idStack by
design. The ID of an uncle type could be either popped out or not pushed
in yet. The previous implementation, therefore, doesn't restrict M16
messages if non-ancestor ID is referred.
As a workaround, disable M16 warnings completely if the enclosing type
uses ImmediateProperties.
Amends 012f984c27
Task-number: QTCREATORBUG-28468
Change-Id: I47326e005753ff7b94057732602cfeb6dc525bbb
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
You can now use QList and QVarLenghtArray for values. The later is quite
interesting because it is not allocating for a provided capacity.
So you can now write:
statement.valuesWithTransaction<QVarLenghtArray<int, 1024>>();
And in almost all case no expensive memory is allocated. With the help
of NRVO there should be no copy too.
That is very useful for temporary values which are transformed into a
different type.
The capacity changed to an template parameter too:
statement.valuesWithTransaction<int, 1024>();
That is more clear than before:
statement.valuesWithTransaction<int>(1024);
Change-Id: I6d8d10ed9db0cc37f0579353a416e36e23c30415
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
To share the code TaskQueue is introduced. The Thread and the
synchronization code is moved into TaskQueue. Only a dispatch and cean
must be implemented in the callback.
Change-Id: I19c85c891ef700aae85b54630714555e862200a4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
The thread will be stopped after 10min. And then started if needed.
Change-Id: I66f64081353fa4f24c7927139d1676ee8de85679
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Sometimes we want to have the dot properties instead of the
value(readonly) properties.
CompoundPropertyMetaInfos inflateValueProperties(PropertyMetaInfos
properties);
CompoundPropertyMetaInfos
inflateValueAndReadOnlyProperties(PropertyMetaInfos properties);
are removing the value proeprties and adding the dot properties if the
property type has properties.
Task-number: QDS-10472
Change-Id: Ia2291f77f1b38bbe62d71319bfa28cf545cbef18
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Dot and dotdot properties can be gotten but three dots or more are not
supported.
Task-number: QDS-10472
Change-Id: I5e05405cd8ce80bc321dd78b2f74158832fed0bb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Dot and dotdot properties are supported but not three or more dot
properties.
Task-number: QDS-10472
Change-Id: Ib5e40bfca470fe7520c9caacf0f469892bb73f7c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
If the project storage works we can access if a type is a value,
reference, sequence or non of the above.
We can even test of values has properties like QFont etc.. That is
removing quite some heuristic code.
Change-Id: Ie3447d99931c6784db178e4b48f7d2f9a4f646fc
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
A simple store for editor path in the project storage. So we can inquire
the path for every type. The storage is synchronized per directory. So
only entries with the updated directory id are affected.
Task-number: QDS-10391
Change-Id: Ic4d0ce17eedd374ade56abd7cab08f2b7a9830c6
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The update is walking a path which is provided by the
QmlDesignerProjectManager paths which ends to Pane.qml or Specifics.qml.
From that paths the module and type name is extracted. That data is
synchronized with the ProjectStorage. If no directory was changed it
will skip that directory. It will to collect the directory id to update
the storage per directory.
Task-number: QDS-10390
Change-Id: I3aaf5528133cf5e5c15f38a9720fbbf540d24eca
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
It is not very useful here and adds a warning for every test.
Change-Id: Iaf75385f90ebbe3d0ac9a306328ba56c489ea6cf
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
An AST Visitor checks the correct structure for the connection editor
Statements are parsed as the result
Javascript statements could be resurrected
Some tests are added
Task-number: QDS-10257
Task-number: QDS-10288
Change-Id: Ia6e4f9c0f48678b6610941c977b7d7bed296ced0
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This was misparsed as a function with an initializer (e.g. "= default"),
and then the empty id caused trouble later on.
Fixes: QTCREATORBUG-29386
Change-Id: I85a35db544e11ad85f50e3a15b1a071b36e79cd0
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
...when that doesn't have any advantages.
Change-Id: I0c58e30ae0b9e278e3336646332279f6243719d0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Explicitly disable loading ClangCodeModel plugin to avoid slowing
down the load and parse of the projects by the indexer as we are
measuring the time for these.
Beside this adapt the expected tree for macOS - there are a couple
of files and subtrees that are present only conditionally.
Change-Id: Ibc000d0908e652700820f8eee4b17effdf48f637
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
The point of Python3 returning objects instead of lists is that
it will iterate just as far as items are actually being used.
Change-Id: If4d9742bb47aa9cac1166a0ff6f10d211829fd85
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
When creating a command line project from wizard we end up
with code that is not compilable on Windows when using too
old Qt versions. Explicitly do not use the older Qt versions
as this fails to build and the whole tests would need to get
adapted to handle this appropriate instead.
Change-Id: Ia8a253a0c5d8d20ea181dd33dc8d31cb83cb31c3
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
The cast function is now returning an invalid variant if the meta info
is invalid. It is too not anymore converting the value magically.
Task-number: QDS-10290
Change-Id: I125aab9ac46c9ac0605364ede32fb1a10d20cd89
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
It used the size of the destination string but it had to use the size of
the appended string to inquire the maximum required size.
Change-Id: I1c910abab0ac60ed5fec1b3dc3a358e438532281
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Using the window title property on macOS is not reliable
as message boxes do not get any there. Use the expected
text of the message box instead.
Change-Id: I36dc865dcce6ba98643f0174887de12c197b3222
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Modify used short cut on macOS again. This tends to break
depending on OS version, underlying keyboard layout and
maybe even more causes.
Change-Id: I79b0e281128b8f779307782038aa9fb42510b633
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reading files depends on the system encoding and will
return a bytes object instead of a str even for text files
on some Windows setups.
Handle this by explcitly converting to str if needed.
Handle possible decoding issues by falling back to UTF8
encoding when running into decoding error while decoding
on Windows.
Change-Id: I8c1f24ff052710e4b1927399d54e321088e3b171
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
The IsEmpty and IsNull matcher have been extended to be more generic.
QVaraint matcher have been added.
Task-number: QDS-10290
Change-Id: I34fcb0571190dd37e7706587ee617e1301f9f841
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
A dict's values object is not a list as it had been in Python 2.
Explicitly convert it.
Change-Id: Iab54a5833b77c6890b108065657da3ff73c96f7f
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Some menus inside QC have special numbering - but this only
applies to Linux and Windows. On macOS we do not add this
special numbering.
Additionally this patch stabilizes the triggering of
submenus. When they get triggered it takes a split of a
second until the items inside the menu are usable.
Let squish wait until the sub menu is fully present before
trying to activate some of its items.
Change-Id: I32c688a937ada1da07506d4ebd22730e4f2bcaef
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>