Merge remote-tracking branch 'origin/4.12' into qds-1.50
Change-Id: I8e4155aa2a0a8c7f7405dd79e856380011e23a33
@@ -1,9 +1,9 @@
|
||||
#BINARY_ARTIFACTS_BRANCH = master
|
||||
#PROJECT_USER_FILE_EXTENSION = .user
|
||||
|
||||
set(IDE_VERSION "4.12.1") # The IDE version.
|
||||
set(IDE_VERSION "4.12.2") # The IDE version.
|
||||
set(IDE_VERSION_COMPAT "4.12.0") # The IDE Compatibility version.
|
||||
set(IDE_VERSION_DISPLAY "4.12.1") # The IDE display version.
|
||||
set(IDE_VERSION_DISPLAY "4.12.2") # The IDE display version.
|
||||
set(IDE_COPYRIGHT_YEAR "2020") # The IDE current copyright year.
|
||||
|
||||
set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation.
|
||||
|
39
dist/changes-4.12.1.md
vendored
@@ -14,6 +14,7 @@ General
|
||||
-------
|
||||
|
||||
* Fixed crash when changing font settings (QTCREATORBUG-14385)
|
||||
* Fixed availability of `Link with Qt` information on startup (QTCREATORBUG-23900)
|
||||
|
||||
Editing
|
||||
-------
|
||||
@@ -39,6 +40,10 @@ Projects
|
||||
|
||||
* Fixed issue with JOM (QTCREATORBUG-22645)
|
||||
|
||||
### Qbs
|
||||
|
||||
* Fixed crash when updating project (QTCREATORBUG-23924)
|
||||
|
||||
### Compilation Database
|
||||
|
||||
* Fixed issues with symbolic links (QTCREATORBUG-23511)
|
||||
@@ -46,8 +51,13 @@ Projects
|
||||
Debugging
|
||||
---------
|
||||
|
||||
* Fixed startup when Python's JSON module is missing (QTCREATORBUG-24004)
|
||||
* Fixed pretty printing of `std::unique_ptr` with custom deleter (QTCREATORBUG-23885)
|
||||
|
||||
### GDB
|
||||
|
||||
* Fixed handling of register addresses with lowercase characters
|
||||
* Fixed issue with GDB reporting zero array size in some cases (QTCREATORBUG-23998)
|
||||
|
||||
Qt Quick Designer
|
||||
-----------------
|
||||
@@ -67,10 +77,39 @@ Platforms
|
||||
|
||||
* Fixed crash at startup when Qt is missing in Kit (QTCREATORBUG-23963)
|
||||
* Fixed `Always use this device for this project` (QTCREATORBUG-23918)
|
||||
* Fixed issue with "side by side" NDK installation (QTCREATORBUG-23903)
|
||||
|
||||
### OpenBSD
|
||||
|
||||
* Fixed Qt ABI detection (QTCREATORBUG-23818)
|
||||
|
||||
### MCU
|
||||
|
||||
* Fixed various issues with Kit creation and cleanup
|
||||
|
||||
Credits for these changes go to:
|
||||
--------------------------------
|
||||
Alessandro Portale
|
||||
André Pönitz
|
||||
Assam Boudjelthia
|
||||
Brook Cronin
|
||||
Christian Kandeler
|
||||
Christian Stenger
|
||||
Cristian Adam
|
||||
David Schulz
|
||||
Eike Ziller
|
||||
Friedemann Kleint
|
||||
Henning Gruendl
|
||||
Jeremy Ephron
|
||||
Johanna Vanhatapio
|
||||
Leander Schulten
|
||||
Leena Miettinen
|
||||
Nikolai Kosjar
|
||||
Robert Löhning
|
||||
Sebastian Verling
|
||||
Sergey Belyashov
|
||||
Thiago Macieira
|
||||
Thomas Hartmann
|
||||
Tim Jenssen
|
||||
Venugopal Shivashankar
|
||||
Vikas Pachdha
|
||||
|
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 6.2 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.2 KiB |
BIN
doc/qtcreator/images/front-advanced.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
doc/qtcreator/images/front-coding.png
Normal file
After Width: | Height: | Size: 6.8 KiB |
BIN
doc/qtcreator/images/front-gs.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
doc/qtcreator/images/front-help.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
doc/qtcreator/images/front-preview.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
doc/qtcreator/images/front-projects.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
doc/qtcreator/images/front-publishing.png
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
doc/qtcreator/images/front-testing.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
doc/qtcreator/images/front-ui.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
@@ -460,7 +460,7 @@
|
||||
|
||||
\list 1
|
||||
\li Perf events may be globally disabled on your system. The
|
||||
preconfigured Boot to Qt images come with perf events enabled. For
|
||||
preconfigured Boot2Qt images come with perf events enabled. For
|
||||
a custom configuration you need to make sure that the file
|
||||
\c {/proc/sys/kernel/perf_event_paranoid} contains a value smaller
|
||||
than \c {2}. For maximum flexibility in recording traces you can
|
||||
|
@@ -32,7 +32,7 @@
|
||||
/*!
|
||||
//! [cmake deploying embedded]
|
||||
|
||||
\section1 Deploying CMake Projects to Embedded Linux Devices
|
||||
\section1 Deploying CMake Projects to Generic Remote Linux Devices
|
||||
|
||||
\QC cannot directly extract files to be installed from a CMake project.
|
||||
Therefore, a special deploy step is created that installs the project into
|
||||
|
@@ -158,6 +158,6 @@
|
||||
\li \l {Opening Projects}
|
||||
\li \l {Specifying Build Settings}
|
||||
\li \l {Specifying Run Settings}
|
||||
\li \l {Deploying CMake Projects to Embedded Linux Devices}
|
||||
\li \l {Deploying CMake Projects to Generic Remote Linux Devices}
|
||||
\endlist
|
||||
*/
|
||||
|
@@ -41,7 +41,7 @@
|
||||
\title Coding
|
||||
|
||||
\if defined(qtcreator)
|
||||
\image creator_coding.png
|
||||
\image front-coding.png
|
||||
\endif
|
||||
|
||||
\list
|
||||
|
@@ -38,11 +38,11 @@
|
||||
\nextpage creator-deployment-qnx.html
|
||||
\endif
|
||||
|
||||
\title Deploying Applications to Embedded Linux Devices
|
||||
\title Deploying Applications to Generic Remote Linux Devices
|
||||
|
||||
You can specify settings for deploying applications to generic Linux devices
|
||||
in the project .pro file. You can view the settings in the
|
||||
\uicontrol Projects mode, in \uicontrol {Run Settings}.
|
||||
You can specify settings for deploying applications to generic remote
|
||||
Linux devices in the project .pro file. You can view the settings in
|
||||
the \uicontrol Projects mode, in \uicontrol {Run Settings}.
|
||||
|
||||
\image qtcreator-embedded-linux-deployment-overview.png "Deploy to device"
|
||||
|
||||
|
@@ -26,14 +26,14 @@
|
||||
/*!
|
||||
//! [running on embedded linux]
|
||||
|
||||
\section1 Running on Embedded Linux Devices
|
||||
\section1 Running on Generic Remote Linux Devices
|
||||
|
||||
To build the application and run it on a device:
|
||||
|
||||
\list 1
|
||||
|
||||
\li Specify a connection to the device. For more information, see
|
||||
\l{Connecting Embedded Linux Devices}.
|
||||
\l{Connecting Generic Remote Linux Devices}.
|
||||
|
||||
\li Click the \uicontrol Run button.
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2017 The Qt Company Ltd.
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Creator documentation.
|
||||
@@ -24,11 +24,11 @@
|
||||
****************************************************************************/
|
||||
|
||||
/*!
|
||||
//! [run settings embedded]
|
||||
//! [run settings boot2qt]
|
||||
|
||||
\section1 Specifying Run Settings for Embedded Devices
|
||||
\section1 Specifying Run Settings for Boot2Qt Devices
|
||||
|
||||
To run and debug an application on an embedded device (commercial only), you
|
||||
To run and debug an application on a Boot2Qt device (commercial only), you
|
||||
must create connections from the development host to the device and add the
|
||||
device configurations to \l{glossary-buildandrun-kit}{kits}. Select
|
||||
\uicontrol {Manage Kits} to add devices to kits. For more information, see
|
||||
@@ -41,7 +41,7 @@
|
||||
host and on the device.
|
||||
|
||||
For more information on the deployment steps, see
|
||||
\l{Deploying Applications to Embedded Linux Devices}.
|
||||
\l{Deploying Applications to Generic Remote Linux Devices}.
|
||||
|
||||
//! [run settings embedded]
|
||||
//! [run settings boot2qt]
|
||||
*/
|
||||
|
@@ -33,7 +33,7 @@
|
||||
host to the device and add the device configurations to
|
||||
\l{glossary-buildandrun-kit}{kits}. Click \uicontrol {Manage Kits} to add devices
|
||||
to kits. For more information, see
|
||||
\l {Connecting Embedded Linux Devices}.
|
||||
\l {Connecting Generic Remote Linux Devices}.
|
||||
|
||||
When you run the application, \QC copies the files to the connected device.
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Creator documentation.
|
||||
@@ -33,19 +33,20 @@
|
||||
\nextpage creator-developing-ios.html
|
||||
\endif
|
||||
|
||||
\title Connecting Embedded Linux Devices
|
||||
\title Connecting Generic Remote Linux Devices
|
||||
|
||||
You can connect embedded Linux devices to the development PC to run,
|
||||
You can connect generic Linux devices to the development PC to run,
|
||||
debug, and analyze applications built for them from \QC.
|
||||
|
||||
If you have a tool chain for building applications for embedded Linux
|
||||
devices installed on the development PC, you can add
|
||||
it to \QC. You can then select a \l{glossary-buildandrun-kit}{kit}
|
||||
with \uicontrol {Embedded Linux} device type to
|
||||
build applications for and run them on embedded Linux devices.
|
||||
build applications for and run them on the devices.
|
||||
|
||||
To be able to run and debug applications on embedded Linux devices, you must
|
||||
add devices and select them in the \QC \l{glossary-buildandrun-kit}{kit}.
|
||||
To be able to run and debug applications on generic remote Linux devices,
|
||||
you must add devices and select them in the \QC \l{glossary-buildandrun-kit}
|
||||
{kit}.
|
||||
|
||||
You use a wizard to create the connections. You can edit the settings later
|
||||
in \uicontrol Tools > \uicontrol Options > \uicontrol Devices >
|
||||
@@ -145,7 +146,7 @@
|
||||
|
||||
When you run the project, \QC deploys the application as specified by the
|
||||
deploy steps. By default, \QC copies the application files to the device.
|
||||
For more information, see \l{Deploying Applications to Embedded Linux Devices}.
|
||||
For more information, see \l{Deploying Applications to Generic Remote Linux Devices}.
|
||||
|
||||
\endlist
|
||||
|
||||
|
@@ -36,7 +36,7 @@
|
||||
|
||||
\title Advanced Use
|
||||
|
||||
\image creator_advanceduse.png
|
||||
\image front-advanced.png
|
||||
|
||||
\QC attempts to meet your development needs, whether you are an
|
||||
experienced Qt developer or a newcomer to Qt. When you install \QC
|
||||
|
@@ -49,7 +49,7 @@
|
||||
When you deploy the application to an Android device, \QC copies
|
||||
the application files to the device. In addition, you can determine
|
||||
the Qt libraries to use.
|
||||
\li \l{Deploying Applications to Embedded Linux Devices}
|
||||
\li \l{Deploying Applications to Generic Remote Linux Devices}
|
||||
|
||||
When you deploy the application to a generic Linux-based device, \QC
|
||||
copies the application files to the connected device. You can test
|
||||
|
@@ -36,7 +36,7 @@
|
||||
|
||||
\title Designing User Interfaces
|
||||
|
||||
\image creator_designinguserinterface.png
|
||||
\image front-ui.png
|
||||
|
||||
\QC provides integrated visual editors for designing Qt Quick and
|
||||
widget-based applications in the Design mode. The integration
|
||||
|
@@ -38,9 +38,9 @@
|
||||
|
||||
\table
|
||||
\row
|
||||
\li \inlineimage creator_gettingstarted.png
|
||||
\li \inlineimage creator_designinguserinterface.png
|
||||
\li \inlineimage creator_advanceduse.png
|
||||
\li \inlineimage front-gs.png
|
||||
\li \inlineimage front-ui.png
|
||||
\li \inlineimage front-advanced.png
|
||||
\row
|
||||
\li \b {\l{IDE Overview}}
|
||||
|
||||
@@ -59,8 +59,8 @@
|
||||
control systems. For an overview of the options you have, go to
|
||||
\l{Configuring Qt Creator}.
|
||||
\row
|
||||
\li \inlineimage creator_buildingrunning.png
|
||||
\li \inlineimage creator_gettinghelp.png
|
||||
\li \inlineimage front-preview.png
|
||||
\li \inlineimage front-help.png
|
||||
\li
|
||||
\row
|
||||
\li \b {\l{Building and Running an Example}}
|
||||
|
@@ -36,7 +36,7 @@
|
||||
|
||||
\title Getting Help
|
||||
|
||||
\image creator_gettinghelp.png
|
||||
\image front-help.png
|
||||
|
||||
\list
|
||||
|
||||
|
@@ -69,7 +69,7 @@
|
||||
to debug applications on them with GDB or a hardware debugger.
|
||||
\endif
|
||||
|
||||
\li \l{Connecting Embedded Linux Devices}
|
||||
\li \l{Connecting Generic Remote Linux Devices}
|
||||
|
||||
If you have a tool chain for building applications for embedded
|
||||
Linux devices installed on the development
|
||||
@@ -114,7 +114,7 @@
|
||||
You can use the experimental Qt Application Manager plugin
|
||||
(commercial only) to deploy, run, and debug applications on the
|
||||
local Linux PC, remote generic SSH Linux targets, or
|
||||
\l{Embedded Devices}{embedded devices}.
|
||||
\l{Boot2Qt Devices}{Boot2Qt devices}.
|
||||
\endlist
|
||||
\endif
|
||||
*/
|
||||
|
@@ -47,9 +47,9 @@
|
||||
|
||||
\table
|
||||
\row
|
||||
\li \inlineimage creator_managingprojects.png
|
||||
\li \inlineimage creator_designinguserinterface.png
|
||||
\li \inlineimage creator_coding.png
|
||||
\li \inlineimage front-projects.png
|
||||
\li \inlineimage front-ui.png
|
||||
\li \inlineimage front-coding.png
|
||||
\row
|
||||
\li \b {\l{Managing Projects}}
|
||||
|
||||
@@ -84,9 +84,9 @@
|
||||
available that provides information about the code to IDEs.
|
||||
For more information, see \l{Coding}.
|
||||
\row
|
||||
\li \inlineimage creator_buildingrunning.png
|
||||
\li \inlineimage creator_testing.png
|
||||
\li \inlineimage creator_publishing.png
|
||||
\li \inlineimage front-preview.png
|
||||
\li \inlineimage front-testing.png
|
||||
\li \inlineimage front-publishing.png
|
||||
\row
|
||||
\li \b {\l{Building and Running}}
|
||||
|
||||
|
@@ -112,7 +112,7 @@
|
||||
|
||||
\endlist
|
||||
|
||||
\section2 Developing for Embedded Devices
|
||||
\section2 Developing for Boot2Qt Devices
|
||||
|
||||
Either Windows 7 or later or Ubuntu Linux 64-bit 12.04 LTS or later is
|
||||
required to install and use Qt for Device Creation. For more information
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Creator documentation.
|
||||
@@ -31,30 +31,21 @@
|
||||
You can develop applications for the following platforms:
|
||||
|
||||
\list
|
||||
|
||||
\li Desktop
|
||||
|
||||
\li Android
|
||||
|
||||
\li Embedded
|
||||
|
||||
\li Generic remote Linux
|
||||
|
||||
\li iOS
|
||||
|
||||
\li Microcontroller Units (MCU)
|
||||
|
||||
\li QNX
|
||||
|
||||
\li Universal Windows Platform (UWP)
|
||||
|
||||
\li WebAssembly
|
||||
|
||||
\li \l{Connecting Android Devices}{Android}
|
||||
\li \l{Connecting Bare Metal Devices}{Bare Metal}
|
||||
\li Boot2Qt
|
||||
\li \l{Connecting Generic Remote Linux Devices}{Generic Remote Linux}
|
||||
\li \l{Connecting iOS Devices}{iOS}
|
||||
\li \l{Connecting MCUs}{Microcontroller Units (MCU)} (commercial only)
|
||||
\li \l{Connecting QNX Devices}{QNX}
|
||||
\li \l{Qt for UWP}{Universal Windows Platform (UWP)}
|
||||
\li \l{Building Applications for the Web}{WebAssembly}
|
||||
\endlist
|
||||
|
||||
\section2 Embedded Devices
|
||||
\section2 Boot2Qt Devices
|
||||
|
||||
The Boot to Qt stack can be made to run on a variety of hardware. For
|
||||
The Boot2Qt stack can be made to run on a variety of hardware. For
|
||||
Qt for Device Creation license holders, tooling is provided to customize the
|
||||
contents of the stack as well as to take it into desired production
|
||||
hardware.
|
||||
@@ -65,8 +56,8 @@
|
||||
\l{https://doc.qt.io/QtForDeviceCreation/index.html}{Qt for Device Creation}
|
||||
documentation.
|
||||
|
||||
\note Since \QC 4.9, only Boot to Qt version 5.9 and later are supported.
|
||||
To develop for earlier Boot to Qt versions, use \QC 4.8.
|
||||
\note Since \QC 4.9, only Boot2Qt version 5.9 and later are supported.
|
||||
To develop for earlier Boot2Qt versions, use \QC 4.8.
|
||||
|
||||
\section2 Mobile Devices
|
||||
|
||||
@@ -99,8 +90,8 @@
|
||||
\li
|
||||
\row
|
||||
\li MCUs
|
||||
\li \image ok
|
||||
\li \image ok
|
||||
\li
|
||||
\li
|
||||
\li \image ok
|
||||
\row
|
||||
\li QNX
|
||||
|
@@ -36,7 +36,7 @@
|
||||
|
||||
\title Testing
|
||||
|
||||
\image creator_testing.png
|
||||
\image front-testing.png
|
||||
|
||||
\list
|
||||
|
||||
|
@@ -36,7 +36,7 @@
|
||||
|
||||
\title Tutorials
|
||||
|
||||
\image creator_gettinghelp.png
|
||||
\image front-help.png
|
||||
|
||||
You can use \QC to create applications for several platforms by using
|
||||
several technologies. The tutorials in this manual explain how to create
|
||||
|
@@ -43,7 +43,7 @@
|
||||
the development environment for Android or iOS. For more information, see
|
||||
\l{Connecting Android Devices} and \l{Connecting iOS Devices}.
|
||||
|
||||
To run an example application on an embedded device, you must set up
|
||||
To run an example application on a Boot2Qt device, you must set up
|
||||
Qt for Device Creation on the development host and create connections
|
||||
between the host and devices. For more information, see the
|
||||
\l{http://doc.qt.io/QtForDeviceCreation/qtee-installation-guide.html}
|
||||
@@ -66,7 +66,7 @@
|
||||
|
||||
You can also use tags (3) to filter examples. For instance, enter
|
||||
the \uicontrol Boot2Qt tag (commercial only) in the search field
|
||||
(4) to list examples that you can run on embedded devices.
|
||||
(4) to list examples that you can run on Boot2Qt devices.
|
||||
|
||||
\li To check that the application code can be compiled and linked for a
|
||||
device, click the \uicontrol {Kit Selector} and select a
|
||||
|
@@ -36,7 +36,7 @@
|
||||
|
||||
\title Building and Running
|
||||
|
||||
\image creator_buildingrunning.png
|
||||
\image front-preview.png
|
||||
|
||||
\QC provides support for running and deploying Qt applications built
|
||||
for different target platforms, or using different compilers, debuggers, or
|
||||
|
@@ -141,10 +141,11 @@
|
||||
|
||||
\section1 Providing Deployment Information
|
||||
|
||||
If you want to run your application on an embedded Linux device, you first need to
|
||||
deploy your executable and possibly other files. \QC does that for you
|
||||
automatically if you provide the necessary information. This works the same
|
||||
way as explained for CMake \l {Deploying CMake Projects to Embedded Linux Devices}{here},
|
||||
If you want to run your application on a generic remote Linux device,
|
||||
you first need to deploy your executable and possibly other files.
|
||||
\QC does that for you automatically if you provide the necessary
|
||||
information. This works the same way as explained for CMake
|
||||
\l {Deploying CMake Projects to Generic Remote Linux Devices}{here},
|
||||
except that you also need to include your application binary in the list.
|
||||
|
||||
\section1 Creating a Run Configuration
|
||||
|
@@ -36,7 +36,7 @@
|
||||
|
||||
\title Managing Projects
|
||||
|
||||
\image creator_managingprojects.png
|
||||
\image front-projects.png
|
||||
|
||||
One of the major advantages of \QC is that it allows a team of designers and
|
||||
developers to share a project across different development platforms with a
|
||||
|
@@ -84,7 +84,7 @@
|
||||
\include creator-projects-settings-run-android.qdocinc run settings android
|
||||
\include creator-projects-settings-run-linux.qdocinc run settings linux
|
||||
\include creator-projects-settings-run-qnx.qdocinc run settings qnx
|
||||
\include linux-mobile/creator-projects-settings-run-b2qt.qdocinc run settings embedded
|
||||
\include linux-mobile/creator-projects-settings-run-b2qt.qdocinc run settings boot2qt
|
||||
|
||||
\section1 Selecting the Run Environment
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Creator documentation.
|
||||
@@ -47,29 +47,20 @@
|
||||
devices:
|
||||
|
||||
\list
|
||||
|
||||
\li Android Device
|
||||
|
||||
\li Bare Metal Device
|
||||
|
||||
\li Boot2Qt Device (commercial only)
|
||||
|
||||
\li \l {Emulator}{Boot2Qt Emulator Device} (commercial only)
|
||||
|
||||
\li Generic Linux Device
|
||||
|
||||
\li iOS Device
|
||||
|
||||
\li \l{Connecting Android Devices}{Android Device}
|
||||
\li \l{Connecting Bare Metal Devices}{Bare Metal Device}
|
||||
\li \l{https://doc.qt.io/QtForDeviceCreation/b2qt-installation-guides.html}
|
||||
{Boot2Qt Device} (commercial only)
|
||||
\li \l{Emulator}{Boot2Qt Emulator Device} (commercial only)
|
||||
\li \l{Connecting Generic Remote Linux Devices}{Generic Remote Linux Device}
|
||||
\li \l{Connecting iOS Devices}{iOS Device}
|
||||
\li iOS Simulator
|
||||
|
||||
\li QNX Device
|
||||
|
||||
\li Windows Phone
|
||||
|
||||
\li \l{Connecting MCUs}{MCU Device} (commercial only)
|
||||
\li \l{Connecting QNX Devices}{QNX Device}
|
||||
\li \l{Building Applications for the Web}{WebAssembly Runtime}
|
||||
\li \l{Qt for UWP}{Windows Phone}
|
||||
\li Windows Phone Emulator
|
||||
|
||||
\li Windows Runtime (local)
|
||||
|
||||
\endlist
|
||||
|
||||
\section1 Filtering Kit Settings
|
||||
|
@@ -41,7 +41,7 @@
|
||||
\title Deploying Applications to QNX Neutrino Devices
|
||||
|
||||
You can deploy applications to QNX Neutrino devices in the way that is
|
||||
described in \l{Deploying Applications to Embedded Linux Devices}.
|
||||
described in \l{Deploying Applications to Generic Remote Linux Devices}.
|
||||
|
||||
\image qtcreator-qnx-deployment.png "Deploy to device"
|
||||
|
||||
|
@@ -42,8 +42,9 @@
|
||||
|
||||
\section1 Adding a QNX Neutrino Device in \QC
|
||||
|
||||
Adding a QNX Neutrino device is very similar to \l{Connecting Embedded
|
||||
Linux Devices}, except you need to select \uicontrol {QNX Device} in the
|
||||
Adding a QNX Neutrino device is very similar to
|
||||
\l{Connecting Generic Remote Linux Devices}, except that
|
||||
you need to select \uicontrol {QNX Device} in the
|
||||
\uicontrol {Device Configuration} wizard.
|
||||
|
||||
\section1 Adding Kits for QNX Devices
|
||||
|
@@ -196,14 +196,14 @@
|
||||
\li \l{Deploying to Devices}
|
||||
\list
|
||||
\li \l{Deploying Applications to Android Devices}
|
||||
\li \l{Deploying Applications to Embedded Linux Devices}
|
||||
\li \l{Deploying Applications to Generic Remote Linux Devices}
|
||||
\li \l{Deploying Applications to QNX Neutrino Devices}
|
||||
\endlist
|
||||
\li \l{Connecting Devices}
|
||||
\list
|
||||
\li \l{Connecting Android Devices}
|
||||
\li \l{Connecting Bare Metal Devices}
|
||||
\li \l{Connecting Embedded Linux Devices}
|
||||
\li \l{Connecting Generic Remote Linux Devices}
|
||||
\li \l{Connecting iOS Devices}
|
||||
\li \l{Connecting MCUs}
|
||||
\li \l{Connecting QNX Devices}
|
||||
|
@@ -54,10 +54,10 @@
|
||||
|
||||
\table
|
||||
\row
|
||||
\li \inlineimage creator_gettingstarted.png
|
||||
\li \inlineimage creator_managingprojects.png
|
||||
\li \inlineimage creator_designinguserinterface.png
|
||||
\li \inlineimage creator_coding.png
|
||||
\li \inlineimage front-gs.png
|
||||
\li \inlineimage front-projects.png
|
||||
\li \inlineimage front-ui.png
|
||||
\li \inlineimage front-coding.png
|
||||
\row
|
||||
\li \b {\l{Getting Started}}
|
||||
\list
|
||||
@@ -90,10 +90,10 @@
|
||||
\li \l{Editing State Charts}
|
||||
\endlist
|
||||
\row
|
||||
\li \inlineimage creator_buildingrunning.png
|
||||
\li \inlineimage creator_testing.png
|
||||
\li \inlineimage creator_advanceduse.png
|
||||
\li \inlineimage creator_gettinghelp.png
|
||||
\li \inlineimage front-preview.png
|
||||
\li \inlineimage front-testing.png
|
||||
\li \inlineimage front-advanced.png
|
||||
\li \inlineimage front-help.png
|
||||
\row
|
||||
\li \b {\l{Building and Running}}
|
||||
\list
|
||||
|
@@ -50,7 +50,7 @@
|
||||
until it is explicitly assigned a new value. However, to make the fullest
|
||||
use of QML and its built-in support for dynamic object behaviors, most QML
|
||||
types use property bindings. This means that you can specify relationships
|
||||
between different object properties so that when a property's sependencies
|
||||
between different object properties so that when a property's dependencies
|
||||
change in value, the property's value is automatically updated accordingly.
|
||||
|
||||
Behind the scenes, the QML engine monitors the property's dependencies (that
|
||||
|
@@ -1,6 +1,6 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
** Copyright (C) 2019 The Qt Company Ltd.
|
||||
** Copyright (C) 2020 The Qt Company Ltd.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the Qt Design Studio documentation.
|
||||
@@ -34,7 +34,7 @@
|
||||
To preview UIs on Android devices, you need to enable USB debugging on them
|
||||
and connect them to your system with a USB cable.
|
||||
\endomit
|
||||
To preview UIs on embedded devices, you need to connect the devices to your
|
||||
To preview UIs on Boot2Qt devices, you need to connect the devices to your
|
||||
system with a USB cable, or a wired or wireless connection, depending on
|
||||
the device, and configure connections to them. The necessary kits have been
|
||||
predefined and you only need to enable them for your current project.
|
||||
@@ -79,9 +79,9 @@
|
||||
device.
|
||||
\endomit
|
||||
|
||||
\section2 Previewing on Embedded Devices
|
||||
\section2 Previewing on Boot2Qt Devices
|
||||
|
||||
You can preview UIs on embedded devices that are supported by
|
||||
You can preview UIs on Boot2Qt devices that are supported by
|
||||
\l{Qt for Device Creation}. For a list of supported devices, see
|
||||
\l{https://doc.qt.io/QtForDeviceCreation/qtee-supported-platforms.html#reference-target-devices}
|
||||
{Reference Target Devices}.
|
||||
|
@@ -24,7 +24,7 @@
|
||||
****************************************************************************/
|
||||
|
||||
/*!
|
||||
\example ProgressBar
|
||||
\example progressbar
|
||||
\ingroup studioexamples
|
||||
|
||||
\title Progress Bar
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 4.6 KiB |
57
doc/qtdesignstudio/images/studio-animation.svg
Normal file
@@ -0,0 +1,57 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 24.1.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" baseProfile="tiny" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
x="0px" y="0px" viewBox="0 0 450 270" overflow="visible" xml:space="preserve">
|
||||
<g>
|
||||
<g>
|
||||
<path fill="#C9C7C7" d="M433.8,269.6H16.2c-7.8,0-14.2-6.4-14.2-14.2V14.2C2,6.4,8.4,0,16.2,0h417.6c7.8,0,14.2,6.4,14.2,14.2
|
||||
v241.2C448,263.2,441.6,269.6,433.8,269.6z"/>
|
||||
<path fill="#878686" d="M2.4,19.5L2,14.1C2,6.3,8.3,0,16.1,0h417.9c7.8,0,14.1,6.3,14.1,14.1v6.8"/>
|
||||
<circle fill="#DD5858" cx="19.3" cy="10.6" r="5"/>
|
||||
<circle fill="#DBC558" cx="36.1" cy="10.6" r="5"/>
|
||||
<circle fill="#52B257" cx="52.9" cy="10.6" r="5"/>
|
||||
</g>
|
||||
<path fill="#FFFFFF" d="M437.1,262.2H13.4c-2.8,0-5-2.2-5-5V185c0-2.8,2.2-5,5-5h423.7c2.8,0,5,2.2,5,5v72.2
|
||||
C442.1,260,439.9,262.2,437.1,262.2z"/>
|
||||
<path fill="none" stroke="#FFFFFF" stroke-width="7.4167" stroke-linecap="round" stroke-miterlimit="10" d="M190.6,91.4
|
||||
c0-24.3,19.7-44.1,44.1-44.1s44.1,19.7,44.1,44.1s-19.7,44.1-44.1,44.1"/>
|
||||
<circle fill="#FFFFFF" cx="233.8" cy="91.1" r="19.7"/>
|
||||
<polygon fill="#878686" points="258.9,158 256.2,193.9 267.4,180.3 284.4,183.1 "/>
|
||||
<path fill="#878686" d="M228.2,195.9H19.4c-2.8,0-5-2.2-5-5V188c0-2.8,2.2-5,5-5h208.8c2.8,0,5,2.2,5,5v2.9
|
||||
C233.2,193.6,231,195.9,228.2,195.9z"/>
|
||||
<path fill="#878686" d="M348,223.6H206.5c-2.8,0-5-2.2-5-5v-2.9c0-2.8,2.2-5,5-5H348c2.8,0,5,2.2,5,5v2.9
|
||||
C353,221.4,350.8,223.6,348,223.6z"/>
|
||||
<path fill="#878686" d="M419.3,247.4h-86.1c-2.8,0-5-2.2-5-5v-2.9c0-2.8,2.2-5,5-5h86.1c2.8,0,5,2.2,5,5v2.9
|
||||
C424.3,245.1,422.1,247.4,419.3,247.4z"/>
|
||||
|
||||
<rect x="222.4" y="199" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -77.0099 218.9356)" fill="#878686" width="6.8" height="6.8"/>
|
||||
|
||||
<rect x="18.4" y="199" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -136.7589 74.6888)" fill="#878686" width="6.8" height="6.8"/>
|
||||
|
||||
<rect x="117.4" y="199" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -107.7546 144.7115)" fill="#878686" width="6.8" height="6.8"/>
|
||||
|
||||
<rect x="210.5" y="226.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -100.0968 218.6541)" fill="#878686" width="6.8" height="6.8"/>
|
||||
|
||||
<rect x="307.5" y="226.7" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -71.6725 287.2764)" fill="#878686" width="6.8" height="6.8"/>
|
||||
|
||||
<rect x="338.2" y="251.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -80.1869 316.2345)" fill="#878686" width="6.8" height="6.8"/>
|
||||
|
||||
<rect x="410.5" y="251.5" transform="matrix(0.7071 -0.7071 0.7071 0.7071 -59.0137 367.3511)" fill="#878686" width="6.8" height="6.8"/>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M175.7,73.5v14h-2.9V76.8l-3,1.9l-1.3-2.2l4.6-3.1H175.7z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#FFFFFF" d="M290.4,59.2h-9.1v-2.5l3-3c1.1-1.1,1.8-1.9,2.2-2.5s0.6-1.2,0.6-1.9c0-0.7-0.2-1.1-0.5-1.4
|
||||
c-0.3-0.3-0.8-0.4-1.5-0.4c-0.9,0-2,0.1-3.1,0.3l-0.5,0.1l-0.1-2.3c1.4-0.4,2.8-0.6,4.3-0.6c3,0,4.4,1.3,4.4,4
|
||||
c0,1-0.2,1.9-0.7,2.7s-1.3,1.7-2.5,2.8l-2.4,2.2h5.8V59.2z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path fill="#8389A8" d="M238.9,145.1c1.6-0.6,3.5-1,5.5-1c2,0,3.5,0.4,4.4,1.2s1.4,2,1.4,3.7c0,1.7-0.7,3-2.1,3.9
|
||||
c0.9,0.5,1.5,0.9,1.8,1.4s0.5,1.3,0.5,2.4c0,1.9-0.5,3.3-1.4,4.3c-1,0.9-2.5,1.4-4.6,1.4c-1.6,0-3.2-0.2-4.9-0.7l-0.9-0.2l0.2-2.8
|
||||
c2,0.3,3.7,0.5,5,0.5c1.8,0,2.8-0.8,2.8-2.4c0-0.7-0.2-1.2-0.7-1.6c-0.5-0.4-1.1-0.6-1.9-0.6h-3.6v-3h3.6c0.6,0,1.1-0.2,1.6-0.7
|
||||
c0.5-0.5,0.7-1.1,0.7-1.7c0-1.3-0.9-1.9-2.6-1.9c-1.2,0-2.5,0.1-3.9,0.4l-0.7,0.1L238.9,145.1z"/>
|
||||
</g>
|
||||
<line fill="none" stroke="#F9D953" stroke-width="3" stroke-miterlimit="10" x1="103.5" y1="269.2" x2="103.5" y2="165.2"/>
|
||||
<polygon fill="#F9D953" points="103.4,178.2 111.2,164.7 95.6,164.7 "/>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 3.9 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 1.9 KiB |
@@ -36,9 +36,9 @@
|
||||
|
||||
\table
|
||||
\row
|
||||
\li \inlineimage studio-gs.png
|
||||
\li \inlineimage studio-projects.png
|
||||
\li \inlineimage studio-components.png
|
||||
\li \inlineimage front-gs.png
|
||||
\li \inlineimage front-projects.png
|
||||
\li \inlineimage front-ui.png
|
||||
\li \inlineimage studio-animation.png
|
||||
\row
|
||||
\li \l{Getting Started}
|
||||
@@ -72,9 +72,9 @@
|
||||
\endlist
|
||||
\row
|
||||
\li \inlineimage studio-3d-scenes.png
|
||||
\li \inlineimage studio-preview.png
|
||||
\li \inlineimage studio-settings.png
|
||||
\li \inlineimage studio-help.png
|
||||
\li \inlineimage front-preview.png
|
||||
\li \inlineimage front-advanced.png
|
||||
\li \inlineimage front-help.png
|
||||
\row
|
||||
\li \b {\l{Editing 3D Scenes}}
|
||||
\list
|
||||
|
@@ -37,7 +37,8 @@ function llvmConfig(hostOS, qtcFunctions)
|
||||
{
|
||||
var llvmInstallDirFromEnv = Environment.getEnv("LLVM_INSTALL_DIR")
|
||||
var llvmConfigVariants = [
|
||||
"llvm-config", "llvm-config-7", "llvm-config-8", "llvm-config-9"
|
||||
// CLANG-UPGRADE-CHECK: Adapt once we require a new minimum version.
|
||||
"llvm-config", "llvm-config-8", "llvm-config-9", "llvm-config-10", "llvm-config-11", "llvm-config-12"
|
||||
];
|
||||
|
||||
// Prefer llvm-config* from LLVM_INSTALL_DIR
|
||||
|
@@ -4,10 +4,10 @@ import qbs.FileInfo
|
||||
import "qtc.js" as HelperFunctions
|
||||
|
||||
Module {
|
||||
property string qtcreator_display_version: '4.12.1'
|
||||
property string qtcreator_display_version: '4.12.2'
|
||||
property string ide_version_major: '4'
|
||||
property string ide_version_minor: '12'
|
||||
property string ide_version_release: '1'
|
||||
property string ide_version_release: '2'
|
||||
property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.'
|
||||
+ ide_version_release
|
||||
|
||||
|
@@ -1,6 +1,6 @@
|
||||
QTCREATOR_VERSION = 4.12.1
|
||||
QTCREATOR_VERSION = 4.12.2
|
||||
QTCREATOR_COMPAT_VERSION = 4.12.0
|
||||
QTCREATOR_DISPLAY_VERSION = 4.12.1
|
||||
QTCREATOR_DISPLAY_VERSION = 4.12.2
|
||||
QTCREATOR_COPYRIGHT_YEAR = 2020
|
||||
BINARY_ARTIFACTS_BRANCH = 4.12
|
||||
|
||||
|
@@ -18,8 +18,8 @@
|
||||
"specific_qt_versions": [
|
||||
{
|
||||
"versions": ["default"],
|
||||
"sdk_essential_packages": ["build-tools;29.0.2", "ndk-bundle"],
|
||||
"ndk_path": "ndk-bundle"
|
||||
"sdk_essential_packages": ["build-tools;29.0.2", "ndk;21.1.6352462"],
|
||||
"ndk_path": "ndk/21.1.6352462"
|
||||
},
|
||||
{
|
||||
"versions": ["5.12.[0-5]", "5.13.[0-1]"],
|
||||
|
@@ -39,7 +39,7 @@ try:
|
||||
# we do not need to hard fail in cases of partial python installation
|
||||
# that will never use this.
|
||||
import json
|
||||
except ModuleNotFoundError:
|
||||
except:
|
||||
print("Python module json not found. "
|
||||
"Native combined debugging might not work.")
|
||||
pass
|
||||
|
@@ -35,7 +35,7 @@
|
||||
#include <QDebug>
|
||||
#include <QDateTime>
|
||||
#include <QOperatingSystemVersion>
|
||||
#include <QRegExp>
|
||||
#include <QRegularExpression>
|
||||
#include <QTimer>
|
||||
#include <QUrl>
|
||||
#include <qplatformdefs.h>
|
||||
@@ -325,10 +325,10 @@ QString FilePath::shortNativePath() const
|
||||
QString FileUtils::fileSystemFriendlyName(const QString &name)
|
||||
{
|
||||
QString result = name;
|
||||
result.replace(QRegExp(QLatin1String("\\W")), QLatin1String("_"));
|
||||
result.replace(QRegExp(QLatin1String("_+")), QLatin1String("_")); // compact _
|
||||
result.remove(QRegExp(QLatin1String("^_*"))); // remove leading _
|
||||
result.remove(QRegExp(QLatin1String("_+$"))); // remove trailing _
|
||||
result.replace(QRegularExpression(QLatin1String("\\W")), QLatin1String("_"));
|
||||
result.replace(QRegularExpression(QLatin1String("_+")), QLatin1String("_")); // compact _
|
||||
result.remove(QRegularExpression(QLatin1String("^_*"))); // remove leading _
|
||||
result.remove(QRegularExpression(QLatin1String("_+$"))); // remove trailing _
|
||||
if (result.isEmpty())
|
||||
result = QLatin1String("unknown");
|
||||
return result;
|
||||
@@ -336,8 +336,8 @@ QString FileUtils::fileSystemFriendlyName(const QString &name)
|
||||
|
||||
int FileUtils::indexOfQmakeUnfriendly(const QString &name, int startpos)
|
||||
{
|
||||
static QRegExp checkRegExp(QLatin1String("[^a-zA-Z0-9_.-]"));
|
||||
return checkRegExp.indexIn(name, startpos);
|
||||
static const QRegularExpression checkRegExp(QLatin1String("[^a-zA-Z0-9_.-]"));
|
||||
return checkRegExp.match(name, startpos).capturedStart();
|
||||
}
|
||||
|
||||
QString FileUtils::qmakeFriendlyName(const QString &name)
|
||||
|
@@ -31,6 +31,7 @@
|
||||
#include <QDialogButtonBox>
|
||||
#include <QLabel>
|
||||
#include <QPlainTextEdit>
|
||||
#include <QSet>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
namespace Utils {
|
||||
|
@@ -29,12 +29,12 @@
|
||||
#include <utils/pathchooser.h>
|
||||
#include <utils/pathlisteditor.h>
|
||||
|
||||
#include <QDebug>
|
||||
#include <QSettings>
|
||||
|
||||
#include <QActionGroup>
|
||||
#include <QCheckBox>
|
||||
#include <QDebug>
|
||||
#include <QGroupBox>
|
||||
#include <QLineEdit>
|
||||
#include <QSettings>
|
||||
#include <QSpinBox>
|
||||
#include <QTextEdit>
|
||||
|
||||
|
@@ -29,9 +29,7 @@
|
||||
See std(::experimental)::variant.
|
||||
*/
|
||||
|
||||
// TODO: replace by #include <(experimental/)variant> depending on compiler and C++ version
|
||||
#if __cplusplus >= 201703L
|
||||
#error Please delete variant.hpp and the #else section below, then remove this error
|
||||
#include <variant>
|
||||
|
||||
namespace Utils {
|
||||
|
@@ -617,8 +617,9 @@ QVector<AndroidDeviceInfo> AndroidConfig::connectedDevices(const FilePath &adbTo
|
||||
if (adbDevs.empty())
|
||||
return devices;
|
||||
|
||||
while (adbDevs.first().startsWith("* daemon"))
|
||||
adbDevs.removeFirst(); // remove the daemon logs
|
||||
for (const QString line : adbDevs) // remove the daemon logs
|
||||
if (line.startsWith("* daemon"))
|
||||
adbDevs.removeOne(line);
|
||||
adbDevs.removeFirst(); // remove "List of devices attached" header line
|
||||
|
||||
// workaround for '????????????' serial numbers:
|
||||
|
@@ -87,7 +87,8 @@ void AndroidExtraLibraryListModel::updateModel()
|
||||
QTC_ASSERT(rc, return);
|
||||
|
||||
const ProjectNode *node = m_target->project()->findNodeForBuildKey(rc->buildKey());
|
||||
QTC_ASSERT(node, return);
|
||||
if (!node)
|
||||
return;
|
||||
|
||||
if (node->parseInProgress()) {
|
||||
emit enabledChanged(false);
|
||||
|
@@ -206,8 +206,10 @@ AndroidDeviceInfoList AndroidToolManager::androidVirtualDevices(const Utils::Fil
|
||||
if (avds.empty())
|
||||
return devices;
|
||||
|
||||
while (avds.first().startsWith(QLatin1String("* daemon")))
|
||||
avds.removeFirst(); // remove the daemon logs
|
||||
for (const QString line : avds) // remove the daemon logs
|
||||
if (line.startsWith("* daemon"))
|
||||
avds.removeOne(line);
|
||||
|
||||
avds.removeFirst(); // remove "List of devices attached" header line
|
||||
|
||||
bool nextLineIsTargetLine = false;
|
||||
|
@@ -454,7 +454,7 @@ void ClangToolRunWorker::finalize()
|
||||
{
|
||||
const QString toolName = tool()->name();
|
||||
if (m_filesNotAnalyzed.size() != 0) {
|
||||
appendMessage(tr("Error: Failed to analyze %1 files.").arg(m_filesAnalyzed.size()),
|
||||
appendMessage(tr("Error: Failed to analyze %1 files.").arg(m_filesNotAnalyzed.size()),
|
||||
ErrorMessageFormat);
|
||||
Target *target = runControl()->target();
|
||||
if (target && target->activeBuildConfiguration() && !target->activeBuildConfiguration()->buildDirectory().exists()
|
||||
|
@@ -202,7 +202,6 @@ RawProjectPart makeRawProjectPart(const Utils::FilePath &projectFile,
|
||||
kitInfo.cToolChain = toolchainFromFlags(kit,
|
||||
originalFlags,
|
||||
ProjectExplorer::Constants::C_LANGUAGE_ID);
|
||||
ToolChainKitAspect::setToolChain(kit, kitInfo.cToolChain);
|
||||
}
|
||||
addDriverModeFlagIfNeeded(kitInfo.cToolChain, flags, originalFlags);
|
||||
rpp.setFlagsForC({kitInfo.cToolChain, flags});
|
||||
@@ -211,7 +210,6 @@ RawProjectPart makeRawProjectPart(const Utils::FilePath &projectFile,
|
||||
kitInfo.cxxToolChain = toolchainFromFlags(kit,
|
||||
originalFlags,
|
||||
ProjectExplorer::Constants::CXX_LANGUAGE_ID);
|
||||
ToolChainKitAspect::setToolChain(kit, kitInfo.cxxToolChain);
|
||||
}
|
||||
addDriverModeFlagIfNeeded(kitInfo.cxxToolChain, flags, originalFlags);
|
||||
rpp.setFlagsForCxx({kitInfo.cxxToolChain, flags});
|
||||
|
@@ -102,7 +102,7 @@ QList<LocatorFilterEntry> FileSystemFilter::matchesFor(QFutureInterface<LocatorF
|
||||
const QStringList files = dirInfo.entryList(fileFilter,
|
||||
QDir::Name|QDir::IgnoreCase|QDir::LocaleAware);
|
||||
|
||||
const QRegularExpression regExp = createRegExp(entryFileName, caseSensitivity_);
|
||||
QRegularExpression regExp = createRegExp(entryFileName, caseSensitivity_);
|
||||
if (!regExp.isValid())
|
||||
return {};
|
||||
|
||||
@@ -122,7 +122,10 @@ QList<LocatorFilterEntry> FileSystemFilter::matchesFor(QFutureInterface<LocatorF
|
||||
}
|
||||
}
|
||||
// file names can match with +linenumber or :linenumber
|
||||
const EditorManager::FilePathInfo fp = EditorManager::splitLineAndColumnNumber(entry);
|
||||
const EditorManager::FilePathInfo fp = EditorManager::splitLineAndColumnNumber(entryFileName);
|
||||
regExp = createRegExp(fp.filePath, caseSensitivity_);
|
||||
if (!regExp.isValid())
|
||||
return {};
|
||||
const QString fileName = QFileInfo(fp.filePath).fileName();
|
||||
for (const QString &file : files) {
|
||||
if (future.isCanceled())
|
||||
|
@@ -324,6 +324,7 @@ void CppFileSettingsWidget::apply()
|
||||
rc.sourceSuffix = m_ui.sourceSuffixComboBox->currentText();
|
||||
rc.headerSearchPaths = trimmedPaths(m_ui.headerSearchPathsEdit->text());
|
||||
rc.sourceSearchPaths = trimmedPaths(m_ui.sourceSearchPathsEdit->text());
|
||||
rc.licenseTemplatePath = licenseTemplatePath();
|
||||
|
||||
if (rc == *m_settings)
|
||||
return;
|
||||
|
@@ -150,6 +150,11 @@ public:
|
||||
return fn;
|
||||
}
|
||||
|
||||
QString fullRef(bool includePrefix = false) const
|
||||
{
|
||||
return fullName(includePrefix).join('/');
|
||||
}
|
||||
|
||||
void insert(const QStringList &path, BranchNode *n)
|
||||
{
|
||||
BranchNode *current = this;
|
||||
@@ -186,7 +191,7 @@ public:
|
||||
}
|
||||
return names;
|
||||
}
|
||||
return {fullName().join('/')};
|
||||
return {fullRef()};
|
||||
}
|
||||
|
||||
int rowOf(BranchNode *node)
|
||||
@@ -346,7 +351,7 @@ QVariant BranchModel::data(const QModelIndex &index, int role) const
|
||||
return res;
|
||||
}
|
||||
case Qt::EditRole:
|
||||
return index.column() == 0 ? node->fullName().join('/') : QVariant();
|
||||
return index.column() == 0 ? node->fullRef() : QVariant();
|
||||
case Qt::ToolTipRole:
|
||||
if (!node->isLeaf())
|
||||
return QVariant();
|
||||
@@ -381,7 +386,7 @@ bool BranchModel::setData(const QModelIndex &index, const QVariant &value, int r
|
||||
if (newName.isEmpty())
|
||||
return false;
|
||||
|
||||
const QString oldName = node->fullName().join('/');
|
||||
const QString oldName = node->fullRef();
|
||||
if (oldName == newName)
|
||||
return false;
|
||||
|
||||
@@ -525,7 +530,7 @@ QString BranchModel::fullName(const QModelIndex &idx, bool includePrefix) const
|
||||
return QString();
|
||||
if (node == d->headNode)
|
||||
return QString("HEAD");
|
||||
return node->fullName(includePrefix).join('/');
|
||||
return node->fullRef(includePrefix);
|
||||
}
|
||||
|
||||
QStringList BranchModel::localBranchNames() const
|
||||
@@ -901,7 +906,8 @@ void BranchModel::updateUpstreamStatus(BranchNode *node)
|
||||
{
|
||||
if (node->tracking.isEmpty())
|
||||
return;
|
||||
VcsCommand *command = d->client->asyncUpstreamStatus(d->workingDirectory, node->name, node->tracking);
|
||||
VcsCommand *command = d->client->asyncUpstreamStatus(
|
||||
d->workingDirectory, node->fullRef(), node->tracking);
|
||||
QObject::connect(command, &VcsCommand::stdOutText, node, [this, node](const QString &text) {
|
||||
const QStringList split = text.trimmed().split('\t');
|
||||
QTC_ASSERT(split.size() == 2, return);
|
||||
|
@@ -8,6 +8,8 @@
|
||||
<file>wizards/icon@2x.png</file>
|
||||
<file>wizards/application/CMakeLists.txt</file>
|
||||
<file>wizards/application/project.qmlproject.tpl</file>
|
||||
<file>wizards/application/BareMetal/main.cpp.tpl</file>
|
||||
<file>wizards/application/FreeRTOS/main.cpp.tpl</file>
|
||||
<file>wizards/application/main.qml.tpl</file>
|
||||
<file>wizards/application/wizard.json</file>
|
||||
</qresource>
|
||||
|
@@ -61,7 +61,7 @@
|
||||
namespace McuSupport {
|
||||
namespace Internal {
|
||||
|
||||
static const int KIT_VERSION = 4; // Bumps up whenever details in Kit creation change
|
||||
static const int KIT_VERSION = 5; // Bumps up whenever details in Kit creation change
|
||||
|
||||
static QString packagePathFromSettings(const QString &settingsKey, const QString &defaultPath = {})
|
||||
{
|
||||
@@ -441,7 +441,7 @@ void McuSupportOptions::deletePackagesAndTargets()
|
||||
|
||||
const QVersionNumber &McuSupportOptions::supportedQulVersion()
|
||||
{
|
||||
static const QVersionNumber v({1, 1});
|
||||
static const QVersionNumber v({1, 2});
|
||||
return v;
|
||||
}
|
||||
|
||||
|
@@ -99,8 +99,6 @@ static McuToolChainPackage *createArmGccPackage()
|
||||
Utils::HostOsInfo::withExecutableSuffix("bin/arm-none-eabi-g++"),
|
||||
"GNUArmEmbeddedToolchain",
|
||||
McuToolChainPackage::TypeArmGcc);
|
||||
result->setDownloadUrl(
|
||||
"https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads");
|
||||
result->setEnvironmentVariableName(envVar);
|
||||
return result;
|
||||
}
|
||||
@@ -149,19 +147,6 @@ static McuPackage *createRGLPackage()
|
||||
return result;
|
||||
}
|
||||
|
||||
static McuPackage *createStm32CubeFwF7SdkPackage()
|
||||
{
|
||||
auto result = new McuPackage(
|
||||
McuPackage::tr("STM32Cube SDK"),
|
||||
"%{Env:STM32Cube_FW_F7_SDK_PATH}",
|
||||
"Drivers/STM32F7xx_HAL_Driver",
|
||||
"Stm32CubeFwF7Sdk");
|
||||
result->setDownloadUrl(
|
||||
"https://www.st.com/content/st_com/en/products/embedded-software/mcus-embedded-software/stm32-embedded-software/stm32cube-mcu-packages/stm32cubef7.html");
|
||||
result->setEnvironmentVariableName("STM32Cube_FW_F7_SDK_PATH");
|
||||
return result;
|
||||
}
|
||||
|
||||
static McuPackage *createStm32CubeProgrammerPackage()
|
||||
{
|
||||
|
||||
@@ -185,17 +170,6 @@ static McuPackage *createStm32CubeProgrammerPackage()
|
||||
return result;
|
||||
}
|
||||
|
||||
static McuPackage *createEvkbImxrt1050SdkPackage()
|
||||
{
|
||||
auto result = new McuPackage(
|
||||
McuPackage::tr("NXP i.MXRT SDK"),
|
||||
"%{Env:EVKB_IMXRT1050_SDK_PATH}", // TODO: Try to not use 1050 specifics
|
||||
"EVKB-IMXRT1050_manifest_v3_5.xml",
|
||||
"EvkbImxrt1050Sdk");
|
||||
result->setDownloadUrl("https://mcuxpresso.nxp.com/en/welcome");
|
||||
return result;
|
||||
}
|
||||
|
||||
static McuPackage *createMcuXpressoIdePackage()
|
||||
{
|
||||
const char envVar[] = "MCUXpressoIDE_PATH";
|
||||
@@ -318,13 +292,8 @@ static QVector<McuTarget *> targetsFromDescriptions(const QList<McuTargetDescrip
|
||||
|
||||
static QFileInfoList targetDescriptionFiles(const Utils::FilePath &dir)
|
||||
{
|
||||
// Workaround for UL-2390: Instead of "./kits/", walk through "./lib/cmake/Qul/boards/"
|
||||
QFileInfoList result;
|
||||
QDirIterator it(dir.toString() + "/lib/cmake/Qul/boards/", {QLatin1String("*.json")},
|
||||
QDir::Files, QDirIterator::Subdirectories);
|
||||
while (it.hasNext())
|
||||
result.append(it.next());
|
||||
return result;
|
||||
const QDir kitsDir(dir.toString() + "/kits/", "*.json");
|
||||
return kitsDir.entryInfoList();
|
||||
}
|
||||
|
||||
static QString freeRTOSEnvVarForPlatform(const QString &platform)
|
||||
|
@@ -0,0 +1,14 @@
|
||||
#include "%{ProjectName}.h"
|
||||
|
||||
#include <qul/application.h>
|
||||
#include <qul/qul.h>
|
||||
|
||||
int main()
|
||||
{
|
||||
Qul::initPlatform();
|
||||
Qul::Application app;
|
||||
static %{ProjectName} item;
|
||||
app.setRootItem(&item);
|
||||
app.exec();
|
||||
return 0;
|
||||
}
|
@@ -4,7 +4,7 @@ project(%{ProjectName} VERSION 0.0.1 LANGUAGES C CXX ASM)
|
||||
|
||||
find_package(Qul)
|
||||
|
||||
add_executable(%{ProjectName})
|
||||
add_executable(%{ProjectName} ${OS}/main.cpp)
|
||||
qul_target_qml_sources(%{ProjectName} %{MainQmlFile})
|
||||
|
||||
target_link_libraries(%{ProjectName} Qul::QuickUltralite)
|
||||
|
@@ -0,0 +1,38 @@
|
||||
#include "%{ProjectName}.h"
|
||||
|
||||
#include <qul/application.h>
|
||||
#include <qul/qul.h>
|
||||
|
||||
#include <cstdio>
|
||||
#include <FreeRTOS.h>
|
||||
#include <task.h>
|
||||
|
||||
#ifndef QUL_STACK_SIZE
|
||||
#error QUL_STACK_SIZE must be defined.
|
||||
#endif
|
||||
|
||||
static void Qul_Thread(void *argument);
|
||||
|
||||
int main()
|
||||
{
|
||||
Qul::initPlatform();
|
||||
|
||||
if (xTaskCreate(Qul_Thread, "QulExec", QUL_STACK_SIZE, 0, 4, 0) != pdPASS) {
|
||||
std::printf("Task creation failed!.\\r\\n");
|
||||
configASSERT(false);
|
||||
}
|
||||
|
||||
vTaskStartScheduler();
|
||||
|
||||
// Should not reach this point
|
||||
configASSERT(false);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void Qul_Thread(void *argument)
|
||||
{
|
||||
Qul::Application app;
|
||||
static %{ProjectName} item;
|
||||
app.setRootItem(&item);
|
||||
app.exec();
|
||||
}
|
@@ -1,4 +1,3 @@
|
||||
pragma main;
|
||||
import QtQuick 2.0
|
||||
|
||||
Rectangle {
|
||||
|
@@ -52,6 +52,16 @@
|
||||
"target": "%{ProjectDirectory}/%{ProjectName}.qmlproject",
|
||||
"openInEditor": false
|
||||
},
|
||||
{
|
||||
"source": "BareMetal/main.cpp.tpl",
|
||||
"target": "%{ProjectDirectory}/BareMetal/main.cpp",
|
||||
"openInEditor": false
|
||||
},
|
||||
{
|
||||
"source": "FreeRTOS/main.cpp.tpl",
|
||||
"target": "%{ProjectDirectory}/FreeRTOS/main.cpp",
|
||||
"openInEditor": false
|
||||
},
|
||||
{
|
||||
"source": "main.qml.tpl",
|
||||
"target": "%{ProjectDirectory}/%{MainQmlFile}",
|
||||
|
@@ -134,21 +134,22 @@ LocalQmlPreviewSupport::LocalQmlPreviewSupport(ProjectExplorer::RunControl *runC
|
||||
const auto currentTarget = runControl->target();
|
||||
const auto *qmlBuildSystem = qobject_cast<QmlProjectManager::QmlBuildSystem *>(currentTarget->buildSystem());
|
||||
|
||||
const auto aspect = runControl->aspect<QmlProjectManager::QmlMainFileAspect>();
|
||||
const QString mainScript = aspect->mainScript();
|
||||
const QString currentFile = aspect->currentFile();
|
||||
if (const auto aspect = runControl->aspect<QmlProjectManager::QmlMainFileAspect>()) {
|
||||
const QString mainScript = aspect->mainScript();
|
||||
const QString currentFile = aspect->currentFile();
|
||||
|
||||
const QString mainScriptFromProject = qmlBuildSystem->targetFile(
|
||||
Utils::FilePath::fromString(mainScript)).toString();
|
||||
const QString mainScriptFromProject = qmlBuildSystem->targetFile(
|
||||
Utils::FilePath::fromString(mainScript)).toString();
|
||||
|
||||
const QString currentFileFromProject = qmlBuildSystem->targetFile(
|
||||
Utils::FilePath::fromString(currentFile)).toString();
|
||||
const QString currentFileFromProject = qmlBuildSystem->targetFile(
|
||||
Utils::FilePath::fromString(currentFile)).toString();
|
||||
|
||||
if (!currentFile.isEmpty() && qmlProjectRunConfigurationArguments.last().contains(mainScriptFromProject)) {
|
||||
qmlProjectRunConfigurationArguments.removeLast();
|
||||
auto commandLine = Utils::CommandLine(runnable.commandLine().executable(), qmlProjectRunConfigurationArguments);
|
||||
commandLine.addArg(currentFile);
|
||||
runnable.setCommandLine(commandLine);
|
||||
if (!currentFile.isEmpty() && qmlProjectRunConfigurationArguments.last().contains(mainScriptFromProject)) {
|
||||
qmlProjectRunConfigurationArguments.removeLast();
|
||||
auto commandLine = Utils::CommandLine(runnable.commandLine().executable(), qmlProjectRunConfigurationArguments);
|
||||
commandLine.addArg(currentFile);
|
||||
runnable.setCommandLine(commandLine);
|
||||
}
|
||||
}
|
||||
|
||||
Utils::QtcProcess::addArg(&runnable.commandLineArguments,
|
||||
|