Commit Graph

8097 Commits

Author SHA1 Message Date
Jean-Michaël Celerier
e0f539a068 Debugging helpers: support for boost::small_vector
Change-Id: Ided74fa2ebf3e4ae5258e22064bb105bd45710ac
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Ihor Dutchak <ihor.youw@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-19 11:34:33 +00:00
Samuel Ghinet
2c8c7707c5 Enable disabled test in QDS's wizard factories
The test was disabled because it required a method to be virtual, in
order to be mocked; and where it was integrated in (branch 6.0), it was
a patch release, and we couldn't break binary compatibility.

Task-number: QDS-5691
Change-Id: If8d3101be7b92942b32ffff1d88ab0823f26e08b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-19 09:52:39 +00:00
Eike Ziller
6914deb0da Merge remote-tracking branch 'origin/6.0'
Change-Id: Ie8406c1854738cabcc85ef6ddaee7559d5227bec
2022-01-17 16:52:31 +01:00
hjk
4c21852ec6 QmlDesigner: Fix compilation
Amends c1c147a9dc.

Change-Id: Ib6d58e607a234424e77516dbb0fa07599a25f68e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2022-01-17 14:39:17 +00:00
Eike Ziller
491e5c4176 Merge remote-tracking branch 'origin/6.0'
Change-Id: Ic1790446cb453e3d8a24467a31e3c8df33bc68bb
2022-01-17 11:22:11 +01:00
Samuel Ghinet
c1c147a9dc QDS-5691 Create a tab for Recent choices
The Recents should store presets, rather than normal project items,
while the rest of tabs are to store normal project (i.e. wizard) items
but with the default screen size written under the wizard name.

In this patch I also did a few renames: e.g. the Presets view now uses a
PresetModel rather than ProjectModel, because we now store presets. A
Preset is a higher level concept than Project / Wizard item: it can be a
project/wizard item with pre-defined configurations; and now we can have
multiple presets using the same Wizard factory. Renamed struct
ProjectCategory to WizardCategory, because the items are grouped by the
category of the wizard (i.e. the "category" property of IWizardFactory)

I extracted a class, PresetData, to hold the data that is being shared
by the PresetModel (items in the view) and the PresetCategoryModel
(header/tab items). It stored both information on normal presets and on
recent presets.

Made changes to JsonWizardFactory so that I could extract the list of
screen sizes without requiring to build a wizard object first. This is
important, because multiple JsonWizard objects cannot be created at the
same time and I need to show the screen sizes of multiple presets /
wizards as the Presets view is opened. This also required class
WizardFactories to use JsonWizardFactory instead of Core::IWizardFactory
-- since "screen sizes" are a particularity of the json wizards, not of
all kinds of wizards.

Also, fixed a TODO in WizardHandler::reset() method.

Also, added a few utilities I had need of, in algorithm.h.

Change-Id: Ifd986e2def19b2e112f0aa1ab3db63d522736321
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-17 08:59:09 +00:00
Eike Ziller
7a94cca007 Merge remote-tracking branch 'origin/6.0'
Change-Id: Ia208fc746333e3d36868c580aa7794da9627c3e0
2022-01-14 10:24:10 +01:00
Christian Stenger
b75cd872f5 Tests: Adapt to qmljs updates
Amends 125d7c0cce.

Change-Id: I4f31af6dbb4e99d612444c4861199afdcdf7240b
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2022-01-14 08:24:12 +00:00
Marco Bubke
68ac61193c QmlDesigner: Refresh preview image every hour
It is to assumed that the preview image will be changed and we don't need
to collect the time stamps of the files.

Task-number: QDS-5924
Change-Id: Icf5540d7bcc9da17a1497641f6189f35eb47f5d2
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-12 16:27:08 +00:00
Marco Bubke
7ce13691ff QmlDesigner: Remove generator from AsynchronousImageFactory
The generator was introduced to decouple the generation thread from the
fetch thread. But for the factory you only generate the image so you
can use the factory thread for the collector.

