Commit Graph

62024 Commits

Author SHA1 Message Date
Cristian Adam
afea900b96 CMakePM: Add directory icon overlay for know source groups
This way the CMake Project Manager will behave in the same way as QMake
Project Manager!

Change-Id: I3c4bd6b2f4f0f5d4dfc73edb2049d6e251154d54
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-09 07:08:55 +00:00
Cristian Adam
716c1d03f2 CMakePM: Treat "Forms" and "State charts" as special source groups
Amends 76dcc069d6

As a user I expect that the "Forms" and "State charts" source groups
should go away if I select the filter "Hide Source and Header Groups" in
Projects view.

They are not meant to be user defined source groups.

Change-Id: I17db9eb7e1da17b93a45f6093782add19c2b5cb1
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-09 07:08:46 +00:00
Cristian Adam
6fd9a3c807 CMakePM: Refactor display of CMakeLists.txt
All CMakeLists.txt from the Project view are marked as generated, except
the root one. This means that in normal case they will be hidden.

Every CMake Target (except Utility) will get a CMakeLists.txt:<number>
entry with the definition line of the target.

The CMake Folders will get an entry with the CMakeLists.txt which can be
accessed via context menu and "Open...".

The CMake Folder that only had a CMakeLists.txt will be removed when the
filter "Hide Empty Directories" is checked. This for example makes a
reduced plugin Qt Creator only display the enabled plugins, and not all
plugins!

With this change the "Simplify Tree" view will no longer have many
CMakeLists.txt entries, which makes the view more useful.

Fixes: QTCREATORBUG-31362
Change-Id: I708171e4b114100fae6fb592044a19fc36239261
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-09 07:08:40 +00:00
Christian Kandeler
7c28f17481 QtSupport: Re-use ToolchainManager::isBetterToolchain()
... and upstream the additional check.

Change-Id: I6443987174f39e0953238cf2e8e07b4b1d8129bd
Reviewed-by: hjk <hjk@qt.io>
2024-08-08 15:03:21 +00:00
Christian Kandeler
b6299edf1f ProjectExplorer: Factor out function to compare toolchain suitability
... and use in ToolchainKitAspect in addition to KitManager.

Change-Id: I4c9221735a660697baab667877cc335ee0ee3e78
Reviewed-by: hjk <hjk@qt.io>
2024-08-08 14:47:30 +00:00
Christian Kandeler
077de5aab6 ProjectExplorer: Handle registering of auto-created bundle toolchains
... in the bundle itself, whenever possible.
It's very annoying to have to add this stanza in all places where
bundling takes place, and it's also easily forgotten, introducing memory
leaks.
This also nicely self-documents the expectations of the calling code as
to whether new toolchains can or cannot be created in the given context
as a side effect of bundling.

Change-Id: I78d2d4cdfc1010568f61f201b0d930b01f79a88b
Reviewed-by: hjk <hjk@qt.io>
2024-08-08 14:34:47 +00:00
hjk
a5de0bd651 ProjectExplorer: Change language and language cateegory display storage
Effectively from container of pairs to pairs of containers.

Saves a few transformations and temporary lists at the price of
effectively storing the keys twice. This is all small stuff, so
it should not matter performance or memory-wise at all, but helps
me to reason about potential complexity on higher levels.

Change-Id: Idf9e235b64d97b1168278ea3dcda34a476c20c08
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-08-08 13:29:33 +00:00
Christian Kandeler
9cf9e0aa34 ProjectExplorer: Improve ToolchainKitAspect::setup()
- Use toolchain bundles.
- De-obfuscate the code.
- Add explanatory comments.

Change-Id: I19f4b5fde317ffabf06c762e1987b0314c52e646
Reviewed-by: hjk <hjk@qt.io>
2024-08-08 12:33:15 +00:00
hjk
998de2f6dd ExtensionManager: Persist and display external repo url
Change-Id: I11fa419fb479cdf9acd625ac26e4c42079557a04
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
2024-08-08 12:18:05 +00:00
Lukasz Papierkowski
f2e9032503 LUA: Add CyclicSuggestion to TextEdditor bindings
Change-Id: I984f886123470f2f63accb39c697f61890cbab98
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-08 12:00:47 +00:00
Lukasz Papierkowski
a7f8124736 LUA: TextEditor bindings refactor of CyclicSuggestion and SuggestionToolTip
Change-Id: Iba0f68a7ff9510224d696005301cfea5b16e4ecf
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-08 12:00:31 +00:00
Christian Kandeler
5d0aebcbc7 QtSupport: Use toolchain bundles in QtKitAspect
Change-Id: I260d511c13255b156e35e70d7ebb08d78e23e23b
Reviewed-by: hjk <hjk@qt.io>
2024-08-08 09:00:58 +00:00
Eike Ziller
305e335550 Debugger: Fix memory view as an editor
`EditorManager::activateEditor` assumes that the editor is already known
to the editor manager.

