Merge remote-tracking branch 'origin/7.0'

Change-Id: I95dba3037fe5630cafc3c1e45c579ff18730262c
This commit is contained in:
Eike Ziller
2022-04-04 09:10:47 +02:00
25 changed files with 377 additions and 166 deletions

View File

@@ -5,18 +5,94 @@ instructions:
- type: EnvironmentVariable
variableName: QTC_BUILD_TYPE
variableValue: "RelWithDebInfo"
- type: EnvironmentVariable
variableName: LLVM_BASE_URL
variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_140-based
- type: Group
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_BASE_URL
variableValue: "http://ci-files02-hki.intra.qt.io/packages/jenkins/archive/qt/6.2/6.2.4-final-released/Qt6.2.4"
- type: EnvironmentVariable
variableName: QTC_QT_MODULES
variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquickcontrols2 qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations"
- type: EnvironmentVariable
variableName: LLVM_BASE_URL
variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_140-based
- type: EnvironmentVariable
variableName: MACOSX_DEPLOYMENT_TARGET
variableValue: 10.14
- type: Group
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
variableValue: "-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z"
enable_if:
condition: property
property: target.os
equals_value: Windows
- type: Group
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
variableValue: "-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z"
enable_if:
condition: property
property: target.os
equals_value: Linux
- type: Group
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
variableValue: "-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z"
enable_if:
condition: property
property: target.os
equals_value: MacOS
enable_if:
condition: property
property: features
not_contains_value: "Qt5"
- type: Group
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_BASE_URL
variableValue: "http://ci-files02-hki.intra.qt.io/packages/jenkins/archive/qt/5.15/5.15.2-final-released/latest"
- type: EnvironmentVariable
variableName: QTC_QT_MODULES
variableValue: "qtbase qtdeclarative qtimageformats qtquick3d qtquickcontrols2 qtquicktimeline qtserialport qtsvg qttools qttranslations"
- type: EnvironmentVariable
variableName: MACOSX_DEPLOYMENT_TARGET
variableValue: 10.13
- type: Group
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
variableValue: "-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64.7z"
enable_if:
condition: property
property: target.os
equals_value: Windows
- type: Group
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
variableValue: "-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64.7z"
enable_if:
condition: property
property: target.os
equals_value: Linux
- type: Group
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
variableValue: "-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z"
enable_if:
condition: property
property: target.os
equals_value: MacOS
enable_if:
condition: property
property: features
contains_value: "Qt5"
- type: PrependToEnvironmentVariable
variableName: PATH

View File