Change-Id: If569defba0c52dd85b19451a78f0daf5043b4d01
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-12 16:26:43 +00:00
Marco Bubke
3d0d9e8e0c QmlDesigner: Don't save null image for preview collector
Change-Id: I01ad1c12c25a734107b359461508c037a2f23bb2
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-12 16:26:31 +00:00
Eike Ziller
9056d708fa Merge remote-tracking branch 'origin/6.0'
Change-Id: I642abb110bb120e20af11a5d55244c03e6c48caa
2022-01-12 13:59:10 +01:00
Christian Stenger
f6265d706a QmlDesigner: Fix missing dependency
Change-Id: Ie12969d59bd63925f88c973f52de283d410b8c13
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2022-01-12 05:32:10 +00:00
Eike Ziller
80e0cb56ec Fix build with macOS deployment target < 10.14
As is used for the Qt 5 based prebuilt binaries.
std::optional is only fully supported out of the box since
10.14.

Change-Id: Ide8bd9ac8b66b05e1bb6e9b350edf3e7ffdaf97e
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-10 10:28:11 +00:00
Eike Ziller
501b6eff9c Merge remote-tracking branch 'origin/6.0'
Change-Id: Id84183d2ba73dbe98700af43074cc2d05b26f06d
2022-01-10 09:47:11 +01:00
Marco Bubke
3cf01fbf07 QmlDesigner: AsynchronousImageFactory generates if the image is null
If the image is update but null we still generate a new image. This
is a ugly workaround for the flaky generation process. Hopefully
we can fix it after all hidden dependencies are removed.

Change-Id: I0e344002a1952fb849393d3e245e31612c69d7bd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-06 22:09:39 +00:00
Marco Bubke
b2e1bcc4e5 QmlDesigner: Add fetchHasImage to ImageCacheStorage
Change-Id: Ieb148abb02527bb84eda4f00af85a66d98731f03
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-06 14:36:19 +00:00
Eike Ziller
1df8dd3c93 Revert "Revert "Use QtcProcess for clangbackend""
This reverts commit d65e47b5c6.
Reverts the quickfix for the performance regression of code completion.
Followed by a minimal fix.

Task-number: QTCREATORBUG-26829
Change-Id: I1afe71c24ee94caadd4fa849c29f6fc030fb1a8b
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2022-01-06 14:34:35 +00:00
Eike Ziller
65e8c864af Merge remote-tracking branch 'origin/6.0'
Change-Id: I405e3f95b0cdcd7b2686f31baae16c03c787f007
2022-01-06 11:55:39 +01:00
Samuel Ghinet
73114f3583 Add unit tests for QDS New Project dialog
Added tests for WizardFactories class and for StyleModel class.

Task-number: QDS-5690
Change-Id: I08f51c2b6cf628a265286ddb8056bd049a64ff0b
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-05 16:25:42 +00:00
Cristian Adam
ec07bf8f7c Revert "UnitTests: Disable some ClientServerOutsideProcess tests"
This reverts commit c22c22c3d6.

Reason for revert: With d65e47b5c6 the tests are passing.

Change-Id: Ide9c12e38c229315364489123f687b50632ffed8
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
2022-01-04 18:58:05 +00:00
Cristian Adam
d65e47b5c6 Revert "Use QtcProcess for clangbackend"
This reverts commit 8724a4efbb.

The above commit made code completion 3-4x slower on Windows, and
8x slower on macOS.

Fixes: QTCREATORBUG-26754
Change-Id: I02424a40e10de2baf3fd01f19f9094c8e82f684a
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2022-01-04 18:01:57 +00:00
Marco Bubke
3e585483c9 QmlDesigner: Check if callback is not null
The AsynchronousImageFactory is not interested in any callback. So it
is providing null callbacks. If they are called there will be a crash.

