Commit 3b1a966c authored by Eike Ziller's avatar Eike Ziller

Merge remote-tracking branch 'origin/3.5'

Change-Id: Iebaabfc2f724cd493b7cab025406531cea5cd2dc
parents fb73a870 a80f4d17
...@@ -168,7 +168,7 @@ For detailed information on the supported compilers, see ...@@ -168,7 +168,7 @@ For detailed information on the supported compilers, see
able to find all dependent Qt-libraries and plugins when being launched by the able to find all dependent Qt-libraries and plugins when being launched by the
system. The easiest way to provide them for Qt 5 is to run the tool windeployqt: system. The easiest way to provide them for Qt 5 is to run the tool windeployqt:
windeployqt -qmldir share\qtcreator -qmldir src\plugins\qmlprofiler bin\qtcreator.exe lib\qtcreator lib\qtcreator\plugins windeployqt -quick -qmldir share\qtcreator\welcomescreen -qmldir src\plugins\qmlprofiler bin\qtcreator.exe lib\qtcreator lib\qtcreator\plugins
Note that unlike on Unix, you cannot overwrite executables that are running. Note that unlike on Unix, you cannot overwrite executables that are running.
Thus, if you want to work on Qt Creator using Qt Creator, you need a Thus, if you want to work on Qt Creator using Qt Creator, you need a
......
...@@ -49,6 +49,8 @@ Editing ...@@ -49,6 +49,8 @@ Editing
Project Management Project Management
* Fixed issues with restoring project tree state (QTCREATORBUG-14304) * Fixed issues with restoring project tree state (QTCREATORBUG-14304)
* Fixed crash when application output contains incomplete control
sequence (QTCREATORBUG-14720)
CMake Projects CMake Projects
...@@ -66,6 +68,13 @@ QML-Only Projects (.qmlproject) ...@@ -66,6 +68,13 @@ QML-Only Projects (.qmlproject)
* Re-enabled the plugin by default * Re-enabled the plugin by default
Autotools Projects
* Improved parsing of `CPPFLAGS`
* Added support for line continuations
* Added support for `top_srcdir`, `abs_top_srcdir`, `top_builddir` and
`abs_top_builddir`
Debugging Debugging
* Added dumper for `QJsonValue`, `QJsonObject`, `QJsonArray`, `QUuid` * Added dumper for `QJsonValue`, `QJsonObject`, `QJsonArray`, `QUuid`
...@@ -74,6 +83,8 @@ Debugging ...@@ -74,6 +83,8 @@ Debugging
* Fixed display of `QHash` keys with value 0 (QTCREATORBUG-14451) * Fixed display of `QHash` keys with value 0 (QTCREATORBUG-14451)
* Fixed variable expansion state in QML debugger * Fixed variable expansion state in QML debugger
* Fixed display of members of returned values * Fixed display of members of returned values
* Fixed that items in Locals and Expressions did not expand on first
click for QML (QTCREATORBUG-14210)
QML Profiler QML Profiler
......
\section2 Specifying Run Settings for Embedded Devices
To run and debug an application on an embedded device (commercial only), you
must create connections from the development host to the device and add the
device configurations to \l{glossary-buildandrun-kit}{kits}. Select
\uicontrol {Manage Kits} to add devices to kits. For more information, see
the \l{http://doc.qt.io/QtForDeviceCreation/qtee-installation-guide.html}
{Installation Guide} in the
\l{http://doc.qt.io/QtForDeviceCreation/index.html}{Qt for Device Creation}
documentation.
When you run the application, \QC copies the files to the connected device.
The run settings display the path to the executable file on the development
host and on the device.
To execute custom commands, select \uicontrol {Add Deploy Step} >
\uicontrol {Custom Remote Command (via adb shell)} and enter the command to
execute.
...@@ -48,7 +48,8 @@ ...@@ -48,7 +48,8 @@
\li \l{Supported Platforms} \li \l{Supported Platforms}
You can install and run \QC on several operating systems to create You can install and run \QC on several operating systems to create
applications for multiple desktop and mobile device platforms. applications for multiple desktop, embedded, and mobile device
platforms.
\li \l{Using Other Build Systems} \li \l{Using Other Build Systems}
......
...@@ -55,5 +55,7 @@ ...@@ -55,5 +55,7 @@
\li \l{Using Qt Quick UI Forms}{Export button} for exporting \li \l{Using Qt Quick UI Forms}{Export button} for exporting
items as alias properties items as alias properties
\endlist \endlist
\li \l{http://doc.qt.io/QtForDeviceCreation/index.html}{Developing for
embedded devices}
\endlist \endlist
*/ */
...@@ -74,8 +74,8 @@ ...@@ -74,8 +74,8 @@
\target glossary-deploy-config \target glossary-deploy-config
\li Handles the packaging and copying of the necessary files to a \li Handles the packaging and copying of the necessary files to a
location you want to run the executable at. The files can be location you want to run the executable at. The files can be
copied to a location in the file system of the development PC or copied to a location in the file system of the development PC,
a mobile device. an embedded device, or a mobile device.
\row \row
\li Kit \li Kit
...@@ -100,8 +100,8 @@ ...@@ -100,8 +100,8 @@
\li Project \li Project
\target glossary-project \target glossary-project
\li Groups together a set of source files, forms, and resource files \li Groups together a set of source files, forms, and resource files
that you can build, deploy, and run for different desktop and that you can build, deploy, and run for different desktop,
mobile device platforms, as embedded, and mobile device platforms, as
specified by a \e {build configuration}, \e {deploy specified by a \e {build configuration}, \e {deploy
configuration}, and \e {run configuration}. configuration}, and \e {run configuration}.
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
\QC is an integrated development environment (IDE) that provides you with \QC is an integrated development environment (IDE) that provides you with
tools to design and develop applications with the Qt application framework. tools to design and develop applications with the Qt application framework.
Qt is designed for developing applications and user interfaces once and Qt is designed for developing applications and user interfaces once and
deploying them to several desktop and mobile operating systems. \QC deploying them to several desktop, embedded, and mobile operating systems. \QC
provides you with tools for accomplishing your tasks throughout the whole provides you with tools for accomplishing your tasks throughout the whole
application development life-cycle, from creating a project to deploying the application development life-cycle, from creating a project to deploying the
application to the target platforms. application to the target platforms.
...@@ -86,8 +86,8 @@ ...@@ -86,8 +86,8 @@
and commands used to build the project. and commands used to build the project.
\QC provides support for building, running, and deploying Qt \QC provides support for building, running, and deploying Qt
applications for desktop environment and mobile devices. applications for desktop environment as well as embedded and
\l{glossary-buildandrun-kit}{Kits}, build, mobile devices. \l{glossary-buildandrun-kit}{Kits}, build,
run, and deployment settings allow you to quickly switch between run, and deployment settings allow you to quickly switch between
different setups and target platforms. different setups and target platforms.
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
\title Supported Platforms \title Supported Platforms
You can install and run \QC on several operating systems to create You can install and run \QC on several operating systems to create
applications for multiple desktop and mobile device platforms. applications for multiple desktop, embedded, and mobile device platforms.
\section1 Development Platforms \section1 Development Platforms
...@@ -113,6 +113,16 @@ ...@@ -113,6 +113,16 @@
\endlist \endlist
\section2 Developing for Embedded Devices
The development environment supported by Qt for Device Creation is
Ubuntu Linux 64-bit (12.04 LTS or later). For more information about
the requirements for the development host, see the
\l{http://doc.qt.io/QtForDeviceCreation/qtee-installation-guide.html}
{Installation Guide} in the
\l{http://doc.qt.io/QtForDeviceCreation/index.html}{Qt for Device Creation}
documentation.
\section1 Compiling from Source \section1 Compiling from Source
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
......
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
\li Android \li Android
\li Embedded
\li Generic remote Linux \li Generic remote Linux
\li iOS \li iOS
...@@ -18,6 +20,20 @@ ...@@ -18,6 +20,20 @@
\endlist \endlist
\section2 Embedded Devices
The Boot to Qt stack can be made to run on a variety of hardware. For
Qt for Device Creation license holders, tooling is provided to customize the
contents of the stack as well as to take it into desired production
hardware.
For more information about the supported device groups and reference devices,
see \l{http://doc.qt.io/QtForDeviceCreation/qtee-supported-platforms.html}
{Supported Platforms} in the {http://doc.qt.io/QtForDeviceCreation/index.html}
{Qt for Device Creation} documentation.
\section2 Mobile Devices
The following table summarizes operating system support for developing The following table summarizes operating system support for developing
applications for mobile device platforms. applications for mobile device platforms.
......
...@@ -47,7 +47,8 @@ ...@@ -47,7 +47,8 @@
{List of Qt Quick Examples} {List of Qt Quick Examples}
\row \row
\li Develop Qt applications for desktop and mobile devices \li Develop Qt applications for desktop and embedded or mobile
devices
\li \l{https://www.qt.io/developers/}{Qt Developers} \li \l{https://www.qt.io/developers/}{Qt Developers}
\row \row
......
...@@ -40,8 +40,8 @@ ...@@ -40,8 +40,8 @@
is installed automatically and you should be ready to start is installed automatically and you should be ready to start
debugging after you create a new project. However, you can debugging after you create a new project. However, you can
change the setup to use debugging tools for Windows, for change the setup to use debugging tools for Windows, for
example. You can connect mobile devices to your development PC example. You can connect embedded or mobile devices to your
and debug processes running on the devices. development host and debug processes running on the devices.
\li \l{Analyzing Code} \li \l{Analyzing Code}
......
...@@ -37,6 +37,14 @@ ...@@ -37,6 +37,14 @@
the development environment for Android or iOS. For more information, see the development environment for Android or iOS. For more information, see
\l{Connecting Android Devices} and \l{Connecting iOS Devices}. \l{Connecting Android Devices} and \l{Connecting iOS Devices}.
To run an example application on an embedded device, you must set up
Qt for Device Creation on the development host and create connections
between the host and devices. For more information, see the
\l{http://doc.qt.io/QtForDeviceCreation/qtee-installation-guide.html}
{Installation Guide} in the
\l{http://doc.qt.io/QtForDeviceCreation/index.html}{Qt for Device Creation}
documentation.
\list 1 \list 1
\li In the \uicontrol Welcome mode, select \uicontrol Examples (1). \li In the \uicontrol Welcome mode, select \uicontrol Examples (1).
...@@ -47,7 +55,9 @@ ...@@ -47,7 +55,9 @@
You can also search for examples. Enter the \uicontrol android or You can also search for examples. Enter the \uicontrol android or
\uicontrol iOS keyword in the search field (2) to list all the \uicontrol iOS keyword in the search field (2) to list all the
examples tested for Android or iOS. examples tested for Android or iOS. To list examples that you can
run on embedded devices, enter the \uicontrol Boot2Qt keyword in the
search field (commercial only).
\li To check that the application code can be compiled and linked for a \li To check that the application code can be compiled and linked for a
device, click the \uicontrol {Kit Selector} and select a device, click the \uicontrol {Kit Selector} and select a
......
...@@ -107,8 +107,8 @@ ...@@ -107,8 +107,8 @@
Create a Qt Quick application that contains both QML and C++ Create a Qt Quick application that contains both QML and C++
code. The project includes a QQuickView. code. The project includes a QQuickView.
You can build the application and deploy it to desktop and You can build the application and deploy it to desktop,
mobile target platforms. embedded, and mobile target platforms.
\li Qt Quick Controls Application \li Qt Quick Controls Application
......
...@@ -32,7 +32,8 @@ ...@@ -32,7 +32,8 @@
By default, running an application also builds it and deploys it to a By default, running an application also builds it and deploys it to a
location from where it can be run on the desktop, on a device emulator or location from where it can be run on the desktop, on a device emulator or
simulator, or on a mobile device that is connected to the development PC. simulator, or on an embedded device or a mobile device that is connected to
the development PC.
To run executable files without deploying them first, select \uicontrol Build > To run executable files without deploying them first, select \uicontrol Build >
\uicontrol {Run Without Deployment}. To make this the default option, deselect the \uicontrol {Run Without Deployment}. To make this the default option, deselect the
......
...@@ -141,6 +141,12 @@ ...@@ -141,6 +141,12 @@
\image qtcreator-build-steps-custom.png "Custom Process Step" \image qtcreator-build-steps-custom.png "Custom Process Step"
\section2 Executing Custom Commands
To execute custom commands when building for embedded devices, select
\uicontrol {Add Build Step} > \uicontrol {Custom Remote Command
(via adb shell)} (commercial only) and enter the command to execute.
\section1 Clean Steps \section1 Clean Steps
You can use the cleaning process to remove intermediate files. This process You can use the cleaning process to remove intermediate files. This process
......
...@@ -59,6 +59,7 @@ ...@@ -59,6 +59,7 @@
\include projects/creator-projects-settings-run-debug.qdocinc \include projects/creator-projects-settings-run-debug.qdocinc
\include linux-mobile/creator-projects-settings-run-linux.qdocinc \include linux-mobile/creator-projects-settings-run-linux.qdocinc
\include qnx/creator-projects-settings-run-qnx.qdocinc \include qnx/creator-projects-settings-run-qnx.qdocinc
\include linux-mobile/creator-projects-settings-run-b2qt.qdocinc
\section1 Selecting the Run Environment \section1 Selecting the Run Environment
......
...@@ -31,7 +31,8 @@ ...@@ -31,7 +31,8 @@
\title Qt Creator Manual \title Qt Creator Manual
\QC provides a cross-platform, complete integrated development environment \QC provides a cross-platform, complete integrated development environment
(IDE) for application developers to create applications for multiple desktop (IDE) for application developers to create applications for multiple
desktop, \l {http://doc.qt.io/QtForDeviceCreation/index.html}{embedded},
and mobile device platforms, such as \l{Connecting Android Devices}{Android} and mobile device platforms, such as \l{Connecting Android Devices}{Android}
and \l{Connecting iOS Devices}{iOS}. It is available for Linux, OS X and and \l{Connecting iOS Devices}{iOS}. It is available for Linux, OS X and
Windows Windows
......
...@@ -40,8 +40,8 @@ ...@@ -40,8 +40,8 @@
\li \uicontrol {Qt Quick Application} creates a Qt Quick 2 application \li \uicontrol {Qt Quick Application} creates a Qt Quick 2 application
project that can contain both QML and C++ code. The project includes project that can contain both QML and C++ code. The project includes
a QQuickView. You can build the application and deploy it to desktop a QQuickView. You can build the application and deploy it to desktop,
and mobile target platforms. embedded, and mobile target platforms.
\li \uicontrol {Qt Quick Controls Application} is like \li \uicontrol {Qt Quick Controls Application} is like
\uicontrol {Qt Quick Application}, but using Qt Quick Controls. \uicontrol {Qt Quick Application}, but using Qt Quick Controls.
......
...@@ -38,7 +38,7 @@ import shutil ...@@ -38,7 +38,7 @@ import shutil
import inspect import inspect
def usage(): def usage():
print 'Usage: %s [-v|--version-string=versionstring] [-i|--installer-path=/path/to/installerfw] [-a|--archive=archive.7z] <outputname>' % os.path.basename(sys.argv[0]) print('Usage: %s [-v|--version-string=versionstring] [-i|--installer-path=/path/to/installerfw] [-a|--archive=archive.7z] <outputname>' % os.path.basename(sys.argv[0]))
def substitute_file(infile, outfile, substitutions): def substitute_file(infile, outfile, substitutions):
with open(infile, 'r') as f: with open(infile, 'r') as f:
...@@ -132,9 +132,9 @@ def main(): ...@@ -132,9 +132,9 @@ def main():
ifw_call = [os.path.join(ifw_location, 'bin', 'binarycreator'), '-c', os.path.join(out_config_dir, config_name), '-p', out_packages_dir, installer_name, '--offline-only' ] ifw_call = [os.path.join(ifw_location, 'bin', 'binarycreator'), '-c', os.path.join(out_config_dir, config_name), '-p', out_packages_dir, installer_name, '--offline-only' ]
subprocess.check_call(ifw_call, stderr=subprocess.STDOUT) subprocess.check_call(ifw_call, stderr=subprocess.STDOUT)
finally: finally:
print 'Cleaning up...' print('Cleaning up...')
shutil.rmtree(temp_dir) shutil.rmtree(temp_dir)
print 'Done.' print('Done.')
if __name__ == '__main__': if __name__ == '__main__':
main() main()
...@@ -76,8 +76,10 @@ struct MetaPropertyData { ...@@ -76,8 +76,10 @@ struct MetaPropertyData {
static bool constructedMetaData(const QQmlVMEMetaData* data) static bool constructedMetaData(const QQmlVMEMetaData* data)
{ {
return data->varPropertyCount == 0 return data->propertyCount == 0
&& data->propertyCount == 0 #if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
&& data->varPropertyCount == 0
#endif
&& data->aliasCount == 0 && data->aliasCount == 0
&& data->signalCount == 0 && data->signalCount == 0
&& data->methodCount == 0; && data->methodCount == 0;
...@@ -86,7 +88,9 @@ static bool constructedMetaData(const QQmlVMEMetaData* data) ...@@ -86,7 +88,9 @@ static bool constructedMetaData(const QQmlVMEMetaData* data)
static QQmlVMEMetaData* fakeMetaData() static QQmlVMEMetaData* fakeMetaData()
{ {
QQmlVMEMetaData* data = new QQmlVMEMetaData; QQmlVMEMetaData* data = new QQmlVMEMetaData;
#if QT_VERSION < QT_VERSION_CHECK(5, 6, 0)
data->varPropertyCount = 0; data->varPropertyCount = 0;
#endif
data->propertyCount = 0; data->propertyCount = 0;
data->aliasCount = 0; data->aliasCount = 0;
data->signalCount = 0; data->signalCount = 0;
......
...@@ -40,7 +40,7 @@ public: ...@@ -40,7 +40,7 @@ public:
%{CN} &operator=(const %{CN} &); %{CN} &operator=(const %{CN} &);
~%{CN}(); ~%{CN}();
@endif @endif
@if '%{isQObject}' @if %{isQObject}
signals: signals:
......
...@@ -86,7 +86,7 @@ OutputPanes_DebugTextColor=text ...@@ -86,7 +86,7 @@ OutputPanes_DebugTextColor=text
OutputPanes_ErrorMessageTextColor=ffff6c6c OutputPanes_ErrorMessageTextColor=ffff6c6c
OutputPanes_MessageOutput=ff008787 OutputPanes_MessageOutput=ff008787
OutputPanes_NormalMessageTextColor=text OutputPanes_NormalMessageTextColor=text
OutputPanes_StdErrTextColor=error OutputPanes_StdErrTextColor=ffff6666
OutputPanes_StdOutTextColor=text OutputPanes_StdOutTextColor=text
OutputPanes_WarningMessageTextColor=fff3c300 OutputPanes_WarningMessageTextColor=fff3c300
OutputPaneButtonFlashColor=error OutputPaneButtonFlashColor=error
......
...@@ -218,8 +218,10 @@ static inline QStringList getPluginPaths() ...@@ -218,8 +218,10 @@ static inline QStringList getPluginPaths()
// "%LOCALAPPDATA%\QtProject\qtcreator" on Windows Vista and later // "%LOCALAPPDATA%\QtProject\qtcreator" on Windows Vista and later
// "$XDG_DATA_HOME/data/QtProject/qtcreator" or "~/.local/share/data/QtProject/qtcreator" on Linux // "$XDG_DATA_HOME/data/QtProject/qtcreator" or "~/.local/share/data/QtProject/qtcreator" on Linux
// "~/Library/Application Support/QtProject/Qt Creator" on Mac // "~/Library/Application Support/QtProject/Qt Creator" on Mac
pluginPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) pluginPath = QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation);
+ QLatin1String("/data"); #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
pluginPath += QLatin1String("/data");
#endif
pluginPath += QLatin1Char('/') pluginPath += QLatin1Char('/')
+ QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR) + QLatin1String(Core::Constants::IDE_SETTINGSVARIANT_STR)
+ QLatin1Char('/'); + QLatin1Char('/');
...@@ -297,6 +299,8 @@ int main(int argc, char **argv) ...@@ -297,6 +299,8 @@ int main(int argc, char **argv)
&& !qEnvironmentVariableIsSet("QT_DEVICE_PIXEL_RATIO")) { && !qEnvironmentVariableIsSet("QT_DEVICE_PIXEL_RATIO")) {
qputenv("QT_DEVICE_PIXEL_RATIO", "auto"); qputenv("QT_DEVICE_PIXEL_RATIO", "auto");
} }
#else
qputenv("QT_AUTO_SCREEN_SCALE_FACTOR", "1");
#endif // < Qt 5.6 #endif // < Qt 5.6
QLoggingCategory::setFilterRules(QLatin1String("qtc.*.debug=false")); QLoggingCategory::setFilterRules(QLatin1String("qtc.*.debug=false"));
......
...@@ -46200,7 +46200,7 @@ bool caseless_cmp(char a, char b) ...@@ -46200,7 +46200,7 @@ bool caseless_cmp(char a, char b)
#elif defined(BOTAN_BUILD_COMPILER_IS_INTEL) #elif defined(BOTAN_BUILD_COMPILER_IS_INTEL)
#include <ia32intrin.h> #include <ia32intrin.h>
#define CALL_CPUID(type, out) do { __cpuid(out, type); } while(0) #define CALL_CPUID(type, out) do { __cpuid((int*)out, type); } while(0)
#elif defined(BOTAN_BUILD_COMPILER_IS_GCC) && (BOTAN_GCC_VERSION >= 430) #elif defined(BOTAN_BUILD_COMPILER_IS_GCC) && (BOTAN_GCC_VERSION >= 430)
...@@ -46223,7 +46223,7 @@ namespace { ...@@ -46223,7 +46223,7 @@ namespace {
} }
#elif defined(BOTAN_TARGET_ARCH_IS_X86_64) && \ #elif defined(BOTAN_TARGET_ARCH_IS_X86_64) && \
(defined(BOTAN_BUILD_COMPILER_IS_CLANG) || defined(BOTAN_BUILD_COMPILER_IS_GCC) || defined(BOTAN_BUILD_COMPILER_IS_INTEL)) (defined(BOTAN_BUILD_COMPILER_IS_CLANG) || defined(BOTAN_BUILD_COMPILER_IS_GCC))
/* /*
* We can't safely use this on x86-32 as some 32-bit ABIs use ebx as * We can't safely use this on x86-32 as some 32-bit ABIs use ebx as
...@@ -1001,13 +1001,11 @@ LookupScope *LookupScopePrivate::lookupType_helper( ...@@ -1001,13 +1001,11 @@ LookupScope *LookupScopePrivate::lookupType_helper(
} }
if (const QualifiedNameId *qName = name->asQualifiedNameId()) { if (const QualifiedNameId *qName = name->asQualifiedNameId()) {
ProcessedSet innerProcessed;
if (! qName->base()) if (! qName->base())
return globalNamespace()->d->lookupType_helper(qName->name(), &innerProcessed, true, origin); return globalNamespace()->d->lookupType_helper(qName->name(), processed, true, origin);
if (LookupScope *binding = lookupType_helper(qName->base(), processed, true, origin)) if (LookupScope *binding = lookupType_helper(qName->base(), processed, true, origin))
return binding->d->lookupType_helper(qName->name(), &innerProcessed, false, origin); return binding->d->lookupType_helper(qName->name(), processed, false, origin);
return 0; return 0;
......
...@@ -71,6 +71,7 @@ public: ...@@ -71,6 +71,7 @@ public:
{ {
m_pixmap = QPixmap(); m_pixmap = QPixmap();
m_label->setText(text); m_label->setText(text);
layout()->setSizeConstraint(QLayout::SetFixedSize);