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:
Eike Ziller
2017-02-14 15:32:04 +01:00
40 changed files with 616 additions and 127 deletions

View File

@@ -17,5 +17,9 @@ Qbs Projects
Version Control Systems
* Gerrit
* Git
* 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)

View File

@@ -63,7 +63,7 @@
\li Select \uicontrol {Debug > Start Debugging > Start Debugging} or press
\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.
\image samegame.png

View File

@@ -168,7 +168,7 @@
You can look up any issue in the
\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

View File

@@ -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
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
it is compatible with the GDB on the host.
//! [running on embedded linux]
*/

View File

@@ -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
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} >
\uicontrol {Custom Remote Command (via adb shell)} and enter the command to
execute.
//! [run settings embedded]
*/

View File

@@ -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
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
\uicontrol Arguments field.
//! [run settings linux]
*/

View File

@@ -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
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.
\endlist
//! [generating ssh keys]
*/

View File

@@ -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
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
Process}.
//! [managing device processes]
*/

View File

@@ -133,6 +133,6 @@
\endlist
\include linux-mobile/linuxdev-keys.qdocinc
\include linux-mobile/linuxdev-processes.qdocinc
\include linux-mobile/linuxdev-keys.qdocinc generating ssh keys
\include linux-mobile/linuxdev-processes.qdocinc managing device processes
*/

View File

@@ -123,5 +123,5 @@
To build \QC from the source, see the requirements and instructions in the
readme file that is located in the source repository.
\include overview/creator-target-platforms.qdocinc
\include overview/creator-target-platforms.qdocinc target platforms
*/

View File

@@ -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
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.
//! [target platforms]
*/

View File

@@ -176,8 +176,11 @@
\li Qt Quick UI
Use a single QML file that contains the main view. You can
review Qt Quick UI projects in a \l{Previewing QML Files}
{preview tool} and you need not build them.
review \l{Creating Qt Quick UI Projects}{Qt Quick UI projects}
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

View File

@@ -64,6 +64,6 @@
For more information on the options you have, see
\l{Specifying Run Settings}.
\include linux-mobile/creator-projects-running-generic-linux.qdocinc
\include qnx/creator-projects-running-qnx.qdocinc
\include linux-mobile/creator-projects-running-generic-linux.qdocinc running on embedded linux
\include qnx/creator-projects-running-qnx.qdocinc running on qnx
*/

View File

@@ -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
\QC integrates \l{Analyzing Code}{Valgrind code analysis tools} for
@@ -34,3 +62,5 @@
To specify global Valgrind settings, select \uicontrol {Tools > Options >
Analyzer}.
//! [settings valgrind]
*/

View File

@@ -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
\image qtquick-debugging-settings.png "Debugger Settings"
@@ -11,3 +39,6 @@
port is properly protected by a firewall.
For more information about debugging, see \l{Debugging}.
//! [run settings debugger]
*/

View File

@@ -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
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
can set the executable to be run. For more information, see
\l{Specifying a Custom Executable to Run}.
//! [run settings desktop]
*/

View File

@@ -61,12 +61,12 @@
\QC creates run configurations only for subprojects that also have
\c {CONFIG += qtc_runnable} set in their .pro files.
\include projects/creator-projects-settings-run-desktop.qdocinc
\include projects/creator-projects-settings-run-analyze.qdocinc
\include projects/creator-projects-settings-run-debug.qdocinc
\include linux-mobile/creator-projects-settings-run-linux.qdocinc
\include qnx/creator-projects-settings-run-qnx.qdocinc
\include linux-mobile/creator-projects-settings-run-b2qt.qdocinc
\include projects/creator-projects-settings-run-desktop.qdocinc run settings desktop
\include projects/creator-projects-settings-run-analyze.qdocinc settings valgrind
\include projects/creator-projects-settings-run-debug.qdocinc run settings debugger
\include linux-mobile/creator-projects-settings-run-linux.qdocinc run settings linux
\include qnx/creator-projects-settings-run-qnx.qdocinc run settings qnx
\include linux-mobile/creator-projects-settings-run-b2qt.qdocinc run settings embedded
\section1 Selecting the Run Environment
@@ -105,5 +105,5 @@
\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
*/

View File

@@ -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
\list 1
@@ -28,3 +56,6 @@
If these conditions are not met, you will get an error message saying debug
output cannot be shown.
//! [running on qnx]
*/

View File

@@ -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
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
\l{Specifying Run Settings for Linux-Based Devices}.
//! [run settings qnx]
*/

View File

@@ -66,7 +66,7 @@
Program certificate that you receive from Apple. For more information, see
\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

View File