Change-Id: I252301e4289185e50720849a7cb148d8f1da3e7d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-04 17:38:17 +00:00
Marco Bubke
24087bd8b6 QmlDesigner: Add AsynchronousImageFactory
Task-number: QDS-5861
Change-Id: I3d938b3ddaa965da2105a326ea68f498dbb60fa0
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2022-01-04 12:00:11 +00:00
Marco Bubke
d479047275 QmlDesigner: Use optional for ImageCache*
There are now matcher in google test for optional.

Change-Id: Ib3389fb0f537fd19a2930e7108483736bbba1628
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-04 12:00:04 +00:00
Marco Bubke
3816250f27 QmlDesigner: Add AsynchronousExplicitImageCache
Task-number: QDS-5859
Change-Id: I962be68f22ba0c0118c14149a0d0ecf395934db5
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2022-01-04 11:59:59 +00:00
hjk
ea13ade822 Debugger: Add QStringView dumper
Fixes: QTCREATORBUG-20918
Change-Id: Ib16ac37000d227e6af2bc6d6640136ba0a7333b1
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-03 13:07:56 +00:00
hjk
e8ae475fcf Debugger: Add a "Char Code Integer"
Fixes: QTCREATORBUG-22849
Change-Id: Id601eb5cbe1211cff595f04b5910a21f1ba33128
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-03 12:45:39 +00:00
Jarek Kobus
ee2960989e Remove unused SshConnection::dataAvailable() signal
Change-Id: I1e12965931a7623ed03d0e703b275eb02ddaf6c7
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2022-01-03 12:34:24 +00:00
Eike Ziller
85b60d9608 Merge remote-tracking branch 'origin/6.0'
Conflicts:
	src/plugins/coreplugin/editormanager/editormanager.cpp

Change-Id: I80fe565749ad5c06dfe99436f2dc6ab4b66a2537
2021-12-16 10:50:33 +01:00
Jarek Kobus
7c674e0a5b Ignore expected assert messages in tst_ssh test
Ignore the:
"state() == Connected" in file [PATH]/sshconnection.cpp, line [LINE]
message when running pristineConnectionObject() test function
of tst_ssh test.

Change-Id: I28e19165d9e540b47252d44b198fd07b15c89cc8
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2021-12-16 08:31:54 +00:00
hjk
a910724969 Docker: Add a way to build boot2qt images
Change-Id: I4087d3a24dd928aff39f748909b0add14916329f
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2021-12-14 17:58:42 +00:00
Marco Bubke
ad505aad59 Sqlite: Strict table support
With Sqlite 3.37 strict tables are introduced:
https://www.sqlite.org/stricttables.html

The introduce strict column types. So you can not add a text to an
integer column anymore. Additionally they introduce the "any" column
which is a dynamic type.

Change-Id: I43c0410821aa154e7de83e24bd221a232f98e910
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-12-14 16:50:10 +00:00
Marco Bubke
90bb92f327 QmlDesigner: Fix broken test ListModelEditor.AddBooleanProperties
Task-number: QDS-5708
Change-Id: I9961838149da19e3ab8670652e9e246f92b67012
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-12-14 16:29:38 +00:00
Marco Bubke
94e91ccc25 Sqlite: Remove virtual interface dependency
With C++ 17 it is possible to deduce the template argument from the
contructor parameter(CTAD). We then do not call anymore a virtual
function but a normal function.

Change-Id: I61c3ce22322c66b256afab278e768014401b08cc
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
2021-12-14 16:29:30 +00:00
Marco Bubke
e391ef7d3f Sqlite: Remove flacky test
Because we don't use the function we can remove it.

Change-Id: I273a9b56589257b17499f41df02d5e40345f2d4b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2021-12-14 16:29:18 +00:00
Robert Löhning
85b1d166eb Squish: Don't try saving files after refactoring
Files are being saved automatically.

Change-Id: I4a5ce9e1ddbbd6ea3c7f51d8548a31eda8de0aab
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-12-10 22:11:18 +00:00
Robert Löhning
3eef024960 Squish: Fix checks in __selectQtVersionDesktop__
The expected checkboxes only matched what Creator displays for
qmake-based projects. This crashes since some project use CMake
by default.

