Commit Graph

7806 Commits

Author SHA1 Message Date
Eike Ziller
863260f1fd Merge remote-tracking branch 'origin/4.15'
Conflicts:
	src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp
	src/plugins/debugger/gdb/gdboptionspage.cpp

Change-Id: I4149e860b6842ea63bff3a7eb9632b7a6c2919d8
2021-03-22 09:52:14 +01:00
Leena Miettinen
0c968f518e QtQuick3D: Replace Type with Component
As the name of the section that shows common component properties.

Change-Id: I0d6b95ba7b4831d85e89b863a8e4b2e74ec50926
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-03-19 12:45:01 +00:00
Leena Miettinen
e2d33a85f2 QDS Property Editor: Replace "item" with "component" in UI text
- Write ID in all caps
- Some other small fixes

Task-number: QDS-3778
Change-Id: Ib959a2b8d31c7e51ea9ed1cae398b115b01e63f8
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-03-18 13:07:22 +00:00
Eike Ziller
5c713d624c Merge remote-tracking branch 'origin/4.15'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I309fe2a4ea7afac85481fc6466a9a6e58e340019
2021-03-18 09:41:37 +01:00
Alexandru Croitor
27f299d9b5 CMake Wizards: Advertise manual finalisation
In qmake projects it is possible to run arbitrary qmake commands after
the whole project is parsed, which is used extensively by Qt to do
things like importing qml plugins, generating android deployment
files, etc.

In CMake this feature was implemented in 3.19+ and we leverage this
feature to do all the things described above when such a version is
used.

But when projects are built with earlier CMake versions, it's better
for users to do these steps manually, rather than letting them to
happen at qt_add_executable call time, which limits certain
configurability.

That can be achieved by adding a call to qt_finalize_executable at the
very end of the directory scope where the target was created,
in addition to adding the MANUAL_FINALIZATION option to the
qt_add_executable call.

Augment the wizard templates to advertise the existence of
qt_finalize_executable, as well as making sure that projects created
by Creator can work reasonably well with older CMake versions as well.

Change-Id: Icf60eae993cf815f6cce6ed659fe35264b016f62
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-17 13:12:18 +00:00
Henning Gruendl
f0983a08c9 QmlDesigner: Replace CSS color role
* Replace color role in CSS
* Add hover and focus state in CSS
* Fix hex color value in creator themes

Change-Id: I59626f369e2c02089f22bd51557d8226e2dc3631
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-03-16 17:18:31 +00:00
Thomas Hartmann
5b942b9e88 QmlDesigner: Fix compilation for Qt 6
For Qt versions below 5.15 and Qt 6 we can continue to use
the internal version.

Change-Id: Ia314fe9db323b0d5ea6acbb70bf1cb1098b4ae93
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-16 14:35:48 +00:00
Eike Ziller
4151f091e3 Merge remote-tracking branch 'origin/4.15'
Change-Id: If0dbebdf37b0ffea2528bf6ce6d34d88554f8dfb
2021-03-16 10:55:54 +01:00
Mahmoud Badri
f820164b1a QmlDesigner: Use a different color for unimported items section
Fixes: QDS-3873
Change-Id: Ic713353d8fe5c1bfb4ff11f1224294ecde182fa7
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-03-16 09:16:21 +00:00
Henning Gruendl
db6ad528bb QmlDesigner: Implement new control design
* Update creator theme files and related enum
* Remove unused ActionIndicator functionality
* Update all controls (Colors, Positions, Sizes)
* Add global hover state and cleanup all other states
* Add global hover functionality to ButtonRow
* Add missing states
* Add new MenuItemWithIcon
* Add checkers.png for StateDelegate preview background
* Update copyright headers
* Replace AnchorButtons spacing
* Make ADS title bar buttons and tab bar buttons themeable
* Fix replace CSS colors to allow specifing alpha
* Fix replace CSS overwritting consecutive variables
* Make navigator icons and other elements themeable
* Make connection view themeable
* Make item library themeable
* Fix item library import path
* Update all HelperWidgets
* Fix GradientDialogPopup

Task-number: QDS-3768
Change-Id: I28a5fed178c95d098db052b8c2eabaa083d37b81
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-03-16 09:11:38 +00:00
Tom Praschan
5fcd52fe83 ClangCodeModel/TextEditor: Add support for highlighting parameters
This is already built into clang, so we just need to expose it to the
highlighter and the UI.