@@ -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
You can specify run settings for \l{glossary-buildandrun-kit}{kits}
@@ -14,3 +42,6 @@
\endlist
\image qmldesigner-run-settings.png "Run settings for Qt Quick UI projects"
//! [run settings qt quick ui]
*/

View File

@@ -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
\list 1
@@ -38,3 +66,6 @@
\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
application logic.
//! [qt quick application]
*/

View File

@@ -54,7 +54,7 @@
For examples of using Qt Quick Controls 2, see
\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

View File

@@ -60,10 +60,14 @@
\l{http://threejs.org}{three.js}.
\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
\l{Previewing QML Files}{QML Scene preview tool}. You do not need to
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)
create C++ plugins that make it possible to offer extensions that
@@ -121,6 +125,18 @@
\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
\li Select \uicontrol File > \uicontrol {New File or Project} >

View File

@@ -279,10 +279,17 @@
\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"
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
\QMLD supports views, models, and delegates, so that when you add a Grid

View File

@@ -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
\b {Why are custom widgets not loaded in Design mode even though it
@@ -8,3 +36,6 @@
integrated Qt Designer.
For more information, see \l{Adding Qt Designer Plugins}.
//! [qt designer faq]
*/

View File

@@ -2830,6 +2830,8 @@ class DumperBase:
def integer(self):
if self.type.code == TypeCodeTypedef:
return self.detypedef().integer()
elif self.type.code == TypeCodeBitfield:
return self.lvalue
unsigned = self.type.name.startswith('unsigned')
bitsize = self.type.bitsize()
return self.extractInteger(bitsize, unsigned)

View File

@@ -380,9 +380,29 @@ class Dumper(DumperBase):
def nativeTypeEnumDisplay(self, nativeType, intval):
try:
val = gdb.parse_and_eval('(%s)%d' % (nativeType, intval))
return '%s (%d)' % (val, intval)
enumerators = []
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:
pass
return '%d' % intval
def nativeTypeId(self, nativeType):

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -455,6 +455,7 @@ void StyleHelper::drawIconWithShadow(const QIcon &icon, const QRect &rect,
// Draw the actual pixmap...
cachePainter.drawPixmap(QRect(QPoint(radius, radius) + offset, QSize(px.width(), px.height())), px);
cachePainter.end();
cache.setDevicePixelRatio(devicePixelRatio);
QPixmapCache::insert(pixmapName, cache);
}

View File

@@ -128,6 +128,21 @@ static const QString pidScript = QStringLiteral("for p in /proc/[0-9]*; "
"do cat <$p/cmdline && echo :${p##*/}; done");
static const QString pidPollingScript = QStringLiteral("while true; do sleep 1; "
"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 bool isTimedOut(const chrono::high_resolution_clock::time_point &start,
@@ -199,8 +214,6 @@ public:
const QString &packageName, const QStringList &selector);
~AndroidRunnerWorker();
void init();
void asyncStart(const QString &intentName, const QVector<QStringList> &adbCommands);
void asyncStop(const QVector<QStringList> &adbCommands);
@@ -246,7 +259,6 @@ private:
QString m_gdbserverPath;
QString m_gdbserverSocket;
QString m_adb;
bool m_isBusyBox = false;
QStringList m_selector;
QRegExp m_logCatRegExp;
DebugHandShakeType m_handShakeMethod = SocketHandShake;
@@ -261,6 +273,7 @@ AndroidRunnerWorker::AndroidRunnerWorker(AndroidRunConfiguration *runConfig, Cor
: m_adbLogcatProcess(nullptr, deleter)
, m_psIsAlive(nullptr, deleter)
, m_selector(selector)
, m_logCatRegExp(regExpLogcat)
, m_packageName(packageName)
{
Debugger::DebuggerRunConfigurationAspect *aspect
@@ -328,41 +341,6 @@ AndroidRunnerWorker::~AndroidRunnerWorker()
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()
{
runAdb(selector() << "shell" << "am" << "force-stop" << m_packageName, nullptr, 30);
@@ -383,8 +361,14 @@ void AndroidRunnerWorker::asyncStart(const QString &intentName,
{
forceStop();
// Its assumed that the device or avd serial returned by selector() is online.
m_adbLogcatProcess->start(m_adb, selector() << "logcat");
// Start the logcat process before app starts.
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;
@@ -481,9 +465,6 @@ void AndroidRunnerWorker::asyncStart(const QString &intentName,
break;
}
if (!wasSuccess)
emit remoteProcessFinished(tr("Failed to contact debugging port."));
if (!m_customPort) {
// increment running port to avoid clash when using multiple
// debug sessions at the same time
@@ -492,6 +473,11 @@ void AndroidRunnerWorker::asyncStart(const QString &intentName,
if (m_socketHandShakePort == MAX_SOCKET_HANDSHAKE_PORT)
m_socketHandShakePort = MIN_SOCKET_HANDSHAKE_PORT;
}
if (!wasSuccess) {
emit remoteProcessFinished(tr("Failed to contact debugging port."));
return;
}
} else {
// Handling ping.
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_packageName),
bind(&AndroidRunnerWorker::onProcessIdChanged, this, _1));
@@ -578,16 +567,11 @@ void AndroidRunnerWorker::asyncStop(const QVector<QStringList> &adbCommands)
if (!m_pidFinder.isFinished())
m_pidFinder.cancel();
m_adbLogcatProcess.reset();
m_psIsAlive.reset();
if (m_processPID != -1) {
forceStop();
}
foreach (const QStringList &entry, adbCommands)
runAdb(selector() << entry);
emit remoteProcessFinished(QLatin1String("\n\n") + tr("\"%1\" terminated.").arg(m_packageName));
}
void AndroidRunnerWorker::setAdbParameters(const QString &packageName, const QStringList &selector)
@@ -647,6 +631,8 @@ void AndroidRunnerWorker::onProcessIdChanged(qint64 pid)
if (m_processPID == -1) {
emit remoteProcessFinished(QLatin1String("\n\n") + tr("\"%1\" died.")
.arg(m_packageName));
// App died/killed. Reset log and monitor processes.
m_adbLogcatProcess.reset();
m_psIsAlive.reset();
} else {
if (m_useCppDebugger) {
@@ -720,8 +706,6 @@ AndroidRunner::AndroidRunner(QObject *parent, AndroidRunConfiguration *runConfig
AndroidDeviceInfo::adbSelector(m_androidRunnable.deviceSerialNumber)));
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::asyncStop, m_worker.data(), &AndroidRunnerWorker::asyncStop);
connect(this, &AndroidRunner::adbParametersChanged,

View File

@@ -325,6 +325,7 @@ void FancyToolButton::hoverOverlay(QPainter *painter, const QRect &spanRect)
p.setPen(QPen(grad, 1.0));
p.drawLine(borderRect.topLeft(), borderRect.topRight());
p.drawLine(borderRect.bottomLeft(), borderRect.bottomRight());
p.end();
QPixmapCache::insert(cacheKey, overlay);
}

View File

@@ -273,6 +273,7 @@ static void paintSelectedTabBackground(QPainter *painter, const QRect &spanRect)
p.drawLine(borderRect.topLeft() + QPointF(0, 0), borderRect.topRight());
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.end();
QPixmapCache::insert(cacheKey, selection);
}

View File

@@ -153,7 +153,7 @@ public:
arguments << "-P";
else
arguments << "-F";
arguments << m_parameters.text;
arguments << "-e" << m_parameters.text;
GitGrepParameters params = m_parameters.searchEngineParameters.value<GitGrepParameters>();
if (!params.ref.isEmpty()) {
arguments << params.ref;

View File

@@ -72,8 +72,8 @@ private:
void fromMap(const QVariantMap &map) override;
void toMap(QVariantMap &map) const override;
bool m_useTerminal;
bool m_userSet;
bool m_useTerminal = false;
bool m_userSet = false;
QPointer<QCheckBox> m_checkBox; // Owned by RunConfigWidget
QString m_key;
};

View File

@@ -19,7 +19,7 @@
</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">
<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 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>
@@ -49,76 +49,76 @@
<description><![CDATA[Using the Linux perf tool to generate data for code analysis.]]></description>
<tags>qt creator,cpu usage analyzer,perf</tags>
</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">
<description><![CDATA[Using Qt Creator to develop a cross-platform application for mobile devices and other small devices.]]></description>
<tags>qt creator,qt quick,qml,c++,android,sailfishos</tags>
<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 the Qt SCXML module and Qt Creator SCXML editor.]]></description>
<tags>qt creator,SCXML</tags>
</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">
<description><![CDATA[Using Qt Creator, Qbs, and QEMU for application development.]]></description>
<tags>qt creator,qbs,qemu</tags>
</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">
<description><![CDATA[Using Qt Creator to develop a Qt Quick application for Android devices.]]></description>
<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[Developing Qt applications for Android devices.]]></description>
<tags>qt creator,android</tags>
</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">
<description><![CDATA[Using the Qt Android Extras module.]]></description>
<tags>qt,android</tags>
<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[Overview of Qt Creator.]]></description>
<tags>qt creator</tags>
</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">
<description><![CDATA[Using Qt Creator to develop an application for iOS.]]></description>
<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[Developing Qt applications for iOS.]]></description>
<tags>qt creator,ios</tags>
</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">
<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>
</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">
<description><![CDATA[Qt support for Windows 10 on desktop, mobile, and embedded devices.]]></description>
<tags>qt,Windows 10</tags>
<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 Universal Windows Platform on desktop, mobile, and embedded devices.]]></description>
<tags>windows</tags>
</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">
<description><![CDATA[Using Qt Creator to develop applications for Windows 10.]]></description>
<tags>qt creator,Windows 10,demo</tags>
<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[Creating state machines.]]></description>
<tags>qt creator,SCXML</tags>
</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">
<description><![CDATA[Creating your own embedded devices that run Qt applications.]]></description>
<tags>qt,embedded,device creation</tags>
</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">
<description><![CDATA[Overview of changes planned to Qt Quick Controls.]]></description>
<tags>qt quick,controls</tags>
<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[Using Qt Quick Controls 2 to create UIs.]]></description>
<tags>qt quick designer,controls</tags>
</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">
<description><![CDATA[Implementing adaptable Qt Quick UIs using layouts, bindings, file selectors, and loaders.]]></description>
<tags>qt quick,layouts,bindings</tags>
<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[Overview of UI technologies that can be used with Qt.]]></description>
<tags>qt quick,ui,widgets</tags>
</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">
<description><![CDATA[Creating a CAD application using Qt 3D.]]></description>
<tags>qt 3d,demo</tags>
<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[Running Qt apps on Android Wear devices.]]></description>
<tags>qt creator,android</tags>
</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">
<description><![CDATA[Improving your QML code by using tools and by understanding the QML system.]]></description>
<tags>qml,qml profiler</tags>
</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">
<description><![CDATA[Comparison of Qt Widgets and Qt Quick Controls.]]></description>
<tags>qt quick,widgets</tags>
<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[Using Qt with macOS native windows.]]></description>
<tags>macos</tags>
</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">
<description><![CDATA[Overview of the Qt modules that provide functions for embedding web content into applications.]]></description>
<tags>qt webengine</tags>
</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>
<tags>qt webengine</tags>
</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">
<description><![CDATA[Adding 3D content to Qt applications.]]></description>
<tags>qt,qt creator,3d</tags>
<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[Overview of the future of Qt in automotive.]]></description>
<tags>automotive</tags>
</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">
<description><![CDATA[Developing for multiple screen resolutions.]]></description>
<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[Best practices for an efficient app lifecycle.]]></description>
<tags>qt,qt quick,screen resolution</tags>
</tutorial>
</tutorials>

