Commit Graph

3375 Commits

Author SHA1 Message Date
hjk
b10d5581e4 Utils: Make LayoutBuilder setter setup less repetitive
Change-Id: I9113f7a97566c21cf83dcb95ce8e75e9707360b4
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-06-04 12:15:37 +00:00
Eike Ziller
3d828123be Merge remote-tracking branch 'origin/13.0' into 14.0
Conflicts:
	tests/auto/debugger/tst_dumpers.cpp

Change-Id: I71bfee426a3e25ab7c7cd276ffe1e7d8fe550ffe
2024-06-03 12:23:06 +02:00
Cristian Adam
2ce6255a7d CMakePM: Do not check the existence of dlls for PATH handling
In order to fix QTCREATORBUG-29662 the check of existence of an dll was
a prerequisite to add the path to the PATH environment variable.

As it turns out this is not an easy thing to do, since the ".lib" file
name can be different than the ".dll" file name.

Also for MinGW you can have ".dll.a" or ".a" as library filename
extensions. You can also have a "lib" as prefix for the library
filename.

Amends 0d8a542b4f
Amends 8713919f31
Amends ac97ab1abf

Task-number: QTCREATORBUG-29662
Fixes: QTCREATORBUG-30827
Fixes: QTCREATORBUG-30932
Change-Id: I90afad825d43fd4f801c2aac20ed98f013861152
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-31 16:31:21 +00:00
Christian Kandeler
36f2a21f2d ProjectExplorer: Support column numbers in file path linkification
... for task details.
As a result, clicking on a linkified file path inside a task in the issues
pane will now open the editor at the column specified in the compiler
output, if there is one. We used to consider only the line.

Change-Id: Idccba33b5b33029abfa8f29c7888af6c7f2e1622
Reviewed-by: hjk <hjk@qt.io>
2024-05-31 13:04:27 +00:00
Christian Stenger
b87e3a53db Fix json templates
Amends 6cd7aed8eb.

Change-Id: Ia8369c69530854488007ef28c191fdfbca4c082c
Reviewed-by: hjk <hjk@qt.io>
2024-05-31 08:22:46 +00:00
Leena Miettinen
6cd7aed8eb Add long descriptions to some plugins
Edited the short descriptions to answer the question
"What can I do with this extension" to help users decide
whether they need it.

In long descriptions, tell users what else they need to
be able to use the plugin.

Change-Id: Iefce7505b61fc77cf38cc915f1f7dbd25c9cb570
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-05-31 06:42:53 +00:00
Cristian Adam
968051eb72 CMakePM: Presets: Add ability to register a Debugger via "vendor" field
This adds "Debugger" as a dependency for the CMake Project Manager.

The "vendor" field of a configurePreset can look like:

```
      "vendor": {
        "qt.io/QtCreator/1.0": {
          "debugger": "C:/Qt/Tools/mingw1120_64/bin/gdb.exe"
          }
        }
      }
```

or with all the DebugItem details as:

```
      "vendor": {
        "qt.io/QtCreator/1.0": {
          "debugger": {
            "DisplayName": "GNU gdb 11.2.0 for MinGW 11.2.0 64-bit",
            "Abis": ["x86-windows-msys-pe-64bit"],
            "Binary": "C:/Qt/Tools/mingw1120_64/bin/gdb.exe",
            "EngineType": 1,
            "Version": "11.2.0"
          }
        }
      }
```

Fixes: QTCREATORBUG-30836
Change-Id: Ia89ff29ce5fad713ee8617477ec798bd86f2f811
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-29 15:47:10 +00:00
hjk
efae651924 Utils: Introduce a convenience function creatorColor()
... forwarding to creatorTheme()->color(...)

Change-Id: Iefaa043495127b3e500ed225584481d3ec0f8c1f
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-29 13:49:25 +00:00
Cristian Adam
322944469f CMakePM: Add/remove CMake parameter for "Package manager auto Setup"
The CMake parameter is CMAKE_PROJECT_INCLUDE_BEFORE used in the "Initial
Configuration".

This commit will add or remove the above parameter in the "Initial
Configuration" list.

Previously, the parameter would have been added only on the first time.
Now with project CMake settings this is needed also for already
configured projects.

Change-Id: I7293032ef3e7e6e0ad0b51c68ef5fbe0cab48919
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-29 10:17:15 +00:00
Alessandro Portale
7bc65cf9f3 PluginSpecs: Change URLs from http:// to https://
Avoid the redirect that is inevitable nowerdays.

Also, change necessitas.kde.org to www.qt.io, since the orgininal page
is offline.

Change-Id: Ib1823f0df97d2df87822fd2bb7552e2f2c7e971e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2024-05-28 20:13:29 +00:00
Cristian Adam
1a5f61adca CMakePM: Set CMakePM project settings via CMakePresets's vendor field
The field name is "qt.io/QtCreator/1.0":