Fixes: QTCREATORBUG-24880
Change-Id: I6d0595af2589a9b69eb954aafad46457ab2c5752
Reviewed-by: David Schulz <david.schulz@qt.io>
2021-03-15 09:48:24 +00:00
Alexandru Croitor
af184fdd4c CMake Wizards: Add Qt 6 specific static qml plugin importing
For Qml / Qt Quick projects to work with static Qt builds, the
application targets need to link to the static Qml plugins, which
is done by calling qt_import_qml_plugins.

Starting with Qt 6.1 and CMake 3.18+ that will be done automatically in
qt_add_application via qt_finalize_executable, as per
c71c48f5125c116f01f615f51f10e4f2877b2b1d

But for Qt 6.0 and lower CMake versions, we need to call
qt_import_qml_plugins manually, thus we include it in the
Qt Quick wizard template so that it works with all Qt 6 versions
and lower CMake versions.

Amends b72c1d11e6.

Task-number: QTCREATORBUG-23574
Change-Id: Id8db3352ecbb8441eda9f5c9638c7ea6ac1fee96
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-15 08:45:12 +00:00
Thomas Hartmann
ac24d4357c QmlDesigner: Fix puppet crash
Limit the depth of recursion. There can be cycles.

Task-number: QDS-3877
Change-Id: I10a1c7033b956244308e87aae6897f0040e0bc22
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-03-12 15:51:29 +00:00
Eike Ziller
834b6c2da1 Merge remote-tracking branch 'origin/4.14' into 4.15
Change-Id: I9b4f24456b94381fb7427d60bd683069edf31360
2021-03-09 12:44:12 +01:00
Miikka Heikkinen
2de66272e8 QmlDesigner: Fix item library header
Title text of tab buttons no longer overlaps the plus sign.

Fixes: QDS-3842
Change-Id: Iec51ebf00e6f719eac8b7204634ae8dc7696939a
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-03-09 10:53:12 +00:00
Mahmoud Badri
af41cca569 QmlDesigner: Move new item lib qmls to the share folder
...so that theming and hot reloading can be applied. Theming isn't part
of this commit. Also used icon font instead of pngs.

Change-Id: I7df149fe9c07fb4c2e3deca6bcf3b0346025e3d6
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Miina Puuronen <miina.puuronen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-03-09 08:58:14 +00:00
Christian Stenger
33cafa0dcf LLDB: Drop secondary lookup of native types
Although already tried to lookup a native type with an
lldb internal mechanism we still tried to do it "manually"
again.
This secondary approach was needed at some point when lldb
had no integrated way to lookup a type inside all modules.
Lookups done manually will not provide a better result than
the lldb internal one.
The error output generated with this blocks debugging which
makes QC unusable at this state.
So, remove the secondary lookup completely.

Fixes: QTCREATORBUG-25185
Fixes: QTCREATORBUG-25217
Change-Id: Ibd8a125a89633c611bf750e0f1759c639717e1d2
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2021-03-09 08:06:47 +00:00
hjk
89646aadce Utils: Don't raise SIGSTOP in the process stub
Previously, the starting inferior was sent a SIGSTOP to avoid
progress before the debugger could attach.

However, these signals are then also visible in the debugger and
need to be ignored as part of the startup handling in Creator.

The waiting effect can be achieved less intrusively by waiting
on a pipe read between fork() and exec().

Task-number: QTCREATORBUG-25073
Task-number: QTCREATORBUG-25082
Task-number: QTCREATORBUG-25227
Change-Id: Ie70b9eb5ea865f85411c26b0dbf377a019fec8d5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-03-09 08:06:21 +00:00
Miikka Heikkinen
6fdb34994c QmlDesigner: Ensure item library content is visible
Make sure the ScrollView content area is visible after content size
changes.

Fixes: QDS-3795
Change-Id: I1f7408db9ad318a5c54b5186569dd04235a3d952
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-03-08 13:10:30 +00:00
Eike Ziller
fee671dfbe Merge remote-tracking branch 'origin/4.14' into 4.15
Change-Id: Ifbfb495fff50b5bb27a12b204653cf1697820913
2021-03-05 17:18:43 +01:00
Miikka Heikkinen
dfeff5b30d QmlDesigner: Search also possible imports in item library
Possible imports are now also parsed for items in item library.
They are only shown in case the search string is not empty.
Starting a drag of unimported item will automatically add the import.
Added a small manhattanlength check to the start of the drag to
avoid unwanted import additions on clicks.

