forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/13.0'
Conflicts: doc/qtcreator/src/qtquick/qtquick-live-preview-devices.qdoc src/plugins/projectexplorer/projectexplorer.cpp Change-Id: I682b330a278a329fc6294baeff6a28040abd10bc
This commit is contained in:
@@ -443,8 +443,8 @@
|
|||||||
Performance Analyzer can read Perf data files generated in either frame
|
Performance Analyzer can read Perf data files generated in either frame
|
||||||
pointer or dwarf mode. However, to generate the files correctly, numerous
|
pointer or dwarf mode. However, to generate the files correctly, numerous
|
||||||
preconditions have to be met. All system images for the
|
preconditions have to be met. All system images for the
|
||||||
\l{https://doc.qt.io/Boot2Qt/qtdc-supported-platforms.html}
|
\l{Support Levels for Target Hardware}{supported embedded platforms}
|
||||||
{Boot2Qt:Supported Target Devices and Development Hosts} are correctly set
|
are correctly set
|
||||||
up for profiling in the dwarf mode. For other devices, check whether Perf
|
up for profiling in the dwarf mode. For other devices, check whether Perf
|
||||||
can read back its own data in a sensible way by checking the output of
|
can read back its own data in a sensible way by checking the output of
|
||||||
\c {perf report} or \c {perf script} for the recorded Perf data files.
|
\c {perf report} or \c {perf script} for the recorded Perf data files.
|
||||||
|
|||||||
@@ -1,6 +1,14 @@
|
|||||||
// Copyright (C) 2022 The Qt Company Ltd.
|
// Copyright (C) 2022 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\externalpage https://doc.qt.io/Boot2Qt/index.html
|
||||||
|
\title Boot2Qt: Documentation
|
||||||
|
*/
|
||||||
|
/*!
|
||||||
|
\externalpage https://doc.qt.io/Boot2Qt/b2qt-requirements-x11.html#setting-up-usb-access-to-embedded-devices
|
||||||
|
\title Boot2Qt: Setting Up USB Access to Embedded Devices
|
||||||
|
*/
|
||||||
/*!
|
/*!
|
||||||
\externalpage https://doc.qt.io/qt/qtqml-index.html
|
\externalpage https://doc.qt.io/qt/qtqml-index.html
|
||||||
\title Qt Qml
|
\title Qt Qml
|
||||||
|
|||||||
@@ -47,8 +47,7 @@
|
|||||||
\note On Ubuntu Linux, the development user account must have access to the
|
\note On Ubuntu Linux, the development user account must have access to the
|
||||||
plugged-in devices. To grant them access to the device via USB, create a new
|
plugged-in devices. To grant them access to the device via USB, create a new
|
||||||
\c udev rule, as described in
|
\c udev rule, as described in
|
||||||
\l{https://doc.qt.io/Boot2Qt/b2qt-requirements-x11.html#setting-up-usb-access-to-embedded-devices}
|
\l{Boot2Qt: Setting Up USB Access to Embedded Devices}.
|
||||||
{Boot2Qt: Setting Up USB Access to Embedded Devices}.
|
|
||||||
|
|
||||||
You can edit the settings later in \preferences >
|
You can edit the settings later in \preferences >
|
||||||
\uicontrol Devices > \uicontrol Devices.
|
\uicontrol Devices > \uicontrol Devices.
|
||||||
@@ -149,4 +148,6 @@
|
|||||||
application files to the device. For more information, see
|
application files to the device. For more information, see
|
||||||
\l{Boot2Qt Run Settings}.
|
\l{Boot2Qt Run Settings}.
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
\sa {Boot2Qt: Setting Up USB Access to Embedded Devices}
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -46,17 +46,11 @@
|
|||||||
tools to customize the contents of the stack and to take it into
|
tools to customize the contents of the stack and to take it into
|
||||||
production hardware.
|
production hardware.
|
||||||
|
|
||||||
You need either Windows 10 64-bit or later or Ubuntu Linux 64-bit 20.04 LTS
|
|
||||||
or later to install and use Boot2Qt.
|
|
||||||
|
|
||||||
The following topics have more information about developing applications
|
The following topics have more information about developing applications
|
||||||
for Boot2Qt devices:
|
for Boot2Qt devices:
|
||||||
|
|
||||||
\list
|
\list
|
||||||
\li \l{https://doc.qt.io/Boot2Qt/qtdc-supported-platforms.html}
|
\li \l{Boot2Qt: Documentation}
|
||||||
{Boot2Qt: Supported Target Devices and Development Hosts}
|
|
||||||
\li \l{https://doc.qt.io/Boot2Qt/b2qt-installation-guides.html}
|
|
||||||
{Boot2Qt: Installation Guides}
|
|
||||||
\li \l{Connecting Boot2Qt Devices}
|
\li \l{Connecting Boot2Qt Devices}
|
||||||
\li \l{Boot2Qt Run Settings}
|
\li \l{Boot2Qt Run Settings}
|
||||||
\li \l{Boot2Qt Deploy Configuration}
|
\li \l{Boot2Qt Deploy Configuration}
|
||||||
|
|||||||
@@ -28,8 +28,7 @@
|
|||||||
To run an example application on a Boot2Qt device, you must set up
|
To run an example application on a Boot2Qt device, you must set up
|
||||||
Boot2Qt on the development host and create connections
|
Boot2Qt on the development host and create connections
|
||||||
between the host and devices. For more information, see
|
between the host and devices. For more information, see
|
||||||
\l{https://doc.qt.io/Boot2Qt/b2qt-installation-guides.html}
|
\l{Boot2Qt: Documentation}.
|
||||||
{Boot2Qt: Installation Guides}
|
|
||||||
|
|
||||||
If you have \l{Qt Design Studio Manual}{\QDS} installed, you can open
|
If you have \l{Qt Design Studio Manual}{\QDS} installed, you can open
|
||||||
\QDS examples from \QC in \QDS.
|
\QDS examples from \QC in \QDS.
|
||||||
@@ -70,9 +69,8 @@
|
|||||||
|
|
||||||
If build errors occur, check that you have a Qt version, a
|
If build errors occur, check that you have a Qt version, a
|
||||||
\l{Add compilers}{compiler}, and the necessary kits installed. If
|
\l{Add compilers}{compiler}, and the necessary kits installed. If
|
||||||
you are building for an \l{Connecting Android Devices}{Android device}
|
you are building for an Android or iOS device, check that you set up
|
||||||
or \l{Connecting iOS Devices}{iOS device}, check that you set up the
|
the development environment correctly.
|
||||||
development environment correctly.
|
|
||||||
|
|
||||||
The \uicontrol Build progress bar on the toolbar turns green when
|
The \uicontrol Build progress bar on the toolbar turns green when
|
||||||
you build the project successfully. The application opens on the
|
you build the project successfully. The application opens on the
|
||||||
@@ -80,4 +78,7 @@
|
|||||||
|
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
\sa {Add compilers}, {Add kits}, {Add Qt versions},
|
||||||
|
{Connecting Android Devices}, {Connecting iOS Devices},
|
||||||
|
{Compile Output}, {Boot2Qt: Documentation}, {Qt Design Studio Manual}
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -27,9 +27,7 @@
|
|||||||
\list
|
\list
|
||||||
\li \l{Connecting Android Devices}{Android}
|
\li \l{Connecting Android Devices}{Android}
|
||||||
\li \l{Connecting Bare Metal Devices}{Bare Metal}
|
\li \l{Connecting Bare Metal Devices}{Bare Metal}
|
||||||
\li \l{https://doc.qt.io/Boot2Qt/b2qt-installation-guides.html}
|
\li \l{Boot2Qt: Documentation}{Boot2Q} (commercial only)
|
||||||
{Boot2Qt} (commercial only)
|
|
||||||
\li \l{Emulator}{Boot2Qt Emulator} (commercial only)
|
|
||||||
\li \l{Adding Docker Devices}{Docker} (experimental)
|
\li \l{Adding Docker Devices}{Docker} (experimental)
|
||||||
\li \l{Connecting iOS Devices}{iOS}
|
\li \l{Connecting iOS Devices}{iOS}
|
||||||
\li iOS Simulator
|
\li iOS Simulator
|
||||||
@@ -147,6 +145,9 @@
|
|||||||
This setting is used to tell the code model which compiler is used.
|
This setting is used to tell the code model which compiler is used.
|
||||||
If your project type and build tool support it, \QC also tells the
|
If your project type and build tool support it, \QC also tells the
|
||||||
build tool to use this compiler for building the project.
|
build tool to use this compiler for building the project.
|
||||||
|
|
||||||
|
\note qmake ignores the value of this field and fetches the compiler
|
||||||
|
information from \uicontrol {Qt mkspec}, which you can change.
|
||||||
\row
|
\row
|
||||||
\li \uicontrol Environment
|
\li \uicontrol Environment
|
||||||
\li Select \uicontrol Change to modify environment variable values for
|
\li Select \uicontrol Change to modify environment variable values for
|
||||||
|
|||||||
@@ -8,10 +8,10 @@
|
|||||||
|
|
||||||
\title Previewing on Devices
|
\title Previewing on Devices
|
||||||
|
|
||||||
To preview UIs on Android devices, you need to enable USB debugging on them
|
To preview UIs on Android devices, enable USB debugging on them
|
||||||
and connect them to your system with a USB cable.
|
and connect them to your system with a USB cable.
|
||||||
|
|
||||||
To preview UIs on Boot2Qt devices, you need to connect the devices to your
|
To preview UIs on Boot2Qt devices, connect the devices to your
|
||||||
system with a USB cable, or a wired or wireless connection, depending on
|
system with a USB cable, or a wired or wireless connection, depending on
|
||||||
the device, and configure connections to them. The necessary kits have been
|
the device, and configure connections to them. The necessary kits have been
|
||||||
predefined and you only need to enable them for your current project.
|
predefined and you only need to enable them for your current project.
|
||||||
@@ -20,8 +20,8 @@
|
|||||||
necessary files to a location in a device where you want to run the
|
necessary files to a location in a device where you want to run the
|
||||||
executable at.
|
executable at.
|
||||||
|
|
||||||
\note To preview on a wirelessly connected device, select \preferences > \uicontrol Devices
|
\note To preview on a wirelessly connected device, go to \preferences >
|
||||||
and connect the device.
|
\uicontrol Devices and connect the device.
|
||||||
|
|
||||||
To preview a UI on a device:
|
To preview a UI on a device:
|
||||||
|
|
||||||
@@ -45,16 +45,16 @@
|
|||||||
\section2 Previewing on Android Devices
|
\section2 Previewing on Android Devices
|
||||||
|
|
||||||
\if defined(qtcreator)
|
\if defined(qtcreator)
|
||||||
The USB debugging feature on Android devices enables creating connections
|
With the USB debugging feature on Android devices, you can create connections
|
||||||
to the devices from \QDS and running the preview utility on them.
|
to the devices from \QC and run the preview utility on them.
|
||||||
|
|
||||||
Debugging is enabled in different ways on different Android devices.
|
Debugging is turned on in different ways on different Android devices.
|
||||||
Look for \uicontrol {USB Debugging} under \uicontrol {Developer Options}.
|
Look for \uicontrol {USB Debugging} under \uicontrol {Developer Options}.
|
||||||
On some devices \uicontrol {Developer Options} is hidden and becomes visible
|
On some devices, \uicontrol {Developer Options} is hidden and becomes visible
|
||||||
when you tap the \uicontrol {Build number} field in \uicontrol Settings >
|
when you tap the \uicontrol {Build number} field in \uicontrol Settings >
|
||||||
\uicontrol About several times.
|
\uicontrol About several times.
|
||||||
|
|
||||||
After you have enabled debugging, connect the Android device to the system
|
After you turn on debugging, connect the Android device to the system
|
||||||
with a USB cable.
|
with a USB cable.
|
||||||
|
|
||||||
The first time you preview a UI on devices, the preview utility
|
The first time you preview a UI on devices, the preview utility
|
||||||
@@ -70,17 +70,8 @@
|
|||||||
|
|
||||||
\section2 Previewing on Boot2Qt Devices
|
\section2 Previewing on Boot2Qt Devices
|
||||||
|
|
||||||
You can preview UIs on Boot2Qt devices. For a list of supported devices, see
|
You can preview UIs on supported Boot2Qt devices that you configure as
|
||||||
\l{https://doc.qt.io/Boot2Qt/qtdc-supported-platforms.html}
|
instructed in the Boot2Qt documentation.
|
||||||
{Boot2Qt: Supported Target Devices and Development Hosts}.
|
|
||||||
|
|
||||||
You must configure the device as instructed in the
|
\sa {Boot2Qt: Documentation}, {Support Levels for Target Hardware}
|
||||||
\l{https://doc.qt.io/Boot2Qt/b2qt-installation-guides.html}
|
|
||||||
{Boot2Qt: Installation Guides}.
|
|
||||||
|
|
||||||
\note At the time of this writing, \macos is not supported as a development
|
|
||||||
host for Boot2Qt. This means that you cannot preview UIs on
|
|
||||||
devices if you are using \QC on \macos. For more information, see
|
|
||||||
\l {https://doc.qt.io/Boot2Qt/qtdc-supported-platforms.html#supported-development-hosts}
|
|
||||||
{Boot2Qt: Supported Development Hosts}.
|
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"common": {
|
"common": {
|
||||||
"sdk_tools_url": {
|
"sdk_tools_url": {
|
||||||
"linux": "https://dl.google.com/android/repository/commandlinetools-linux-9123335_latest.zip",
|
"linux": "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip",
|
||||||
"linux_sha256": "0bebf59339eaa534f4217f8aa0972d14dc49e7207be225511073c661ae01da0a",
|
"linux_sha256": "2d2d50857e4eb553af5a6dc3ad507a17adf43d115264b1afc116f95c92e5e258",
|
||||||
"windows": "https://dl.google.com/android/repository/commandlinetools-win-9123335_latest.zip",
|
"windows": "https://dl.google.com/android/repository/commandlinetools-win-11076708_latest.zip",
|
||||||
"windows_sha256": "8a90e6a3deb2fa13229b2e335efd07687dcc8a55a3c544da9f40b41404993e7d",
|
"windows_sha256": "4d6931209eebb1bfb7c7e8b240a6a3cb3ab24479ea294f3539429574b1eec862",
|
||||||
"mac": "https://dl.google.com/android/repository/commandlinetools-mac-9123335_latest.zip",
|
"mac": "https://dl.google.com/android/repository/commandlinetools-mac-11076708_latest.zip",
|
||||||
"mac_sha256": "d0192807f7e1cd4a001d13bb1e5904fc287b691211648877258aa44d1fa88275"
|
"mac_sha256": "7bc5c72ba0275c80a8f19684fb92793b83a6b5c94d4d179fc5988930282d7e64"
|
||||||
},
|
},
|
||||||
"sdk_essential_packages": {
|
"sdk_essential_packages": {
|
||||||
"default": ["platform-tools", "platforms;android-31", "cmdline-tools;latest"],
|
"default": ["platform-tools", "platforms;android-31", "cmdline-tools;latest"],
|
||||||
|
|||||||
@@ -769,6 +769,7 @@ private:
|
|||||||
std::unique_ptr<ProcessInterfaceHandler> m_processHandler;
|
std::unique_ptr<ProcessInterfaceHandler> m_processHandler;
|
||||||
mutable QMutex m_mutex;
|
mutable QMutex m_mutex;
|
||||||
QList<ProcessInterfaceSignal *> m_signals;
|
QList<ProcessInterfaceSignal *> m_signals;
|
||||||
|
Guard m_guard;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ProcessPrivate : public QObject
|
class ProcessPrivate : public QObject
|
||||||
@@ -961,6 +962,10 @@ GeneralProcessBlockingImpl::GeneralProcessBlockingImpl(ProcessPrivate *parent)
|
|||||||
|
|
||||||
bool GeneralProcessBlockingImpl::waitForSignal(ProcessSignalType newSignal, QDeadlineTimer timeout)
|
bool GeneralProcessBlockingImpl::waitForSignal(ProcessSignalType newSignal, QDeadlineTimer timeout)
|
||||||
{
|
{
|
||||||
|
QTC_ASSERT(!m_guard.isLocked(), qWarning("Process::waitForSignal() called recursively. "
|
||||||
|
"The call is being ignored."); return false);
|
||||||
|
GuardLocker locker(m_guard);
|
||||||
|
|
||||||
m_processHandler->setParent(nullptr);
|
m_processHandler->setParent(nullptr);
|
||||||
|
|
||||||
QThread thread;
|
QThread thread;
|
||||||
|
|||||||
@@ -125,10 +125,8 @@ static void sdkManagerCommand(const AndroidConfig &config, const QStringList &ar
|
|||||||
bool assertionFound = false;
|
bool assertionFound = false;
|
||||||
proc.setStdOutCallback([offset, progressQuota, &proc, &assertionFound, &promise](const QString &out) {
|
proc.setStdOutCallback([offset, progressQuota, &proc, &assertionFound, &promise](const QString &out) {
|
||||||
int progressPercent = parseProgress(out, assertionFound);
|
int progressPercent = parseProgress(out, assertionFound);
|
||||||
if (assertionFound) {
|
if (assertionFound)
|
||||||
proc.stop();
|
proc.stop();
|
||||||
proc.waitForFinished();
|
|
||||||
}
|
|
||||||
if (progressPercent != -1)
|
if (progressPercent != -1)
|
||||||
promise.setProgressValue(offset + qRound((progressPercent / 100.0) * progressQuota));
|
promise.setProgressValue(offset + qRound((progressPercent / 100.0) * progressQuota));
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -701,7 +701,7 @@ static void addCompileGroups(ProjectNode *targetRoot,
|
|||||||
node->setIsGenerated(true);
|
node->setIsGenerated(true);
|
||||||
|
|
||||||
const bool showSourceFolders = settings().showSourceSubFolders()
|
const bool showSourceFolders = settings().showSourceSubFolders()
|
||||||
&& sourcesOrHeadersFolder(td.sourceGroups[si.sourceGroup]);
|
&& defaultCMakeSourceGroupFolder(td.sourceGroups[si.sourceGroup]);
|
||||||
|
|
||||||
// Where does the file node need to go?
|
// Where does the file node need to go?
|
||||||
if (showSourceFolders && sourcePath.isChildOf(buildDirectory) && !inSourceBuild) {
|
if (showSourceFolders && sourcePath.isChildOf(buildDirectory) && !inSourceBuild) {
|
||||||
@@ -715,7 +715,7 @@ static void addCompileGroups(ProjectNode *targetRoot,
|
|||||||
|
|
||||||
for (size_t i = 0; i < sourceGroupFileNodes.size(); ++i) {
|
for (size_t i = 0; i < sourceGroupFileNodes.size(); ++i) {
|
||||||
const bool showSourceFolders = settings().showSourceSubFolders()
|
const bool showSourceFolders = settings().showSourceSubFolders()
|
||||||
&& sourcesOrHeadersFolder(td.sourceGroups[i]);
|
&& defaultCMakeSourceGroupFolder(td.sourceGroups[i]);
|
||||||
|
|
||||||
std::vector<std::unique_ptr<FileNode>> ¤t = sourceGroupFileNodes[i];
|
std::vector<std::unique_ptr<FileNode>> ¤t = sourceGroupFileNodes[i];
|
||||||
FolderNode *insertNode = td.sourceGroups[i] == "TREE"
|
FolderNode *insertNode = td.sourceGroups[i] == "TREE"
|
||||||
|
|||||||
@@ -18,9 +18,12 @@ using namespace ProjectExplorer;
|
|||||||
|
|
||||||
namespace CMakeProjectManager::Internal {
|
namespace CMakeProjectManager::Internal {
|
||||||
|
|
||||||
bool sourcesOrHeadersFolder(const QString &displayName)
|
bool defaultCMakeSourceGroupFolder(const QString &displayName)
|
||||||
{
|
{
|
||||||
return displayName == "Source Files" || displayName == "Header Files";
|
return displayName == "Source Files" || displayName == "Header Files"
|
||||||
|
|| displayName == "Resources" || displayName == ""
|
||||||
|
|| displayName == "Precompile Header File" || displayName == "CMake Rules"
|
||||||
|
|| displayName == "Object Files";
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<FolderNode> createCMakeVFolder(const Utils::FilePath &basePath,
|
std::unique_ptr<FolderNode> createCMakeVFolder(const Utils::FilePath &basePath,
|
||||||
@@ -30,7 +33,7 @@ std::unique_ptr<FolderNode> createCMakeVFolder(const Utils::FilePath &basePath,
|
|||||||
auto newFolder = std::make_unique<VirtualFolderNode>(basePath);
|
auto newFolder = std::make_unique<VirtualFolderNode>(basePath);
|
||||||
newFolder->setPriority(priority);
|
newFolder->setPriority(priority);
|
||||||
newFolder->setDisplayName(displayName);
|
newFolder->setDisplayName(displayName);
|
||||||
newFolder->setIsSourcesOrHeaders(sourcesOrHeadersFolder(displayName));
|
newFolder->setIsSourcesOrHeaders(defaultCMakeSourceGroupFolder(displayName));
|
||||||
return newFolder;
|
return newFolder;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
|
|
||||||
namespace CMakeProjectManager::Internal {
|
namespace CMakeProjectManager::Internal {
|
||||||
|
|
||||||
bool sourcesOrHeadersFolder(const QString &displayName);
|
bool defaultCMakeSourceGroupFolder(const QString &displayName);
|
||||||
|
|
||||||
std::unique_ptr<ProjectExplorer::FolderNode> createCMakeVFolder(const Utils::FilePath &basePath,
|
std::unique_ptr<ProjectExplorer::FolderNode> createCMakeVFolder(const Utils::FilePath &basePath,
|
||||||
int priority,
|
int priority,
|
||||||
|
|||||||
@@ -100,10 +100,10 @@ DebuggerRunConfigurationAspect::DebuggerRunConfigurationAspect(Target *target)
|
|||||||
};
|
};
|
||||||
setSummaryText();
|
setSummaryText();
|
||||||
|
|
||||||
connect(&m_cppAspect, &BaseAspect::changed, this, setSummaryText);
|
connect(&m_cppAspect, &BaseAspect::changed, details, setSummaryText);
|
||||||
connect(&m_qmlAspect, &BaseAspect::changed, this, setSummaryText);
|
connect(&m_qmlAspect, &BaseAspect::changed, details, setSummaryText);
|
||||||
connect(&m_pythonAspect, &BaseAspect::changed, this, setSummaryText);
|
connect(&m_pythonAspect, &BaseAspect::changed, details, setSummaryText);
|
||||||
connect(&m_overrideStartupAspect, &BaseAspect::changed, this, setSummaryText);
|
connect(&m_overrideStartupAspect, &BaseAspect::changed, details, setSummaryText);
|
||||||
|
|
||||||
return details;
|
return details;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -53,7 +53,8 @@ const char ABORT_BUILD_ALL_ON_ERROR_SETTINGS_KEY[]
|
|||||||
= "ProjectExplorer/Settings/AbortBuildAllOnError";
|
= "ProjectExplorer/Settings/AbortBuildAllOnError";
|
||||||
const char LOW_BUILD_PRIORITY_SETTINGS_KEY[] = "ProjectExplorer/Settings/LowBuildPriority";
|
const char LOW_BUILD_PRIORITY_SETTINGS_KEY[] = "ProjectExplorer/Settings/LowBuildPriority";
|
||||||
const char APP_ENV_CHANGES_SETTINGS_KEY[] = "ProjectExplorer/Settings/AppEnvChanges";
|
const char APP_ENV_CHANGES_SETTINGS_KEY[] = "ProjectExplorer/Settings/AppEnvChanges";
|
||||||
const char WARN_AGAINST_NON_ASCII_BUILD_DIR_SETTINGS_KEY[] = "ProjectExplorer/Settings/LowBuildPriority";
|
const char WARN_AGAINST_NON_ASCII_BUILD_DIR_SETTINGS_KEY[]
|
||||||
|
= "ProjectExplorer/Settings/WarnAgainstNonAsciiBuildDir";
|
||||||
|
|
||||||
} // Constants
|
} // Constants
|
||||||
|
|
||||||
|
|||||||
Submodule src/shared/qbs updated: 5c88b6b11b...ca74c52436
@@ -81,6 +81,14 @@ def selectFromCombo(objectSpec, itemName):
|
|||||||
mouseClick(waitForObjectItem(comboObject, itemName.replace(".", "\\.")))
|
mouseClick(waitForObjectItem(comboObject, itemName.replace(".", "\\.")))
|
||||||
test.verify(waitFor("str(comboObject.currentText)==itemName", 5000),
|
test.verify(waitFor("str(comboObject.currentText)==itemName", 5000),
|
||||||
"Switched combo item to '%s'" % itemName)
|
"Switched combo item to '%s'" % itemName)
|
||||||
|
def __collapsed__():
|
||||||
|
try:
|
||||||
|
waitForObject("{container='%s' type='QModelIndex'}" % objectSpec, 100)
|
||||||
|
return False
|
||||||
|
except:
|
||||||
|
return True
|
||||||
|
|
||||||
|
waitFor(__collapsed__, 1000)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def selectFromLocator(filter, itemName = None):
|
def selectFromLocator(filter, itemName = None):
|
||||||
|
|||||||
@@ -53,10 +53,6 @@ def checkQtCreatorHelpVersion(expectedVersion):
|
|||||||
test.fail("Missing Qt Creator Manual.")
|
test.fail("Missing Qt Creator Manual.")
|
||||||
|
|
||||||
|
|
||||||
def _shortcutMatches_(shortcutEdit, expectedText):
|
|
||||||
return str(findObject(shortcutEdit).text) == expectedText
|
|
||||||
|
|
||||||
|
|
||||||
def setKeyboardShortcutForAboutQtC():
|
def setKeyboardShortcutForAboutQtC():
|
||||||
invokeMenuItem("Edit", "Preferences...")
|
invokeMenuItem("Edit", "Preferences...")
|
||||||
mouseClick(waitForObjectItem(":Options_QListView", "Environment"))
|
mouseClick(waitForObjectItem(":Options_QListView", "Environment"))
|
||||||
@@ -78,16 +74,16 @@ def setKeyboardShortcutForAboutQtC():
|
|||||||
"placeholderText='Enter key sequence as text'}" % shortcutGB)
|
"placeholderText='Enter key sequence as text'}" % shortcutGB)
|
||||||
clickButton(record)
|
clickButton(record)
|
||||||
nativeType(keysToType)
|
nativeType(keysToType)
|
||||||
waitFor("_shortcutMatches_(shortcut, expectedKeys)", 5000)
|
waitFor(lambda: str(findObject(shortcut).text) == expectedKeys, 5000)
|
||||||
clickButton(record)
|
clickButton(record)
|
||||||
|
|
||||||
gotExpectedShortcut = _shortcutMatches_(shortcut, expectedKeys)
|
foundShortcut = str(findObject(shortcut).text)
|
||||||
if not gotExpectedShortcut and platform.system() == 'Darwin':
|
if foundShortcut != expectedKeys and platform.system() == 'Darwin':
|
||||||
test.warning("Squish Issue: shortcut was set to %s - entering it manually now"
|
test.warning("Squish Issue: shortcut was set to %s - entering it manually now"
|
||||||
% waitForObject(shortcut).text)
|
% waitForObject(shortcut).text)
|
||||||
replaceEditorContent(shortcut, expectedKeys)
|
replaceEditorContent(shortcut, expectedKeys)
|
||||||
else:
|
else:
|
||||||
test.verify(gotExpectedShortcut, "Expected key sequence is displayed.")
|
test.compare(foundShortcut, expectedKeys, "Expected key sequence is displayed?")
|
||||||
clickButton(waitForObject(":Options.OK_QPushButton"))
|
clickButton(waitForObject(":Options.OK_QPushButton"))
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|||||||
@@ -41,9 +41,6 @@ def main():
|
|||||||
# needed because categoriesView and templatesView using same model
|
# needed because categoriesView and templatesView using same model
|
||||||
for template in dumpItems(templatesView.model(), templatesView.rootIndex()):
|
for template in dumpItems(templatesView.model(), templatesView.rootIndex()):
|
||||||
template = template.replace(".", "\\.")
|
template = template.replace(".", "\\.")
|
||||||
# FIXME this needs Qt6.2+
|
|
||||||
if template == "Qt Quick 2 Extension Plugin":
|
|
||||||
continue
|
|
||||||
# skip non-configurable
|
# skip non-configurable
|
||||||
if template not in ["Qt Quick UI Prototype", "Qt Creator Plugin"]:
|
if template not in ["Qt Quick UI Prototype", "Qt Creator Plugin"]:
|
||||||
availableProjectTypes.append({category:template})
|
availableProjectTypes.append({category:template})
|
||||||
@@ -119,6 +116,9 @@ def handleBuildSystemVerifyKits(category, template, kits, displayedPlatforms,
|
|||||||
if template == 'Qt Quick Application':
|
if template == 'Qt Quick Application':
|
||||||
fixedBuildSystems.remove('qmake')
|
fixedBuildSystems.remove('qmake')
|
||||||
test.log("Skipped qmake (not supported).")
|
test.log("Skipped qmake (not supported).")
|
||||||
|
elif template == 'Qt Quick 2 Extension Plugin':
|
||||||
|
fixedBuildSystems.remove('Qbs')
|
||||||
|
test.log("Skipped Qbs (not supported).")
|
||||||
|
|
||||||
for counter, buildSystem in enumerate(fixedBuildSystems):
|
for counter, buildSystem in enumerate(fixedBuildSystems):
|
||||||
test.log("Using build system '%s'" % buildSystem)
|
test.log("Using build system '%s'" % buildSystem)
|
||||||
|
|||||||
@@ -21,13 +21,13 @@ def main():
|
|||||||
openQmakeProject(os.path.join(pathSpeedcrunch, "src", "speedcrunch.pro"),
|
openQmakeProject(os.path.join(pathSpeedcrunch, "src", "speedcrunch.pro"),
|
||||||
[Targets.DESKTOP_5_14_1_DEFAULT])
|
[Targets.DESKTOP_5_14_1_DEFAULT])
|
||||||
# Wait for parsing to complete
|
# Wait for parsing to complete
|
||||||
waitFor("runButton.enabled", 30000)
|
waitFor(lambda: runButton.enabled, 30000)
|
||||||
# Starting before opening, because this is where Creator froze (QTCREATORBUG-10733)
|
# Starting before opening, because this is where Creator froze (QTCREATORBUG-10733)
|
||||||
startopening = datetime.utcnow()
|
startopening = datetime.utcnow()
|
||||||
openQmakeProject(pathCreator, [Targets.DESKTOP_5_14_1_DEFAULT])
|
openQmakeProject(pathCreator, [Targets.DESKTOP_5_14_1_DEFAULT])
|
||||||
# Wait for parsing to complete
|
# Wait for parsing to complete
|
||||||
startreading = datetime.utcnow()
|
startreading = datetime.utcnow()
|
||||||
waitFor("runButton.enabled", 300000)
|
waitFor(lambda: runButton.enabled, 300000)
|
||||||
secondsOpening = (datetime.utcnow() - startopening).seconds
|
secondsOpening = (datetime.utcnow() - startopening).seconds
|
||||||
secondsReading = (datetime.utcnow() - startreading).seconds
|
secondsReading = (datetime.utcnow() - startreading).seconds
|
||||||
timeoutOpen = 45
|
timeoutOpen = 45
|
||||||
|
|||||||
Reference in New Issue
Block a user