```
  "vendor": {
    "qt.io/QtCreator/1.0": {
       "AskBeforePresetsReload": false,
       "AskReConfigureInitialParams": false,
       "AutorunCMake": false,
       "PackageManagerAutoSetup": false,
       "ShowAdvancedOptionsByDefault": true,
       "ShowSourceSubFolders": false,
       "UseJunctionsForSourceAndBuildDirectories": true
    }
  }
```

Fixes: QTCREATORBUG-25972
Fixes: QTCREATORBUG-29559
Fixes: QTCREATORBUG-30385
Change-Id: Ifac0d10eebda85f8d97e7a1387325a555101ea6d
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-28 17:19:27 +00:00
Cristian Adam
1712402b35 CMakePM: Add project CMake settings support
This is useful if projects do not to have "Auto Run" CMake or want to
have Junctions enabled.

Change-Id: I4a636e7bf64fe2d29d15d39fe9aa46807684c716
Reviewed-by: hjk <hjk@qt.io>
2024-05-28 15:03:42 +00:00
hjk
971938421c Use LayoutBuilder V2
This puts the implementation introduced in acf1ecb47f into use, after
significant simplifications in the class hierarchy. CRTP is not used
anymore, and the new tag based dispatch is also used for Layout::addItem,
effectively reducing the number of different code paths.

The Lua based settings access is disabled for now.

Change-Id: Idb6d1a25675378757c5267bdb630bcd4c1f52d34
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-27 12:38:48 +00:00
Cristian Adam
fa39d0490e CMakePM: Remove per CMake tool "Auto Run" setting
The setting is global for a few Qt Creator versions now, and it was
marked for removal in Qt Creator 13.

Change-Id: Ibca753b53a27ce89cba25a8c55c080e5597c4f57
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-05-27 09:14:40 +00:00
hjk
f30d369b99 Fix QMetaType::type() related deprecation warnings
Not in sdktool, which still builds with Qt 5.15

Change-Id: I6e6f4331127b821e471e2840e7959cd65e6419e9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-05-23 13:04:22 +00:00
Cristian Adam
6eaa9f099a Help: Allow open online documentation for CMake
Qt Creator opens by default the offline documentation of CMake.
But the user can click on the "Globe" to go to the online version
of the documentation.

Change-Id: I0b3a6bceb13784b232b539f1c04bd09aa3a11034
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-05-23 12:50:27 +00:00
Jarek Kobus
982ad24243 CommandLine: Reuse new c'tor
Change-Id: Id154881b4f5d8c488e5c1f5e0f843d36bf838759
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-05-22 09:13:41 +00:00
Eike Ziller
eb45240649 Remove PluginManager::futureSynchronizer()
Use the global synchronizer from Utils::futureSynchronizer() directly

Change-Id: Ic8843bc1ff7951c041529a258f36117f08ec4b35
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2024-05-21 13:02:46 +00:00
Eike Ziller
5b83dd2430 CMake: Fix translatable string
Translatable strings should not start with a space, but always adding a
fixed string to an existing string is not a good thing to do in any case.
Languages/translators might have different opinions on this. There is no
good way to do this without breaking the original string, so just do it.

Amends 0e30918955

Change-Id: I4f240d1e0e45f12ee3a7e88dd11a0b539557ab4e
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-05-17 12:00:18 +00:00
Eike Ziller
fecf95b58e Merge remote-tracking branch 'origin/13.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc
	qbs/modules/qtc/qtc.qbs

Change-Id: I67a2540677a8b5c309c0c81e2a509a61d0a65aa8
2024-05-17 09:18:14 +02:00
Eike Ziller
6075904af5 CMake: Fix library build path for MinGW
The code that handled the MinGW case of libFoo.a -> libFoo.dll
broke the case of libFoo.dll.a -> libFoo.dll that is handled
by the code before that.

Amends 0d8a542b4f
Amends 8713919f31

Fixes: QTCREATORBUG-30556
Change-Id: I76f60c5e646bce97169b205860babf6a0d3b08b6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-05-13 08:53:38 +00:00
Marcus Tillmanns
dced7ce913 CMake: Use theme colors for text prefix
Also uses new Utils::ansiColoredText() function.

Change-Id: I43e59f78eb47903fc273244a9cd4e9da9b68839f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-07 11:15:04 +00:00
Cristian Adam
5e4281dafe CMakePM: Add conan/vcpkg-dependencies to "Clear CMake Configuration"
This way one could really get a clean build as one would expect when
issuing "Clear CMake Configuration".