Also fixed the item sorting to alphabetical order within categories.

Task-number: QDS-3825
Change-Id: I93366182af3fd7eda38bf94d53807393ecf92a08
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-03-05 13:28:22 +00:00
Marco Bubke
f9b64d99ae QmlDesigner: Fix qmake .pri file
Change-Id: I85b8e4e5569879131b0697aa3f4f6e8d1e477fe4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2021-03-03 10:49:20 +00:00
hjk
b4de69795f Debugger: Mark elision of long QUrls in Locals and Expressions
Fixes: QTCREATORBUG-25404
Change-Id: Ieee42f9239c9ffe88da03765678e1d2c4b6bb11d
Reviewed-by: David Schulz <david.schulz@qt.io>
(cherry picked from commit 6df27ccbe7)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-03 08:25:25 +00:00
Christian Stenger
bf0154e50f LLDB: Do not print warnings to Locals
Change-Id: I552f75ebbb57c4af30582aa764fec75aa08df340
Reviewed-by: hjk <hjk@qt.io>
2021-03-01 15:13:00 +00:00
Christian Stenger
88ef74d0f9 LLDB: Fixup filtering out function signatures
Amends 2f67d75ca4.

Task-number: QTCREATORBUG-25185
Task-number: QTCREATORBUG-25217
Change-Id: Ic22d67d742273f9a8944c64df4c8a0647c4157f4
Reviewed-by: hjk <hjk@qt.io>
2021-03-01 15:12:54 +00:00
Eike Ziller
6608bf1ad5 Merge remote-tracking branch 'origin/4.15'
Change-Id: I65e889663dac29a2efd85eba35bdb39a6611c801
2021-02-24 13:57:54 +01:00
Mahmoud Badri
58b3afa728 QmlDesigner: Clean up flow tags remainings
Remove the remaining unused code related to flow tags. Flow tags feature
was removed as part of the new item library ui commit:
151184a609

Change-Id: Ic2f518cb7d345d4f5a183194bebb29c76b227c15
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-02-23 14:01:47 +00:00
Mahmoud Badri
7d3ba0587f QmlDesigner: Fix item library expand issue
If a click happens on an item library item, mouse interaction
(expanding, collapsing sections, and showing context menu) is blocked
until some action happens (right-click for example). This is due
to a bug in QDrag. With this commit it is very hard to reproduce the
issue unless one's deliberately insisting to reproduce it.

Fixes: QDS-3792
Fixes: QDS-1652
Change-Id: I201b07aabf144adbb4d51e32c1fcc4990f89f5f9
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-02-23 12:25:22 +00:00
Mahmoud Badri
80dfaf3be3 QmlDesigner: Expand collapsed component categories when searching
- Expand collapsed categories in the following 2 cases:
  - When searching.
  - When choosing "Expand all" from the context menu.
- Update only changed data when expand state changes rather than
resetting the whole model.
- Update search after adding a new QML import and switching to
the components view.

Task-number: QDS-3781
Task-number: QDS-3784
Task-number: QDS-3789
Change-Id: I09e6f1f97171cd9172cadf4202dd8d02cbb78513
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-02-23 09:17:06 +00:00
Mahmoud Badri
abc0559316 Fix property editor expand not working regression
Regression caused by 43eaa09b11

Change-Id: Ia749672464790b235f292efe09b6cc48e1df6b6e
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-22 16:13:45 +00:00
Eike Ziller
c55e59cb77 Merge remote-tracking branch 'origin/4.14'
Change-Id: Ib9512b4fc5e17b04ca4be79fc315e79a52d06497
2021-02-22 12:19:58 +01:00
Michael Weghorn
f4dc3fd5c5 Debugger: Prepend '*'s for autodereferenced pointers
If automatic dereferencing of pointers is enabled, the
"Value" and "Type" columns for pointers hold the values for
the dereferenced pointers.