@@ -32,7 +32,7 @@ instructions:
property: host.os
in_values: [MacOS, Linux, Windows]
- type: ExecuteCommand
command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix=-Linux-RHEL_8_4-GCC-Linux-RHEL_8_4-X86_64.7z --icu7z http://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z {{.Env.QTC_QT_MODULES}}"
command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} --icu7z http://master.qt.io/development_releases/prebuilt/icu/prebuilt/56.1/icu-linux-g++-Rhel7.2-x64.7z {{.Env.QTC_QT_MODULES}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 3600
maxTimeBetweenOutput: 360
@@ -42,7 +42,7 @@ instructions:
property: host.os
equals_value: Linux
- type: ExecuteCommand
command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix=-MacOS-MacOS_12-Clang-MacOS-MacOS_12-X86_64-ARM64.7z {{.Env.QTC_QT_MODULES}}"
command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} {{.Env.QTC_QT_MODULES}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 3600
maxTimeBetweenOutput: 360
@@ -61,7 +61,7 @@ instructions:
property: host.os
equals_value: Windows
- type: ExecuteCommand
command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix=-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z --opengl32sw7z http://master.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64.7z --d3dcompiler7z http://master.qt.io/development_releases/prebuilt/d3dcompiler/msvc2013/d3dcompiler_47-x64.7z --openssl7z http://ci-files02-hki.intra.qt.io/packages/jenkins/openssl/openssl_1.1.1d_prebuild_x64.7z {{.Env.QTC_QT_MODULES}}"
command: "python -u {{.AgentWorkingDir}}/build/qtsdk/packaging-tools/install_qt.py --qt-path {{.AgentWorkingDir}}/build/qt_install_dir --temp-path {{.AgentWorkingDir}}/build/qt_temp --base-url {{.Env.QTC_QT_BASE_URL}} --base-url-postfix={{.Env.QTC_QT_POSTFIX}} --opengl32sw7z http://master.qt.io/development_releases/prebuilt/llvmpipe/windows/opengl32sw-64.7z --d3dcompiler7z http://master.qt.io/development_releases/prebuilt/d3dcompiler/msvc2013/d3dcompiler_47-x64.7z --openssl7z http://ci-files02-hki.intra.qt.io/packages/jenkins/openssl/openssl_1.1.1d_prebuild_x64.7z {{.Env.QTC_QT_MODULES}}"
executeCommandArgumentSplitingBehavior: SplitAfterVariableSubstitution
maxTimeInSeconds: 3600
maxTimeBetweenOutput: 360

View File

@@ -173,17 +173,18 @@
If you use Qt Quick Studio Components or Effects in your project, you have
to check out and install the \e {Qt Quick Designer Components} module from
\l{https://codereview.qt-project.org/admin/repos/qt-labs/qtquickdesigner-components}
\l{https://code.qt.io/cgit/qt-labs/qtquickdesigner-components.git/}
{Qt Code Review}.
For example:
\badcode
git clone "https://codereview.qt-project.org/qt-labs/qtquickdesigner-components"
git clone https://code.qt.io/qt-labs/qtquickdesigner-components.git
\endcode
Then use qmake from your Qt installation to build the module and to add it
to your Qt. Switch to the directory that contains the sources (usually,
qtquickdesigner-components), and enter the following commands:
qtquickdesigner-components), make sure you checkout the qmake branch, and enter
the following commands:
\badcode
<path_to_qmake>\qmake -r
@@ -193,6 +194,18 @@
On Windows, use the \c nmake and \c {nmake install} commands instead.
If you prefer CMake instead and you want to benefit from the QML compilation,
then you can checkout the dev branch instead. CMake is only supported since Qt 6.2.
Enter the following commands:
\badcode
mkdir build
cd build
cmake -GNinja -DCMAKE_INSTALL_PREFIX=<path_to_qt_install_directory> <path_to_qtquickdesigner-components>
cmake --build .
cmake --install .
\endcode
\section1 Adding Qt Quick Timeline Module to Qt Installations
\note You only need to do this if your Qt version is older than 5.14.

View File

@@ -0,0 +1,227 @@
/****************************************************************************
**
** Copyright (C) 2022 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of the Qt Design Studio documentation.
**
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
**
****************************************************************************/
/*!
\page fire-particle-effect.html
\ingroup gstutorials
\sa Particles
\title Particle System: Fire Effect
\brief Illustrates how to create a fire effect with the \QDS
particle system.
\image fire-particles.png
The \e{Fire Effect} tutorial illustrates how you can add a fire effect to
your scene using the \QDS particle system.
In this tutorial, you create a project from the beginning. You can download
the completed project from
\l{https://git.qt.io/public-demos/qtdesign-studio/-/tree/master/tutorial%20projects/fire-particles}
{here}.
This tutorial requires that you know the basics of \QDS, see
\l{Getting Started}.
\section1 Tutorial Assets
You need the following assets to complete this tutorial:
\list
\li \e fire-sprites.png
\li \e fire-color-table.png
\endlist
You can download the assets from
\l{https://git.qt.io/public-demos/qtdesign-studio/-/tree/master/tutorial%20projects/fire-particles/FireParticles/content/images}
{here}.
\section1 Creating a Fire Effect
\section2 Creating a Project
To create a new project:
\list 1
\li Open \QDS.
\li On the \uicontrol {Welcome Screen}, select \uicontrol
{Create Project}.
\li In the \uicontrol Presets section, select \uicontrol General >
\uicontrol {3D}.
\li In the \uicontrol Details section, set the name to \e FireParticles
and select the folder where you want to save the project.
\li Select \uicontrol {Create}.
\endlist
Next, remove unwanted default components from the project:
\list 1
\li In \uicontrol {Navigator}, select \e Text and select the \key Delete
key.
\li In the same way, delete \e {cubeModel}.
\endlist
For a better visual effect, set the background color to black:
\list
\li In \uicontrol {Navigator}, select \e Rectangle and in
\uicontrol {Properties}, set \uicontrol {Fill Color} to #000000.
\endlist
\section2 Adding a Particle System to Your Scene
To add a particle system, you first need to import the QtQuick3D.Particles3D
module to your project:
\list 1
\li In the \uicontrol Components view, select \inlineimage icons/plus.png
.
\li Find QtQuick3D.Particles3D, and select it to add it to your project.
\endlist
In this project, you use an animated sprite to simulate a fire. For
this, use the Animated Sprite particle system template:
\list
\li From \uicontrol Components >
\uicontrol{Qt Quick 3D Particle System Templates} drag an
\uicontrol {Animated Sprite} component to \uicontrol{3D Editor}. You can
also drag it to \e scene in \uicontrol {Navigator}.
\endlist
\image fire-particles-navigator.png
You now have the particle system in place. To preview it, select
\key Alt + \key{P}. You can also preview the particle system in
\uicontrol {3D Editor} by using the \l {Particle Editor} tools.
\section2 Adding Sprites and Sprite Animations
First, import the sprite to use for the fire:
\list 1
\li In \uicontrol {Assets}, select \inlineimage icons/plus.png
.
\li Select \e {fire-sprites.png}.
\endlist
\image fire-particles-assets.png
Next, add the sprite to the particle system and create the animation:
\list 1
\li From \uicontrol{Assets}, drag \e {fire-sprites.png} to
\e animatedTexture in \uicontrol {Navigator}.
\li In \uicontrol{Navigator}, select \e{animatedSequence} and in
\uicontrol {Properties}, set:
\list
\li \uicontrol{Frame Count} to 3.
There are 3 sprites in \e {fire-sprites.png} so you want to
divide the image into 3 different sprites for this animation.
\li \uicontrol Interpolate to true. This makes the animation between
the sprites smooth.
\li \uicontrol{Random Start} to true.
This sets the animation for each particle to start from any of the
3 sprites, creating some randomness to the effect.
\endlist
\endlist
\image fire-particles-sprite-sequence.png
To add color to the sprites, use a \e{color table}. With a color table, you
change the color of a single sprite during its life span. In this
project, you use a gradient color table ranging from yellow to dark orange.
This results in the sprites being yellow when they are emitted and dark
orange at the end of the life span.
To set the color table:
\list 1
\li Import \e{fire-color-table.png} to your project.
\li From \uicontrol{Components}, drag a \uicontrol Texture to
\e animatedSpriteParticle in \uicontrol{Navigator}.
\li Rename the texture to \e {fireColorTable}.
\li In \uicontrol {Navigator}, select \e {fireColorTable} and in
\uicontrol {Properties}, set \uicontrol Source to
\e{fire-color-table.png}.
\li In \uicontrol {Navigator}, select \e {animatedSpriteParticle} and:
\list
\li Ensure that \uicontrol Sprite is set to \e {animatedTexture}.
\li Set \uicontrol {Particle Scale} to 5.
\li Set \uicontrol {Color Table} to \e{fireColorTable}.
\endlist
\endlist
\image fire-particles-sprite-textures.png
\section2 Adjusting the Particle Emitter
The next step is to adjust the particle emitter properties:
\list 1
\li In \uicontrol{Navigator}, select \e animatedSpriteEmitter and in
\uicontrol {Properties}, set:
\list
\li \uicontrol {Emit Rate} to 300.
\li \uicontrol {Life Span} to 2500.
\li \uicontrol {Life Span Variation} to 100.
\li \uicontrol {Particle End Scale} to 1,50.
\endlist
This sets the emitter to emit 300 particles per second. The life span of
each particle is ranging from 2.4 to 2.6 seconds. The size of each
particle is increasing slightly throughout its life span.
\li In \uicontrol{Navigator}, select \e animatedSpriteParticle and in
\uicontrol {Properties}, set:
\list
\li \uicontrol {Blend Mode} to Screen.
\li \uicontrol {Max Amount} to 1000.
\li \uicontrol {Color Variation} > \uicontrol W to 0,50. This adds
randomness to the opacity of the sprites.
\endlist
\li In \uicontrol{Navigator}, select \e animatedSpriteDirection and in
\uicontrol {Properties}, set:
\list
\li \uicontrol Direction > \uicontrol Y to 20.
\li \uicontrol {Direction Variation} > \uicontrol X to 3.
\li \uicontrol {Direction Variation} > \uicontrol Y to 10.
\endlist
This makes the particles go straight up with a small amount of randomness
to the direction.
\endlist
\section1 Previewing
Now, the fire effect is done. Before you preview it, adjust the camera:
\list 1
\li In \uicontrol {Navigator}, select \e sceneCamera and in
\uicontrol {Properties}, set:
\list
\li \uicontrol {Field of View} to 20.
\li \uicontrol {Translation} > \uicontrol Y to 35.
\endlist
\endlist
Now, preview the fire effect by selecting \key Alt + \key{P}.
*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

View File

@@ -26,8 +26,9 @@
/*!
\page rain-snow-particle-effect.html
\ingroup gstutorials
\sa Particles
\title Rain and Snow Effect
\title Particle System: Rain and Snow Effect
\brief Illustrates how to create a rain and snow effect with the \QDS
particle system.

View File

@@ -29,7 +29,6 @@
\page studio-3d-particles.html
\previouspage studio-3d-loader-3d.html
\nextpage studio-3d-particle-system.html
\title Particles
A \e {particle system} enables you to use sprites, 3D models, or images to
@@ -96,144 +95,7 @@
particle instance in \uicontrol Navigator.
\endlist
Add instances of other components according to your use case. The following
section describes how to modify particle system component property values by
using the simulation of fire as an example.
\section1 Example: Fire
\image studio-3d-particles-fire.gif "Fire simulated by using particles"
In this section, we explore using particle system components and modifying
their property values, such as particle source images and their color, life
span, and fading effects, to simulate fire.
You can download the completed project from
\l {https://git.qt.io/public-demos/qtdesign-studio/-/tree/master/tutorial%20projects/FireParticles}{here}.
We will need the following \l{Assets}{assets}:
\list
\li Two images of flames: \e flame_01.png and \e flame_03.png
\li An image of smoke: \e smoke_01.png
\endlist
\image studio-3d-particles-fire-assets.png "The assets in Assets"
We will also need instances of the following components:
\list
\li \l {Particle System} (one instance)
\li \l {Sprite Particle} (four instances)
\li \l {Emitter} (four instances)
\li \l {Vector Direction} (four instances)
\li \l {Textures}{Texture} (four instances)
\endlist
We start by creating a \l{Creating a Project}{Qt Quick 3D Application}
project and adding the assets to it. We then follow the instructions above
to add the \uicontrol {Particle System} component instance, which provides
us with our first \uicontrol Emitter, \uicontrol {Sprite Particle}, and
\uicontrol {Vector Direction} instances.
We add a \uicontrol Texture component instance with \e flame_01.png as the
source, and then add the texture as the sprite to use for the sprite
particle. We now have all the component instances we need for our first
emitter. To keep all the component instances together, we drag-and-drop the
sprite particle instance to the emitter instance in \uicontrol Navigator.
\image studio-3d-particles-fire-emitter1.png "First emitter in fire example in Navigator"
We need more than one particle to realistically simulate a fire, so we will
add three more emitter instances to the particle system. We can copy-paste
the first instance in \uicontrol Navigator, and just modify two of the
texture instances to use \e flame_03.png as the source and one of them to
use \e smoke_01.png as the source. We use three different flame particles
to be able to layer them and to hide the fact that two of them actually use
the same texture.
\image studio-3d-particles-fire-components.png "Fire particle system component instances in Navigator"
We can now start playing with the particle system component properties to
achieve the artistic effect that we want. To see how the changes in property
values affect the simulation, we will open the live preview by selecting
\inlineimage icons/live_preview.png
on the main toolbar (or by pressing \key {Alt+P}).
First, we will specify property values for the \uicontrol {Particle System}
component. We want to spawn some particles before the simulation starts, so
that the fire will be roaring at start. To achieve this, we set the value of
\uicontrol Properties > \uicontrol {Particle System} >
\uicontrol {Start Time} to \e 2000 milliseconds. We will
use the default values for the other properties.
\image studio-3d-particles-fire-properties-particle-system.png "Particle System properties"
Then, we will specify how individual particles are spawned. We set the
value of \uicontrol Properties > \uicontrol {Particle Emitter} >
\uicontrol {Emit rate} to \e 40.00 for the flame particles and \e 20.00
for the smoke particle, because we want to have more flames than smoke.
\image studio-3d-particles-fire-properties-particle-emitter.png "Particle Emitter properties"
To increase the visibility of the smoke at the top, we set the value of
\uicontrol {Life span} to \e 1200 milliseconds for the smoke particles
and \e 900, \e 1000, and \e 600 milliseconds for the flame particles.
Further, we set \uicontrol {Life span variation} to \e 100, \e 200, and
\e 300 for the flame particles to have some of them expire sooner than
others.
To scale the particles during their lifespan, we set
\uicontrol {Particle scale} to \e 2.00 for all particles and
\uicontrol {Particle end scale} to \e 5.00 for the flame
particles and to \e 6.00 for the smoke particles.
We can now modify the appearance of the particles by selecting the
\e spriteParticle in \uicontrol Navigator and then setting their color in
\uicontrol Properties > \uicontrol Particle. We select transparent yellow,
orange, and transparent gray in \uicontrol Color and set values for
\uicontrol {Color variation} to use slightly different colors for the
individual particles.
We can also try changing the \uicontrol{Blend Mode} for the particle to get
a more realistic fire effect.
\image studio-3d-particles-fire-properties-particle.png "Particle properties"
We set \uicontrol {Fade in effect} and \uicontrol {Fade out effect} values
to \uicontrol FadeOpacity to change particle opacity between 0 and 1 over
the time specified in milliseconds in \uicontrol {Fade in duration} and
\uicontrol {Fade out duration}. Fading duration is calculated into the
particle lifespan, and therefore the smoke particles are actually never
fully visible with our settings.
To specify that the particle texture should always be aligned face towards
the screen, we enable \uicontrol Properties > \uicontrol {Sprite Particle} >
\uicontrol Billboard for all the particle component instances.
\image studio-3d-particles-fire-properties-sprite-particle.png "Sprite Particle properties"
In \uicontrol{Particle Rotation}, we also need to set \uicontrol Rotation
and \uicontrol{Velocity Variation} for all emitters to 0.
\image studio-3d-particles-fire-properties-rotation.png "Emitter rotation properties"
Finally, we will specify the direction in which the particles move by
modifying the property values of the \uicontrol {Vector Direction} component
instances in \uicontrol Properties > \uicontrol {Particle Vector Direction}.
In \uicontrol Direction, we set \uicontrol Y to \e 100.00 to make particles
move \e up, and \uicontrol Z to \e -100.00 to make them move in the
direction opposite to the target vector. We set the \uicontrol Direction
value to \e -50.00 for one of the flame particles and to \e -80.00 for the
smoke particle.
\image studio-3d-particles-fire-properties-vector-direction.png "Vector Direction properties"
We set the \uicontrol {Direction Variation} values for the different
vector direction instances to \e 10.00, \e 8.00, and \e 12.00 to make some
flames spread wider than others. You can try different values until you
get the effect you want.
Add instances of other components according to your use case.
\section1 Performance Considerations
@@ -344,6 +206,13 @@
\li Wander
\li Applies random wave curves to particles.
\endtable
\section1 Particle System Tutorials
\list
\li \l{Particle System: Fire Effect}
\li \l{Particle System: Rain and Snow Effect}
\endlist
*/
/*!

View File

@@ -1101,7 +1101,7 @@ static CommandLine defaultInitialCMakeCommand(const Kit *k, const QString buildT
if (!isIos(k)) { // iOS handles this differently
const QString sysRoot = SysRootKitAspect::sysRoot(k).path();
if (!sysRoot.isEmpty()) {
cmd.addArg("-DCMAKE_SYSROOT:PATH" + sysRoot);
cmd.addArg("-DCMAKE_SYSROOT:PATH=" + sysRoot);
if (ToolChain *tc = ToolChainKitAspect::cxxToolChain(k)) {
const QString targetTriple = tc->originalTargetTriple();
cmd.addArg("-DCMAKE_C_COMPILER_TARGET:STRING=" + targetTriple);

View File

@@ -514,7 +514,7 @@ void CMakeBuildSystem::combineScanAndParse(bool restoredFromBackup)
if (restoredFromBackup)
project()->addIssue(
CMakeProject::IssueType::Error,
CMakeProject::IssueType::Warning,
tr("<b>CMake configuration failed<b>"
"<p>The backup of the previous configuration has been restored.</p>"
"<p>Issues and \"Projects > Build\" settings "
@@ -532,7 +532,7 @@ void CMakeBuildSystem::combineScanAndParse(bool restoredFromBackup)
updateFallbackProjectData();
project()->addIssue(
CMakeProject::IssueType::Error,
CMakeProject::IssueType::Warning,
tr("<b>Failed to load project<b>"
"<p>Issues and \"Projects > Build\" settings "
"show more information about the failure.</p"));

View File

@@ -349,7 +349,8 @@ CMakeConfig CMakeConfig::fromArguments(const QStringList &list, QStringList &unk
unknownOptions.append(i);
}
return result;
return Utils::filtered(result, [](const CMakeConfigItem &item) { return !item.key.isEmpty(); });
}
CMakeConfig CMakeConfig::fromFile(const Utils::FilePath &cacheFile, QString *errorMessage)

View File

@@ -274,7 +274,7 @@ void ProgressManagerPrivate::init()
summaryProgressLayout->setSpacing(0);
m_summaryProgressWidget->setLayout(summaryProgressLayout);
m_statusDetailsWidgetContainer = new QWidget(m_summaryProgressWidget);
m_statusDetailsWidgetLayout = new QHBoxLayout(m_summaryProgressWidget);
m_statusDetailsWidgetLayout = new QHBoxLayout(m_statusDetailsWidgetContainer);
m_statusDetailsWidgetLayout->setContentsMargins(0, 0, 0, 0);
m_statusDetailsWidgetLayout->setSpacing(0);
m_statusDetailsWidgetLayout->addStretch(1);

View File

@@ -26,6 +26,7 @@
#pragma once
#include <QList>
#include <QSet>
#include <QSharedPointer>
#include <QVersionNumber>
#include <QtGlobal>

View File

@@ -1244,7 +1244,7 @@ void BuildDeviceKitAspect::setup(Kit *k)
{
QTC_ASSERT(DeviceManager::instance()->isLoaded(), return );
IDevice::ConstPtr dev = BuildDeviceKitAspect::device(k);
if (!dev.isNull() && dev->isCompatibleWith(k))
if (!dev.isNull())
return;
dev = defaultDevice();

View File

@@ -103,13 +103,12 @@ static QAction *createAction(const Utils::Id &id,
const QString &name,
const QKeySequence &shortcut)
{
QString text = QString("%1 (%2)").arg(name).arg(shortcut.toString());
Core::Context context(TimelineConstants::C_QMLTIMELINE);
auto *action = new QAction(icon, text);
auto *action = new QAction(icon, name);
auto *command = Core::ActionManager::registerAction(action, id, context);
command->setDefaultKeySequence(shortcut);
command->augmentActionWithShortcutToolTip(action);
return action;
}

View File

@@ -37,10 +37,10 @@ const int transitionEditorPropertyItemUserType = QGraphicsItem::UserType + 7;
const char C_QMLTRANSITIONS[] = "QmlDesigner::Transitions";
const char C_SETTINGS[] = "QmlDesigner.SettingsTransitions";
const char C_CURVE_PICKER[] = "QmlDesigner.CurvePickerTransitions";
const char C_ZOOM_IN[] = "QmlDesigner.ZoomInTransition";
const char C_ZOOM_OUT[] = "QmlDesigner.ZoomOutTransitions";
const char C_SETTINGS[] = "QmlDesigner.Transitions.Settings";
const char C_CURVE_PICKER[] = "QmlDesigner.Transitions.CurvePicker";
const char C_ZOOM_IN[] = "QmlDesigner.Transitions.ZoomIn";
const char C_ZOOM_OUT[] = "QmlDesigner.Transitions.ZoomOut";
} // namespace TransitionEditorConstants
} // namespace QmlDesigner

View File

@@ -90,13 +90,13 @@ static QAction *createAction(const Utils::Id &id,
const QString &name,
const QKeySequence &shortcut)
{
QString text = QString("%1 (%2)").arg(name).arg(shortcut.toString());
Core::Context context(TransitionEditorConstants::C_QMLTRANSITIONS);
auto *action = new QAction(icon, text);
auto *action = new QAction(icon, name);
auto *command = Core::ActionManager::registerAction(action, id, context);
command->setDefaultKeySequence(shortcut);
command->augmentActionWithShortcutToolTip(action);
return action;
}

View File

@@ -319,6 +319,9 @@ TransitionEditorWidget *TransitionEditorView::createWidget()
if (!m_transitionEditorWidget)
m_transitionEditorWidget = new TransitionEditorWidget(this);
auto *transitionContext = new TransitionContext(m_transitionEditorWidget);
Core::ICore::addContextObject(transitionContext);
return m_transitionEditorWidget;
}

View File

@@ -68,6 +68,19 @@
namespace QmlDesigner {
TransitionContext::TransitionContext(QWidget *widget)
: IContext(widget)
{
setWidget(widget);
setContext(Core::Context(TransitionEditorConstants::C_QMLTRANSITIONS));
}
void TransitionContext::contextHelp(const Core::IContext::HelpCallback &callback) const
{
if (auto *widget = qobject_cast<TransitionEditorWidget *>(m_widget))
widget->contextHelp(callback);
}
class Eventfilter : public QObject
{
public:

View File

@@ -49,6 +49,15 @@ class TransitionEditorToolBar;
class TransitionEditorGraphicsScene;
class ModelNode;
class TransitionContext : public Core::IContext
{
Q_OBJECT
public:
explicit TransitionContext(QWidget *widget);
void contextHelp(const HelpCallback &callback) const override;
};
class TransitionEditorWidget : public QWidget
{
Q_OBJECT

View File

@@ -169,7 +169,7 @@ void QnxDeployQtLibrariesDialog::updateProgress(const QString &progressMessage)
{
QTC_CHECK(m_state == Uploading);
const int progress = progressMessage.count("sftp> put");
const int progress = progressMessage.count("sftp> put") + progressMessage.count("sftp> ln -s");
if (progress != 0) {
m_progressCount += progress;
m_ui->deployProgress->setValue(m_progressCount);

View File

@@ -156,7 +156,6 @@ void QnxQtVersion::addToEnvironment(const Kit *k, Environment &env) const
QtSupport::QtVersion::addToEnvironment(k, env);
updateEnvironment();
env.modify(m_qnxEnv);
env.prependOrSetLibrarySearchPath(libraryPath());
}
void QnxQtVersion::setupQmakeRunEnvironment(Environment &env) const