forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/4.2'
Conflicts: doc/src/qtquick/creator-tutorial-create-qq-project.qdocinc doc/src/qtquick/qtquick-creating.qdoc doc/src/qtquick/qtquick-uiforms-tutorial.qdoc share/qtcreator/welcomescreen/qtcreator_tutorials.xml src/plugins/git/gitgrep.cpp src/shared/qbs Change-Id: I6f4d168d888d9547c3af0819f79cc9ebb4186ca0
This commit is contained in:
6
dist/changes-4.2.2.md
vendored
6
dist/changes-4.2.2.md
vendored
@@ -17,5 +17,9 @@ Qbs Projects
|
|||||||
|
|
||||||
Version Control Systems
|
Version Control Systems
|
||||||
|
|
||||||
* Gerrit
|
* Git
|
||||||
* Fixed crash when committing and pushing to Gerrit (QTCREATORBUG-17634)
|
* Fixed crash when committing and pushing to Gerrit (QTCREATORBUG-17634)
|
||||||
|
* Fixed searching for patterns starting with dash in `Files in File System`
|
||||||
|
when using `git grep`
|
||||||
|
* Fixed discarding changes before performing other actions (such as Pull)
|
||||||
|
(QTCREATORBUG-17156)
|
||||||
|
|||||||
@@ -63,7 +63,7 @@
|
|||||||
\li Select \uicontrol {Debug > Start Debugging > Start Debugging} or press
|
\li Select \uicontrol {Debug > Start Debugging > Start Debugging} or press
|
||||||
\key{F5}.
|
\key{F5}.
|
||||||
|
|
||||||
\li Once the Same Game application starts, select \uicontrol {1 Player}
|
\li Once the Same Game application starts, select \uicontrol {Puzzle}
|
||||||
to start a new game.
|
to start a new game.
|
||||||
|
|
||||||
\image samegame.png
|
\image samegame.png
|
||||||
|
|||||||
@@ -168,7 +168,7 @@
|
|||||||
You can look up any issue in the
|
You can look up any issue in the
|
||||||
\l{https://bugreports.qt.io/}{Qt bug tracker}.
|
\l{https://bugreports.qt.io/}{Qt bug tracker}.
|
||||||
|
|
||||||
\include widgets/creator-faq-qtdesigner.qdocinc
|
\include widgets/creator-faq-qtdesigner.qdocinc qt designer faq
|
||||||
|
|
||||||
\section1 Help Questions
|
\section1 Help Questions
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [running on embedded linux]
|
||||||
|
|
||||||
\section1 Running on Embedded Linux Devices
|
\section1 Running on Embedded Linux Devices
|
||||||
|
|
||||||
To build and run the application for a device:
|
To build and run the application for a device:
|
||||||
@@ -25,3 +53,6 @@
|
|||||||
|
|
||||||
Debugging works transparently if GDB server is installed on the device and
|
Debugging works transparently if GDB server is installed on the device and
|
||||||
it is compatible with the GDB on the host.
|
it is compatible with the GDB on the host.
|
||||||
|
|
||||||
|
//! [running on embedded linux]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [run settings embedded]
|
||||||
|
|
||||||
\section2 Specifying Run Settings for Embedded Devices
|
\section2 Specifying Run Settings for Embedded Devices
|
||||||
|
|
||||||
To run and debug an application on an embedded device (commercial only), you
|
To run and debug an application on an embedded device (commercial only), you
|
||||||
@@ -17,3 +45,6 @@
|
|||||||
To execute custom commands, select \uicontrol {Add Deploy Step} >
|
To execute custom commands, select \uicontrol {Add Deploy Step} >
|
||||||
\uicontrol {Custom Remote Command (via adb shell)} and enter the command to
|
\uicontrol {Custom Remote Command (via adb shell)} and enter the command to
|
||||||
execute.
|
execute.
|
||||||
|
|
||||||
|
//! [run settings embedded]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [run settings linux]
|
||||||
|
|
||||||
\section2 Specifying Run Settings for Linux-Based Devices
|
\section2 Specifying Run Settings for Linux-Based Devices
|
||||||
|
|
||||||
To run and debug an application on a Linux-based device,
|
To run and debug an application on a Linux-based device,
|
||||||
@@ -19,3 +47,6 @@
|
|||||||
|
|
||||||
You can specify command line arguments to pass to your application in the
|
You can specify command line arguments to pass to your application in the
|
||||||
\uicontrol Arguments field.
|
\uicontrol Arguments field.
|
||||||
|
|
||||||
|
//! [run settings linux]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [generating ssh keys]
|
||||||
|
|
||||||
\section2 Generating SSH Keys
|
\section2 Generating SSH Keys
|
||||||
|
|
||||||
If you do not have an SSH public and private key pair, you can generate it
|
If you do not have an SSH public and private key pair, you can generate it
|
||||||
@@ -25,3 +53,6 @@
|
|||||||
keys at the specified locations.
|
keys at the specified locations.
|
||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
//! [generating ssh keys]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [managing device processes]
|
||||||
|
|
||||||
\section2 Managing Device Processes
|
\section2 Managing Device Processes
|
||||||
|
|
||||||
You can view processes running on devices and kill them. Select
|
You can view processes running on devices and kill them. Select
|
||||||
@@ -11,3 +39,6 @@
|
|||||||
|
|
||||||
To kill a process, select it in the list, and then select \uicontrol {Kill
|
To kill a process, select it in the list, and then select \uicontrol {Kill
|
||||||
Process}.
|
Process}.
|
||||||
|
|
||||||
|
//! [managing device processes]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -133,6 +133,6 @@
|
|||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\include linux-mobile/linuxdev-keys.qdocinc
|
\include linux-mobile/linuxdev-keys.qdocinc generating ssh keys
|
||||||
\include linux-mobile/linuxdev-processes.qdocinc
|
\include linux-mobile/linuxdev-processes.qdocinc managing device processes
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -123,5 +123,5 @@
|
|||||||
To build \QC from the source, see the requirements and instructions in the
|
To build \QC from the source, see the requirements and instructions in the
|
||||||
readme file that is located in the source repository.
|
readme file that is located in the source repository.
|
||||||
|
|
||||||
\include overview/creator-target-platforms.qdocinc
|
\include overview/creator-target-platforms.qdocinc target platforms
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [target platforms]
|
||||||
|
|
||||||
\section1 Target Platforms
|
\section1 Target Platforms
|
||||||
|
|
||||||
You can develop applications for the following platforms:
|
You can develop applications for the following platforms:
|
||||||
@@ -81,3 +109,5 @@
|
|||||||
|
|
||||||
\note BlackBerry 10 support has been removed from \QC 3.5. Use \QC 3.4 instead.
|
\note BlackBerry 10 support has been removed from \QC 3.5. Use \QC 3.4 instead.
|
||||||
|
|
||||||
|
//! [target platforms]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -176,8 +176,11 @@
|
|||||||
\li Qt Quick UI
|
\li Qt Quick UI
|
||||||
|
|
||||||
Use a single QML file that contains the main view. You can
|
Use a single QML file that contains the main view. You can
|
||||||
review Qt Quick UI projects in a \l{Previewing QML Files}
|
review \l{Creating Qt Quick UI Projects}{Qt Quick UI projects}
|
||||||
{preview tool} and you need not build them.
|
in a \l{Previewing QML Files}{preview tool} and you need not
|
||||||
|
build them. Qt Quick UI projects cannot be deployed to embedded
|
||||||
|
or mobile target platforms. For those platforms, create a
|
||||||
|
Qt Quick application instead.
|
||||||
|
|
||||||
\li Qt Custom Designer Widgets
|
\li Qt Custom Designer Widgets
|
||||||
|
|
||||||
|
|||||||
@@ -64,6 +64,6 @@
|
|||||||
For more information on the options you have, see
|
For more information on the options you have, see
|
||||||
\l{Specifying Run Settings}.
|
\l{Specifying Run Settings}.
|
||||||
|
|
||||||
\include linux-mobile/creator-projects-running-generic-linux.qdocinc
|
\include linux-mobile/creator-projects-running-generic-linux.qdocinc running on embedded linux
|
||||||
\include qnx/creator-projects-running-qnx.qdocinc
|
\include qnx/creator-projects-running-qnx.qdocinc running on qnx
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [settings valgrind]
|
||||||
|
|
||||||
\section2 Specifying Valgrind Settings
|
\section2 Specifying Valgrind Settings
|
||||||
|
|
||||||
\QC integrates \l{Analyzing Code}{Valgrind code analysis tools} for
|
\QC integrates \l{Analyzing Code}{Valgrind code analysis tools} for
|
||||||
@@ -34,3 +62,5 @@
|
|||||||
To specify global Valgrind settings, select \uicontrol {Tools > Options >
|
To specify global Valgrind settings, select \uicontrol {Tools > Options >
|
||||||
Analyzer}.
|
Analyzer}.
|
||||||
|
|
||||||
|
//! [settings valgrind]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [run settings debugger]
|
||||||
|
|
||||||
\section2 Specifying Debugger Settings
|
\section2 Specifying Debugger Settings
|
||||||
|
|
||||||
\image qtquick-debugging-settings.png "Debugger Settings"
|
\image qtquick-debugging-settings.png "Debugger Settings"
|
||||||
@@ -11,3 +39,6 @@
|
|||||||
port is properly protected by a firewall.
|
port is properly protected by a firewall.
|
||||||
|
|
||||||
For more information about debugging, see \l{Debugging}.
|
For more information about debugging, see \l{Debugging}.
|
||||||
|
|
||||||
|
//! [run settings debugger]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [run settings desktop]
|
||||||
|
|
||||||
\section2 Specifying Run Settings for Desktop Device Types
|
\section2 Specifying Run Settings for Desktop Device Types
|
||||||
|
|
||||||
You can specify command line arguments to be passed to the executable
|
You can specify command line arguments to be passed to the executable
|
||||||
@@ -26,3 +54,6 @@
|
|||||||
You can also create custom executable run configurations where you
|
You can also create custom executable run configurations where you
|
||||||
can set the executable to be run. For more information, see
|
can set the executable to be run. For more information, see
|
||||||
\l{Specifying a Custom Executable to Run}.
|
\l{Specifying a Custom Executable to Run}.
|
||||||
|
|
||||||
|
//! [run settings desktop]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -61,12 +61,12 @@
|
|||||||
\QC creates run configurations only for subprojects that also have
|
\QC creates run configurations only for subprojects that also have
|
||||||
\c {CONFIG += qtc_runnable} set in their .pro files.
|
\c {CONFIG += qtc_runnable} set in their .pro files.
|
||||||
|
|
||||||
\include projects/creator-projects-settings-run-desktop.qdocinc
|
\include projects/creator-projects-settings-run-desktop.qdocinc run settings desktop
|
||||||
\include projects/creator-projects-settings-run-analyze.qdocinc
|
\include projects/creator-projects-settings-run-analyze.qdocinc settings valgrind
|
||||||
\include projects/creator-projects-settings-run-debug.qdocinc
|
\include projects/creator-projects-settings-run-debug.qdocinc run settings debugger
|
||||||
\include linux-mobile/creator-projects-settings-run-linux.qdocinc
|
\include linux-mobile/creator-projects-settings-run-linux.qdocinc run settings linux
|
||||||
\include qnx/creator-projects-settings-run-qnx.qdocinc
|
\include qnx/creator-projects-settings-run-qnx.qdocinc run settings qnx
|
||||||
\include linux-mobile/creator-projects-settings-run-b2qt.qdocinc
|
\include linux-mobile/creator-projects-settings-run-b2qt.qdocinc run settings embedded
|
||||||
|
|
||||||
\section1 Selecting the Run Environment
|
\section1 Selecting the Run Environment
|
||||||
|
|
||||||
@@ -105,5 +105,5 @@
|
|||||||
|
|
||||||
\image qmldesigner-run-custom-exe.png "Run settings for custom executables"
|
\image qmldesigner-run-custom-exe.png "Run settings for custom executables"
|
||||||
|
|
||||||
\include qtquick/creator-projects-settings-run-qtquick.qdocinc
|
\include qtquick/creator-projects-settings-run-qtquick.qdocinc run settings qt quick ui
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [running on qnx]
|
||||||
|
|
||||||
\section1 Running on QNX Devices
|
\section1 Running on QNX Devices
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
@@ -28,3 +56,6 @@
|
|||||||
|
|
||||||
If these conditions are not met, you will get an error message saying debug
|
If these conditions are not met, you will get an error message saying debug
|
||||||
output cannot be shown.
|
output cannot be shown.
|
||||||
|
|
||||||
|
//! [running on qnx]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [run settings qnx]
|
||||||
|
|
||||||
\section2 Specifying Run Settings for QNX Devices
|
\section2 Specifying Run Settings for QNX Devices
|
||||||
|
|
||||||
To run and debug an application on a QNX device, you must
|
To run and debug an application on a QNX device, you must
|
||||||
@@ -7,3 +35,6 @@
|
|||||||
|
|
||||||
Specifying run settings for QNX Neutrino devices is very similar to
|
Specifying run settings for QNX Neutrino devices is very similar to
|
||||||
\l{Specifying Run Settings for Linux-Based Devices}.
|
\l{Specifying Run Settings for Linux-Based Devices}.
|
||||||
|
|
||||||
|
//! [run settings qnx]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
Program certificate that you receive from Apple. For more information, see
|
Program certificate that you receive from Apple. For more information, see
|
||||||
\l{Connecting iOS Devices}.
|
\l{Connecting iOS Devices}.
|
||||||
|
|
||||||
\include creator-tutorial-create-qq-project.qdocinc
|
\include creator-tutorial-create-qq-project.qdocinc qt quick application
|
||||||
|
|
||||||
\section1 Creating the Accelbubble Main View
|
\section1 Creating the Accelbubble Main View
|
||||||
|
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [run settings qt quick ui]
|
||||||
|
|
||||||
\section1 Specifying Run Settings for Qt Quick UI Projects
|
\section1 Specifying Run Settings for Qt Quick UI Projects
|
||||||
|
|
||||||
You can specify run settings for \l{glossary-buildandrun-kit}{kits}
|
You can specify run settings for \l{glossary-buildandrun-kit}{kits}
|
||||||
@@ -14,3 +42,6 @@
|
|||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\image qmldesigner-run-settings.png "Run settings for Qt Quick UI projects"
|
\image qmldesigner-run-settings.png "Run settings for Qt Quick UI projects"
|
||||||
|
|
||||||
|
//! [run settings qt quick ui]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [qt quick application]
|
||||||
|
|
||||||
\section1 Creating Qt Quick Controls 2 Applications
|
\section1 Creating Qt Quick Controls 2 Applications
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
@@ -38,3 +66,6 @@
|
|||||||
\QMLD \uicontrol {Form Editor} and two QML files, \e Page1.qml and
|
\QMLD \uicontrol {Form Editor} and two QML files, \e Page1.qml and
|
||||||
\e main.qml, that you can modify in the \uicontrol {Text Editor} to add the
|
\e main.qml, that you can modify in the \uicontrol {Text Editor} to add the
|
||||||
application logic.
|
application logic.
|
||||||
|
|
||||||
|
//! [qt quick application]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
For examples of using Qt Quick Controls 2, see
|
For examples of using Qt Quick Controls 2, see
|
||||||
\l{Qt Quick Controls 2 Examples}.
|
\l{Qt Quick Controls 2 Examples}.
|
||||||
|
|
||||||
\include creator-tutorial-create-qq-project.qdocinc
|
\include creator-tutorial-create-qq-project.qdocinc qt quick application
|
||||||
|
|
||||||
\section1 Creating the Main View
|
\section1 Creating the Main View
|
||||||
|
|
||||||
|
|||||||
@@ -60,10 +60,14 @@
|
|||||||
\l{http://threejs.org}{three.js}.
|
\l{http://threejs.org}{three.js}.
|
||||||
|
|
||||||
\li \uicontrol {Qt Quick 2 UI} (in the \uicontrol {Other Project}
|
\li \uicontrol {Qt Quick 2 UI} (in the \uicontrol {Other Project}
|
||||||
category) creates a Qt Quick UI project with a single QML file that
|
category) creates a \l{Creating Qt Quick UI Projects}
|
||||||
|
{Qt Quick UI project} with a single QML file that
|
||||||
contains the main view. You can review Qt Quick 2 UI projects in the
|
contains the main view. You can review Qt Quick 2 UI projects in the
|
||||||
\l{Previewing QML Files}{QML Scene preview tool}. You do not need to
|
\l{Previewing QML Files}{QML Scene preview tool}. You do not need to
|
||||||
build them, because they do not contain any C++ code.
|
build them, because they do not contain any C++ code.
|
||||||
|
Qt Quick UI projects cannot be deployed to embedded or mobile
|
||||||
|
target platforms. For those platforms, create a Qt Quick application
|
||||||
|
instead.
|
||||||
|
|
||||||
\li \uicontrol {Qt Quick 2 Extension Plugin} (in the \uicontrol Library category)
|
\li \uicontrol {Qt Quick 2 Extension Plugin} (in the \uicontrol Library category)
|
||||||
create C++ plugins that make it possible to offer extensions that
|
create C++ plugins that make it possible to offer extensions that
|
||||||
@@ -121,6 +125,18 @@
|
|||||||
|
|
||||||
\section1 Creating Qt Quick UI Projects
|
\section1 Creating Qt Quick UI Projects
|
||||||
|
|
||||||
|
Qt Quick UI projects are useful for testing or prototyping user interfaces,
|
||||||
|
or for setting up a separate project just for QML editing, for example. You
|
||||||
|
cannot use them for application development, because they do not contain:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li C++ code
|
||||||
|
\li Resource files (.qrc)
|
||||||
|
\li Code needed for deploying applications to mobile or embedded devices
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
To create a Qt Quick UI project:
|
||||||
|
|
||||||
\list 1
|
\list 1
|
||||||
|
|
||||||
\li Select \uicontrol File > \uicontrol {New File or Project} >
|
\li Select \uicontrol File > \uicontrol {New File or Project} >
|
||||||
|
|||||||
@@ -279,10 +279,17 @@
|
|||||||
|
|
||||||
\image qmldesigner-text-property-tr.png "Text properties"
|
\image qmldesigner-text-property-tr.png "Text properties"
|
||||||
|
|
||||||
The text string is enclosed in a \c qsTr call.
|
By default, the text string is enclosed in a \c qsTr() call.
|
||||||
|
|
||||||
\image qml-translate.png "Text marked for translation"
|
\image qml-translate.png "Text marked for translation"
|
||||||
|
|
||||||
|
If you use text IDs instead of plain text, change the default call to
|
||||||
|
\c qsTrId(). Select \uicontrol Tools > \uicontrol Options >
|
||||||
|
\uicontrol {Qt Quick} > \uicontrol {Qt Quick Designer}, and then select the
|
||||||
|
\uicontrol {qsTrId()} radio button in the \uicontrol Internationalization
|
||||||
|
group. For more information about text ID based translations, see
|
||||||
|
\l {Qt Linguist Manual: Text ID Based Translations}.
|
||||||
|
|
||||||
\section2 Loading Placeholder Data
|
\section2 Loading Placeholder Data
|
||||||
|
|
||||||
\QMLD supports views, models, and delegates, so that when you add a Grid
|
\QMLD supports views, models, and delegates, so that when you add a Grid
|
||||||
|
|||||||
@@ -1,3 +1,31 @@
|
|||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2017 The Qt Company Ltd.
|
||||||
|
** Contact: https://www.qt.io/licensing/
|
||||||
|
**
|
||||||
|
** This file is part of the Qt Creator 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.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
//! [qt designer faq]
|
||||||
|
|
||||||
\section1 Qt Designer Integration Questions
|
\section1 Qt Designer Integration Questions
|
||||||
|
|
||||||
\b {Why are custom widgets not loaded in Design mode even though it
|
\b {Why are custom widgets not loaded in Design mode even though it
|
||||||
@@ -8,3 +36,6 @@
|
|||||||
integrated Qt Designer.
|
integrated Qt Designer.
|
||||||
|
|
||||||
For more information, see \l{Adding Qt Designer Plugins}.
|
For more information, see \l{Adding Qt Designer Plugins}.
|
||||||
|
|
||||||
|
//! [qt designer faq]
|
||||||
|
*/
|
||||||
|
|||||||
@@ -2830,6 +2830,8 @@ class DumperBase:
|
|||||||
def integer(self):
|
def integer(self):
|
||||||
if self.type.code == TypeCodeTypedef:
|
if self.type.code == TypeCodeTypedef:
|
||||||
return self.detypedef().integer()
|
return self.detypedef().integer()
|
||||||
|
elif self.type.code == TypeCodeBitfield:
|
||||||
|
return self.lvalue
|
||||||
unsigned = self.type.name.startswith('unsigned')
|
unsigned = self.type.name.startswith('unsigned')
|
||||||
bitsize = self.type.bitsize()
|
bitsize = self.type.bitsize()
|
||||||
return self.extractInteger(bitsize, unsigned)
|
return self.extractInteger(bitsize, unsigned)
|
||||||
|
|||||||
@@ -380,10 +380,30 @@ class Dumper(DumperBase):
|
|||||||
|
|
||||||
def nativeTypeEnumDisplay(self, nativeType, intval):
|
def nativeTypeEnumDisplay(self, nativeType, intval):
|
||||||
try:
|
try:
|
||||||
val = gdb.parse_and_eval('(%s)%d' % (nativeType, intval))
|
enumerators = []
|
||||||
return '%s (%d)' % (val, intval)
|
for field in nativeType.fields():
|
||||||
|
# If we found an exact match, return it immediately
|
||||||
|
if field.enumval == intval:
|
||||||
|
return '%s (%d)' % (field.name, intval)
|
||||||
|
enumerators.append((field.name, field.enumval))
|
||||||
|
|
||||||
|
# No match was found, try to return as flags
|
||||||
|
enumerators.sort(key = lambda x: x[1])
|
||||||
|
flags = []
|
||||||
|
v = intval
|
||||||
|
found = False
|
||||||
|
for (name, value) in enumerators:
|
||||||
|
if v & value != 0:
|
||||||
|
flags.append(name)
|
||||||
|
v = v & ~value
|
||||||
|
found = True
|
||||||
|
if not found or v != 0:
|
||||||
|
# Leftover value
|
||||||
|
flags.append('unknown:%d' % v)
|
||||||
|
return "(%s) (%d)" % (" | ".join(flags), intval)
|
||||||
except:
|
except:
|
||||||
return '%d' % intval
|
pass
|
||||||
|
return '%d' % intval
|
||||||
|
|
||||||
def nativeTypeId(self, nativeType):
|
def nativeTypeId(self, nativeType):
|
||||||
name = str(nativeType)
|
name = str(nativeType)
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 30 KiB |
@@ -455,6 +455,7 @@ void StyleHelper::drawIconWithShadow(const QIcon &icon, const QRect &rect,
|
|||||||
|
|
||||||
// Draw the actual pixmap...
|
// Draw the actual pixmap...
|
||||||
cachePainter.drawPixmap(QRect(QPoint(radius, radius) + offset, QSize(px.width(), px.height())), px);
|
cachePainter.drawPixmap(QRect(QPoint(radius, radius) + offset, QSize(px.width(), px.height())), px);
|
||||||
|
cachePainter.end();
|
||||||
cache.setDevicePixelRatio(devicePixelRatio);
|
cache.setDevicePixelRatio(devicePixelRatio);
|
||||||
QPixmapCache::insert(pixmapName, cache);
|
QPixmapCache::insert(pixmapName, cache);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -128,6 +128,21 @@ static const QString pidScript = QStringLiteral("for p in /proc/[0-9]*; "
|
|||||||
"do cat <$p/cmdline && echo :${p##*/}; done");
|
"do cat <$p/cmdline && echo :${p##*/}; done");
|
||||||
static const QString pidPollingScript = QStringLiteral("while true; do sleep 1; "
|
static const QString pidPollingScript = QStringLiteral("while true; do sleep 1; "
|
||||||
"cat /proc/%1/cmdline > /dev/null; done");
|
"cat /proc/%1/cmdline > /dev/null; done");
|
||||||
|
|
||||||
|
static const QString regExpLogcat = QStringLiteral("[0-9\\-]*" // date
|
||||||
|
"\\s+"
|
||||||
|
"[0-9\\-:.]*"// time
|
||||||
|
"\\s*"
|
||||||
|
"(\\d*)" // pid 1. capture
|
||||||
|
"\\s+"
|
||||||
|
"\\d*" // unknown
|
||||||
|
"\\s+"
|
||||||
|
"(\\w)" // message type 2. capture
|
||||||
|
"\\s+"
|
||||||
|
"(.*): " // source 3. capture
|
||||||
|
"(.*)" // message 4. capture
|
||||||
|
"[\\n\\r]*"
|
||||||
|
);
|
||||||
static int APP_START_TIMEOUT = 45000;
|
static int APP_START_TIMEOUT = 45000;
|
||||||
|
|
||||||
static bool isTimedOut(const chrono::high_resolution_clock::time_point &start,
|
static bool isTimedOut(const chrono::high_resolution_clock::time_point &start,
|
||||||
@@ -199,8 +214,6 @@ public:
|
|||||||
const QString &packageName, const QStringList &selector);
|
const QString &packageName, const QStringList &selector);
|
||||||
~AndroidRunnerWorker();
|
~AndroidRunnerWorker();
|
||||||
|
|
||||||
void init();
|
|
||||||
|
|
||||||
void asyncStart(const QString &intentName, const QVector<QStringList> &adbCommands);
|
void asyncStart(const QString &intentName, const QVector<QStringList> &adbCommands);
|
||||||
void asyncStop(const QVector<QStringList> &adbCommands);
|
void asyncStop(const QVector<QStringList> &adbCommands);
|
||||||
|
|
||||||
@@ -246,7 +259,6 @@ private:
|
|||||||
QString m_gdbserverPath;
|
QString m_gdbserverPath;
|
||||||
QString m_gdbserverSocket;
|
QString m_gdbserverSocket;
|
||||||
QString m_adb;
|
QString m_adb;
|
||||||
bool m_isBusyBox = false;
|
|
||||||
QStringList m_selector;
|
QStringList m_selector;
|
||||||
QRegExp m_logCatRegExp;
|
QRegExp m_logCatRegExp;
|
||||||
DebugHandShakeType m_handShakeMethod = SocketHandShake;
|
DebugHandShakeType m_handShakeMethod = SocketHandShake;
|
||||||
@@ -261,6 +273,7 @@ AndroidRunnerWorker::AndroidRunnerWorker(AndroidRunConfiguration *runConfig, Cor
|
|||||||
: m_adbLogcatProcess(nullptr, deleter)
|
: m_adbLogcatProcess(nullptr, deleter)
|
||||||
, m_psIsAlive(nullptr, deleter)
|
, m_psIsAlive(nullptr, deleter)
|
||||||
, m_selector(selector)
|
, m_selector(selector)
|
||||||
|
, m_logCatRegExp(regExpLogcat)
|
||||||
, m_packageName(packageName)
|
, m_packageName(packageName)
|
||||||
{
|
{
|
||||||
Debugger::DebuggerRunConfigurationAspect *aspect
|
Debugger::DebuggerRunConfigurationAspect *aspect
|
||||||
@@ -328,41 +341,6 @@ AndroidRunnerWorker::~AndroidRunnerWorker()
|
|||||||
m_pidFinder.cancel();
|
m_pidFinder.cancel();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This is run from the worker thread.
|
|
||||||
void AndroidRunnerWorker::init()
|
|
||||||
{
|
|
||||||
QTC_ASSERT(!m_adbLogcatProcess, /**/);
|
|
||||||
m_adbLogcatProcess.reset(new QProcess);
|
|
||||||
|
|
||||||
// Detect busybox, as we need to pass -w to ps to get wide output.
|
|
||||||
Utils::SynchronousProcess psProc;
|
|
||||||
psProc.setTimeoutS(5);
|
|
||||||
Utils::SynchronousProcessResponse response = psProc.runBlocking(
|
|
||||||
m_adb, selector() << "shell" << "readlink" << "$(which ps)");
|
|
||||||
const QString which = response.allOutput();
|
|
||||||
m_isBusyBox = which.startsWith("busybox");
|
|
||||||
|
|
||||||
connect(m_adbLogcatProcess.get(), &QProcess::readyReadStandardOutput,
|
|
||||||
this, &AndroidRunnerWorker::logcatReadStandardOutput);
|
|
||||||
connect(m_adbLogcatProcess.get(), &QProcess::readyReadStandardError,
|
|
||||||
this, &AndroidRunnerWorker::logcatReadStandardError);
|
|
||||||
|
|
||||||
m_logCatRegExp = QRegExp(QLatin1String("[0-9\\-]*" // date
|
|
||||||
"\\s+"
|
|
||||||
"[0-9\\-:.]*"// time
|
|
||||||
"\\s*"
|
|
||||||
"(\\d*)" // pid 1. capture
|
|
||||||
"\\s+"
|
|
||||||
"\\d*" // unknown
|
|
||||||
"\\s+"
|
|
||||||
"(\\w)" // message type 2. capture
|
|
||||||
"\\s+"
|
|
||||||
"(.*): " // source 3. capture
|
|
||||||
"(.*)" // message 4. capture
|
|
||||||
"[\\n\\r]*"
|
|
||||||
));
|
|
||||||
}
|
|
||||||
|
|
||||||
void AndroidRunnerWorker::forceStop()
|
void AndroidRunnerWorker::forceStop()
|
||||||
{
|
{
|
||||||
runAdb(selector() << "shell" << "am" << "force-stop" << m_packageName, nullptr, 30);
|
runAdb(selector() << "shell" << "am" << "force-stop" << m_packageName, nullptr, 30);
|
||||||
@@ -383,8 +361,14 @@ void AndroidRunnerWorker::asyncStart(const QString &intentName,
|
|||||||
{
|
{
|
||||||
forceStop();
|
forceStop();
|
||||||
|
|
||||||
// Its assumed that the device or avd serial returned by selector() is online.
|
// Start the logcat process before app starts.
|
||||||
m_adbLogcatProcess->start(m_adb, selector() << "logcat");
|
std::unique_ptr<QProcess, decltype(&deleter)> logcatProcess(new QProcess, deleter);
|
||||||
|
connect(logcatProcess.get(), &QProcess::readyReadStandardOutput,
|
||||||
|
this, &AndroidRunnerWorker::logcatReadStandardOutput);
|
||||||
|
connect(logcatProcess.get(), &QProcess::readyReadStandardError,
|
||||||
|
this, &AndroidRunnerWorker::logcatReadStandardError);
|
||||||
|
// Its assumed that the device or avd returned by selector() is online.
|
||||||
|
logcatProcess->start(m_adb, selector() << "logcat");
|
||||||
|
|
||||||
QString errorMessage;
|
QString errorMessage;
|
||||||
|
|
||||||
@@ -481,9 +465,6 @@ void AndroidRunnerWorker::asyncStart(const QString &intentName,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!wasSuccess)
|
|
||||||
emit remoteProcessFinished(tr("Failed to contact debugging port."));
|
|
||||||
|
|
||||||
if (!m_customPort) {
|
if (!m_customPort) {
|
||||||
// increment running port to avoid clash when using multiple
|
// increment running port to avoid clash when using multiple
|
||||||
// debug sessions at the same time
|
// debug sessions at the same time
|
||||||
@@ -492,6 +473,11 @@ void AndroidRunnerWorker::asyncStart(const QString &intentName,
|
|||||||
if (m_socketHandShakePort == MAX_SOCKET_HANDSHAKE_PORT)
|
if (m_socketHandShakePort == MAX_SOCKET_HANDSHAKE_PORT)
|
||||||
m_socketHandShakePort = MIN_SOCKET_HANDSHAKE_PORT;
|
m_socketHandShakePort = MIN_SOCKET_HANDSHAKE_PORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!wasSuccess) {
|
||||||
|
emit remoteProcessFinished(tr("Failed to contact debugging port."));
|
||||||
|
return;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Handling ping.
|
// Handling ping.
|
||||||
for (int i = 0; ; ++i) {
|
for (int i = 0; ; ++i) {
|
||||||
@@ -517,6 +503,9 @@ void AndroidRunnerWorker::asyncStart(const QString &intentName,
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QTC_ASSERT(!m_adbLogcatProcess, /**/);
|
||||||
|
m_adbLogcatProcess = std::move(logcatProcess);
|
||||||
m_pidFinder = Utils::onResultReady(Utils::runAsync(&findProcessPID, m_adb, selector(),
|
m_pidFinder = Utils::onResultReady(Utils::runAsync(&findProcessPID, m_adb, selector(),
|
||||||
m_packageName),
|
m_packageName),
|
||||||
bind(&AndroidRunnerWorker::onProcessIdChanged, this, _1));
|
bind(&AndroidRunnerWorker::onProcessIdChanged, this, _1));
|
||||||
@@ -578,16 +567,11 @@ void AndroidRunnerWorker::asyncStop(const QVector<QStringList> &adbCommands)
|
|||||||
if (!m_pidFinder.isFinished())
|
if (!m_pidFinder.isFinished())
|
||||||
m_pidFinder.cancel();
|
m_pidFinder.cancel();
|
||||||
|
|
||||||
m_adbLogcatProcess.reset();
|
|
||||||
m_psIsAlive.reset();
|
|
||||||
|
|
||||||
if (m_processPID != -1) {
|
if (m_processPID != -1) {
|
||||||
forceStop();
|
forceStop();
|
||||||
}
|
}
|
||||||
foreach (const QStringList &entry, adbCommands)
|
foreach (const QStringList &entry, adbCommands)
|
||||||
runAdb(selector() << entry);
|
runAdb(selector() << entry);
|
||||||
|
|
||||||
emit remoteProcessFinished(QLatin1String("\n\n") + tr("\"%1\" terminated.").arg(m_packageName));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AndroidRunnerWorker::setAdbParameters(const QString &packageName, const QStringList &selector)
|
void AndroidRunnerWorker::setAdbParameters(const QString &packageName, const QStringList &selector)
|
||||||
@@ -645,9 +629,11 @@ void AndroidRunnerWorker::onProcessIdChanged(qint64 pid)
|
|||||||
QTC_ASSERT(QThread::currentThread() == thread(), return);
|
QTC_ASSERT(QThread::currentThread() == thread(), return);
|
||||||
m_processPID = pid;
|
m_processPID = pid;
|
||||||
if (m_processPID == -1) {
|
if (m_processPID == -1) {
|
||||||
emit remoteProcessFinished(QLatin1String("\n\n") + tr("\"%1\" died.")
|
emit remoteProcessFinished(QLatin1String("\n\n") + tr("\"%1\" died.")
|
||||||
.arg(m_packageName));
|
.arg(m_packageName));
|
||||||
m_psIsAlive.reset();
|
// App died/killed. Reset log and monitor processes.
|
||||||
|
m_adbLogcatProcess.reset();
|
||||||
|
m_psIsAlive.reset();
|
||||||
} else {
|
} else {
|
||||||
if (m_useCppDebugger) {
|
if (m_useCppDebugger) {
|
||||||
// This will be funneled to the engine to actually start and attach
|
// This will be funneled to the engine to actually start and attach
|
||||||
@@ -720,8 +706,6 @@ AndroidRunner::AndroidRunner(QObject *parent, AndroidRunConfiguration *runConfig
|
|||||||
AndroidDeviceInfo::adbSelector(m_androidRunnable.deviceSerialNumber)));
|
AndroidDeviceInfo::adbSelector(m_androidRunnable.deviceSerialNumber)));
|
||||||
m_worker->moveToThread(&m_thread);
|
m_worker->moveToThread(&m_thread);
|
||||||
|
|
||||||
connect(&m_thread, &QThread::started, m_worker.data(), &AndroidRunnerWorker::init);
|
|
||||||
|
|
||||||
connect(this, &AndroidRunner::asyncStart, m_worker.data(), &AndroidRunnerWorker::asyncStart);
|
connect(this, &AndroidRunner::asyncStart, m_worker.data(), &AndroidRunnerWorker::asyncStart);
|
||||||
connect(this, &AndroidRunner::asyncStop, m_worker.data(), &AndroidRunnerWorker::asyncStop);
|
connect(this, &AndroidRunner::asyncStop, m_worker.data(), &AndroidRunnerWorker::asyncStop);
|
||||||
connect(this, &AndroidRunner::adbParametersChanged,
|
connect(this, &AndroidRunner::adbParametersChanged,
|
||||||
|
|||||||
@@ -325,6 +325,7 @@ void FancyToolButton::hoverOverlay(QPainter *painter, const QRect &spanRect)
|
|||||||
p.setPen(QPen(grad, 1.0));
|
p.setPen(QPen(grad, 1.0));
|
||||||
p.drawLine(borderRect.topLeft(), borderRect.topRight());
|
p.drawLine(borderRect.topLeft(), borderRect.topRight());
|
||||||
p.drawLine(borderRect.bottomLeft(), borderRect.bottomRight());
|
p.drawLine(borderRect.bottomLeft(), borderRect.bottomRight());
|
||||||
|
p.end();
|
||||||
|
|
||||||
QPixmapCache::insert(cacheKey, overlay);
|
QPixmapCache::insert(cacheKey, overlay);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -273,6 +273,7 @@ static void paintSelectedTabBackground(QPainter *painter, const QRect &spanRect)
|
|||||||
p.drawLine(borderRect.topLeft() + QPointF(0, 0), borderRect.topRight());
|
p.drawLine(borderRect.topLeft() + QPointF(0, 0), borderRect.topRight());
|
||||||
p.drawLine(borderRect.topRight() + QPointF(0, 1), borderRect.bottomRight() - QPointF(0, 1));
|
p.drawLine(borderRect.topRight() + QPointF(0, 1), borderRect.bottomRight() - QPointF(0, 1));
|
||||||
p.drawLine(borderRect.bottomLeft() + QPointF(0, -1), borderRect.bottomRight() - QPointF(0, 1));
|
p.drawLine(borderRect.bottomLeft() + QPointF(0, -1), borderRect.bottomRight() - QPointF(0, 1));
|
||||||
|
p.end();
|
||||||
|
|
||||||
QPixmapCache::insert(cacheKey, selection);
|
QPixmapCache::insert(cacheKey, selection);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -153,7 +153,7 @@ public:
|
|||||||
arguments << "-P";
|
arguments << "-P";
|
||||||
else
|
else
|
||||||
arguments << "-F";
|
arguments << "-F";
|
||||||
arguments << m_parameters.text;
|
arguments << "-e" << m_parameters.text;
|
||||||
GitGrepParameters params = m_parameters.searchEngineParameters.value<GitGrepParameters>();
|
GitGrepParameters params = m_parameters.searchEngineParameters.value<GitGrepParameters>();
|
||||||
if (!params.ref.isEmpty()) {
|
if (!params.ref.isEmpty()) {
|
||||||
arguments << params.ref;
|
arguments << params.ref;
|
||||||
|
|||||||
@@ -72,8 +72,8 @@ private:
|
|||||||
void fromMap(const QVariantMap &map) override;
|
void fromMap(const QVariantMap &map) override;
|
||||||
void toMap(QVariantMap &map) const override;
|
void toMap(QVariantMap &map) const override;
|
||||||
|
|
||||||
bool m_useTerminal;
|
bool m_useTerminal = false;
|
||||||
bool m_userSet;
|
bool m_userSet = false;
|
||||||
QPointer<QCheckBox> m_checkBox; // Owned by RunConfigWidget
|
QPointer<QCheckBox> m_checkBox; // Owned by RunConfigWidget
|
||||||
QString m_key;
|
QString m_key;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -19,7 +19,7 @@
|
|||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/androidapp.png" difficulty="" docUrl="qthelp://org.qt-project.qtcreator/doc/qtcreator-accelbubble-example.html" projectPath="" name="Creating a Mobile Application">
|
<tutorial imageUrl=":qtsupport/images/icons/androidapp.png" difficulty="" docUrl="qthelp://org.qt-project.qtcreator/doc/qtcreator-accelbubble-example.html" projectPath="" name="Creating a Mobile Application">
|
||||||
<description><![CDATA[Developing Qt Quick applications for Android and iOS devices using Qt Quick Controls.]]></description>
|
<description><![CDATA[Developing Qt Quick applications for Android and iOS devices using Qt Quick Controls.]]></description>
|
||||||
<tags>qt creator,qt quick designer,qml,android</tags>
|
<tags>qt creator,qt quick designer,qml,android,ios,controls</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/tutorialicon.png" difficulty="" docUrl="qthelp://org.qt-project.qtdoc/qtdoc/gettingstartedqml.html" projectPath="" name="Getting Started Programming with Qt Quick">
|
<tutorial imageUrl=":qtsupport/images/icons/tutorialicon.png" difficulty="" docUrl="qthelp://org.qt-project.qtdoc/qtdoc/gettingstartedqml.html" projectPath="" name="Getting Started Programming with Qt Quick">
|
||||||
<description><![CDATA[Developing Qt Quick applications using QML and C++.]]></description>
|
<description><![CDATA[Developing Qt Quick applications using QML and C++.]]></description>
|
||||||
@@ -49,76 +49,76 @@
|
|||||||
<description><![CDATA[Using the Linux perf tool to generate data for code analysis.]]></description>
|
<description><![CDATA[Using the Linux perf tool to generate data for code analysis.]]></description>
|
||||||
<tags>qt creator,cpu usage analyzer,perf</tags>
|
<tags>qt creator,cpu usage analyzer,perf</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/ddays13.png" difficulty="" projectPath="" name="Targeting Multiple Mobile Platforms with Qt Creator" isVideo="true" videoUrl="http://www.youtube.com/watch?v=jDRup5z2qz0" videoLength="52:38">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Qt SCXML: State Machines Made Easier" isVideo="true" videoUrl="https://youtu.be/X0kEkB0ewyw" videoLength="42:22">
|
||||||
<description><![CDATA[Using Qt Creator to develop a cross-platform application for mobile devices and other small devices.]]></description>
|
<description><![CDATA[Using the Qt SCXML module and Qt Creator SCXML editor.]]></description>
|
||||||
<tags>qt creator,qt quick,qml,c++,android,sailfishos</tags>
|
<tags>qt creator,SCXML</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Effective Multi-Platform Development with Qt Creator, Qbs, and QEMU" isVideo="true" videoUrl="https://www.youtube.com/watch?v=v4glCQt2jE0" videoLength="19:08">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Effective Multi-Platform Development with Qt Creator, Qbs, and QEMU" isVideo="true" videoUrl="https://www.youtube.com/watch?v=v4glCQt2jE0" videoLength="19:08">
|
||||||
<description><![CDATA[Using Qt Creator, Qbs, and QEMU for application development.]]></description>
|
<description><![CDATA[Using Qt Creator, Qbs, and QEMU for application development.]]></description>
|
||||||
<tags>qt creator,qbs,qemu</tags>
|
<tags>qt creator,qbs,qemu</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Getting Started with Qt on Android" isVideo="true" videoUrl="https://www.youtube.com/watch?v=FWGUA9RS_ak" videoLength="41:30">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="All about Qt on Android" isVideo="true" videoUrl="https://youtu.be/dmKNxyi_YNk" videoLength="31:20">
|
||||||
<description><![CDATA[Using Qt Creator to develop a Qt Quick application for Android devices.]]></description>
|
<description><![CDATA[Developing Qt applications for Android devices.]]></description>
|
||||||
<tags>qt creator,android</tags>
|
<tags>qt creator,android</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Mastering Qt on Android" isVideo="true" videoUrl="https://www.youtube.com/watch?v=xqtoUCjG6GM" videoLength="43:54">
|
<tutorial imageUrl=":qtsupport/images/icons/videotutorialicon.png" difficulty="" projectPath="" name="Meet Qt Creator" isVideo="true" videoUrl="https://youtu.be/zAqSiIGdj8M" videoLength="2:06">
|
||||||
<description><![CDATA[Using the Qt Android Extras module.]]></description>
|
<description><![CDATA[Overview of Qt Creator.]]></description>
|
||||||
<tags>qt,android</tags>
|
<tags>qt creator</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt on iOS A to Z" isVideo="true" videoUrl="https://www.youtube.com/watch?v=8A7DPUwIcDg" videoLength="1:05:32">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Qt on iOS A to Z" isVideo="true" videoUrl="https://youtu.be/T_13aX5NTPk" videoLength="1:00:13">
|
||||||
<description><![CDATA[Using Qt Creator to develop an application for iOS.]]></description>
|
<description><![CDATA[Developing Qt applications for iOS.]]></description>
|
||||||
<tags>qt creator,ios</tags>
|
<tags>qt creator,ios</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/ddays13.png" difficulty="" projectPath="" name="Qt Creator for Bare Metal Development" isVideo="true" videoUrl="http://www.youtube.com/watch?v=hrKz63Q_Rf0" videoLength="9:35">
|
<tutorial imageUrl=":qtsupport/images/icons/ddays13.png" difficulty="" projectPath="" name="Qt Creator for Bare Metal Development" isVideo="true" videoUrl="http://www.youtube.com/watch?v=hrKz63Q_Rf0" videoLength="9:35">
|
||||||
<description><![CDATA[Using Qt Creator to develop for Bare Metal devices.]]></description>
|
<description><![CDATA[Developing Qt Applications for Bare Metal devices.]]></description>
|
||||||
<tags>qt creator,baremetal</tags>
|
<tags>qt creator,baremetal</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt and Windows 10" isVideo="true" videoUrl="https://www.youtube.com/watch?v=J9QrPvr-Sg0" videoLength="21:19">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Integrating Universal Windows Platform to Qt" isVideo="true" videoUrl="https://youtu.be/tpNdw2Cs4KY" videoLength="47:38">
|
||||||
<description><![CDATA[Qt support for Windows 10 on desktop, mobile, and embedded devices.]]></description>
|
<description><![CDATA[Qt support for Universal Windows Platform on desktop, mobile, and embedded devices.]]></description>
|
||||||
<tags>qt,Windows 10</tags>
|
<tags>windows</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Developing for Windows 10 with Qt" isVideo="true" videoUrl="https://www.youtube.com/watch?v=o5Xdt-j3hkA" videoLength="38:53">
|
<tutorial imageUrl=":qtsupport/images/icons/videotutorialicon.png" difficulty="" projectPath="" name="Qt SCXML and State Machine Tooling in Qt Creator" isVideo="true" videoUrl="https://youtu.be/9xqhq9nDiOg" videoLength="4:53">
|
||||||
<description><![CDATA[Using Qt Creator to develop applications for Windows 10.]]></description>
|
<description><![CDATA[Creating state machines.]]></description>
|
||||||
<tags>qt creator,Windows 10,demo</tags>
|
<tags>qt creator,SCXML</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt for Device Creation" isVideo="true" videoUrl="https://www.youtube.com/watch?v=nRf1e-AYk0o" videoLength="57:45">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt for Device Creation" isVideo="true" videoUrl="https://www.youtube.com/watch?v=nRf1e-AYk0o" videoLength="57:45">
|
||||||
<description><![CDATA[Creating your own embedded devices that run Qt applications.]]></description>
|
<description><![CDATA[Creating your own embedded devices that run Qt applications.]]></description>
|
||||||
<tags>qt, embedded, device creation</tags>
|
<tags>qt,embedded,device creation</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt Quick Controls Re-Engineered" isVideo="true" videoUrl="https://www.youtube.com/watch?v=FqjabvHSiZk" videoLength="45:34">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Developing UIs with Qt Quick Controls 2" isVideo="true" videoUrl="https://youtu.be/ozpSl7WbVt4" videoLength="23:13">
|
||||||
<description><![CDATA[Overview of changes planned to Qt Quick Controls.]]></description>
|
<description><![CDATA[Using Qt Quick Controls 2 to create UIs.]]></description>
|
||||||
<tags>qt quick,controls</tags>
|
<tags>qt quick designer,controls</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/ddays13.png" difficulty="" projectPath="" name="Adaptable UIs with Qt Quick" isVideo="true" videoUrl="http://www.youtube.com/watch?v=7zlvbHow9Gw" videoLength="46:16">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Overview of GUI technologies in Qt" isVideo="true" videoUrl="https://youtu.be/WIRRoPxIerc" videoLength="40:45">
|
||||||
<description><![CDATA[Implementing adaptable Qt Quick UIs using layouts, bindings, file selectors, and loaders.]]></description>
|
<description><![CDATA[Overview of UI technologies that can be used with Qt.]]></description>
|
||||||
<tags>qt quick,layouts,bindings</tags>
|
<tags>qt quick,ui,widgets</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt 3D CAD Demo" isVideo="true" videoUrl="https://www.youtube.com/watch?v=pDgo3EQxtaE" videoLength="10:10">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Qt on Your Wrist – Qt on Android Wear" isVideo="true" videoUrl="https://youtu.be/Rd187QxihRo" videoLength="8:08">
|
||||||
<description><![CDATA[Creating a CAD application using Qt 3D.]]></description>
|
<description><![CDATA[Running Qt apps on Android Wear devices.]]></description>
|
||||||
<tags>qt 3d,demo</tags>
|
<tags>qt creator,android</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Effective QML" isVideo="true" videoUrl="https://www.youtube.com/watch?v=vzs5VPTf4QQ" videoLength="55:25">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Effective QML" isVideo="true" videoUrl="https://www.youtube.com/watch?v=vzs5VPTf4QQ" videoLength="55:25">
|
||||||
<description><![CDATA[Improving your QML code by using tools and by understanding the QML system.]]></description>
|
<description><![CDATA[Improving your QML code by using tools and by understanding the QML system.]]></description>
|
||||||
<tags>qml,qml profiler</tags>
|
<tags>qml,qml profiler</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/ddays14.png" difficulty="" projectPath="" name="Qt Widgets and Qt Quick Controls - A Comparison" isVideo="true" videoUrl="https://www.youtube.com/watch?v=-S9ki14ZtIk" videoLength="57:00">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Qt on macOS Updates" isVideo="true" videoUrl="https://youtu.be/qfyxXxeC73Y" videoLength="25:51">
|
||||||
<description><![CDATA[Comparison of Qt Widgets and Qt Quick Controls.]]></description>
|
<description><![CDATA[Using Qt with macOS native windows.]]></description>
|
||||||
<tags>qt quick,widgets</tags>
|
<tags>macos</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt's Web Offering - An Overview" isVideo="true" videoUrl="https://www.youtube.com/watch?v=XW-oTBCj1JQ" videoLength="23:32">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt's Web Offering - An Overview" isVideo="true" videoUrl="https://www.youtube.com/watch?v=XW-oTBCj1JQ" videoLength="23:32">
|
||||||
<description><![CDATA[Overview of the Qt modules that provide functions for embedding web content into applications.]]></description>
|
<description><![CDATA[Overview of the Qt modules that provide functions for embedding web content into applications.]]></description>
|
||||||
<tags>qt webengine</tags>
|
<tags>qt webengine</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Qt WebEngine – Taming the Beast" isVideo="true" videoUrl="https://www.youtube.com/watch?v=3CTFxhBc_1I" videoLength="58:23">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="New Possibilities with Qt WebEngine" isVideo="true" videoUrl="https://youtu.be/E7CIIHT_jCk" videoLength="22:29">
|
||||||
<description><![CDATA[Using the Qt WebEngine module.]]></description>
|
<description><![CDATA[Using the Qt WebEngine module.]]></description>
|
||||||
<tags>qt webengine</tags>
|
<tags>qt webengine</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Building Desktop and Embedded UIs with Qt 3D" isVideo="true" videoUrl="https://www.youtube.com/watch?v=QCdti6xmug0" videoLength="47:40">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Qt Automotive Suite" isVideo="true" videoUrl="https://youtu.be/Ohzr1reeGDM" videoLength="26:15">
|
||||||
<description><![CDATA[Adding 3D content to Qt applications.]]></description>
|
<description><![CDATA[Overview of the future of Qt in automotive.]]></description>
|
||||||
<tags>qt,qt creator,3d</tags>
|
<tags>automotive</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
<tutorial imageUrl=":qtsupport/images/icons/worldsummit15.png" difficulty="" projectPath="" name="Developing for Multiple Screen Resolutions" isVideo="true" videoUrl="https://www.youtube.com/watch?v=nNyhsdX6BsI" videoLength="40:09">
|
<tutorial imageUrl=":qtsupport/images/icons/worldsummit16.png" difficulty="" projectPath="" name="Developing for Multiple Screen Resolutions and Platforms" isVideo="true" videoUrl="https://youtu.be/qclquZ99ZVQ" videoLength="27:44">
|
||||||
<description><![CDATA[Developing for multiple screen resolutions.]]></description>
|
<description><![CDATA[Best practices for an efficient app lifecycle.]]></description>
|
||||||
<tags>qt,qt quick,screen resolution</tags>
|
<tags>qt,qt quick,screen resolution</tags>
|
||||||
</tutorial>
|
</tutorial>
|
||||||
</tutorials>
|
</tutorials>
|
||||||
|
|||||||
@@ -5198,6 +5198,20 @@ void tst_Dumpers::dumper_data()
|
|||||||
+ Check("fd", "d (2)", "Foo");
|
+ Check("fd", "d (2)", "Foo");
|
||||||
|
|
||||||
|
|
||||||
|
QTest::newRow("EnumFlags")
|
||||||
|
<< Data("\n"
|
||||||
|
"enum Flags { one = 1, two = 2, four = 4 };\n",
|
||||||
|
"Flags fone = one; unused(&fone);\n"
|
||||||
|
"Flags fthree = (Flags)(one|two); unused(&fthree);\n"
|
||||||
|
"Flags fmixed = (Flags)(two|8); unused(&fmixed);\n"
|
||||||
|
"Flags fbad = (Flags)(24); unused(&fbad);\n")
|
||||||
|
+ GdbEngine
|
||||||
|
+ Check("fone", "one (1)", "Flags")
|
||||||
|
+ Check("fthree", "(one | two) (3)", "Flags")
|
||||||
|
+ Check("fmixed", "(two | unknown:8) (10)", "Flags")
|
||||||
|
+ Check("fbad", "(unknown:24) (24)", "Flags");
|
||||||
|
|
||||||
|
|
||||||
QTest::newRow("Array")
|
QTest::newRow("Array")
|
||||||
<< Data("double a1[3][3];\n"
|
<< Data("double a1[3][3];\n"
|
||||||
"for (int i = 0; i != 3; ++i)\n"
|
"for (int i = 0; i != 3; ++i)\n"
|
||||||
|
|||||||
@@ -1,20 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorDebuggers>
|
<!DOCTYPE QtCreatorDebuggers>
|
||||||
<!-- Written by QtCreator 3.3.81, 2015-02-17T18:11:11. -->
|
<!-- Written by QtCreator 4.2.2, 2017-02-10T17:36:35. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>DebuggerItem.0</variable>
|
<variable>DebuggerItem.0</variable>
|
||||||
<valuemap type="QVariantMap">
|
<valuemap type="QVariantMap">
|
||||||
<valuelist type="QVariantList" key="Abis">
|
<valuelist type="QVariantList" key="Abis">
|
||||||
<value type="QString">x86-windows-msvc2010-pe-64bit</value>
|
<value type="QString">x86-windows-msvc2015-pe-64bit</value>
|
||||||
</valuelist>
|
</valuelist>
|
||||||
<value type="bool" key="AutoDetected">true</value>
|
<value type="bool" key="AutoDetected">true</value>
|
||||||
<value type="QString" key="AutoDetectionSource"></value>
|
<value type="QString" key="AutoDetectionSource"></value>
|
||||||
<value type="QString" key="Binary">C:/Program Files/Debugging Tools for Windows (x64)/cdb.exe</value>
|
<value type="QString" key="Binary">C:/Program Files (x86)/Windows Kits/10/Debuggers/x64/cdb.exe</value>
|
||||||
<value type="QString" key="DisplayName">Auto-detected CDB at C:\Program Files\Debugging Tools for Windows (x64)\cdb.exe</value>
|
<value type="QString" key="DisplayName">Auto-detected CDB at C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe</value>
|
||||||
<value type="int" key="EngineType">4</value>
|
<value type="int" key="EngineType">4</value>
|
||||||
<value type="QString" key="Id">{811977c9-ea95-4616-bc28-c66d1935ff65}</value>
|
<value type="QString" key="Id">{1b25f20a-d584-4fb7-85b3-74dd15b82f6f}</value>
|
||||||
|
<value type="QDateTime" key="LastModified"></value>
|
||||||
<value type="QString" key="Version"></value>
|
<value type="QString" key="Version"></value>
|
||||||
|
<value type="QString" key="WorkingDirectory"></value>
|
||||||
</valuemap>
|
</valuemap>
|
||||||
</data>
|
</data>
|
||||||
<data>
|
<data>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!DOCTYPE QtCreatorProfiles>
|
<!DOCTYPE QtCreatorProfiles>
|
||||||
<!-- Written by QtCreator 4.2.1, 2017-01-05T18:03:28. -->
|
<!-- Written by QtCreator 4.2.2, 2017-02-10T17:44:37. -->
|
||||||
<qtcreator>
|
<qtcreator>
|
||||||
<data>
|
<data>
|
||||||
<variable>Profile.0</variable>
|
<variable>Profile.0</variable>
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
|
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
|
||||||
<valuemap type="QVariantMap" key="PE.Profile.Data">
|
<valuemap type="QVariantMap" key="PE.Profile.Data">
|
||||||
<value type="QString" key="Android.GdbServer.Information"></value>
|
<value type="QString" key="Android.GdbServer.Information"></value>
|
||||||
<value type="QString" key="Debugger.Information">{811977c9-ea95-4616-bc28-c66d1935ff65}</value>
|
<value type="QString" key="Debugger.Information">{1b25f20a-d584-4fb7-85b3-74dd15b82f6f}</value>
|
||||||
<value type="QString" key="PE.Profile.Device">Desktop Device</value>
|
<value type="QString" key="PE.Profile.Device">Desktop Device</value>
|
||||||
<value type="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
|
<value type="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
|
||||||
<valuelist type="QVariantList" key="PE.Profile.Environment"/>
|
<valuelist type="QVariantList" key="PE.Profile.Environment"/>
|
||||||
@@ -65,7 +65,7 @@
|
|||||||
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
|
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
|
||||||
<valuemap type="QVariantMap" key="PE.Profile.Data">
|
<valuemap type="QVariantMap" key="PE.Profile.Data">
|
||||||
<value type="QString" key="Android.GdbServer.Information"></value>
|
<value type="QString" key="Android.GdbServer.Information"></value>
|
||||||
<value type="QString" key="Debugger.Information">{811977c9-ea95-4616-bc28-c66d1935ff65}</value>
|
<value type="QString" key="Debugger.Information">{1b25f20a-d584-4fb7-85b3-74dd15b82f6f}</value>
|
||||||
<value type="QString" key="PE.Profile.Device">Desktop Device</value>
|
<value type="QString" key="PE.Profile.Device">Desktop Device</value>
|
||||||
<value type="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
|
<value type="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
|
||||||
<valuelist type="QVariantList" key="PE.Profile.Environment"/>
|
<valuelist type="QVariantList" key="PE.Profile.Environment"/>
|
||||||
@@ -121,7 +121,7 @@
|
|||||||
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
|
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
|
||||||
<valuemap type="QVariantMap" key="PE.Profile.Data">
|
<valuemap type="QVariantMap" key="PE.Profile.Data">
|
||||||
<value type="QString" key="Android.GdbServer.Information"></value>
|
<value type="QString" key="Android.GdbServer.Information"></value>
|
||||||
<value type="QString" key="Debugger.Information">{811977c9-ea95-4616-bc28-c66d1935ff65}</value>
|
<value type="QString" key="Debugger.Information">{1b25f20a-d584-4fb7-85b3-74dd15b82f6f}</value>
|
||||||
<value type="QString" key="PE.Profile.Device">Desktop Device</value>
|
<value type="QString" key="PE.Profile.Device">Desktop Device</value>
|
||||||
<value type="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
|
<value type="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
|
||||||
<valuelist type="QVariantList" key="PE.Profile.Environment"/>
|
<valuelist type="QVariantList" key="PE.Profile.Environment"/>
|
||||||
|
|||||||
@@ -87,7 +87,8 @@ def __checkBuildAndRun__():
|
|||||||
def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems,
|
def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems,
|
||||||
additionalFunc, *additionalParameters):
|
additionalFunc, *additionalParameters):
|
||||||
global currentSelectedTreeItem
|
global currentSelectedTreeItem
|
||||||
model = waitForObject(treeObjStr).model()
|
tree = waitForObject(treeObjStr)
|
||||||
|
model = tree.model()
|
||||||
items = dumpIndices(model, section)
|
items = dumpIndices(model, section)
|
||||||
for it in items:
|
for it in items:
|
||||||
indexName = str(it.data().toString())
|
indexName = str(it.data().toString())
|
||||||
@@ -97,6 +98,7 @@ def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems,
|
|||||||
if alreadyDone:
|
if alreadyDone:
|
||||||
itObj = "%s occurrence='%d'}" % (itObj[:-1], alreadyDone + 1)
|
itObj = "%s occurrence='%d'}" % (itObj[:-1], alreadyDone + 1)
|
||||||
currentSelectedTreeItem = waitForObject(itObj, 3000)
|
currentSelectedTreeItem = waitForObject(itObj, 3000)
|
||||||
|
tree.scrollTo(it)
|
||||||
mouseClick(currentSelectedTreeItem, 5, 5, 0, Qt.LeftButton)
|
mouseClick(currentSelectedTreeItem, 5, 5, 0, Qt.LeftButton)
|
||||||
additionalFunc(indexName, *additionalParameters)
|
additionalFunc(indexName, *additionalParameters)
|
||||||
currentSelectedTreeItem = None
|
currentSelectedTreeItem = None
|
||||||
|
|||||||
Reference in New Issue
Block a user