When trying to jump to a symbol in a qml file the Qml Model may find
the location in a generated .qml file in the build folder.
QtCreator searches in all generated .qrc files to try and find
the source file so it can jump to it instead.
Previously not all auto-generated ".rcc" folders would be found
as only the folders of targets (executables) were searched.
Plugins or Static Libraries were not searched.
With this fix, all projects nodes are searched for the ".rcc" folder
and therefore also finds them for Dynamic / Static libraries and
plugins.
Fixes: QTCREATORBUG-27173
Change-Id: Ic51ac8fbc82c15785cbefd76787942a512ecf3db
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: hjk <hjk@qt.io>
If both AST and document symbols are available right away, the
ClangdSwitchDeclDef object emits its done() signal before it is
connected and stays around, potentially firing off new "follow symbol"
requests to the bewilderment of innocent users.
Fixes: QTCREATORBUG-28183
Change-Id: I972c8d4d9d7b7435e293d76fe710b19c9c4fb287
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: David Schulz <david.schulz@qt.io>
I run Qt Creator in german, but for responding to questions and
generally looking things up I regularly want to run it temporarily in
english. A command line option makes that easier than having to start Qt
Creator, navigate to the settings, and restarting it, and doing the same
again to revert back to german.
Change-Id: I7c0d84375ffc97e5c7607307fd3f785f2c315c3d
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
QUL_PLATFORM name is converted in CMake to lower case, resulting
in misleading warnings about platform name due to case mismatch.
Fixes: UL-6641
Change-Id: I25df689c91dca65ef67c80d9527c0afe7952278b
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The way wizards get created has changed. Originally the
factory had been able to return an empty list in case something
was wrong. This list's items had been processed. Now it just
returns a nullptr for each item as they get processed now one by one.
This triggers soft asserts when e.g. having only a subset of
plugins loaded like when running plugin unit tests.
Amends 1cf6b031cf.
Change-Id: Ia91df462ea52efe301c2dca07bc69aeb2f569b78
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The default path for the STM32 Cube Programmer was recently changed for
legacy packages. This means that Qt for MCUs 2.2 kits created with
QtCreator 9 and kits created with QtCreator 8 would have different
paths. This is not ideal as a basis for automatically creating new
kits when changing Qt for MCUs version.
This change makes QtCreator 9 create legacy kits in the same way
QtCreator 8 did.
Change-Id: I8b1fa4a0d673f746edf058aee292e6d42ca2cdcf
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This reverts commit e558fc4d1f.
Reason for revert: Because this is incompatible with how QtCreator 8
makes kits, it breaks the kit when changing versions. A fix for the
original issue was made in Qt for MCUs to accommodate not having bin
the path, allowing the detectionPath to be bin/... in matching with
legacy code.
Change-Id: I64c670398287b3ec9beec0aa6fac02325b322664
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
When updating paths for a target in Devices > MCU, the paths were
updated in the corresponding kits for all Qt for MCUs versions.
This would break existing kits made for a different version than
the currently active one.
With this change, only kits made for the same SDK version as the
currently selected target will be modified.
Task-number: UL-6755
Change-Id: I6fda050094b5603914fbbc29a5fc2e83d974a2d6
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When dragging an empty effect, a messagebox shows with an option to open QQEM
Task-number: QDS-8155
Change-Id: I2afbf7ffb9cb58243f3635fe3a7aee999ab68713
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Text editors need to know the actual mimetype of a file to be able to
open the correct editor view. Just checking the extension is not
enough. Especially on linux there are many text files without
an extension.
Change-Id: I7e5c935b0619f5d86e97f10bfd7ff9b65da62f4b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The message box might show up when applying changes in other settings
pages if the user left the Devices > MCU tab with invalid fields.
Improve the warning message with settings page and target name.
Change-Id: I335fadd3b5d4c6be10c6bd5100d6aac3c50017f2
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Removing the summary page
* Adding DoNotOpenFile option
By default, the wizard expects to open a file.
Setting DoNotOpenFile to true does suppress this.
Task-number: QDS-8151
Change-Id: I62264733788dbbe1b017beaa428356548a1a3692
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Previously recent files would be restored before devices were
intialized. Remote paths would therefore be removed since their
existence could not be verified.
Change-Id: I0412cec9587fd104580a694f20bdd0ec54e35b3e
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The json kit files have an entry named "type" which is intended to
specify whether a specific path points to a file or a directory (or
something else). Until now, this entry has not been handled and all
lineEdits expect a path, thus appearing red in the UI if supplied with
a file. With this patch, support for the type "file" is added, with the
possibility to support further types in parseLineEditType.
Currently, only File and ExistingDirectory are supported, with the
latter being used by default whenever no "type" entry is specified.
Task-number: UL-6610
Change-Id: I252d4eff76d4a11b92ce55a0c0964446072e48c1
Reviewed-by: Daniele Bortolotti <daniele.bortolotti@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Otherwise, m_filter and m_factory may be used from 2 threads
at the same time, what is not thread safe (setFilter() /
setTypeFactory() from caller thread, and copy of m_filter and m_factory
inside async call body).
Change-Id: Ic322870f9c27de10c5c51082cfbb85c729326993
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
With this change default paths containing globbing characters will be
expanded to an available path.
example: "sdk-*" will be replaced with "sdk-1.2.3" if the latter is
available.
To test the wildcards and make sure it works with QtCreator macros
a fake_kit was added containing fake packages.
Task-number: QTCREATORBUG-26900
Change-Id: I31440d24e42a6170fc5f1905f884bb3be43c57bc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The QmlProject example template is too small for high-resolution
displays, so remove hardcoded width, height and increase font size.
See: QTCREATORBUG-28159
Change-Id: I67a02c2ffe8d6e54f633f1061062459ecaac0e56
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
And instead of qgetenv.
Takes Qt Creator's setting at "Environment > System > Environment" into
account, which makes it easier on some platforms to set them (e.g.
macOS), can be configured differently in different settings paths, and
potentially can be changed at runtime (depending on usage).
Change-Id: I46378cc1aab44211cdc326afc5fabc78bf4b36a3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
There are multiple packages in different targets that share the same
variable name (eg. QUL_BOARD_SDK_DIR). Registering all packages into the
same macro expander will make these packages overwrite the variables from
other packages.
The macro expander should only use packages included in a specific target
to expand values from (plus the global ones).
Change-Id: Ia2568696a54e48e4e77f81a9bb1a844f2910bb8d
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Define the menu as the help menu directly in the the NSApplication,
since the OS built-in heuristics based on the menu name easily fails.
Fixes: QTCREATORBUG-24751
Change-Id: I9aa50a46099e295ec0c38ee8a9e88d75d41c74ad
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Currently version detection fails in either Linux or Windows based on
the content of versionDetection.filePattern in the json kit file.
This change enables os-specific filePattern fields:
"versionDetection": {
"filePattern": {
"windows": "bin/arm-none-eabi-g++.exe",
"linux": "bin/arm-none-eabi-g++"
}
"executableArgs": "--version",
"regex": "\\b(\\d+\\.\\d+\\.\\d+)\\b"
}
Simply appending the binary extension with withExecutableSuffix()
is less portable and does not reflect the validationPath field.
For McuPackageDirectoryEntriesVersionDetector and
McuPackageXmlVersionDetector to work correctly, they rely on
filePattern not having os-specific fields.
Also make getOsSpecificValue and parseVersionDetection static.
Change-Id: Ieacf376126043d732eeb5d5a2f4125963022ae76
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Fixes 30 seconds freeze when stopping the terminal
during debugging (when being interrupted on some
breakpoint).
Fixes also the freeze on closing the preferences
dialog after opening the remote shell via
"Open Remote Shell" and keeping it open.
Fixes: QTCREATORBUG-28365
Change-Id: I15dfd9cba02d03e0ba65878c5285ea8cc96d8aad
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Commit fcd294a9ec2a17b3512d03e84ae3560d7fcd3f74 in qtbase made
QPrivateSignal constructors explicit. You have to spell it out.
locatorfilter.cpp:71:25: error: converting to ‘LanguageClient::DocumentLocatorFilter::QPrivateSignal’ from initializer list would use explicit constructor ‘constexpr LanguageClient::DocumentLocatorFilter::QPrivateSignal::QPrivateSignal()’
Change-Id: I07ec23f3cb174fb197c3fffd1721f899ae46f8cb
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
To support extending the macros and calling the
McuTargetFactory::expandVariables function statically, the macros are
added as part of the SdkRepository.
This commit also adds helper functions to extend macros other than the
ones created from the packages.
Change-Id: Ie7d2a9ad626782eec18738bdd3472ffd202e7a36
Reviewed-by: Rainer Keller <Rainer.Keller@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Packages without version detection should not get a version warning,
even if the json contains a version list. With this change, a package
without version detection will not get a status with invalid version.
Additionally, in the case of failed version detection, it would be
helpful for the user to list the acceptable versions. The status text
was updated to list these.
Change-Id: I814a86c741d573732072206ef1e969790f175e6a
Reviewed-by: Yasser Grimes <yasser.grimes@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Previously, a message about successful kit creation was printed
for every kit without verification. So move the print to the
actual kit creation function. Issue also reported in
QTCREATORBUG-28281
Change-Id: I0e2cb463188210164a3582e7fa465a4ebb79b812
Reviewed-by: Sivert Krøvel <sivert.krovel@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>