In order to have a consistent behavior for the "Name" column
as well, prepend '*'s to indicate that the variable/expression
has actually been dereferenced.
Add parantheses around the original expression if it doesn't
match a simple regex for variable names, to avoid that the
leading '*' changes the meaning of the expression
(so e.g. a dereferenced 'somepointer + 1' is displayed
as  '*(somepointer + 1)' rather than '*somepointer + 1').

This introduces a new 'autoderefcount' field to propagate the
information how many levels of dereferencing have taken
place from the Python to the C++ side, which is then
used to add the leading '*'s for the display name.

Fixes: QTCREATORBUG-20907
Change-Id: Ia9a41cb42e25ba72a6d980a765dbe2b454deb8c8
Reviewed-by: hjk <hjk@qt.io>
2021-02-22 09:36:45 +00:00
Christian Stenger
2f67d75ca4 Debugger: Avoid looking up function signatures
Looking up function signatures ends up in massive
stderr output which blocks the debugger for ages, so omit
them as long we are not sure where they originate.

Task-number: QTCREATORBUG-25185
Task-number: QTCREATORBUG-25217
Change-Id: I9b022d2194a6cb61651ee0648be526fc94a02da9
Reviewed-by: hjk <hjk@qt.io>
2021-02-22 06:21:39 +00:00
Michael Weghorn
2d8dff4a8a Debugger: Avoid exception with GDB 10 to fix running dumper tests
Since GDB commit 1ba1ac88011703abcd0271e4f5d00927dc69a09a [1]
("gdb: Enable stdin on exception in execute_gdb_command",
committed 2020-01-24), stdin for GDB is re-enabled whenever
an exception is caught during 'gdb.execute()'.

When running the dumper tests for GDB, such an exception
was thrown when loading the qtcore library, resulting
in the GDB commands after the 'run' command (s.
'tst_Dumpers::dumper') to be be handled by GDB prematurely
when loading the library instead of when reaching the
end of the test program.

This resulted in the dumper tests failing with output like

    29: (gdb)
    29: &"up 0\n"
    29: &"No stack.\n"
    29: ^error,msg="No stack."
    29: (gdb)
    29: &"python theDumper.fetchVariables({'token':2,'fancy':1,'forcens':1,'autoderef':1,'dyntype':1,'passexceptions':1,'testing':1,'qobjectnames':1,'expanded':['local']})\n"
    29: &"Traceback (most recent call last):\n"
    29: &"  File \"<string>\", line 1, in <module>\n"
    29: &"  File \".../qt-creator/share/qtcreator/debugger/gdbbridge.py\", line 711, in fetchVariables\n"
    29: &"    variables = self.listLocals(partialName)\n"
    29: &"  File \".../qt-creator/share/qtcreator/debugger/gdbbridge.py\", line 597, in listLocals\n"
    29: &"    frame = gdb.selected_frame()\n"
    29: &"gdb.error: No frame is currently selected.\n"
    29: &"Error while executing Python code.\n"
    29: ^error,msg="Error while executing Python code."

Avoid the exception by first trying to 'gdb.execute' the
command that works for GDB 8+ and fall back to the command
for earlier GDB versions, i.e. reverse the order. That
should be fine for all GDB versions, given the commit
mentioned above is only contained from GDB 10 on.

While at it, move the assignment to 'cmd' into the
corresponding 'try' blocks to make the context a bit
clearer.

[1] https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=1ba1ac88011703abcd0271e4f5d00927dc69a09a

Change-Id: I2d1bb52a777801e6bd77a5eda581a2fd5dd3a18f
Reviewed-by: hjk <hjk@qt.io>
2021-02-19 08:14:31 +00:00
Mahmoud Badri
43eaa09b11 Add components library expand/collapse all context menu options
also change import name from "library" to "module" and relevant tweaks.

Task-number: QDS-3589
Change-Id: Ib467dda61b6720cebe843e34cb807aee6221f5cb
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-18 18:43:57 +00:00
Mahmoud Badri
151184a609 Implement new item library UI
- Create a new header qml widget.
- Move tabs and filtering search to the header widget.
- Add imports/assets using a new "+" button on the tabs.
- Remove import flow tag view (still some remainings to be removed in another commit).
- Change layout from grid to vbox.
- Rename some classes and variables to make them clearer.
- New "Add Library" view that replaces the QML imports view (older QML imports classes removed).
- Enable Search in the "add import" view.
- Hide category header if only 1 category is under an import.
- Assorted relevant fixes, tweaks, and clean ups.

