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>
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>
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>
... 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>
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>
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>
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>
`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>
... 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>
... without a space before the identifier.
Change-Id: I977ffae82eb86f5ae6ea594cba17cc486e63bf6c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
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>
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>
The source id contains already the source context id.
Change-Id: I1bdb5d4c7fb054c0a208816623e099902ee86e63
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
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>
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>
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>
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>
- 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>
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>
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>