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>
Result of `cmake --build . --target ts_de_cleaned` in the build
directory, in preparation for translations.
Change-Id: I9cf3b1aa08244e157e784ae148ed9b1dd308adb5
Reviewed-by: Robert Löhning <robert.loehning@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>
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>
Without obsolete and vanished translations, and files and line numbers.
Which is what we would in the end submit into the repository.
run with `cmake --build . --target ts_<lang>_cleaned`
Change-Id: If5b73f19d8fc7b49bcf95fbeb0b0ff7793056cca
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>