View File

@@ -5198,6 +5198,20 @@ void tst_Dumpers::dumper_data()
+ 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")
<< Data("double a1[3][3];\n"
"for (int i = 0; i != 3; ++i)\n"

View File

@@ -1,20 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<data>
<variable>DebuggerItem.0</variable>
<valuemap type="QVariantMap">
<valuelist type="QVariantList" key="Abis">
<value type="QString">x86-windows-msvc2010-pe-64bit</value>
<value type="QString">x86-windows-msvc2015-pe-64bit</value>
</valuelist>
<value type="bool" key="AutoDetected">true</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="DisplayName">Auto-detected CDB at 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 (x86)\Windows Kits\10\Debuggers\x64\cdb.exe</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="WorkingDirectory"></value>
</valuemap>
</data>
<data>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!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>
<data>
<variable>Profile.0</variable>
@@ -37,7 +37,7 @@
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
<valuemap type="QVariantMap" key="PE.Profile.Data">
<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="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
<valuelist type="QVariantList" key="PE.Profile.Environment"/>
@@ -65,7 +65,7 @@
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
<valuemap type="QVariantMap" key="PE.Profile.Data">
<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="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
<valuelist type="QVariantList" key="PE.Profile.Environment"/>
@@ -121,7 +121,7 @@
<value type="QString" key="PE.Profile.AutoDetectionSource"></value>
<valuemap type="QVariantMap" key="PE.Profile.Data">
<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="QByteArray" key="PE.Profile.DeviceType">Desktop</value>
<valuelist type="QVariantList" key="PE.Profile.Environment"/>

View File

@@ -87,7 +87,8 @@ def __checkBuildAndRun__():
def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems,
additionalFunc, *additionalParameters):
global currentSelectedTreeItem
model = waitForObject(treeObjStr).model()
tree = waitForObject(treeObjStr)
model = tree.model()
items = dumpIndices(model, section)
for it in items:
indexName = str(it.data().toString())
@@ -97,6 +98,7 @@ def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems,
if alreadyDone:
itObj = "%s occurrence='%d'}" % (itObj[:-1], alreadyDone + 1)
currentSelectedTreeItem = waitForObject(itObj, 3000)
tree.scrollTo(it)
mouseClick(currentSelectedTreeItem, 5, 5, 0, Qt.LeftButton)
additionalFunc(indexName, *additionalParameters)
currentSelectedTreeItem = None