Add a dedicated `EditorManager::addEditor` method for making an IEditor
instance known to the editor manager and activating it (if wanted).

Change-Id: I0c1632b6a3b32f54a01da0ad632fa17e2b1a850f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-08-08 07:13:29 +00:00
Christian Kandeler
98589279cd Fix qbs build
Change-Id: I1d0d14adf12dbae0014f6b852a29c1eab942be3d
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-08-08 04:34:58 +00:00
The Qt Project
7c7c6123d6 Merge "Merge remote-tracking branch 'origin/qds/dev'" 2024-08-07 12:55:01 +00:00
Andre Hartmann
bcf0335b90 GitClient: Make styleColorName() a public function
To reuse it in other Git source files.

Change-Id: I3303a7f2b70a0e8b6752ef9933eb381795031a07
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2024-08-07 11:44:55 +00:00
Christian Kandeler
5a300a7fb7 ProjectExplorer: Tighten ABI check
... when auto-detecting kits.
Take the entire ABI into account, including binary format and word
width.

Fixes: QTCREATORBUG-31119
Change-Id: I495faf3c54738750bddac65f5a1919144b9fecd4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-08-07 10:56:02 +00:00
Cristian Adam
5f3a343352 CMakePM: Show the target callstack in top order
In Projects view you can right click on a CMake target and select
"Open...", in the context menu you will have a stack of functions that
were used in the creation of the target.

If you are using a custom CMake API you would want the highlevel
function on top, and not on bottom.

Task-number: QTCREATORBUG-31362
Change-Id: I42e436d99f6c5f7a8d1cd67da84a6087bc18e8cd
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-07 10:39:07 +00:00
The Qt Project
9fe6b26038 Merge "Merge remote-tracking branch 'origin/14.0'" 2024-08-07 09:44:03 +00:00
Christian Stenger
5e5b04ea8b Axivion: Tweak combo box handling
Do not react on activated signal as this triggers also for
selecting the current item again.
Instead only react when the index does really change.

Change-Id: I6591f711ce7d3c2c4fc5a79a2c2de0d748d9d774
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-08-07 09:30:51 +00:00
Eike Ziller
26b4ccb618 Merge remote-tracking branch 'origin/14.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	src/libs/solutions/tasking/tasktree.cpp
	src/plugins/coreplugin/imode.cpp
	src/plugins/cppeditor/cpphighlighter.cpp

Change-Id: I5114911d18e377076c5c07b27d6ca918774f34b9
2024-08-07 10:20:08 +02:00
Eike Ziller
6ab5981a58 Fix developer documentation warnings
With qdoc from Qt 6.8

Change-Id: I8884a53e81e28e2f801f9a76bf9cc082cb831678
Reviewed-by: hjk <hjk@qt.io>
2024-08-07 08:01:57 +00:00
Tim Jenssen
b4061e223e Merge remote-tracking branch 'origin/qds/dev'
Change-Id: I907e067abba640d27313ce03bc41326d3ed750f0
2024-08-06 19:04:41 +02:00
Marco Bubke
381da57b38 QmlDesigner: Remove WidgetInfo::placementPriority
It was always zero.

Change-Id: Ie6309fa2f9ea9211dcda6c0fdef3362be19b5914
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-08-06 15:27:05 +00:00
Marco Bubke
d6eda46db7 QmlDesigner: Remove ViewManager::widget
It is not used anywhere.

Change-Id: I80685905e9f29f2a89655bc0b107c0f4914e443d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-08-06 15:26:56 +00:00
Marco Bubke
04c8ba5b3f QmlDesigner: Fix linking for Qt6::QmlDomPrivate
Depends on fix in Qt 6.7.3.