Change-Id: I7067bc4f6f858aeb408612eab5e658e637c0c957
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-06 16:26:04 +00:00
Cristian Adam
5cc8abd8bd CMakePM: Add "Clear CMake Configuration" to context menu
Fixes: QTCREATORBUG-24658
Fixes: QTCREATORBUG-30771
Change-Id: I6429e861a77663513ed3243396bdd67042c11faf
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-05-06 16:25:49 +00:00
David Schulz
bf41545468 ProjectExplorer: remove confusing function from Project
Change-Id: Ifaed5d8293dadd2ae3cfdab3b027434d4f8caa3e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-05-02 13:37:47 +00:00
Eike Ziller
d2afb4e8af Merge remote-tracking branch 'origin/13.0'
Change-Id: I4817ff528f92dcb2ffb00c92ca1039f1ae31c7f1
2024-05-02 14:47:43 +02:00
Cristian Adam
480f5366d2 CMakePM: Do not force Kit's Qt version as projects Qt version
Amends c6d1c962ee

Fixes: QTCREATORBUG-30712
Change-Id: I1d78d108a7566f4f59ff0f479eb4b5eddb8a986f
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2024-05-02 10:02:09 +00:00
Eike Ziller
0f4efacb91 Merge remote-tracking branch 'origin/13.0'
Conflicts:
	doc/qtcreator/src/overview/creator-only/creator-reference.qdoc
	doc/qtcreator/src/qtcreator-toc.qdoc

Change-Id: Ibea5488fda972321c448c64fad7f657e84d62cdb
2024-04-30 14:23:09 +02:00
Cristian Adam
84f0f6ba8b CMakePM: Fix crash with specific CMakePresets.json
The code was not taking into consideration an empty QStringList.

Fixes: QTCREATORBUG-30755
Change-Id: Ifb9f5dc3ffefd94d44b16b161bc04d381f3f6786
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-04-29 14:39:09 +00:00
The Qt Project
2ab8e2f35d Merge "Merge remote-tracking branch 'origin/13.0'" 2024-04-22 11:33:50 +00:00
Cristian Adam
6f984bd285 CMakePM: Use ILocatorFilter::createRegExp for locator filter
This presets better results, and is in sync to what other locator filters
are doing.

Fixes: QTCREATORBUG-30452
Change-Id: Ia77d2a5f22b33b55aa081d09372ab5cf297bb065
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-22 11:18:11 +00:00
Eike Ziller
e5640386f8 Merge remote-tracking branch 'origin/13.0'
Conflicts:
	doc/qtcreator/src/qtquick/qtquick-live-preview-devices.qdoc
	src/plugins/projectexplorer/projectexplorer.cpp

Change-Id: I682b330a278a329fc6294baeff6a28040abd10bc
2024-04-22 12:18:10 +02:00
Cristian Adam
c0dfb3ce57 CMakePM: Hide QML clutter project files
Hide some of the QML files that we not marked as generated by the Qt QML
CMake code

Fixes: QTCREATORBUG-29631
Change-Id: I01fb571c0c3ff7d8a3861ddaaf7c6d6817c8cc51
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2024-04-18 13:14:17 +00:00
Cristian Adam
01538332da CMakePM: Treat all default CMake source groups as …
… "Header|Sources Files" groups
Amends f76e0de7bc

Change-Id: I5e19427a481e87fb4d9761e3fad1727df52ca28b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-18 10:16:24 +00:00
Eike Ziller
0fe7350368 Merge remote-tracking branch 'origin/13.0'
Change-Id: I0892d8e54930bb5a65dc51117b8ca7d70ce300a3
2024-04-17 13:29:02 +02:00
Cristian Adam
fa29657881 CMakePM: Rename source files in set_source_files_properties calls
Fixes: QTCREATORBUG-30174
Change-Id: I80b33c1193f4cd579abd295657dc223aad5801ea
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-16 09:16:18 +00:00
Cristian Adam
f76e0de7bc CMakePM: Do not show subfolders for custom source_groups
CMake does have a few default source groups (cmMakefile.cxx):
  this->AddSourceGroup("", "^.*$");
  this->AddSourceGroup("Source Files", CM_SOURCE_REGEX);
  this->AddSourceGroup("Header Files", CM_HEADER_REGEX);
  this->AddSourceGroup("Precompile Header File", CM_PCH_REGEX);
  this->AddSourceGroup("CMake Rules", "\\.rule$");
  this->AddSourceGroup("Resources", CM_RESOURCE_REGEX);
  this->AddSourceGroup("Object Files", "\\.(lo|o|obj)$");

This commit will get Qt Creator to display the actual subfolder
structure only if the CMake setting "Show subfolders inside source group
folders" is set and for "Source Files" and "Header Files" source groups.

Any other source group or a custom source group defined by `source_group`
will not get this treatment, since this what the oder IDEs (e.g. Visual
Studio) and what the users expect to have.