Change-Id: I4d52ee6d71f332b5e884bdd87b94f9d9bacd9d19
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-12-10 12:44:49 +00:00
The Qt Project
03a0e6211d Merge "Merge remote-tracking branch 'origin/6.0'" 2021-12-09 13:19:14 +00:00
Marco Bubke
d4c6f06a63 Sqlite: Introduce BindParameterCount template parameter
The BindParameterCount is checked at compile time and then again for
the construction of the statement. So we provide an early error instead of
an some error later or even stranger behavior.

Change-Id: I860ca1f78645c222ae1accf5c7a469c77befc3bd
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-12-09 13:13:51 +00:00
Marco Bubke
596ac61872 QmlDesigner: Synchronize without updating exports
If we only update the qml file we don't have to update the exports from
the qmldir file. So if ChangeLevel::ExcludeExportedTypes is set we don't
touch the exports for that type.

Task-number: QDS-5537
Change-Id: I247228076b3f7ac7f6334d10011b408d6406df07
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-12-09 13:13:42 +00:00
Christian Stenger
8039aa9ddb Squish: Adapt to changed UI
New File and New Project are nowadays separate menu entries.

Change-Id: I36c619d5a2eb4b5ac36bb25a20a1cb62f33493bb
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2021-12-09 12:10:26 +00:00
Eike Ziller
d422b408e0 Merge remote-tracking branch 'origin/6.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I32991a77e52831dd2e24cf4a51ec252998c2d743
2021-12-09 12:04:32 +01:00
Marco Bubke
c1ca2a7103 Sqlite: Fix insertUpdateDelete
Like you can read in https://www.sqlite.org/isolation.html after an
update they same value can be show up for an iterator advancement. This
would be lead to an delete. So the last value for update is saved and
then compared in the delete method. If they are equal the delete is
skipped.

Change-Id: Ic0aa6619f6a4a520eac77be4e5a83cbe533d102d
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-12-08 15:01:39 +00:00
Marco Bubke
4e99b13804 QmlDesigner: Make the member of BasicId private
This prevents that it is changed by accident. It should be anyway not
accessed outside of tests and the storage.

The reinterpret cast is defined behavior.

It would be nice to make the constructor private too but it is used widely
in the tests.

Change-Id: Ib0e8393cc950a651138c1e87c1b6a7b3e5a836f2
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2021-12-08 15:01:23 +00:00
Marco Bubke
6009f65b9b QmlDesigner: Fix broken algorithm for table without rowid
It seem not to work for tables without rowids. We have to research if
it a Sqlite bug or more propable a misuse of our side.

Change-Id: Ie1e2fdba5f71595f24cad79125c37db0ec9715c3
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2021-12-08 15:01:17 +00:00
Marco Bubke
0827556621 QmlDesigner: Synchronize ProjectData to the Storage
Task-number: QDS-5644
Change-Id: Icede506974e88dd64fc866b65f4fa9d64a05aea0
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2021-12-08 15:01:05 +00:00
Marco Bubke
56af8b905e QmlDesigner: Improve project storage update
Task-number: QDS-4920
Change-Id: If5a839a6862bab50fe3a3e049cb1214f04eeca1a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-12-08 15:00:44 +00:00
Christian Stenger
1f12b3444e Squish: Adapt to removed wizard templates
Change-Id: I56b0bd7000fdc73cce759ca743da543ecc715453
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
2021-12-08 13:20:50 +00:00
Marco Bubke
c22c22c3d6 UnitTests: Disable some ClientServerOutsideProcess tests
It seems QtcProcess introduced a really long timeout in the tear down
function. This makes the unit test unusable. So long it is not fixed the
tests are disabled.

Change-Id: Ibdac92f6e5cef7b5866f7e64cc163fd1052c272b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-12-07 11:55:54 +00:00