Change-Id: I6e88ff660b6bf0ed7629cd58d62cc76d8a3f3cef
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-08-06 15:26:47 +00:00
Marco Bubke
f6c4458058 QmlDesigner: Remove sourceContextId in Directory
The source id contains already the source context id.

Change-Id: I1bdb5d4c7fb054c0a208816623e099902ee86e63
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-08-06 15:26:40 +00:00
Marco Bubke
2ae8ae75af Sqlite: Add compound id
Saving the source context id as part of the source id simplyfies file
path handling. It is now very easy to see if a two source ids have the
same source context id.

Change-Id: I6c86942d9f026fc047c49bbde3fffd6af14d81de
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-08-06 15:26:33 +00:00
Tim Jenssen
0d571b5e95 QmlDesigner: add IS_SUPPORTED_PROJECTSTORAGE_QT
It also can be overwritten by option:
IS_SUPPORTED_PROJECTSTORAGE_QT
or environment variable:
QTC_IS_SUPPORTED_PROJECTSTORAGE_QT

Change-Id: Iabc7d59ff100017811167a6ec4e7447ccc3e55ee
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-08-06 15:20:24 +00:00
Christian Kandeler
6e2db380d0 ProjectExplorer: Use toolchain bundles when auto-detecting kits
Fixes: QTCREATORBUG-30630
Change-Id: I0929a809204ccd6f8e547987bc7bec42249efa32
Reviewed-by: hjk <hjk@qt.io>
2024-08-06 15:16:46 +00:00
Marco Bubke
920da89143 QmlDesigner: Remove project type traits
Project type traits are increasing the code complexity in the updater by
quite  lot. The discover can be done in an other way too.

Change-Id: Ied9b7df445e854c76243ece6666690ea10b8d33d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-08-06 15:00:19 +00:00
Christian Kandeler
35493fddf1 ProjectExplorer: Fix possible crash in toolchain options page
Amends 020883c47f.

Change-Id: Ibc1cdd4a7cf67b39022cd5b4578a47f70512d3f6
Reviewed-by: hjk <hjk@qt.io>
2024-08-06 13:39:40 +00:00
Christian Kandeler
98c91f6458 Android: Fix accidentally reversed condition
Amends 9d0c144892.

Change-Id: I7dab3d827446ca487bc158c5e3ed9e72b52a2384
Reviewed-by: hjk <hjk@qt.io>
2024-08-06 13:32:48 +00:00
Jarek Kobus
799b776c27 Revert "DiffEditorController: Add an option to set a syntax highlighter"
This reverts commit 364beabcf1.

Reason for revert: Not needed anymore after bf823eb581

Change-Id: I8f1d4db7d8b3a216e808ec431f002c1199fb919c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2024-08-06 12:15:05 +00:00
Shrief Gabr
4082cc1332 QmlDesigner: Allow importing/exporting a component from Navigator
Fixes: QDS-13200
Change-Id: I771e962cca210d82a2434ff6c328e7bbe93e6b0a
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-08-06 12:04:46 +00:00
Christian Kandeler
676a462d5d Docker: Improve Kit setup
- Use toolchain bundles, ensuring compatible C/C++ toolchains
- Try harder to match Qt and toolchains

Change-Id: I8739a5e1e75d08df4346d51cb0ee7704ca072489
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-06 11:54:20 +00:00
Orgad Shaneh
bf823eb581 Git: Use ANSI colors for show description
Change-Id: I763e2283110b540b5ccebc30d685e5ea07357a73
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2024-08-06 11:20:59 +00:00
hjk
e88f65866c ProjectExplorer: Paddle back on IDevice aspect exposure
Make the aspects private, but provide accessors to value and
defaultValue as needed. This allows setters to be kept protected
when wanted.

Change-Id: I26f93f62d4ac2e7346f95543c38d8ac9156348c2
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-08-06 11:13:40 +00:00
Christian Stenger
35b36b37d4 Lua: Silence soft assert
Change-Id: I69a1b9b1dd4099beccea26c16f5aceb5a9dbf5ff
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-06 11:13:10 +00:00
Ali Kianian
e486a5a2af QmlDesigner: Consider texture name in Material Browser search
Fixes: QDS-8414
Change-Id: I135827a3eb4c854908477c6189602b4f9ea9c431
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
2024-08-06 11:01:16 +00:00
Friedemann Kleint
ac03c58c85 Qt Designer Plugin: Set the active Qt version on the integration
Set the Qt version as a property on QDesignerIntegration
on form window change or when saving for Qt Designer
to know which version to write.

