Commit Graph

89589 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
Marcus Tillmanns
bdf21f9dde Utils: Fix watching deleted files
On linux, when a file is deleted and re-created, inotify will no longer
signal changes to the file. We have to check and possibly add the
path again after each notifcation.

See also: https://doc.qt.io/qt-6/qfilesystemwatcher.html#fileChanged

Fixes: QTCREATORBUG-31353
Change-Id: Ibaa94aced33089160fe5cf81faca9a9b72045d30
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-08-08 13:34:30 +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
Marcus Tillmanns
759bd41702 CmdClient: Guard against invalid Futures
Change-Id: I6e9f5371baa8a0444e2bd8b965bd8138f4aaa579
Reviewed-by: hjk <hjk@qt.io>
2024-08-08 13:13:17 +00:00
Marcus Tillmanns
a6f7613a9f CmdClient: Re-watch removed files
Change-Id: Iea103133a504e8ca0752b3841ca1b61de5449247
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-08-08 13:13:13 +00:00
Artem Sokolovskii
c671cd7fbc Wizard: Improve GitHub Workflow for loading plugin to the server
The goal is to create a workflow that allows building the plugin on
GitHub and uploading it to the server, making the plugin available
in the QtCreator Extension Manager.

Added registerPlugin.js script:
- This script creates a plugin.json file compatible with the server API.
- The file can be sent to the server, requiring TOKEN_QT in GitHub
  secrets and API_URL set in the script.

Updated main build_cmake script:
- Added a state that generates plugin.json and includes it in artifacts
  and releases.
- Gives possibility use GitHub releases directly in QtCreator to load
  the plugin, even if the plugin data wasn't uploaded to the server.

Added ./build directory to .gitignore.

To use workflow:
- Create in github repository->settings->Secrets and variables->Actions
  ->Repository secrets new TOKEN and set the value from your Qt Account
- Add to the Repository secrets API_URL from your Qt Account
- In github reposytory->Settings->Actions->General->Workflow permissions
  ->Read and write permissions set to true
- Create relase tag in format "vx.x.x" e.g. "v0.0.1" by git tag v0.0.1
- Push chages and tag git push --tag origin main

Change-Id: I2135e0684bd3560736ecf7be1d25199713661c39
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-08 12:55:21 +00:00
Marcus Tillmanns
44accdf8b0 Utils: Document FilePath::watch()
Change-Id: Ifb5811348e3b3e2883fcbe775a28ee7126767064
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-08-08 12:52:13 +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
a9c51df53f AI Assistant: Don't request suggestions when suggestion is locked
Change-Id: I35d171d89d2a0b497d412f5a80ea4aa44a7fc6ea
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-08-08 12:01:50 +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
Marcus Tillmanns
5debf2d2db Utils: Change FileWatcher to use a single QFileWatcher
Amends: b4250871ec

Change-Id: I73f0955fe145aa8f6131645599b11bbf231e3c12
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-08-08 10:45:47 +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
Christian Kandeler
da35026af8 Utils: Verify types of TypedTreeItem in debug mode
Task-number: QTCREATORBUG-31074
Change-Id: I384b9aa8bc785834f24ca8836f1efc98a66c4fb2
Reviewed-by: hjk <hjk@qt.io>
2024-08-08 09:00:36 +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
Christian Kandeler
9926de01c1 CPlusPlus: Add parser support for declarations of user-defined literals
... without a space before the identifier.

Change-Id: I977ffae82eb86f5ae6ea594cba17cc486e63bf6c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-08-07 10:55:43 +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
Marcus Tillmanns
84cd248eb1 Github: Explicitly install libsecret
While it seems to be installed by default, lets make sure its
actually installed.

Change-Id: I3b1c21f8c29e55994e361197b461f526db67deb6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-08-06 11:28:59 +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