Task-number: QDS-3589
Change-Id: I710aed50858b32e024200911c6a21fd963e1b692
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-17 09:38:20 +00:00
Miikka Heikkinen
85e9b5e033 QmlPuppet: Fix custom 3D geometries for Qt 6.1
Private API puppet uses for custom 3D geometries has changed.

(cherry picked from commit baf3528af5)
Change-Id: Ib9be20f836c7e985b850966c3bdd620cbeac246a
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2021-02-16 16:11:56 +00:00
Aleksei German
865d87a75f QmlDesigner: Update QUL metadata
Task: QDS-3622

Change-Id: Ie152ded36293ae4cc28caac426185db70f3ed2aa
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-16 13:32:46 +00:00
Eike Ziller
b72c1d11e6 CMake Wizards: Add properties that are required for iOS
Running applications on iOS requires declaring a bundle identifier and
version numbers in the application's Info.plist file.

Unconditionally add them, since they also make sense for desktop
applications, even if they are not strictly required.

Fixes: QTCREATORBUG-25297
Task-number: QTCREATORBUG-23574
Change-Id: I2269bec2d4eaf3e8dd3332a027b284049b3b8b42
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-02-15 08:21:58 +00:00
David Schulz
5860addcd2 Python: Adjust wizards to PySide6
Fixes: QTCREATORBUG-25340
Change-Id: I8f22eac283893b2778b6854e1dcd4ae6048d4c84
Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
2021-02-12 10:00:49 +00:00
Eike Ziller
c98e320082 Merge remote-tracking branch 'origin/4.14'
Change-Id: Iea91e66d30f797c079fe09e12a6744c36c58be1a
2021-02-09 11:42:57 +01:00
Henning Gruendl
27eb98faf2 QmlDesigner: Fix ExtendedFunctionLogic initial color
Change-Id: I39cd29528722552ca37e4ce78d6f4a7819ee3e9c
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-09 09:24:08 +00:00
Thomas Hartmann
1641f2eb87 QmlDesigner.CapturedDataCommand: Store visible property
Change-Id: Idc2b4c9a859f9a9e03dea915ca98e91b4efdd488
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-08 16:58:12 +00:00
Orgad Shaneh
dad2b3d84b Merge remote-tracking branch 'origin/4.14'
Change-Id: I7d55c01489dfcdd26fcf3ced9f26539a09073e8c
2021-02-08 12:56:36 +02:00
Christian Kandeler
64bec2205b C++: Add source file to test icon support
Task-number: QTCREATORBUG-21867
Change-Id: Ie167608257bb8b7d268a05f1935d77659a075dc1
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2021-02-08 08:42:32 +00:00
Tim Jenssen
bd25785997 qmlpuppet: fix crash
initializeView(); creates the necessary engine
where we need to set the languageUi.

Change-Id: Ib9f9f35e00167ce0bfe4d96ed4e66a965daea084
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-05 17:30:56 +00:00
Miikka Heikkinen
baf3528af5 QmlPuppet: Fix custom 3D geometries for Qt 6.1
Private API puppet uses for custom 3D geometries has changed.

Change-Id: Ie9f2052b04399db6f9643aba6319f6e95df1c15b
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-02-05 15:03:47 +00:00
Miikka Heikkinen
2a94113352 QmlDesigner: Fix compile error
Change-Id: Ic52d29b6cba10ba00be2497b43490e5e1443ade2
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-02-05 11:54:41 +00:00
Miikka Heikkinen
99a3ddbd23 QmlDesigner: Move 3D asset import to puppet
Moved 3D asset import to puppet to ensure import always uses the
correct version of the QtQuick3D.

Fixes: QDS-3154
Change-Id: I630a833e7231383b87bf8b7214d3545d12de15ab
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2021-02-05 09:34:04 +00:00
Miikka Heikkinen
a57820f055 QmlPuppet: Register fonts at scene creation
Automatically register all fonts from 'fonts' folder at scene creation.

Fixes: QDS-3624
Change-Id: I38728e458952ea52c941244daaca715102a93c55
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2021-02-05 09:26:34 +00:00