Task-number: PYSIDE-2492
Task-number: QTBUG-118473
Task-number: QTBUG-127179
Change-Id: I1281287147e8d4108a321570785c0287ef18230c
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-08-06 10:48:46 +00:00
hjk
32505b21c8 BareMetal: Use a StringAspect to store debugServerProviderId
Change-Id: I001587a460af928a22c891ea5600b5d2676f4b4b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-08-06 08:26:06 +00:00
Marcus Tillmanns
9d6c78155f Utils: Allow setting HistoryCompleter size
While the HistoryCompleter did have private functions to
change the History List length, these were not used or
accessible. This change adds an argument to allow the
caller to change the maximum size of the list.

Its used by the Lua REPL pane.

Change-Id: I6baf260db5da9d8fe58a37ff0af3ec59396a5be0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-08-06 08:07:04 +00:00
Orgad Shaneh
6471572135 Utils: Create a reusable AnsiEscapeCodeHandler::setTextInEditor
Change-Id: Ic8ebe57287b08870e36e0a5cadbf3d322d14b2fe
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-08-06 06:51:30 +00:00
Orgad Shaneh
35df237df2 Git: Minor cleanup
Change-Id: I577be16b310566700f5d70d0f372e90094ff835e
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2024-08-06 06:10:48 +00:00
Marcus Tillmanns
9dab376f40 Core: Fix handling remote path watches
Change-Id: I1b2609729cfcc27ba30c3bfb9ab6842ca0450b5d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-08-06 03:39:00 +00:00
Marco Bubke
fbca17f7bc QmlDesigner: Remove unneeded reset
Close is already deleting the instance.

Fixes: QDS-13268
Change-Id: I95998d6c11f6824386d109ae1f622d022a59ce7f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-08-05 16:18:06 +00:00
Christian Kandeler
020883c47f ProjectExplorer: Stop pretending that C and C++ compilers are unrelated
Motivation:
  a) It was ridiculous that when users wanted to manually
     add a new toolchain, they had to do the entire setup twice.
  b) It was equally weird that users had to take care to choose
     matching toolchains when setting up a kit, or indeed that it was
     even possible to mix random toolchains in the first place.

User-visible changes:
  - The "C" and "C++" categories in the toolchain settings page have
    been merged into a single "C/C++" category.
  - When adding a new toolchain, the "C" and "C++" sub-menus are gone.
    Instead, the toolchain config widget offers two path choosers if
    the respective toolchain type supports C and C++ compilers.
  - By default, the C++ compiler file path is derived from the C
    compiler file path automatically, so the user usually has
    to enter only the former.
  - In the kit settings page, the "C" and "C++" toolchain combo boxes
    have been replaced by a single "C/C++" combo box, relieving the user
    of the responsibility to choose two matching toolchains.

Implementation:
The notion that a Toolchain object corresponds to a single compiler is so
deeply engrained in the code that it cannot realistically be changed in
the short term. We therefore introduce the concept of a "toolchain
bundle" as an additional layer that groups matching C and C++ toolchains
together. This way, most code dealing with toolchains stays unchanged,
and only the presentation layer (i.e. the toolchain and kit settings
pages) needed to be rewritten. Once set up in a bundle, toolchains stay
implicitly linked together so the matching only needs to be done once.

In follow-up patches, we will make use of toolchain bundles in all the
places where kits are auto-created, eliminating the risk of mixing
incompatible toolchains in a kit.

Change-Id: Ie6c5add9963e7c1096268dd77acd624671b2674f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2024-08-05 15:35:48 +00:00
hjk
08d6b86162 ProjectExplorer: Use FilePathAspect for IDevice::debugServerPath
... and IDevice::qmlRunCommand, currently for storage only.

Leave the GUI side as-is for now, as this synchronizes the widget
content with the local copy of the device data to allow the
device tester to be run with the visible data.

Change-Id: Ie8fb967c9a7f8246eec71d52c9b714ca3b3f5acd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-08-05 15:08:13 +00:00
Andre Hartmann
6b2ff42f0d GitPlugin: Add color to diff description text
Change-Id: I19d8bbaf77d0b6070b8300ca9fc0868579cab4e8
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2024-08-05 14:21:28 +00:00