Task-number: QTCREATORBUG-27432
Fixes: QTCREATORBUG-30620
Change-Id: I3c30814df2f76d18ee5fd4fd1356d4dfc4b9b09b
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
2024-04-15 13:08:40 +00:00
Cristian Adam
4a95a2d63d Revert CMakePM: Treat all sourceGroups as sourcesOrHeaders project nodes
This reverts commit 973e9dcf90.

Fixes: QTCREATORBUG-30602
Change-Id: I9db6dc6d3fbd7d9a5e48a25bca725a4f86124318
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-15 13:08:30 +00:00
Eike Ziller
310d3cc041 Merge remote-tracking branch 'origin/13.0'
Conflicts:
	src/plugins/remotelinux/linuxdevice.cpp

Change-Id: Iad28a1bfa4632922931d351d2fe27757cf21dec3
2024-04-15 08:33:39 +02:00
hjk
abd538507a ProjectExplorer: Make settings access more direct
A step towards aspectification.

Change-Id: Iabf5e56e993449dc482d1d2ab6eeb2885243ab3e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2024-04-12 11:48:29 +00:00
Sami Shalayel
1e3750c5be qmlls: add checkbox for generating qmlls ini files
Add a checkbox to the qmljseditingsettingspage that generates qmlls
ini files by default for new projects.

If this checkbox is checked, then initial CMake configurations (when
enabling a kit for a project) and reconfigurations (when pressing the
"Re-configure with Initial parameters"-button) will set
QT_QML_GENERATE_QMLLS_INI to ON if QT_QML_GENERATE_QMLLS_INI was not
set yet.

Fixes: QTCREATORBUG-30394
Change-Id: I58f89558d25ef107e501bd67702f26554bd6aeaa
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-04-11 07:22:20 +00:00
Cristian Adam
ac97ab1abf CMakePM: Add build artifacts to the PATH env variable
Projects that have dll artifacts need to have the build paths added to
PATH so that the dependent executables would start.

Previously the code checked only if the dlls were present on disk, now
it also checks if the dlls are part of the project's build artifacts.

Fixes: QTCREATORBUG-30644
Change-Id: I924753ffaf0a9720acb70585ccd589abab1b9cc1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2024-04-09 12:59:15 +00:00
David Schulz
411100b037 TextEditor: remove text editor action handler
Give each editor a context and register editor actions individually for
that context. This removes the need to tell the action handler the
current editor. Additionally all actions are now available in editor
widgets outside of the EditorManager.

Change-Id: I0109866b180889762f8bd8aa07874d8d7c55bfa6
Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
2024-04-09 10:52:26 +00:00
Marcus Tillmanns
0e30918955 CMake: Add hint about additional error messages
Change-Id: I1eaeacb1fe67d534209ecef5a01fe6d41caddb62
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-04-04 05:37:23 +00:00
Marcus Tillmanns
cb29aeff50 CMake: Don't ignore writable test
Change-Id: I49ba7a14f26eca0575b38a634124be5e53c0134f
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-04-04 05:37:18 +00:00
Marcus Tillmanns
24511d755f CMake: Add hint about missing docker mounts
Change-Id: Id046496b1c9907dfdfedb36c6bec1b121428f37a
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2024-04-04 05:37:11 +00:00
Eike Ziller
90e1d96019 Merge remote-tracking branch 'origin/13.0'
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	doc/qtcreator/src/overview/creator-only/creator-keyboard-shortcuts.qdoc
	qbs/modules/qtc/qtc.qbs
	src/plugins/remotelinux/linuxdevicetester.cpp

Change-Id: I8434e41dcfbb50f6ed032a3e0af1591eb19b79eb
2024-03-20 15:05:58 +01:00
Cristian Adam
2c598814bb CMakePM: Always set the comiplers from the CMake Preset probe
In cases when a CMake project is using a CMake preset with a toolchain
file, the CMAKE_C|XX_COMIPLER value was not set in the CMakeCache.txt.

This commit makes sure that the cache from the CMake preset probe
contains CMAKE_C|XX_COMPILER values.

Task-number: QTCREATORBUG-30474
Change-Id: I63ac6fe2b043e49dda98e286b6d85950e34be920
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-03-18 11:56:18 +00:00
Eike Ziller
c19f97bd23 Merge remote-tracking branch 'origin/13.0'
Conflicts:
	src/plugins/cmakeprojectmanager/cmaketool.cpp
	src/plugins/python/pythonutils.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: Ia3e35c763ff9475d17ad922718b54152209893b8
2024-03-14 11:35:07 +01:00
Cristian Adam
52c39d007f CMakePM: Do not crash with CMake presets and no CMake tool
If no CMake is found, show an error message (reusing an existing
translated string).

Fixes: QTCREATORBUG-30505
Change-Id: I6e3037ee97dfba21791191483fffab769a451125
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2024-03-13 12:32:54 +00:00