From 52979e8037965f66b69e0be31aa55f58047e170a Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 29 Apr 2024 10:54:08 +0200 Subject: [PATCH 1/7] Examples: Re-add the clear button for the search bar when something is typed there. Got lost during redesign. Change-Id: I6a765aa542243d2e20e00f6e965dbfbd26a12803 Reviewed-by: Alessandro Portale Reviewed-by: --- src/plugins/coreplugin/welcomepagehelper.cpp | 17 +++++++++-------- src/plugins/coreplugin/welcomepagehelper.h | 4 +--- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/plugins/coreplugin/welcomepagehelper.cpp b/src/plugins/coreplugin/welcomepagehelper.cpp index fe01944a6f2..c2b28c1f83e 100644 --- a/src/plugins/coreplugin/welcomepagehelper.cpp +++ b/src/plugins/coreplugin/welcomepagehelper.cpp @@ -287,7 +287,7 @@ static const QPixmap &searchBoxIcon() } SearchBox::SearchBox(QWidget *parent) - : QLineEdit(parent) + : Utils::FancyLineEdit(parent) { setAttribute(Qt::WA_MacShowFocusRect, false); setAutoFillBackground(false); @@ -301,10 +301,9 @@ SearchBox::SearchBox(QWidget *parent) pal.setColor(QPalette::Text, searchBoxTextTF.color()); setPalette(pal); - const QSize iconSize = searchBoxIcon().deviceIndependentSize().toSize(); - setContentsMargins({HPaddingXs, ExPaddingGapM, - HPaddingXs + iconSize.width() + HPaddingXs, ExPaddingGapM}); + setContentsMargins({HPaddingXs, ExPaddingGapM, 0, ExPaddingGapM}); setFixedHeight(ExPaddingGapM + searchBoxTextTF.lineHeight() + ExPaddingGapM); + setFiltering(true); } QSize SearchBox::minimumSizeHint() const @@ -351,10 +350,12 @@ void SearchBox::paintEvent(QPaintEvent *event) QPainter p(this); paintCommonBackground(&p, rect(), this); - const QPixmap icon = searchBoxIcon(); - const QSize iconS = icon.deviceIndependentSize().toSize(); - const QPoint iconPos(width() - HPaddingXs - iconS.width(), (height() - iconS.height()) / 2); - p.drawPixmap(iconPos, icon); + if (text().isEmpty()) { + const QPixmap icon = searchBoxIcon(); + const QSize iconS = icon.deviceIndependentSize().toSize(); + const QPoint iconPos(width() - HPaddingXs - iconS.width(), (height() - iconS.height()) / 2); + p.drawPixmap(iconPos, icon); + } QLineEdit::paintEvent(event); } diff --git a/src/plugins/coreplugin/welcomepagehelper.h b/src/plugins/coreplugin/welcomepagehelper.h index cce3b812527..c32e803029e 100644 --- a/src/plugins/coreplugin/welcomepagehelper.h +++ b/src/plugins/coreplugin/welcomepagehelper.h @@ -25,8 +25,6 @@ #include #include -namespace Utils { class FancyLineEdit; } - namespace Core { namespace WelcomePageHelpers { @@ -113,7 +111,7 @@ private: const Role m_role = Primary; }; -class CORE_EXPORT SearchBox : public QLineEdit +class CORE_EXPORT SearchBox : public Utils::FancyLineEdit { public: explicit SearchBox(QWidget *parent = nullptr); From 84f0f6ba8b40378d0cf9fe743c75c1a58fc2bb41 Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Mon, 29 Apr 2024 16:05:02 +0200 Subject: [PATCH 2/7] 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 --- src/plugins/cmakeprojectmanager/cmakeproject.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index 23c68a6e642..9e119bba886 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -136,6 +136,8 @@ Internal::PresetsData CMakeProject::combinePresets(Internal::PresetsData &cmakeP && left.inherits.value().contains(right.name); const bool inheritsGreater = left.inherits && right.inherits + && !left.inherits.value().isEmpty() + && !right.inherits.value().isEmpty() && left.inherits.value().first() > right.inherits.value().first(); From 8b682ac7f55d3762875631df21ec28ff9d0a7669 Mon Sep 17 00:00:00 2001 From: Marcus Tillmanns Date: Tue, 30 Apr 2024 08:33:48 +0200 Subject: [PATCH 3/7] Terminal: Fix TERM env variable Some (Fedora) OS/Distros set a default value for TERM such as "dumb", which then breaks command line tools such as "clear" which try to figure out what terminal they are running in. Therefore we have to force-set our own TERM value. Fixes: QTCREATORBUG-30737 Change-Id: I50ac86f17c92dc7bc477cc59ed43ec22025593fb Reviewed-by: Christian Stenger --- src/plugins/terminal/terminalwidget.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/terminal/terminalwidget.cpp b/src/plugins/terminal/terminalwidget.cpp index 756f1a11bee..c7bdab9b2a8 100644 --- a/src/plugins/terminal/terminalwidget.cpp +++ b/src/plugins/terminal/terminalwidget.cpp @@ -119,8 +119,12 @@ void TerminalWidget::setupPty() Environment env = m_openParameters.environment.value_or(Environment{}) .appliedToEnvironment(shellCommand.executable().deviceEnvironment()); + // Some OS/Distros set a default value for TERM such as "dumb", which then breaks + // command line tools such as "clear" which try to figure out what terminal they are + // running in. Therefore we have to force-set our own TERM value here. + env.set("TERM", "xterm-256color"); + // Set some useful defaults - env.setFallback("TERM", "xterm-256color"); env.setFallback("TERM_PROGRAM", QCoreApplication::applicationName()); env.setFallback("COLORTERM", "truecolor"); env.setFallback("COMMAND_MODE", "unix2003"); From 7a47cf0a11baa7e0b4416be181d09b62596987d8 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Thu, 25 Apr 2024 10:01:29 +0200 Subject: [PATCH 4/7] Utils: fix crash on hiding a tooltip Closing the tip label indirectly calls ToolTip::hideTipImmediately via its eventFilter that closes the tool tip on any FocusIn/Out event on the application. Since m_tip is reset in hideTipImmediately the outer call crashes when this nullptr gets dereferenced. Avoid this crash by resetting m_tip before closing the tip label. Fixes: QTCREATORBUG-30738 Change-Id: Id3e690141be196db8ac6c4dab3d97627c0657140 Reviewed-by: Christian Stenger --- src/libs/utils/tooltip/tooltip.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/libs/utils/tooltip/tooltip.cpp b/src/libs/utils/tooltip/tooltip.cpp index 93f4c1d2ff0..da11540c083 100644 --- a/src/libs/utils/tooltip/tooltip.cpp +++ b/src/libs/utils/tooltip/tooltip.cpp @@ -288,9 +288,11 @@ void ToolTip::hideTipWithDelay() void ToolTip::hideTipImmediately() { if (m_tip) { - m_tip->close(); - m_tip->deleteLater(); - m_tip = nullptr; + TipLabel *tip = m_tip.data(); + m_tip.clear(); + + tip->close(); + tip->deleteLater(); } m_showTimer.stop(); m_hideDelayTimer.stop(); From ae4c893301331bdfd6908ea0a5d17d30f05ab8a7 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 29 Apr 2024 14:21:26 +0200 Subject: [PATCH 5/7] Fix the directory opened when exporting coding styles On macOS. Make sure to use an absolute path for the file dialog. Fixes: QTCREATORBUG-28832 Change-Id: I75f4166ee2bc3238a01089231bde4cf990269024 Reviewed-by: Marcus Tillmanns Reviewed-by: --- src/plugins/texteditor/codestyleselectorwidget.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/plugins/texteditor/codestyleselectorwidget.cpp b/src/plugins/texteditor/codestyleselectorwidget.cpp index ddeea0a74eb..5eb373f00f1 100644 --- a/src/plugins/texteditor/codestyleselectorwidget.cpp +++ b/src/plugins/texteditor/codestyleselectorwidget.cpp @@ -216,9 +216,11 @@ void CodeStyleSelectorWidget::slotImportClicked() void CodeStyleSelectorWidget::slotExportClicked() { ICodeStylePreferences *currentPreferences = m_codeStyle->currentPreferences(); - const FilePath filePath = FileUtils::getSaveFilePath(this, Tr::tr("Export Code Style"), - FilePath::fromString(QString::fromUtf8(currentPreferences->id() + ".xml")), - Tr::tr("Code styles (*.xml);;All files (*)")); + const FilePath filePath = FileUtils::getSaveFilePath( + this, + Tr::tr("Export Code Style"), + FileUtils::homePath().pathAppended(QString::fromUtf8(currentPreferences->id() + ".xml")), + Tr::tr("Code styles (*.xml);;All files (*)")); if (!filePath.isEmpty()) { CodeStylePool *codeStylePool = m_codeStyle->delegatingPool(); codeStylePool->exportCodeStyle(filePath, currentPreferences); From 2275b43cc4e6543f7443e00fbaa3ee0c6a7f7d4d Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 26 Apr 2024 13:33:47 +0200 Subject: [PATCH 6/7] Doc: Update info on Qt for MCUs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Task-number: QTCREATORBUG-29361 Change-Id: I926e09748265ca123fd1a52838da1d05de7f7766 Reviewed-by: Esa Törmänen Reviewed-by: Yasser Grimes Reviewed-by: Rainer Keller --- doc/qtcreator/config/style/qt5-sidebar.html | 1 + doc/qtcreator/images/qtcreator-mcu-kit.png | Bin 32077 -> 0 bytes .../images/qtcreator-mcu-new-project.webp | Bin 0 -> 10598 bytes .../images/qtcreator-mcu-options.png | Bin 11640 -> 0 bytes .../qtcreator-preferences-kits-mcu.webp | Bin 0 -> 16120 bytes .../images/qtcreator-preferences-mcu.webp | Bin 0 -> 9356 bytes .../external-resources.qdoc | 8 + .../howto/creator-only/creator-how-tos.qdoc | 15 + .../creator-embedded-platforms.qdoc | 4 +- doc/qtcreator/src/mcu/creator-mcu-dev.qdoc | 348 ++++++++++-------- .../creator-only/creator-mobile-targets.qdoc | 2 +- .../creator-only/creator-reference.qdoc | 9 + doc/qtcreator/src/qtcreator-toc.qdoc | 10 +- 13 files changed, 240 insertions(+), 157 deletions(-) delete mode 100644 doc/qtcreator/images/qtcreator-mcu-kit.png create mode 100644 doc/qtcreator/images/qtcreator-mcu-new-project.webp delete mode 100644 doc/qtcreator/images/qtcreator-mcu-options.png create mode 100644 doc/qtcreator/images/qtcreator-preferences-kits-mcu.webp create mode 100644 doc/qtcreator/images/qtcreator-preferences-mcu.webp diff --git a/doc/qtcreator/config/style/qt5-sidebar.html b/doc/qtcreator/config/style/qt5-sidebar.html index 327bd27a293..cf020e31ca0 100644 --- a/doc/qtcreator/config/style/qt5-sidebar.html +++ b/doc/qtcreator/config/style/qt5-sidebar.html @@ -51,6 +51,7 @@
  • Create Models and Diagrams
  • Debug
  • Design UIs
  • +
  • Develop for Devices
  • Edit Code
  • Manage Kits
  • Manage Projects
  • diff --git a/doc/qtcreator/images/qtcreator-mcu-kit.png b/doc/qtcreator/images/qtcreator-mcu-kit.png deleted file mode 100644 index c218ad647e851b56a29ac5379a3b48b55ace1946..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 32077 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 T-{>w6K7GE^eEX#Cet$*)ipXRA literal 0 HcmV?d00001 diff --git a/doc/qtcreator/images/qtcreator-mcu-options.png b/doc/qtcreator/images/qtcreator-mcu-options.png deleted file mode 100644 index a7234466e42b458979315d3556078b314bf1bb3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11640 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 V4_*e%XJBAp@O1TaS?83{1OPu7p}7D6 diff --git a/doc/qtcreator/images/qtcreator-preferences-kits-mcu.webp b/doc/qtcreator/images/qtcreator-preferences-kits-mcu.webp new file mode 100644 index 0000000000000000000000000000000000000000..cf61f131ecc78db38b64132b62574925377a4c30 GIT binary patch literal 16120 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� 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/external-resources/external-resources.qdoc b/doc/qtcreator/src/external-resources/external-resources.qdoc index 5c2f4f22850..6c385180192 100644 --- a/doc/qtcreator/src/external-resources/external-resources.qdoc +++ b/doc/qtcreator/src/external-resources/external-resources.qdoc @@ -25,6 +25,10 @@ \externalpage https://doc.qt.io/QtForMCUs/qtul-supported-platforms.html \title \QMCU - Supported Target Platforms */ +/*! + \externalpage https://doc.qt.io/QtForMCUs/qtul-prerequisites.html + \title \QMCU - Prerequisites +*/ /*! \externalpage https://doc.qt.io/QtForMCUs/qtul-getting-started-renesas.html \title Getting Started on Renesas @@ -37,6 +41,10 @@ \externalpage https://doc.qt.io/QtForMCUs/qtul-getting-started-on-nxp.html \title Getting Started on NXP */ +/*! + \externalpage https://doc.qt.io/QtForMCUs/qtul-getting-started-on-infineon.html + \title Getting Started on Infineon +*/ /*! \externalpage https://doc.qt.io/QtForMCUs/qtul-getting-started-windows.html \title Getting Started on Windows diff --git a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc index 395c09ad72e..307c436d224 100644 --- a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc +++ b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc @@ -80,6 +80,21 @@ \generatelist creator-how-to-design + \section1 Develop for Devices + + Install the toolchain for building applications for the targeted + embedded or mobile platform on the computer, and use \QOI to + install Qt libraries that are built for the platform. Then add a + kit with the toolchain and the Qt version for the device's architecture. + When possible, \QOI creates suitable kits for you. + + \section2 MCUs + + Install \l {Qt for MCUs} and connect devices to the computer to run and + debug applications on them. + + \generatelist creator-how-to-mcu + \section1 Edit Code The code editor offers useful features for editing C++ and QML code, such diff --git a/doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc b/doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc index 1b4051121f7..a6ca31f33fe 100644 --- a/doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc +++ b/doc/qtcreator/src/linux-mobile/creator-embedded-platforms.qdoc @@ -85,7 +85,7 @@ \list \li \l{Connecting MCUs} - \li \l{Running Applications on MCUs} + \li \l{MCUs}{How To: Develop for MCUs} \li \l{https://doc.qt.io/QtForMCUs/index.html}{\QMCU} \endlist @@ -107,5 +107,5 @@ \li \l{Qt for QNX} \endlist - \sa {Supported Platforms} + \sa {Develop for Devices}{How To: Develop for Devices}, {Supported Platforms} */ diff --git a/doc/qtcreator/src/mcu/creator-mcu-dev.qdoc b/doc/qtcreator/src/mcu/creator-mcu-dev.qdoc index 65fba314e28..5d5dc8b956c 100644 --- a/doc/qtcreator/src/mcu/creator-mcu-dev.qdoc +++ b/doc/qtcreator/src/mcu/creator-mcu-dev.qdoc @@ -1,31 +1,29 @@ -// Copyright (C) 2020 The Qt Company Ltd. +// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! - \previouspage creator-developing-ios.html \page creator-developing-mcu.html - \nextpage creator-developing-qnx.html + \previouspage creator-reference.html - \title Connecting MCUs + \ingroup creator-reference-devices - \QMCU enables you to use subsets of QML and Qt Quick Controls - to create user interfaces for devices that are powered by microcontroller - units (MCU). It includes a new graphics rendering engine that has a low - memory footprint and is optimized for MCUs and other resource-constrained - devices. + \title Developing for MCUs - You can connect MCU boards to a development host to build applications for - them using the GNU Arm Embedded GCC compiler, libraries, and other GNU tools - necessary for bare metal software development on devices based on the Arm - Cortex-M processors. You can deploy the applications on MCUs to run and - debug them using \QC. + \brief Connect MCU devices to the computer to run and debug applications on + them. - The toolchains are available for cross-compilation on Microsoft Windows, - Linux, and macOS. However, the Qt for \QMCU SDK is currently only available - for Windows and Linux. + \note Enable the McuSupport plugin to develop for MCUs. - For a list of \QMCU reference implementations, see the - \l{\QMCU - Supported Target Platforms}{\QMCU} documentation. + Use subsets of QML and Qt Quick Controls to create user interfaces for + devices that are powered by microcontroller units (MCU). \QMCU has a + new graphics rendering engine with a low memory footprint and optimization + for MCUs and other resource-constrained devices. + + Connect MCU boards to a computer to build applications for them. Deploy the + applications on MCUs to run and debug them. + + For a list of \QMCU reference implementations, see + \l{\QMCU - Supported Target Platforms}. \section1 Requirements @@ -33,157 +31,46 @@ \list \li \QMCU SDK (only available for Windows and Linux) - \li \l{https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm} - {GNU ARM Embedded Toolchain} + \li \l {\QMCU - Prerequisites}{Suitable toolchain} \endlist + The toolchains are available for cross-compilation on Microsoft Windows, + Linux, and macOS. However, the Qt for \QMCU SDK is currently only available + for Windows and Linux. + The hardware-specific requirements vary depending on the hardware platform you are developing for. For more information see: \list \li \l{Getting Started on NXP} \li \l{Getting Started on STM} \li \l{Getting Started on Renesas} + \li \l{Getting Started on Infineon} \endlist - \section1 Setting Up the Development Environment + \section1 \QMCU SDKs - You must download and install the required software and create connections - between \QC and MCUs. The following subsections guide you through the - setup process. - - \section2 MCU Plugin - - To be able to develop applications for MCUs, you need the MCU plugin. - This plugin is enabled automatically by \QOI when you - install \QMCU. - - \section2 Specifying MCU Settings - - To configure a connection between \QC and your MCU board, select - \preferences > \uicontrol Devices > \uicontrol MCU: - - \image qtcreator-mcu-options.png "MCU preferences" - - \list 1 - \li In the \uicontrol {\QMCU SDK} field, specify the path - to the directory where you installed \QMCU SDK. - \li In the \uicontrol {Targets supported by the \QMCU SDK} - field, select your MCU board. - \li In the \uicontrol Requirements section, ensure that the - platform-specific requirements are met. This varies depending - on the target chosen: - \list - \li For STM32 targets: - \list - \li The \uicontrol {GNU ARM Embedded Toolchain} or - \uicontrol {IAR ARM Compiler} path. - \li The \uicontrol {STM32CubeProgrammer} install path. - \li The \uicontrol {MCU SDK} for the chosen target. - \li The \uicontrol {FreeRTOS Sources} for the chosen target. - \endlist - \li For NXP targets: - \list - \li The \uicontrol {GNU ARM Embedded Toolchain} or - \uicontrol {IAR ARM Compiler} path. - \li The \uicontrol {MCUXpresso IDE} install path. - \li The \uicontrol {MCU SDK} for the chosen target. - \li The \uicontrol {FreeRTOS Sources} for the chosen target. - \endlist - \li For Renesas targets: - \list - \li The \uicontrol {Green Hills Compiler} path. - \li The \uicontrol {Renesas Graphics Library} path. - \endlist - \endlist - \li Select the - \uicontrol {Automatically create kits for all available targets on start} - option to create kits automatically the next time Qt Creator is - started. - \note You could also use \uicontrol {Create Kit} to manually - create kits for the chosen target. - \li Select \uicontrol Apply to save the settings. - \endlist - - \note When updating to other versions of the \QMCU SDK, \QC will - ask you if you want to replace the existing kits, or create new ones - alongside. This can also be done manually, for each individual target, - via \uicontrol {Update Kit} and \uicontrol {Create Kit}, respectively. - - \section2 Adding MCU Devices - - \note This optional step is not necessary if you have already - set up the MCU SDK as outlined in \l{Specifying MCU Settings}. - - \QC automatically adds a default MCU device when you select - \uicontrol Apply in the \uicontrol MCU tab after configuring the - MCU tool chain. - - \image qtcreator-mcu-device.png "MCU devices" - - To add MCU devices, select \preferences > \uicontrol Devices > \uicontrol Add - > \uicontrol {MCU Device} > \uicontrol {Start Wizard}: - - \list 1 - \li In the \uicontrol Name field, give the device a name. - \li In the \uicontrol Type field, select the board type. - \li Select \uicontrol Apply to add the device. - \endlist - - \section2 Managing MCU Kits - - \QC automatically adds kits for all the available targets, if the - \uicontrol {Automatically create kits for all available targets on start} - option is enabled under the \uicontrol MCU settings tab. You can also - create kits for individual targets manually, as outlined - in \l{Specifying MCU Settings}. - - \image qtcreator-mcu-kit.png "MCU kits" - - You can edit and/or remove individual kits in \preferences > \uicontrol Kits. - - However, for adding new kits you should use the \uicontrol {Create Kit} - button in the {\QMCU} settings tab. This method adds the paths to - the kit's toolkits and SDKs, and keeps them synchronized when selecting - \uicontrol Apply or \uicontrol OK. - - The \uicontrol {MCU dependencies} field displays paths to 3rd party - software required for MCU development with the current kit. - - \section1 Running Applications on MCUs - - You can use a wizard to set up a project for developing an application that - you can run on MCUs. The project uses a subset of QML and Qt Quick Controls - that are supported by \QMCU. For more information about developing - applications for MCUs, see the \QMCU documentation. - - To create an application and run it on a MCU board: - - \list 1 - \li Select \uicontrol File > \uicontrol {New Project} > - \uicontrol {Application (\QMCU)} > - \uicontrol {MCU Support Application} > \uicontrol Choose. - \li Follow the instructions of the wizard to create the project. - \li Select \uicontrol Projects > \uicontrol {Build & Run}, and then - select the kit for building the application and running it on the - MCU board specified in the kit. - \li Select \uicontrol Run to specify run settings. - Usually, you can use the default settings. - \endlist - - \section1 Supported \QMCU SDKs - - \note The \QMCU SDK 2.3 requires \QC 9.0.0, or later. - - The following table lists the \QC versions you can use to develop - applications with particular \QMCU SDK versions. + While you can use the latest \QC version to develop with any \QMCU SDK, the + following combinations have been tested to work well. \table \header \li \QC version \li \QMCU SDK version \row - \li 9.0.0 or later - \li 2.0 or later + \li 12.0.2 or later + \li 2.7 or later + \row + \li 11.0.3 + \li 2.6 + \row + \li 10.0.2 + \li 2.5 + \row + \li 10.0.0 + \li 2.4 + \row + \li 9.0.0 + \li 2.3 \row \li 7.0.0 up to 8.0.2 \li 2.0 up to 2.2 @@ -203,4 +90,159 @@ \li 4.11.x \li 1.0 \endtable + + \sa {Enable and disable plugins}, {MCUs}{How To: Develop for MCUs} +*/ + +/*! + \page creator-how-to-create-mcu-kits.html + \previouspage creator-how-tos.html + + \ingroup creator-how-to-mcu + + \title Connect MCU devices + + \note Enable the McuSupport plugin to develop for MCUs. + + To configure a connection between \QC and your MCU board: + + \list 1 + \li Go to \preferences > \uicontrol Devices > \uicontrol MCU. + \li In \uicontrol {\QMCU SDK}, specify the path to the directory where + you installed \QMCU SDK. + \image qtcreator-preferences-mcu.webp {MCU preferences} + \li In \uicontrol {Targets supported by the \QMCU SDK}, select your MCU + board. + \li In \uicontrol Requirements, check that the platform-specific + requirements are met. This depends on the target: + \list + \li For STM32 targets: + \list + \li The \uicontrol {GNU ARM Embedded Toolchain} or + \uicontrol {IAR ARM Compiler} path. + \li The \uicontrol {STM32CubeProgrammer} install path. + \li The \uicontrol {Board SDK} for the chosen target. + \li The \uicontrol {FreeRTOS Sources} for the chosen target. + \endlist + \li For NXP targets: + \list + \li The \uicontrol {GNU ARM Embedded Toolchain} or + \uicontrol {IAR ARM Compiler} path. + \li The \uicontrol {MCUXpresso IDE} install path. + \li The \uicontrol {Board SDK} for the chosen target. + \li The \uicontrol {FreeRTOS Sources} for the chosen target. + \endlist + \li For Renesas targets: + \list + \li The \uicontrol {Green Hills Compiler} path. + \li The \uicontrol {Renesas Graphics Library} path. + \endlist + \li For Infineon targets: + \list + \li The \uicontrol {Green Hills Compiler for ARM} path. + \li The \uicontrol {Graphics Driver for Traveo II Cluster Series} + path. + \li The \uicontrol {Infineon Auto Flash Utility} path. + \endlist + \endlist + \li Select + \uicontrol {Automatically create kits for all available targets on start} + to create kits automatically the next time \QC starts. + \note Select \uicontrol {Create Kit} to manually create kits for the + target. + \li Select \uicontrol Apply to save the preferences. + \endlist + + \section1 Add MCU devices + + \QC automatically adds a default MCU device when you select + \uicontrol Apply in the \uicontrol MCU tab after configuring the + MCU tool chain. + + \image qtcreator-mcu-device.png {MCU devices} + + To add MCU devices, select \preferences > \uicontrol Devices > \uicontrol Add + > \uicontrol {MCU Device} > \uicontrol {Start Wizard}: + + \list 1 + \li In \uicontrol Name, give the device a name. + \li In \uicontrol Type, select the board type. + \li Select \uicontrol Apply to add the device. + \endlist + + \sa {Enable and disable plugins}, {MCUs}{How To: Develop for MCUs}, + {Developing for MCUs} +*/ + + +/*! + \page creator-how-to-manage-mcu-kits.html + \previouspage creator-how-tos.html + + \ingroup creator-how-to-mcu + + \title Manage MCU Kits + + \note Enable the McuSupport plugin to develop for MCUs. + + \QC automatically adds kits for all the available MCU targets if you select + \uicontrol {Automatically create kits for all available targets on start} + in \preferences > \uicontrol Devices > \uicontrol MCU. + + \image qtcreator-preferences-kits-mcu.webp {MCU kit} + + \note When you update the \QMCU SDK, \QC asks you whether you want to replace + the existing kits or create additional kits. To do this manually for each + target, select \uicontrol {Update Kit} or \uicontrol {Create Kit}. + + To add new kits, go to \preferences > \uicontrol Devices > \uicontrol MCU, + and select \uicontrol {Create Kit}. This adds the paths to the kit's toolkits + and SDKs, and keeps them synchronized when you select \uicontrol Apply or + \uicontrol OK. + + \section1 Change or remove MCU kits + + To change or remove individual kits, go to \preferences > \uicontrol Kits. + + The \uicontrol {MCU dependencies} field displays paths to 3rd party + software required for MCU development with the current kit. + + \sa {Enable and disable plugins}, {MCUs}{How To: Develop for MCUs}, + {Developing for MCUs} +*/ + +/*! + \page creator-how-to-run-on-mcu-devices.html + \previouspage creator-how-tos.html + + \ingroup creator-how-to-mcu + + \title Create MCU projects + + \note Enable the McuSupport plugin to develop for MCUs. + + Create a project for developing an application that you can run on MCUs. + The project imports a subset of QML and Qt Quick Controls types + that are supported by \QMCU. For more information about developing + applications for MCUs, see \l {Qt for MCUs}. + + To create an application and run it on a MCU board: + + \list 1 + \li Go to \uicontrol File > \uicontrol {New Project}. + \image qtcreator-mcu-new-project.webp {New Project dialog} + \li Select \uicontrol {QmlProject Application (\QMCU)} > + \uicontrol {Qt for MCUs Empty Application} or + \uicontrol {Qt for MCUs Example Application} > \uicontrol Choose. + \li Follow the instructions of the wizard to create the project. + \li Select \uicontrol Projects > \uicontrol {Build & Run}, and then + select the kit for building the application and running it on the + MCU board specified in the kit. + \li Select \uicontrol Run to specify run settings. + Usually, you can use the default settings. + \endlist + + \sa {Configure projects for running}, {Enable and disable plugins}, + {MCUs}{How To: Develop for MCUs}, {Use project wizards}, + {Developing for MCUs} */ diff --git a/doc/qtcreator/src/overview/creator-only/creator-mobile-targets.qdoc b/doc/qtcreator/src/overview/creator-only/creator-mobile-targets.qdoc index fc33900659b..395a5ba4589 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-mobile-targets.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-mobile-targets.qdoc @@ -61,7 +61,7 @@ \QC detects the tools and configured devices automatically and uses the tools to build, deploy, and run applications. - \li \l{Connecting MCUs} + \li \l{Developing for MCUs} You can connect MCU boards to a development host to deploy, run, and debug applications on them from \QC. diff --git a/doc/qtcreator/src/overview/creator-only/creator-reference.qdoc b/doc/qtcreator/src/overview/creator-only/creator-reference.qdoc index 45432f561bd..86450b31b13 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-reference.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-reference.qdoc @@ -36,6 +36,15 @@ \annotatedlist creator-reference-build-configurations + \section1 Devices + + Connect devices to the computer to run, debug, and analyze applications + built for them from \QC. When you install Qt for a target platform, such + as Android or QNX, the build and run configurations for the development + targets might be set up automatically in \QC. + + \annotatedlist creator-reference-devices + \section1 Editors When you open files, \QC chooses a suitable editor according to the file diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index 0a60027451d..4c6f0c4cb57 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -42,7 +42,6 @@ \li \l{Connecting Boot2Qt Devices} \li \l{Adding Docker Devices} \li \l{Connecting iOS Devices} - \li \l{Connecting MCUs} \li \l{Connecting QNX Devices} \li \l{Connecting Remote Linux Devices} \li \l{Building Applications for the Web} @@ -109,6 +108,11 @@ \generatelist creator-how-to-debug \li Design UIs \generatelist creator-how-to-design + \li Develop for Devices + \list + \li MCUs + \generatelist creator-how-to-mcu + \endlist \li Edit Code \generatelist creator-how-to-edit \list @@ -148,6 +152,10 @@ \list \li Build Configurations \generatelist creator-reference-build-configurations + \endlist + \li Devices + \generatelist creator-reference-devices + \list \li Run Configurations \generatelist creator-reference-run-configurations \endlist From 289b42aba4a329f77e16fc78dc4ffe0e67226619 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 29 Apr 2024 13:53:56 +0200 Subject: [PATCH 7/7] Fix tab order in "file deleted" dialog on Windows/Linux again This was fixed with e9320a812252b05a6367462fea698d35f9585eae and shortly after broke again with 4d6827dde9248b6b47949b535ae361e8c6b04cfa Amends 4d6827dde9248b6b47949b535ae361e8c6b04cfa Fixes: QTCREATORBUG-28676 Change-Id: I4a69b1ea1430613d1aa22620b8f10ebff73d66ab Reviewed-by: Reviewed-by: Alessandro Portale --- src/libs/utils/reloadpromptutils.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/libs/utils/reloadpromptutils.cpp b/src/libs/utils/reloadpromptutils.cpp index 52571382454..8a07592d3fe 100644 --- a/src/libs/utils/reloadpromptutils.cpp +++ b/src/libs/utils/reloadpromptutils.cpp @@ -89,12 +89,10 @@ QTCREATOR_UTILS_EXPORT FileDeletedPromptAnswer "Do you want to save it under a different name, or close " "the editor?").arg(QDir::toNativeSeparators(fileName)); QMessageBox box(QMessageBox::Question, title, msg, QMessageBox::NoButton, parent); - QPushButton *close = - box.addButton(Tr::tr("&Close"), QMessageBox::RejectRole); + QPushButton *saveas = box.addButton(Tr::tr("Save &as..."), QMessageBox::ActionRole); + QPushButton *close = box.addButton(Tr::tr("&Close"), QMessageBox::RejectRole); QPushButton *closeAll = box.addButton(Tr::tr("C&lose All"), QMessageBox::RejectRole); - QPushButton *saveas = - box.addButton(Tr::tr("Save &as..."), QMessageBox::ActionRole); QPushButton *save = box.addButton(Tr::tr("&Save"), QMessageBox::AcceptRole); box.setDefaultButton(saveas);