From 643d2053647cccff312f06f73fc45d475a7d284c Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Tue, 8 Nov 2022 20:52:36 +0100 Subject: [PATCH 01/19] TarPackageCreationStep: Make it cancelable Change-Id: I7130ec6039383c3abb8c1266c4473205bded382e Reviewed-by: Christian Kandeler Reviewed-by: --- .../remotelinux/tarpackagecreationstep.cpp | 43 +++++++++++-------- 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/src/plugins/remotelinux/tarpackagecreationstep.cpp b/src/plugins/remotelinux/tarpackagecreationstep.cpp index 67b3bb063e0..bb49f1d13a8 100644 --- a/src/plugins/remotelinux/tarpackagecreationstep.cpp +++ b/src/plugins/remotelinux/tarpackagecreationstep.cpp @@ -74,9 +74,11 @@ private: bool isPackagingNeeded() const; void deployFinished(bool success); void addNeededDeploymentFiles(const DeployableFile &deployable, const Kit *kit); - bool doPackage(const Utils::FilePath &tarFilePath, bool ignoreMissingFiles); - bool appendFile(QFile &tarFile, const QFileInfo &fileInfo, const QString &remoteFilePath, - const Utils::FilePath &tarFilePath, bool ignoreMissingFiles); + void doPackage(QFutureInterface &fi, const Utils::FilePath &tarFilePath, + bool ignoreMissingFiles); + bool appendFile(QFutureInterface &fi, QFile &tarFile, const QFileInfo &fileInfo, + const QString &remoteFilePath, const Utils::FilePath &tarFilePath, + bool ignoreMissingFiles); FilePath m_tarFilePath; bool m_deploymentDataModified = false; @@ -92,6 +94,7 @@ private: TarPackageCreationStep::TarPackageCreationStep(BuildStepList *bsl, Id id) : BuildStep(bsl, id) { + m_synchronizer.setCancelOnWait(true); connect(target(), &Target::deploymentDataChanged, this, [this] { m_deploymentDataModified = true; }); @@ -152,7 +155,7 @@ void TarPackageCreationStep::doRun() auto * const watcher = new QFutureWatcher(this); connect(watcher, &QFutureWatcher::finished, this, [this, watcher] { - const bool success = watcher->result(); + const bool success = !watcher->isCanceled() && watcher->result(); if (success) { m_deploymentDataModified = false; emit addOutput(Tr::tr("Packaging finished successfully."), OutputFormat::NormalMessage); @@ -172,7 +175,7 @@ void TarPackageCreationStep::doRun() void TarPackageCreationStep::doCancel() { - m_synchronizer.waitForFinished(); + m_synchronizer.cancelAllFutures(); } bool TarPackageCreationStep::fromMap(const QVariantMap &map) @@ -268,7 +271,8 @@ void TarPackageCreationStep::addNeededDeploymentFiles( } } -bool TarPackageCreationStep::doPackage(const FilePath &tarFilePath, bool ignoreMissingFiles) +void TarPackageCreationStep::doPackage(QFutureInterface &fi, const FilePath &tarFilePath, + bool ignoreMissingFiles) { // TODO: Optimization: Only package changed files QFile tarFile(tarFilePath.toFSPathString()); @@ -276,7 +280,8 @@ bool TarPackageCreationStep::doPackage(const FilePath &tarFilePath, bool ignoreM if (!tarFile.open(QIODevice::WriteOnly | QIODevice::Truncate)) { raiseError(Tr::tr("Error: tar file %1 cannot be opened (%2).") .arg(tarFilePath.toUserOutput(), tarFile.errorString())); - return false; + fi.reportResult(false); + return; } for (const DeployableFile &d : std::as_const(m_files)) { @@ -286,10 +291,11 @@ bool TarPackageCreationStep::doPackage(const FilePath &tarFilePath, bool ignoreM continue; } QFileInfo fileInfo = d.localFilePath().toFileInfo(); - if (!appendFile(tarFile, fileInfo, + if (!appendFile(fi, tarFile, fileInfo, d.remoteDirectory() + QLatin1Char('/') + fileInfo.fileName(), tarFilePath, ignoreMissingFiles)) { - return false; + fi.reportResult(false); + return; } } @@ -297,10 +303,10 @@ bool TarPackageCreationStep::doPackage(const FilePath &tarFilePath, bool ignoreM if (tarFile.write(eofIndicator) != eofIndicator.length()) { raiseError(Tr::tr("Error writing tar file \"%1\": %2.") .arg(QDir::toNativeSeparators(tarFile.fileName()), tarFile.errorString())); - return false; + fi.reportResult(false); + return; } - - return true; + fi.reportResult(true); } static bool setFilePath(TarFileHeader &header, const QByteArray &filePath) @@ -382,7 +388,9 @@ static bool writeHeader(QFile &tarFile, const QFileInfo &fileInfo, const QString return true; } -bool TarPackageCreationStep::appendFile(QFile &tarFile, const QFileInfo &fileInfo, +bool TarPackageCreationStep::appendFile(QFutureInterface &fi, + QFile &tarFile, + const QFileInfo &fileInfo, const QString &remoteFilePath, const FilePath &tarFilePath, bool ignoreMissingFiles) @@ -398,7 +406,7 @@ bool TarPackageCreationStep::appendFile(QFile &tarFile, const QFileInfo &fileInf for (const QString &fileName : files) { const QString thisLocalFilePath = dir.path() + QLatin1Char('/') + fileName; const QString thisRemoteFilePath = remoteFilePath + QLatin1Char('/') + fileName; - if (!appendFile(tarFile, QFileInfo(thisLocalFilePath), thisRemoteFilePath, + if (!appendFile(fi, tarFile, QFileInfo(thisLocalFilePath), thisRemoteFilePath, tarFilePath, ignoreMissingFiles)) { return false; } @@ -420,7 +428,7 @@ bool TarPackageCreationStep::appendFile(QFile &tarFile, const QFileInfo &fileInf } } - const int chunkSize = 1024*1024; + const int chunkSize = 1024 * 1024; emit addOutput(Tr::tr("Adding file \"%1\" to tarball...").arg(nativePath), OutputFormat::NormalMessage); @@ -429,9 +437,8 @@ bool TarPackageCreationStep::appendFile(QFile &tarFile, const QFileInfo &fileInf while (!file.atEnd() && file.error() == QFile::NoError && tarFile.error() == QFile::NoError) { const QByteArray data = file.read(chunkSize); tarFile.write(data); - // TODO: replace with future interface -// if (isCanceled()) -// return false; + if (fi.isCanceled()) + return false; } if (file.error() != QFile::NoError) { raiseError(Tr::tr("Error reading file \"%1\": %2.").arg(nativePath, file.errorString())); From 7b02984088fb91861911af4b7a24ac354e7f3e2d Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Thu, 10 Nov 2022 10:45:09 +0100 Subject: [PATCH 02/19] Core: Fix handling of displaying shortcuts in context menus Change-Id: I19f93780bd2c21a3a54e0a4c1b9db87e2327d5ed Reviewed-by: Eike Ziller --- src/plugins/coreplugin/generalsettings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp index 81aa475ab98..9f4e47bba78 100644 --- a/src/plugins/coreplugin/generalsettings.cpp +++ b/src/plugins/coreplugin/generalsettings.cpp @@ -274,7 +274,7 @@ void GeneralSettings::setShowShortcutsInContextMenu(bool show) ICore::settings()->setValueWithDefault(settingsKeyShortcutsInContextMenu, show, m_defaultShowShortcutsInContextMenu); - QGuiApplication::styleHints()->setShowShortcutsInContextMenus(show); + QCoreApplication::setAttribute(Qt::AA_DontShowShortcutsInContextMenus, !show); } GeneralSettings::GeneralSettings() From c6e08d6940e35970d62f51a7e7792bd18d72600e Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Mon, 17 Oct 2022 13:40:21 +0200 Subject: [PATCH 03/19] SquishTests: Enable clangd also on machines with low memory Change-Id: I92caa0da779aacf731a0aa23a86f55e659c51d2b Reviewed-by: Reviewed-by: Christian Stenger --- tests/system/shared/qtcreator.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/tests/system/shared/qtcreator.py b/tests/system/shared/qtcreator.py index c4a6218b6af..9f26634ef01 100644 --- a/tests/system/shared/qtcreator.py +++ b/tests/system/shared/qtcreator.py @@ -36,6 +36,7 @@ source("../../shared/clang.py") source("../../shared/welcome.py") source("../../shared/workarounds.py") # include this at last +settingsPathsWithExplicitlyEnabledClangd = set() def __closeInfoBarEntry__(leftButtonText): toolButton = ("text='%s' type='QToolButton' unnamed='1' visible='1' " @@ -47,6 +48,7 @@ def __closeInfoBarEntry__(leftButtonText): # additionalParameters must be a list or tuple of strings or None def startQC(additionalParameters=None, withPreparedSettingsPath=True, closeLinkToQt=True, cancelTour=True): global SettingsPath + global settingsPathsWithExplicitlyEnabledClangd appWithOptions = ['"Qt Creator"' if platform.system() == 'Darwin' else "qtcreator"] if withPreparedSettingsPath: appWithOptions.extend(SettingsPath) @@ -56,8 +58,22 @@ def startQC(additionalParameters=None, withPreparedSettingsPath=True, closeLinkT appWithOptions.extend(('-platform', 'windows:dialogs=none')) test.log("Starting now: %s" % ' '.join(appWithOptions)) appContext = startApplication(' '.join(appWithOptions)) - if closeLinkToQt or cancelTour: + if (closeLinkToQt or cancelTour or + str(SettingsPath) not in settingsPathsWithExplicitlyEnabledClangd): progressBarWait(3000) # wait for the "Updating documentation" progress bar + if str(SettingsPath) not in settingsPathsWithExplicitlyEnabledClangd: + # This block will incorrectly be skipped when a test calls startQC multiple times in a row + # passing different settings paths in "additionalParameters". Currently we don't have such + # a test. Even if we did, it would only make a difference if the test relied on clangd + # being active and ran on a machine with insufficient memory. + try: + mouseClick(waitForObject("{text='Enable Anyway' type='QToolButton' " + "unnamed='1' visible='1' " + "window=':Qt Creator_Core::Internal::MainWindow'}", 500)) + settingsPathsWithExplicitlyEnabledClangd.add(str(SettingsPath)) + except: + pass + if closeLinkToQt or cancelTour: if closeLinkToQt: __closeInfoBarEntry__("Link with Qt") if cancelTour: From b59ad8b0a96bcb7f249a9ea0b2835a8521c53cea Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Wed, 2 Nov 2022 16:51:20 +0100 Subject: [PATCH 04/19] Doc: Use active voice instead of passive voice This fixes issues found by vale. Change-Id: Ic3495633cc3aabd000e53b4a4107b9bccde28005 Reviewed-by: Andreas Eliasson --- doc/qtcreator/src/howto/creator-sessions.qdoc | 8 ++-- .../creator-only/creator-configuring.qdoc | 42 ++++++++--------- .../creator-only/creator-getting-started.qdoc | 9 ++-- .../creator-only/creator-overview.qdoc | 40 ++++++++-------- .../creator-projects-build-run-tutorial.qdoc | 28 +++++------ .../creator-projects-build-systems.qdocinc | 22 ++++----- .../creator-projects-compilers.qdoc | 10 ++-- .../creator-projects-creating.qdoc | 45 +++++++++--------- ...eator-projects-custom-wizards-json.qdocinc | 22 ++++----- .../creator-projects-custom-wizards.qdoc | 27 ++++++----- .../creator-projects-debuggers.qdoc | 6 +-- .../creator-projects-libraries.qdoc | 12 ++--- .../creator-projects-opening.qdoc | 14 +++--- .../creator-projects-overview.qdoc | 6 +-- .../creator-projects-qt-versions.qdoc | 39 ++++++++------- .../creator-projects-settings-overview.qdoc | 29 +++++------- ...ator-projects-settings-run-desktop.qdocinc | 2 +- .../creator-projects-targets.qdoc | 15 +++--- .../src/python/creator-python-project.qdocinc | 8 ++-- .../creator-mobile-app-tutorial.qdoc | 6 +-- .../creator-only/qtquick-app-tutorial.qdoc | 4 +- ...uick-tutorial-create-empty-project.qdocinc | 2 +- .../creator-file-system-view.qdoc | 12 ++--- .../creator-open-documents-view.qdoc | 4 +- .../user-interface/creator-projects-view.qdoc | 43 +++++++++-------- .../src/user-interface/creator-ui.qdoc | 47 +++++++++---------- .../src/user-interface/creator-views.qdoc | 17 ++++--- .../creator-only/creator-vcs-perforce.qdoc | 21 +++++---- .../creator-only/creator-vcs-subversion.qdoc | 4 +- .../src/vcs/creator-only/creator-vcs.qdoc | 2 +- doc/qtcreator/src/vcs/creator-vcs-git.qdoc | 47 +++++++++---------- .../src/widgets/qtdesigner-app-tutorial.qdoc | 29 +++++------- 32 files changed, 303 insertions(+), 319 deletions(-) diff --git a/doc/qtcreator/src/howto/creator-sessions.qdoc b/doc/qtcreator/src/howto/creator-sessions.qdoc index d7e45fcd411..203df259f28 100644 --- a/doc/qtcreator/src/howto/creator-sessions.qdoc +++ b/doc/qtcreator/src/howto/creator-sessions.qdoc @@ -19,7 +19,7 @@ \title Managing Sessions - When you exit \QC, a snapshot of your current workspace is stored as a + When you exit \QC, it stores a snapshot of your current workspace as a \e session. To restore the session automatically when you start \QC, select \uicontrol File > \uicontrol Sessions > \uicontrol Manage > \uicontrol {Restore last session on startup}. @@ -79,8 +79,8 @@ To switch between sessions, select \uicontrol {Open}. \if defined(qtcreator) - When you launch \QC, a list of existing sessions is displayed in the - \uicontrol Welcome mode. To open a session, select it or press + The \uicontrol Projects tab in the \uicontrol Welcome mode lists existing + sessions. To open a session, select it or press \key Ctrl+Alt+, where \e is the number of the session to open (available for the first nine sessions). @@ -94,7 +94,7 @@ to clone, rename, and delete sessions. When you start \QC from the command line, you can give the name of - a session as argument and \QC will start with this session. + a session as an argument and \QC will start with this session. For more information, see \l{Using Command Line Options}. \endif diff --git a/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc b/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc index 504769064a6..4429f3283b8 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc @@ -36,12 +36,12 @@ \QC is an integrated development environment (IDE) that you can use to develop Qt applications. While you can use the Qt Installer to install \QC, the stand-alone \QC installer never installs Qt or any Qt tools, such as - qmake. To use \QC for Qt development, you also need to have a Qt version - and a compiler installed. If you update the compiler version later, you + qmake. To use \QC for Qt development, you also need to install a Qt version + and a compiler. If you update the compiler version later, you can register it into \QC. - The Qt Installer attempts to auto-detect the installed compilers and Qt - versions. If it succeeds, the relevant kits will automatically become + The Qt Installer attempts to auto-detect compilers and Qt versions. If it + succeeds, the relevant kits will automatically become available in \QC. If it does not, you must add the kits yourself to tell \QC where everything is. @@ -51,18 +51,17 @@ For more information, see \l{Adding Kits}. Each kit consists of a set of values that define one environment, such as a - \l{glossary-device}{device}, compiler, and Qt version. If you know you have - installed a Qt version, but it is not listed in \uicontrol Edit > - \uicontrol Preferences > \uicontrol Kits > \uicontrol {Qt Versions}, select - \uicontrol {Link with Qt}. + \l{glossary-device}{device}, compiler, and Qt version. If \uicontrol Edit > + \uicontrol Preferences > \uicontrol Kits > \uicontrol {Qt Versions} does not + show all the installed Qt versions, select \uicontrol {Link with Qt}. - If the Qt version is still not listed under \uicontrol Auto-detected, select + If \uicontrol Auto-detected still does not show the Qt version, select \uicontrol {Add} to add it manually. For more information, see \l{Adding Qt Versions}. - Also check that your compiler is listed in \uicontrol Edit > - \uicontrol Preferences > \uicontrol Kits > \uicontrol {Compilers}. + Also check that \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits > + \uicontrol {Compilers} shows your compiler. For more information, see \l{Adding Compilers}. @@ -95,8 +94,8 @@ in the \uicontrol Theme field. You can use the \QC text and code editors with your favorite color scheme - that defines how code elements are highlighted and which background color is - used. You can select one of the predefined color schemes or create custom + that defines how to highlight code elements and which background color to + use. You can select one of the predefined color schemes or create custom ones. The color schemes apply to highlighting C++ files, QML files, and generic files. @@ -105,11 +104,10 @@ For more information, see \l{Defining Color Schemes}. - Generic highlighting is provided by \l{https://api.kde.org/frameworks/syntax-highlighting/html/index.html} - {KSyntaxHighlighting}, which is the syntax highlighting engine for Kate - syntax definitions. \QC comes with most of the commonly used syntax files, - and you can download additional files. + {KSyntaxHighlighting} provides generic highlighting. It is the syntax + highlighting engine for Kate syntax definitions. \QC comes with most of + the commonly used syntax files, and you can download additional files. To download and use highlight definition files, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Text Editor} > \uicontrol {Generic Highlighter}. @@ -132,7 +130,7 @@ \QC supports several version control systems. In most cases, you do not need to configure the version control in any special way to make it work with - \QC. Once it is set up correctly on the development PC, it should just work. + \QC. However, some configuration options are available and you can set them in \uicontrol Edit > \uicontrol Preferences > \uicontrol {Version Control} > @@ -147,9 +145,9 @@ You can enable disabled plugins if you need them and disable plugins you don't need. - You can also install additional plugins that you downloaded from - \l{https://marketplace.qt.io/}{Qt Marketplace} or some other source, - such as \l{https://github.com/}{GitHub}. + You can download and install additional plugins from + \l{https://marketplace.qt.io/}{Qt Marketplace} or some + other source, such as \l{https://github.com/}{GitHub}. \section2 Enabling and Disabling Plugins @@ -174,7 +172,7 @@ browse the available plugins in the \uicontrol Marketplace tab in the Welcome mode. - \note You can install only plugins that are supported by your \QC version. + \note You can install only plugins that your \QC version supports. To install plugins: diff --git a/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc b/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc index 0b045bea831..218442555c2 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-getting-started.qdoc @@ -43,10 +43,11 @@ \row \li \b {\l{Building and Running an Example}} - To check that \l{glossary-buildandrun-kit}{kits} for building and running were - successfully installed as part of the \QSDK installation, open - an example application and run it. If you have not done so - before, go to \l{Building and Running an Example}. + To check that the \l{https://www.qt.io/download-qt-installer} + {Qt Online Installer} created \l{glossary-buildandrun-kit} + {build and run kits}, open an example application and run it. + If you have not done so before, go to + \l{Building and Running an Example}. \li \b {\l{Tutorials}} Now you are ready to start developing your own applications. diff --git a/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc b/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc index c3567e75b4a..3bd6c9e5c4a 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc @@ -16,8 +16,8 @@ \QC is an integrated development environment (IDE) that provides you with tools to design and develop applications with the Qt application framework. - Qt is designed for developing applications and user interfaces once and - deploying them to several desktop, embedded, and mobile operating systems or + With Qt you can develop applications and user interfaces once and deploy + them to several desktop, embedded, and mobile operating systems or web browsers (experimental). \QC provides you with tools for accomplishing your tasks throughout the whole application development life-cycle, from creating a project to deploying the @@ -32,20 +32,20 @@ \li \b {\l{Managing Projects}} To be able to build and run applications, \QC needs the same - information as a compiler would need. This information is - specified in the project settings. + information as a compiler would need. It stores the information + in the project settings. - Setting up a new project in \QC is aided by a wizard that guides - you step-by-step through the project creation process, creates - the necessary files, and specifies settings depending on the + \QC contains templates for creating new projects. They guide + you step-by-step through the project creation process, create + the necessary files, and specify settings depending on the choices you make. For more information, see \l{Managing Projects}. \li \b {\l{Designing User Interfaces}} To create intuitive, modern-looking, fluid user interfaces, you can use \l{Qt Quick} and \l{Qt Design Studio Manual}{\QDS}. - If you need a traditional user interface that is clearly - structured and enforces a platform look and feel, you can use + If you need a traditional user interface that has a clear + structure and enforces a platform look and feel, you can use the integrated \QD. For more information, see \l{Designing User Interfaces}. \li \b {\l{Coding}} @@ -66,33 +66,33 @@ \row \li \b {\l{Building and Running}} - \QC is integrated with cross-platform systems for build + \QC integrates cross-platform systems for build automation: qmake, Qbs, CMake, and Autotools. In addition, you can import projects as \e {generic projects} and fully control the steps and commands used to build the project. - \QC provides support for running and deploying Qt applications - built for the desktop environment or a \l{glossary-device} - {device}. \l{glossary-buildandrun-kit}{Kits}, build, - run, and deployment settings allow you to quickly switch between - different setups and target platforms. + You can build applications for, deploy them to, and run them on + the desktop environment or a \l{glossary-device}{device}. + \l{glossary-buildandrun-kit}{Kits}, build, run, and deployment + settings allow you to quickly switch between different setups and + target platforms. For more information, see \l{Building and Running}. \li \b {\l{Testing}} - \QC is integrated to several external native debuggers: GNU + \QC integrates several external native debuggers: GNU Symbolic Debugger (GDB), Microsoft Console Debugger (CDB), and internal JavaScript debugger. In the \uicontrol Debug mode, you can inspect the state of your application while debugging. - The memory and CPU power available on devices are limited and + Devices have limited memory and CPU power, so you should use them carefully. \QC integrates Valgrind code analysis tools for detecting memory leaks and profiling function execution. In addition, the QML Profiler enables you to profile Qt Quick applications. - \QC is integrated to the \l{Qt Test}, Boost.Test, Catch 2 test, + \QC integrates the \l{Qt Test}, Boost.Test, Catch 2 test, and Google C++ Testing frameworks for unit testing applications and libraries. You can use \QC to create, build, and run autotests. @@ -100,8 +100,8 @@ For more information, see \l{Testing}. \li \b {Publishing} - \QC allows you to create installation packages for mobile - devices that are suitable for publishing to application stores + \QC enables you to create installation packages for mobile + devices that you can publish to application stores and other channels. You must make sure that the package contents meet the requirements for publishing on the channel. diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc index a9fdff6e061..66bd2ce2b73 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-build-run-tutorial.qdoc @@ -36,10 +36,10 @@ \image qtcreator-gs-build-example-open.png "Selecting an example" - If no examples are listed, check that a \l{Adding Qt Versions} - {Qt version} (2) is installed and configured. If you select a Qt - for Android or iOS, only the examples tested for Android or iOS - are listed. + If you cannot see any examples, check that the list of + \l{Adding Qt Versions}{Qt versions} (2) is not empty. If + you select a Qt for Android or iOS, you can only see the + examples that run on Android or iOS. \li Select an example in the list of examples. @@ -47,7 +47,7 @@ the \uicontrol Boot2Qt tag (commercial only) in the search field (4) to list examples that you can run on Boot2Qt devices. - \li To check that the application code can be compiled and linked for a + \li To check that you can compile and link the application code for a device, click the \uicontrol {Kit Selector} and select a \l{glossary-buildandrun-kit}{kit} for the device. @@ -55,7 +55,7 @@ \image qtcreator-gs-build-example-kit-selector.png "Selecting a kit to build with" If you installed \QC as part of a Qt installation, it should have - automatically detected the installed kit. If no kits are available, + automatically detected the installed kit. If you cannot see any kits, see \l{Adding Kits}. \li Click \inlineimage icons/run_small.png @@ -64,15 +64,15 @@ \li To see the compilation progress, press \key{Alt+4} to open \l {Compile Output}. - If build errors occur, check that a Qt version and - \l{Adding Compilers}{compiler} are installed and - configured and that the necessary kits are configured. If you are - building for an \l{Connecting Android Devices}{Android device} or - \l{Connecting iOS Devices}{iOS device}, check that the development - environment has been set up correctly. + If build errors occur, check that you have a Qt version, a + \l{Adding Compilers}{compiler}, and the necessary kits installed. If + you are building for an \l{Connecting Android Devices}{Android device} + or \l{Connecting iOS Devices}{iOS device}, check that you set up the + development environment correctly. - The \uicontrol Build progress bar on the toolbar turns green when the - project is successfully built. The application opens on the device. + The \uicontrol Build progress bar on the toolbar turns green when + you build the project successfully. The application opens on the + device. \endlist diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc index 6604121d606..a12e010d68e 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-build-systems.qdocinc @@ -12,27 +12,23 @@ \section1 Selecting the Build System - Most \QC project wizards enable you to choose the build system to use for - building the project: qmake, CMake, or Qbs. If you are not presented with a - choice, the project is set up to use qmake. + You can use several build systems to build your projects. \l{qmake Manual}{qmake} is a cross-platform system for build automation that helps simplify the build process for development projects across different platforms. qmake automates the generation of build configurations - so that only a few lines of information are needed to create each - configuration. qmake is installed and configured when you install Qt. + so that you need only a few lines of information to create each + configuration. Qt installers install and configure qmake. To use one of the other supported build systems, you need to set it up. \l {Build with CMake}{CMake} is an alternative to qmake for automating the generation of build configurations. For more information, see \l {Setting Up CMake}. - \l {https://mesonbuild.com/}{Meson} Meson is an open source build system meant - to be both extremely fast, and, even more importantly, as user friendly as - possible. The main design point of Meson is that every second a developer - spends writing or debugging build definitions is a second wasted. So is every - second spent waiting for the build system to actually start compiling code. - For more information, see \l {Setting Up Meson}. + \l {https://mesonbuild.com/}{Meson} Meson is a fast and user-friendly + open-source build system that aims to minimize the time developers spend + writing or debugging build definitions and waiting for the build system + to start compiling code. For more information, see \l {Setting Up Meson}. \l{Qbs Manual}{Qbs} is an all-in-one build tool that generates a build graph from a high-level project description (like qmake or CMake do) and executes @@ -43,8 +39,8 @@ for building and running projects, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run} > \uicontrol General. - To specify build and run settings for different target platforms, - select \uicontrol Projects. For more information on the options you have, + Specify build and run settings for different target platforms, in the + \uicontrol Projects mode. For more information on the options you have, see \l{Specifying Build Settings}. //! [build systems] diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc index cac8caf3a80..99acca06fa3 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-compilers.qdoc @@ -20,9 +20,9 @@ specifies the compiler and other necessary tools for building an application for and running it on a particular platform. - \QC automatically detects the compilers that are registered by your - system or by the Qt Installer and lists them in \uicontrol Edit > - \uicontrol Preferences > \uicontrol Kits > \uicontrol Compilers. + \QC automatically detects the compilers that your system or the Qt Installer + registers and lists them in \uicontrol Edit > \uicontrol Preferences > + \uicontrol Kits > \uicontrol Compilers. \image qtcreator-toolchains.png @@ -113,7 +113,7 @@ To enable Microsoft Visual C++ Compilers (MSVC) and clang-cl to find system headers, libraries, and the linker, \QC executes them inside a command - prompt where the environment has been set up using \c {vcvarsall.bat}. For + prompt where you set up the environment using \c {vcvarsall.bat}. For these compilers, you also specify the path to the script that sets up the command prompt in the \uicontrol Initialization field. @@ -245,7 +245,7 @@ To keep working with the third-party tool chain, create a new shell link that adds the required paths (as Visual Studio and Qt do). The shell link - must point to cmd.exe, as illustrated by the following example: + must point to cmd.exe: \c {C:\Windows\System32\cmd.exe /K C:\path_to\myenv.bat} diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc index 418b4083b6f..8cfb298d219 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc @@ -28,15 +28,15 @@ \endlist - Setting up a new project in \QC is aided by a wizard that guides you - step-by-step through the project creation process. The wizards prompt you - to enter the settings needed for that particular type of project and create + When you set up a new project in \QC, a wizard guides you step-by-step + through the process. The wizard templates prompt you to enter the settings + that you need for that particular type of project and create the necessary files for you. You can add your own custom wizards to - standardize the way subprojects and classes are added to a project. + standardize the way of adding subprojects and classes to a project. Most \QC project wizards enable you to choose the build system to use for - building the project: qmake, CMake, or Qbs. If you are not presented with a - choice, the project is set up to use qmake. + building the project: qmake, CMake, or Qbs. If you do not get to choose, + the project uses qmake as the build system. You can use wizards also to create plain C or C++ projects that use qmake, Qbs, or CMake, but do not use the Qt library. @@ -46,8 +46,8 @@ to fully control the steps and commands used to build the project. You can install tools for \l{glossary-device}{devices} as part of Qt distributions. - The \l{glossary-buildandrun-kit}{kits} and build and run settings for the - installed device types are set up automatically. However, you might need to + The installers create \l{glossary-buildandrun-kit}{kits} and specify build + and run settings for the installed device types. However, you might need to install and configure some additional software on the devices to be able to connect to them from the development PC. @@ -129,8 +129,8 @@ \row \li Qt Quick 2 Extension Plugin \li Creates a C++ plugin that makes it possible to offer extensions - that can be loaded dynamically into Qt Quick 2 applications - by using the QQmlEngine class. + that the QQmlEngine class can load dynamically into Qt Quick 2 + applications. \row \li \QC Plugin \li Creates a \QC plugin. @@ -150,7 +150,7 @@ Use this template only if you are prototyping. You cannot create a full application by using this template. - Qt Quick UI projects cannot be deployed to embedded or mobile + You cannot deploy Qt Quick UI projects to embedded or mobile target platforms. For those platforms, create a Qt Quick application instead. \row @@ -163,8 +163,8 @@ projects as a tree hierarchy. \row \li Empty qmake Project - \li Creates an empty qmake project that is based on qmake but does - not use any default classes. + \li Creates an empty qmake project that uses qmake as the build + system but does not use any default classes. \row \li Code Snippet \li Creates a qmake project from a code snippet. When working on @@ -192,9 +192,9 @@ \li {1,3} Import Project \li Project from version control \li Imports a project from a supported version control system, such - as Bazaar, CVS, Git, Mercurial, or Subversion. For - more information on how version control systems are integrated - in \QC, see \l{Using Version Control Systems}. + as Bazaar, CVS, Git, Mercurial, or Subversion. For more + information about how \QC integrates version control systems, + see \l{Using Version Control Systems}. \row \li Import as qmake or CMake Project (Limited Functionality) \li Imports an existing project that does not use any of the @@ -241,8 +241,8 @@ to \QC \endlist - \QC displays all files that are declared to be part of the project by the - project files in the \l Projects view. The files are sorted into categories + \QC displays all files that you declare to be part of the project by the + project files in the \l Projects view. It sorts the files into categories by file type (.cpp, .h, .qrc, and so on). To display additional files, edit the project file. Alternatively, you can see all the files in a project directory in the \l {File System} view. @@ -307,7 +307,7 @@ You can add CMakeLists.txt files to any project by using the \l{https://cmake.org/cmake/help/latest/command/add_subdirectory.html} {add_subdirectory} command. The files can define complete projects that - are included into the top-level project or any other CMake commands. + you include into the top-level project or any other CMake commands. \section2 qmake Projects @@ -348,10 +348,11 @@ \section1 Binding Keyboard Shortcuts to Wizards If you use a wizard regularly, you can bind a custom keyboard shortcut to - it. Triggering this keyboard shortcut will directly open the wizard without - the need to navigate to \uicontrol File > \uicontrol {New File} or \uicontrol {New Project}. + it. Triggering this keyboard shortcut directly opens the wizard, so you do + not need to navigate to \uicontrol File > \uicontrol {New File} or + \uicontrol {New Project}. - Keyboard shortcuts for wizards can be set in \uicontrol Edit > + Set keyboard shortcuts for wizards in \uicontrol Edit > \uicontrol Preferences > \uicontrol Environment > \uicontrol Keyboard > \uicontrol Wizard. All wizard actions start with \uicontrol Impl there. diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc index f1066d49173..ced787d2d95 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards-json.qdocinc @@ -28,7 +28,7 @@ You can use variables (\c {%\{\}}) in strings in the JSON configuration file and in template source files. A set of variables is predefined by the wizards and their pages. - You can introduce new variables as shortcuts to be used later by + You can introduce new variables as shortcuts for later use by defining the variable key names and values in the \c options section in the \c {wizard.json} file. @@ -225,8 +225,8 @@ \li The \c options section contains an array of objects with \e key and \e value attributes. You can define your own variables to use in the configuration and template source files, in addition - to the predefined variables. For example, the following - variables are used in the C++ class creation wizard: + to the predefined variables. For example, the C++ class creation + wizard uses the following variables: \code "options": @@ -372,7 +372,7 @@ may be empty. \endlist - The following information is only available when the wizard was triggered + The following information is only available when users trigger the wizard via the context menu of a node in the \uicontrol Projects view: \list @@ -563,12 +563,12 @@ settings: \list - \li \c skipIfEmpty will cause empty arguments to be silently - removed from the command to be run if set to \c true. + \li \c skipIfEmpty silently removes empty arguments from the + command to run if you set it to \c true. Defaults to \c true. \li \c directory with the working directory of the command to - be run. This defaults to the value of \c baseDirectory. + run. This defaults to the value of \c baseDirectory. \li \c command with the command to be run. @@ -605,8 +605,8 @@ \li Text Edit \endlist - \note Only the the settings documented in the following sections are - supported in wizards. + \note Wizards support only the the settings documented in the following + sections. Specify the following settings for each widget: @@ -629,8 +629,8 @@ must have their \c isComplete evaluate to \c true for this to happen. This setting defaults to \c true. - \li \c trIncompleteMessage is shown when the field's \c isComplete was - evaluated to \c false. + \li \c trIncompleteMessage is shown when the field's \c isComplete + evaluates to \c false. \li \c persistenceKey makes the user choice persistent. The value is taken to be a settings key. If the user changes the default diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc index e6e9d293f3e..b6f786f1ad1 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-custom-wizards.qdoc @@ -29,17 +29,17 @@ change the wizard id in the \c {wizard.json} file. You can create a subdirectory for the templates in the settings directory. - The standard wizards are organized into subdirectories by type, but you can + \QC organizes the standard wizards into subdirectories by type, but you can add your wizard directory to any directory you like. The folder hierarchy - does not affect the order in which the wizards are displayed. + does not affect the order in which \QC displays wizards. To share the wizard with other users, you can create an archive of the wizard directory and instruct the recipients to extract it into one of the directories \QC searches wizards from. \QC displays the wizards that it finds in the \uicontrol {New Project} - and \uicontrol {New File} dialogs. For each wizard, an icon (1), a - display name (2), and a description (3) are displayed. + and \uicontrol {New File} dialogs. For each wizard, it shows an icon (1), a + display name (2), and a description (3). \image qtcreator-custom-wizard.png @@ -79,9 +79,9 @@ \section2 Mapping Actions to Keyboard Shortcuts - \QC has some actions that can improve the wizard development process. These - are by default not bound to any keyboard shortcuts and can thus not be - triggered. To enable them, assign keyboard shortcuts in \uicontrol Edit > + \QC has some actions that can improve the wizard development process. They + don't have keyboard shortcuts by default, so you cannot trigger them. To + enable them, assign keyboard shortcuts in \uicontrol Edit > \uicontrol Preferences > \uicontrol Environment > \uicontrol Keyboard > \uicontrol Wizard. @@ -112,8 +112,8 @@ \section2 Verbose Output For wizard development, we recommend that you start \QC with the - \c {-customwizard-verbose} argument to receive confirmation that \QC was - able to find and parse the \c {wizard.json} file. The verbose mode displays + \c {-customwizard-verbose} argument to receive confirmation that \QC + finds and parses the \c {wizard.json} file. The verbose mode displays information about syntax errors, which are the most typical errors you might run into while editing wizards. @@ -126,11 +126,12 @@ * Configuration found and parsed. \endcode - The output includes the name of the directory that was checked for a - \c wizard.json file. If the file is not found, the message is not displayed. + The output includes the name of the directory that \QC checks for a + \c wizard.json file. If it does not find the file, it does not show + the message. - If the file contains errors, such as an invalid icon path, the following - types of messages are displayed: + If the file contains errors, such as an invalid icon path, you receive the + following types of messages: \code Checking "/home/jsmith/.config/QtProject/qtcreator/templates/wizards/mywizard" diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-debuggers.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-debuggers.qdoc index 15ee1ac0770..a7d0aeb7b5e 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-debuggers.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-debuggers.qdoc @@ -66,14 +66,14 @@ devices in the \uicontrol ABIs field. \li In the \uicontrol {Working directory} field, specify the working - directory of the application process. If the application is run + directory of the application process. If the application runs locally, the working directory defaults to the build directory. If - the application is run remotely on a device, the value depends on + the application runs remotely on a device, the value depends on the shell or the device. Usually, you can leave this field empty. \endlist To remove the selected manually added debugger, select \uicontrol Remove. - The debugger is removed from the list when you select \uicontrol Apply. + The debugger disappears from the list when you select \uicontrol Apply. Until then, you can cancel the deletion by clicking \uicontrol Restore. */ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc index 89a61c7d44c..f48b8fe649f 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-libraries.qdoc @@ -15,7 +15,7 @@ \title Adding Libraries to Projects In addition to Qt libraries, you can add other libraries to your projects. - The way the library is added depends on the type and location of the + The process depends on the type and location of the library. You can add a system library, your own library, or a 3rd party library. The library can be located either in the build tree of the current project or in another build tree. @@ -40,11 +40,11 @@ (\l{CMake: target_link_libraries command}{target_link_libraries} when using CMake or \l PRE_TARGETDEPS when using qmake) in the project file. - Depending on the development platform, some options might be detected - automatically. For example, on \macos, the library type (\uicontrol Library or - \uicontrol Framework) is detected automatically and the option is hidden. However, - if you develop on another platform than \macos and want to build your - project for \macos, you must specify the library type. + Depending on the development platform, \QC might detect some options + automatically. For example, on \macos, it detects the library type + (\uicontrol Library or \uicontrol Framework) automatically and hides the + option. However, if you develop on another platform than \macos and want + to build your project for \macos, you must specify the library type. The default convention on Windows is that the debug and release versions of a library have the same name, but are placed in different subdirectories, diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc index 30b41c1e458..6563358d778 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-opening.qdoc @@ -17,15 +17,15 @@ \QC stores information that it needs to build projects in a .user file. If \QC cannot find the file when you open an existing project, it prompts you - to enter the information. If you created the project by using another \QC - instance, \QC asks whether you want to use the old settings. The settings - are specific to the development environment, and should not be copied from + to enter the information. If you used another \QC instance to create the + project, \QC asks whether you want to use the old settings. The settings + are specific to the development environment, and you should not copy them from one environment to another. Therefore, we recommend that you select \uicontrol No and enter the information again in the \uicontrol {Configure Project} tab. The \uicontrol {Configure Project} tab displays a list of \l{glossary-buildandrun-kit}{kits} - for building and running projects, that are installed on the development PC and - configured in \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits. + for building and running projects, that you install on the development PC and + configure in \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits. Select the kits that you want to build and run the project with. \image qtcreator-open-project-kits.png "Configure Project tab" @@ -46,8 +46,8 @@ and location for the directory that you can change. If you have built the project before, \QC can use the existing build - configuration to make the exact same build as found in the directory - available to \QC. To import a build, specify a directory in the + configuration to make the exact same build available to you. To import a + build, specify a directory in the \uicontrol {Import Build From} section and select \uicontrol {Import}. You can edit the build configuration later. For more information, see diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-overview.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-overview.qdoc index ab24e97fac5..7be0b1ba4d9 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-overview.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-overview.qdoc @@ -44,9 +44,9 @@ \li \l{Managing Sessions} - Items such as open files, breakpoints, and evaluated expressions - are stored in sessions. They are not considered to be part of - the information shared across platforms. + Sessions store items such as open files, breakpoints, and evaluated + expressions, which you do not typically want to share across + platforms. \endlist diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc index 9f00483330d..bddad912d27 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-qt-versions.qdoc @@ -14,25 +14,23 @@ \title Adding Qt Versions - \QC allows you to have multiple versions of Qt installed on your development - PC and use different versions to build your projects. For example, - \l{glossary-device}{device} manufacturers provide special Qt versions for - developing applications for their devices. + You can install multiple versions of Qt development PC and use them to build + your projects. For example, \l{glossary-device}{device} manufacturers provide + special Qt versions for developing applications for their devices. \section1 Registering Installed Qt Versions - \QC automatically detects the Qt versions that are registered by your - system or by the Qt Installer. To view detailed information for each Qt - version, select it in the list and select \uicontrol Details in the - \uicontrol {Qt version for} section. + The \uicontrol {Qt Versions} tab lists the installed Qt versions. To view + detailed information about each Qt version, select it in the list and select + \uicontrol Details in the \uicontrol {Qt version for} section. \image qtcreator-qt-versions.png "Qt Versions tab in Kit preferences" To remove invalid Qt versions, select \uicontrol {Clean Up}. - You can link to a Qt that you installed using the Qt Maintenance Tool to - automatically register the installed Qt versions. However, you cannot link - to Qt versions that were installed by the system using some other package + You can link to a Qt that the Qt Installer installed to + automatically detect the installed Qt versions. However, you cannot link + to a Qt that the system installed with some other package manager, such as your Linux distribution, brew on \macos, or Chocolatey on Windows, nor a self-built Qt. In those cases, select \uicontrol {Add} in the \uicontrol {Qt Versions} tab to add the Qt version manually, as @@ -56,8 +54,8 @@ To remove the automatically detected Qt versions from the list, select \uicontrol {Remove Link}. - If a Qt version is still not listed in the \uicontrol {Qt Versions} tab - under \uicontrol Auto-detected, you have to set it up manually, as described + If the \uicontrol {Qt Versions} tab does not show a Qt version + under \uicontrol Auto-detected, set it up manually, as described in the following section. You specify the Qt version to use for each \l{glossary-buildandrun-kit} @@ -74,8 +72,7 @@ \li Select \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits > \uicontrol {Qt Versions} > \uicontrol Add. - \li Select the qmake executable for the Qt version that you want to - add. + \li Select the qmake executable for the Qt version to add. \li Select the Qt version to view and edit it. @@ -85,7 +82,7 @@ \li In the \uicontrol{qmake path} field, you can change the qmake location. - \li If the Qt version is for QNX, enter the path to your installed QNX SDK in the + \li If the Qt version is for QNX, enter the path to the QNX SDK in the \uicontrol{QNX SDK} field. \endlist @@ -110,7 +107,7 @@ the Qt version to see more information about the issue and suggestions for fixing it. - To determine whether a particular Qt version is installed correctly, \QC + To verify the installation of a particular Qt version, \QC calls \c {qmake -query} and checks that the directories referenced in the output exist. When \QC complains about the installation of a self-built Qt version, try running \c {make install} in the build directory to actually @@ -119,8 +116,10 @@ the Qt version. \section1 Minimum Requirements - If your build of Qt is incomplete but you still want to use QMake as build - system, you need to ensure the following minimum requirements to be able to use that setup with \QC. + If your build of Qt is incomplete but you still want to use qmake as build + system, you need to ensure the following minimum requirements to use that + setup with \QC. + \list 1 \li qmake is an executable that understands the \c -query command line argument. @@ -130,7 +129,7 @@ files. \endlist - If your Qt version has no \c libQtCore.so, \QC is unable to detect the ABI. + If your Qt version has no \c libQtCore.so, \QC cannot detect the ABI. */ diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc index a680f956958..5ee2b302375 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-overview.qdoc @@ -15,32 +15,27 @@ \title Configuring Projects When you install Qt for a target platform, such as Android or QNX, the - build and run settings for the development targets might be set up - automatically in \QC. - - When you open a project for the first time, the - \uicontrol {Configure Projects} view is displayed to let you select a set of - \l{glossary-buildandrun-kit}{kits} that you want to use to build and run - your project. At least one kit must be active for you to be able to build - and run the project. For more information about selecting the initial kit, - see \l{Opening Projects}. + \l{https://www.qt.io/download-qt-installer}{Qt Online Installer} + creates \l{glossary-buildandrun-kit}{kits} for the development + targets. Select the kits to use in the \uicontrol {Configure Projects} + view when you open a project for the first time. At least one kit must be + active. For more information about selecting the initial kit, see + \l{Opening Projects}. To maintain the list of active kits for a currently open project, switch to the \uicontrol Projects mode by pressing \key Ctrl+5. \section1 Activating Kits for a Project - All kits compatible with your project are listed in the - \uicontrol {Build & Run} section of the sidebar. To activate one or more - disabled kits, click them. + The \uicontrol {Build & Run} section of the sidebar lists the kits that are + compatible with your project. To activate one or more kits, click them. \image qtcreator-project-kits.png - The list displays kits that are configured in \uicontrol Edit > - \uicontrol Preferences > \uicontrol Kits. If the kit configuration is not - suitable for the project type, warning and error icons are displayed. - To view the warning and error messages, move the mouse pointer over - the kit name. + The list displays kits from \uicontrol Edit > \uicontrol Preferences > + \uicontrol Kits. Warning and error icons indicate that the kit configuration + is not suitable for the project type. To view the warning and error messages, + move the mouse pointer over the kit name. In the list of kits, you may see entries described as \e {Replacement for }. \QC generates them to save your project-specific settings, diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc index 150b491ea5c..f39a31fb0a7 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-settings-run-desktop.qdocinc @@ -43,7 +43,7 @@ application with root user permissions. You can also create custom executable run configurations where you - can set the executable to be run. For more information, see + can set the executable to run. For more information, see \l{Specifying a Custom Executable to Run}. //! [run settings desktop] diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc index 91ce4b81c34..a242e94e154 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-targets.qdoc @@ -152,18 +152,17 @@ \row \li \uicontrol {Qt version} \li Qt version to use for building the project. You can add Qt versions - to the list if they are installed on the development PC, but were not - detected automatically. For more information, see \l{Adding Qt Versions}. + that \QC did not detect automatically. For more information, see + \l{Adding Qt Versions}. \QC checks the directories listed in the \c{PATH} environment - variable for the qmake executable. If a qmake executable is found, - it is referred to as \b{Qt in PATH} and selected as the Qt - version to use for the \uicontrol Desktop kit that is created by default. + variable for the qmake executable. It refers to the qmake executable + it finds as \b{Qt in PATH} and selects it as the Qt version + to use for the \uicontrol Desktop kit that is created by default. \row \li \uicontrol {Qt mkspec} - \li Name of the mkspec configuration that should be used by qmake. If - you leave this field empty, the default mkspec of the selected Qt - version is used. + \li Name of the mkspec configuration that qmake uses. If you leave this + field empty, it uses the default mkspec of the selected Qt version. \row \li \uicontrol {Additional Qbs profile settings} \li Select \uicontrol Change to add settings to Qbs build profiles. diff --git a/doc/qtcreator/src/python/creator-python-project.qdocinc b/doc/qtcreator/src/python/creator-python-project.qdocinc index dabf001d17a..4d32d5abff7 100644 --- a/doc/qtcreator/src/python/creator-python-project.qdocinc +++ b/doc/qtcreator/src/python/creator-python-project.qdocinc @@ -12,7 +12,7 @@ and \l {Qt Widgets}. If you have not installed PySide6, \QC prompts you to install it after - the project is created. Further, it prompts you to install the + you create the project. Further, it prompts you to install the \l {Python Language Server}{Python language server} that provides services such as code completion and annotations. Select \uicontrol Install to install PySide6 and the language server. @@ -23,12 +23,12 @@ \image qtcreator-python-interpreters.png "Python Interpreters in Preferences" You can add and remove interpreters and clean up references to interpreters - that have been uninstalled, but still appear in the list. In addition, you + that you uninstalled, but that still appear in the list. In addition, you can set the interpreter to use by default. The Qt for Python Application wizards generate a \c {.pyproject} file that lists the files in the Python project and a \c {.py} file that contains - some boilerplate code. In addition, the widget based UI wizard creates a + some boilerplate code. In addition, the widget-based UI wizard creates a \c {.ui} file that contains a \QD form, and the Qt Quick Application wizard creates a \c {.qml} file that contains Qt Quick controls. @@ -84,7 +84,7 @@ self.ui.setupUi(self) \endcode - \note UI elements of the new class can be accessed as member variables. + \note You can access the UI elements of the new class as member variables. For example, if you have a button called \e{button1}, you can interact with it using \c{self.ui.button1}. diff --git a/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc index d5a88c88a7b..23e5cfb68de 100644 --- a/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc +++ b/doc/qtcreator/src/qtquick/creator-only/creator-mobile-app-tutorial.qdoc @@ -189,7 +189,7 @@ \section1 Running the Application - The application is complete and ready to be deployed to a device: + You can now deploy the application to a device: \list 1 @@ -199,8 +199,8 @@ \li Connect the device to the development PC. If you are using a device running Android v4.2.2, it should prompt you to - verify the connection to allow USB debugging from the PC it is connected - to. To avoid such prompts every time you connect the device, select the + verify the connection to allow USB debugging from the PC. To avoid such + prompts every time you connect the device, select the \uicontrol {Always allow from this computer} check box, and then select \uicontrol OK. diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc index 7f307d803bd..bda9e678757 100644 --- a/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc +++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-app-tutorial.qdoc @@ -48,7 +48,7 @@ \section1 Creating Custom QML Types - Because the \l Window QML type requires states to be added into child + Because the \l Window QML type requires that you add states into child components, we use the wizard to create a custom QML type called \e Page that we will refer to from \e main.qml. @@ -126,7 +126,7 @@ To make the image move between the rectangles when users click them, we add states to the Page component, where we change the values of the \c x and \c y properties of \e icon to match those of the middle right and top left - rectangles. To make sure that the image is displayed within the rectangle + rectangles. To make sure that the image stays within the rectangle when the view is scaled on different sizes of screens, we \e bind the values of the \c x and \c y properties of \e icon to those of the rectangles: diff --git a/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc b/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc index 357e71db37a..e1f5e5491de 100644 --- a/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc +++ b/doc/qtcreator/src/qtquick/creator-only/qtquick-tutorial-create-empty-project.qdocinc @@ -48,7 +48,7 @@ applications for mobile devices, select kits also for Android and iOS. - \note Kits are listed if they have been specified in \uicontrol Edit + \note The list shows kits that you specify in \uicontrol Edit > \uicontrol Preferences > \uicontrol Kits (on Windows and Linux) or in \uicontrol {\QC} > \uicontrol Preferences > \uicontrol Kits (on \macos). diff --git a/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc b/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc index 5567f14c1c5..7a191cc414c 100644 --- a/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc +++ b/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc @@ -28,7 +28,7 @@ \uicontrol Preferences > \uicontrol {Build & Run} > \uicontrol General. The file that is currently active in the editor determines which folder - is displayed in the \uicontrol {File System} view: + to display in the \uicontrol {File System} view: \list \li \uicontrol Projects if the file is located in a subdirectory of the @@ -41,8 +41,8 @@ \uicontrol {File System} view, delesect the \inlineimage icons/linkicon.png (\uicontrol {Synchronize Root Directory with Editor}) button. - The path to the active file is displayed as bread crumbs. You can move to - any directory along the path by clicking it. + The view displays the path to the active file as bread crumbs. You can move + to any directory along the path by clicking it. \section1 File System Context Menu @@ -94,13 +94,13 @@ \list \li To hide the bread crumbs, deselect the \uicontrol {Show Bread Crumbs} check box. - \li By default, folders are separated from files and listed first in - the view. To list all items in alphabetic order, deselect the + \li By default, the view separates folders from files and lists them + first. To list all items in alphabetic order, deselect the \uicontrol {Show Folders on Top} check box. \li To also show hidden files, select \uicontrol {Show Hidden Files}. \endlist - To stop the synchronization with the file currently opened in the + To stop the synchronization with the file currently open in the editor, deselect \inlineimage icons/linkicon.png (\uicontrol {Synchronize with Editor}). */ diff --git a/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc b/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc index a1ce4badba7..5250f79af3c 100644 --- a/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc +++ b/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc @@ -14,7 +14,7 @@ You can use the context menu to apply some of the functions also available in the \uicontrol File menu and in the \l {File System Context Menu} - {File System} view to the file that is selected in the view. + {File System} view to the file that you select in the view. In addition, you can: @@ -22,7 +22,7 @@ \li Copy the full path of the file or just the filename to the clipboard. \li Pin files to ensure they stay at the top of the list and are not - closed when \uicontrol {Close All} is used. + closed when you select \uicontrol {Close All}. \endlist \section1 Specifying Settings for Opening Files diff --git a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc index cda8226e0fa..0f5010ae600 100644 --- a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc +++ b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc @@ -50,8 +50,8 @@ \section1 Projects View Context Menu The \uicontrol Projects view contains context menus for managing projects, - subprojects, folders, and files. The following functions are available for - managing projects and subprojects: + subprojects, folders, and files. Use the following functions to manage + projects and subprojects: \list \li Set a project as the active project. @@ -77,28 +77,28 @@ \li Open a terminal window in the project directory. To specify the terminal to use on Linux and \macos, select \uicontrol Edit > \uicontrol Preferences > \uicontrol Environment > \uicontrol System. - \li Open a terminal window in the project directory that is configured + \li Open a terminal window in the project directory that you configured for building or running the project. \li Expand or collapse the tree view to show or hide all files and folders. \li Close all files in a project. \li Close the selected project or all projects except the selected - one. By default, all files in the projects are also - closed. To keep them open, deselect the \uicontrol Edit > + one. By default, this closes all files in the projects. To keep + them open, deselect the \uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run} > \uicontrol General > \uicontrol {Close source files along with project} check box. \endlist - For managing files and directories, the same functions are available as in + For managing files and directories, use the same functions as in the \l {File System} view. To view a project in it, select \uicontrol {Show in File System View}. \section1 Projects View Toolbar \if defined(qtdesignstudio) - In the \uicontrol Edit and \uicontrol Debug mode, the \uicontrol Projects - view is displayed in the \l{Working with Sidebars}{sidebar}. It has a - toolbar with additional options. + In the \uicontrol Edit and \uicontrol Debug mode, the + \l{Working with Sidebars}{sidebar} contains the \uicontrol Projects + view. It has a toolbar with additional options. \image qtcreator-projects-view-edit.png "Projects view in the sidebar" \else @@ -112,10 +112,10 @@ \list \li \uicontrol {Simplify Tree} hides the categories and sorts project files alphabetically. - \li \uicontrol {Hide Generated Files} hides the source files that are - automatically generated by the build system. - \li \uicontrol {Hide Disabled Files} hides the source files that are - not enabled for the current target, + \li \uicontrol {Hide Generated Files} hides the source files that the + build system automatically generates. + \li \uicontrol {Hide Disabled Files} hides the source files that you + have not enabled for the current target, \li \uicontrol {Hide Empty Directories} hides directories that do not contain any files. \li \uicontrol {Show Source and Header Groups} shows source and header @@ -130,18 +130,17 @@ \if defined(qtcreator) Some build systems support adding and removing files to a project in \QC (currently qmake and Qbs). The faithful display of the project structure - allows to specify exactly where a new file should be placed in the build - system. + enables you to specify exactly where to place a new file in the build system. - If you cannot see some files, they might not be declared as part of the + If you cannot see some files, you might have to declare them as part of the project. For more information, see \l{Specifying Project Contents}. - If the project is under version control, information from the version - control system might be displayed in brackets after the project name. - This is currently implemented for Git (the branch name or a tag is - displayed) and ClearCase (the view name is displayed). + If the project is under version control, you might see information + from the version control system in brackets after the project name. + \QC currently implements this for Git (the view displays the branch name + or a tag) and ClearCase (the view displays the branch name). \else - If the project is under Git version control, the currently checked out - branch or tag is displayed in brackets after the project name. + If the project is under Git version control, you can see the currently + checked out branch or tag in brackets after the project name. \endif */ diff --git a/doc/qtcreator/src/user-interface/creator-ui.qdoc b/doc/qtcreator/src/user-interface/creator-ui.qdoc index bbf9b13b376..7e34962e952 100644 --- a/doc/qtcreator/src/user-interface/creator-ui.qdoc +++ b/doc/qtcreator/src/user-interface/creator-ui.qdoc @@ -50,17 +50,14 @@ \endif \if defined(qtcreator) - You can use the \l{Selecting Modes}{mode selector} (1) to change to another - \QC mode. + Use the \l{Selecting Modes}{mode selector} (1) to change to another \QC mode. - You can use the kit selector (2) to select the - \l{glossary-buildandrun-kit}{kit} for running (3), debugging (4), or - building (5) the application. Output from these actions is displayed on - the task bar (7). + Use the kit selector (2) to select the \l{glossary-buildandrun-kit}{kit} for + running (3), debugging (4), or building (5) the application. The task bar (7) + displays output from these actions. - You can use the \l{Searching with the Locator}{locator} (6) to browse - through projects, files, classes, functions, documentation, and file - systems. + Use the \l{Searching with the Locator}{locator} (6) to browse through + projects, files, classes, functions, documentation, and file systems. For a quick tour of the user interface that takes you to the locations of these controls, select \uicontrol Help > \uicontrol {UI Tour}. @@ -147,8 +144,8 @@ \section1 Changing Languages - \QC has been localized into several languages. If the system language - is one of the supported languages, it is automatically selected. To + \QC has several language versions. If the system language + is one of the supported languages, \QC selects it automatically. To change the language, select \uicontrol Edit > \uicontrol Preferences > \uicontrol Environment and select a language in the \uicontrol Language field. Select \uicontrol {Restart Now} to restart \QC and have the change @@ -156,16 +153,16 @@ \section1 High DPI Scaling - The operating systems supported by \QC implement high dots-per-inch (DPI) + The operating systems that \QC supports implement high dots-per-inch (DPI) scaling at varying levels. Therefore, \QC handles high DPI scaling differently on different operating systems: \list - \li On \macos, high DPI scaling is forced, which means that \QC allows + \li On \macos, \QC forces high DPI scaling, which means that it allows Qt to use the system scaling factor as the \QC scaling factor. - \li On Windows, if no \l{High DPI}{scaling environment variables} are - set, \QC instructs Qt to detect the scaling factor and use it for - \QC. + \li On Windows, if you do not set \l{High DPI} + {scaling environment variables}, \QC instructs Qt to detect the + scaling factor and use it as the \QC scaling factor. \li On Linux, \QC leaves it to the user to enable high DPI scaling because the process varies so much on different distributions and windowing systems that it cannot be reliably done automatically. @@ -257,14 +254,14 @@ \list - \li On Linux and other Unix platforms, the files are located in + \li On Linux and other Unix platforms, look in \c {~/.config/QtProject} and \c {~/.local/share/data/QtProject/qtcreator}. - \li On \macos, the files are located in \c {~/.config/QtProject} and + \li On \macos, look in \c {~/.config/QtProject} and \c {~/Library/Application Support/QtProject/Qt Creator}. - \li On Windows, the files are located in + \li On Windows, look in \c {%appdata%\QtProject} and \c {%localappdata%\QtProject}. \endlist @@ -288,8 +285,8 @@ \if defined(qtcreator) The mode selector allows you to quickly switch between tasks such as editing - project and source files, designing application UIs, configuring how - projects are built and executed, and debugging your applications. To change + project and source files, designing application UIs, configuring projects for + building and running, and debugging your applications. To change modes, click the icons, or use the \l{keyboard-shortcuts} {corresponding keyboard shortcut}. @@ -533,7 +530,7 @@ To jump from one issue to the next or previous one, press \key F6 and \key Shift+F6. - By default, the \uicontrol Issues view is cleared on a new build. To keep + By default, a new build clears the \uicontrol Issues view. To keep the issues from the previous build rounds, deselect \uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run} > \uicontrol General > \uicontrol {Clear issues list on new build}. @@ -545,8 +542,8 @@ \image qtcreator-search-results.png "Search Results" - The search results are stored in the search history (1) from which you can - select earlier searches. + The search history (1) stores the search results. You can select earlier + searches from the history. The figure below shows an example search result for all occurrences of the search string in the specified directory. @@ -559,7 +556,7 @@ \section1 Application Output \uicontrol{Application Output} displays the status of a program when - it is executed, and the debug output. + you execute it, and the debug output. \image qtcreator-application-output.png diff --git a/doc/qtcreator/src/user-interface/creator-views.qdoc b/doc/qtcreator/src/user-interface/creator-views.qdoc index f683788713d..5b709cd7687 100644 --- a/doc/qtcreator/src/user-interface/creator-views.qdoc +++ b/doc/qtcreator/src/user-interface/creator-views.qdoc @@ -22,7 +22,7 @@ {mode} you are working in. Only views that are relevant to a mode are available in it. - The following views are related to managing projects and files: + Manage projects and files in the following views: \list \li \l Projects shows a list of projects open in the current @@ -49,8 +49,8 @@ tests in the project. \li \l{Viewing Type Hierarchy}{Type Hierarchy} shows the base classes of a class. - \li \l{Viewing Include Hierarchy}{Include Hierarchy} shows which - files are included in the current file and which files include + \li \l{Viewing Include Hierarchy}{Include Hierarchy} shows the + files that the current file includes and those that include the current file. \endlist \else @@ -58,8 +58,7 @@ files in the \uicontrol Design mode, see \l{Design Views}. \endif - The additional options in a particular view are described in the following - sections. + The following sections describe the additional options in a particular view. In some views, right-clicking opens a context menu that contains functions for managing the objects listed in the view. @@ -109,21 +108,21 @@ To navigate in the type hierarchy, double-click a class or select it, and then select \uicontrol {Open Type Hierarchy} in the context menu. - The previous class is highlighted in the view. + The view highlights the previous class. - The definition of the selected class is opened in the code editor. You + The definition of the selected class opens in the code editor. You can also select \uicontrol {Open in Editor} in the context menu to open it. \section1 Viewing Include Hierarchy - To view which files are included in the current file and which files include + To view the files that the current file includes and those that include the current file, right-click in the editor and select \uicontrol {Open Include Hierarchy} or press \key {Ctrl+Shift+I}. \image qtcreator-include-hierarchy-view.png "Include Hierarchy view" - To keep the view synchronized with the file currently opened in the editor, + To keep the view synchronized with the file currently open in the editor, select \inlineimage icons/linkicon.png (\uicontrol {Synchronize with Editor}). */ diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc index a7f24e0484f..23df8528b30 100644 --- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc +++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-perforce.qdoc @@ -17,10 +17,15 @@ Perforce is a fast software configuration management system developed by Perforce Software. - Since \QC 4.9, the Perforce plugin is disabled by default. To enable - it, select \uicontrol Help > \uicontrol {About Plugins} > - \uicontrol {Version Control} > \uicontrol Perforce. Then select - \uicontrol {Restart Now} to restart \QC and load the plugin. + \section1 Enabling the Perforce Plugin + + To enable the Perforce plugin: + + \list 1 + \li Select \uicontrol Help > \uicontrol {About Plugins} > + \uicontrol {Version Control} > \uicontrol Perforce. + \li Select \uicontrol {Restart Now} to restart \QC and load the plugin. + \endlist \section1 Configuring Perforce @@ -29,8 +34,8 @@ specify the details individually for several projects, use configuration files instead. Create a \c {p4config.txt} configuration file for each project in the top level project directory, and run - \c{p4 set P4CONFIG=p4config.txt} once. Note that - \uicontrol {Environment Variables} must be unchecked. + \c{p4 set P4CONFIG=p4config.txt} once. You must deselect the + \uicontrol {Environment Variables} check box. \section1 Editing Files @@ -52,8 +57,8 @@ To view information about changelists and the files in them, select \uicontrol Tools > \uicontrol Perforce > \uicontrol Describe. - By default, you are prompted to confirm that you want to submit changes. - To suppress the prompt, select \uicontrol Edit > \uicontrol Preferences > + By default, you must confirm that you want to submit changes. To suppress + the confirmation prompt, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Perforce, and then deselect the \uicontrol {Prompt on submit} check box. */ diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc index e817b483c24..320666cb3a3 100644 --- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc +++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-subversion.qdoc @@ -21,8 +21,8 @@ \uicontrol Subversion > \uicontrol Describe to display commit log messages for a revision. - By default, you are prompted to confirm that you want to submit changes. - To suppress the prompt, select \uicontrol Edit > \uicontrol Preferences > + By default, you must confirm that you want to submit changes. To suppress the + confirmation prompt, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Version Control} > \uicontrol Subversion, and then deselect the \uicontrol {Prompt on submit} check box. diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc index 7f59ee1b28a..c935dfbc2d0 100644 --- a/doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc +++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs.qdoc @@ -173,7 +173,7 @@ Once you have finished making changes, submit them to the version control system by choosing \uicontrol{Commit} or \uicontrol{Submit}. \QC displays a commit page containing a text editor where you can enter your commit - message and a checkable list of modified files to be included. + message and a checkable list of modified files to include. \section2 Reverting Changes diff --git a/doc/qtcreator/src/vcs/creator-vcs-git.qdoc b/doc/qtcreator/src/vcs/creator-vcs-git.qdoc index 46b2629f6e8..8267c8e0422 100644 --- a/doc/qtcreator/src/vcs/creator-vcs-git.qdoc +++ b/doc/qtcreator/src/vcs/creator-vcs-git.qdoc @@ -62,8 +62,8 @@ \image qtcreator-vcs-diff.png - The diff is displayed side-by-side in a \l{Comparing Files}{diff editor} - by default. To use the unified diff view instead, select the + The \l{Comparing Files}{diff editor} displays the diff side-by-side. To use + the unified diff view instead, select the \uicontrol {Switch to Unified Diff Editor} (1) option from the toolbar. In both views, you can use context menu commands to apply, revert, stage, and unstage chunks or selected lines, as well as send chunks to a code @@ -125,7 +125,7 @@ The other actions in the context-menu enable you to apply actions to the commit, such as cherry-pick, checkout, or revert it. - To rescan the files, click \inlineimage icons/reload_gray.png + To rescan the files, select \inlineimage icons/reload_gray.png (\uicontrol Reload). \section2 Staging Changes @@ -136,7 +136,7 @@ \section2 Resetting Changes - Git has an index that is used to stage changes. The index is committed on + Git uses an index to stage changes. The index is committed on the next commit. Git allows you to revert back to the state of the last commit as well as to the state staged in the index. @@ -158,9 +158,8 @@ To clean the working directory, select \uicontrol {Build Project} > \uicontrol {Clean}. All files that are not under version control are displayed in - the \uicontrol {Clean Repository} dialog. Ignored files are - deselected by default. Select the files to delete and click - \uicontrol Delete. + the \uicontrol {Clean Repository} dialog. Ignored files are deselected by + default. Select the files to delete, and then select \uicontrol Delete. \section1 Working with Local Repositories @@ -185,7 +184,7 @@ To submit your changes to Git, select \uicontrol Commit. \QC displays a commit page containing a text editor where you can enter your commit - message and a checkable list of modified files to be included. + message and a checkable list of modified files to include. \image qtcreator-vcs-commit.png "Committing changes with Git" @@ -194,7 +193,7 @@ In \uicontrol {Commit Information}, you can edit information about the author of the commit. To bypass re-commit and commit message hooks, - select \uicontrol {Bypass hooks}. If signoffs are used for your project, + select \uicontrol {Bypass hooks}. If your project uses signoffs, select \uicontrol {Sign off} to add a \e signed-off-by trailer by the author at the end of the commit log message. @@ -202,7 +201,7 @@ In \uicontrol Files, select the files to include in the commit. - When you have finished filling out the commit page information, click on + When you have finished filling out the commit page information, select \uicontrol Commit to start committing. The \uicontrol {Diff Selected Files} button opens a \l{Viewing Git Diff} @@ -236,7 +235,7 @@ To amend an earlier comment in a series of related commits, select \uicontrol Tools > \uicontrol Git > \uicontrol {Local Repository} > - \uicontrol {Fixup Previous Commit}. This operation is done using interactive + \uicontrol {Fixup Previous Commit}. This operation uses interactive rebase. In case of conflicts, a merge tool is suggested. \section2 Resetting Local Repository @@ -265,9 +264,9 @@ \section2 Working with Branches - To work with Git branches, select \uicontrol {Branches}. The checked out - branch is shown in bold and underlined in the list of branches in the - \uicontrol {Git Branches} sidebar view. + To work with Git branches, select \uicontrol {Branches}. The + \uicontrol {Git Branches} sidebar view shows the checked out + branch in bold and underlined in the list of branches. \image qtcreator-vcs-gitbranch.png "Git Branches sidebar view" @@ -283,13 +282,13 @@ If you checked out a specific commit, the list of branches displays a \e {Detached HEAD} entry. - For local and remote branches, the changes log can be shown by double - clicking on the branch name. + For local and remote branches, double-click the branch name to view the + change log. - To refresh the list of branches, click \inlineimage icons/reload_gray.png + To refresh the list of branches, select \inlineimage icons/reload_gray.png (\uicontrol Refresh). - The following operations are supported in the context-menu for a branch: + The context menu for a branch contains the following functions: \table \header @@ -347,9 +346,9 @@ \li Push the committed changes to the selected remote branch. \endtable - The following additional context-menu operations are available for - \uicontrol{Remote Branches}. The context-menu can be opened on - \uicontrol{Remote Branches} or on a specific remote repository. + The context menu for a remote branch contains the following additional + functions. To open it, select \uicontrol{Remote Branches} or a remote + repository. \table \header @@ -378,7 +377,7 @@ \section2 Applying Patches - Patches are rewriting instructions that can be applied to a set of files. + Patches are rewriting instructions that Git can apply to a set of files. To apply a patch file that is open in \QC, select \uicontrol Patch > \uicontrol {Apply from Editor}. @@ -444,8 +443,8 @@ To start controlling a project directory that is currently not under version control, select \uicontrol Tools > \uicontrol Git > \uicontrol {Create Repository}. \QC creates a new subdirectory named .git - that contains all the necessary repository files. However, nothing in the - project is tracked yet, so you will need to create an initial commit to + that contains all the necessary repository files. However, Git does not track + anyhing in the project yet, so you will need to create an initial commit to start tracking the project files. \section1 Working with Remote Repositories diff --git a/doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc b/doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc index 1d76b5f5e17..56b0cea0bfb 100644 --- a/doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc +++ b/doc/qtcreator/src/widgets/qtdesigner-app-tutorial.qdoc @@ -16,8 +16,8 @@ This tutorial describes how to use \QC to create a small Qt application, Text Finder. It is a simplified version of the Qt UI Tools \l{Text Finder - Example}. The application user interface is constructed from Qt widgets by - using \QD. The application logic is written in C++ by using the code editor. + Example}. We use \QD to construct the application user interface from + Qt widgets and the code editor to write the application logic in C++. \image qtcreator-textfinder-screenshot.png @@ -91,8 +91,8 @@ \endlist - \note The project opens in the \uicontrol Edit mode, and these instructions are - hidden. To return to these instructions, open the \uicontrol Help mode. + \note The project opens in the \uicontrol Edit mode, which hides these + instructions. To return to these instructions, open the \uicontrol Help mode. The TextFinder project now contains the following files: @@ -187,9 +187,9 @@ \li Select \uicontrol {Go to Slot} > \uicontrol {clicked()}, and then select \uicontrol OK. - A private slot, \c{on_findButton_clicked()}, is added to the + This adds a private slot, \c{on_findButton_clicked()}, to the header file, textfinder.h and a private function, - \c{TextFinder::on_findButton_clicked()}, is added to the + \c{TextFinder::on_findButton_clicked()}, to the source file, textfinder.cpp. \endlist @@ -214,8 +214,7 @@ \c{textfinder.h} file to open it for editing. \li Add a private function to the \c{private} section, after the - \c{Ui::TextFinder} pointer, as illustrated by the following code - snippet: + \c{Ui::TextFinder} pointer: \snippet textfinder/textfinder.h 0 @@ -233,8 +232,7 @@ \li Add code to load a text file using QFile, read it with QTextStream, and then display it on \c{textEdit} with - \l{QTextEdit::setPlainText()}. - This is illustrated by the following code snippet: + \l{QTextEdit::setPlainText()}: \snippet textfinder/textfinder.cpp 0 @@ -245,21 +243,18 @@ \li For the \c{on_findButton_clicked()} slot, add code to extract the search string and use the \l{QTextEdit::find()} function - to look for the search string within the text file. This is - illustrated by the following code snippet: + to look for the search string within the text file: \snippet textfinder/textfinder.cpp 2 - \li Once both of these functions are complete, add a line to call - \c{loadTextFile()} in the constructor, as illustrated by the - following code snippet: + \li Add a line to call \c{loadTextFile()} in the constructor: \snippet textfinder/textfinder.cpp 3 \endlist - The \c{on_findButton_clicked()} slot is called automatically in - the uic generated ui_textfinder.h file by this line of code: + The following line of code automatically calls the \c{on_findButton_clicked()} + slot in the uic generated ui_textfinder.h file: \code QMetaObject::connectSlotsByName(TextFinder); From 60bc856a20b0fa2bbc62af5c04afc38193b0c926 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Fri, 11 Nov 2022 10:22:24 +0100 Subject: [PATCH 05/19] Doc: Describe move detection and hiding date in Git Blame view Task-number: QTCREATORBUG-27876 Change-Id: Ibf93af9dfcd621bf66ddcf84cbae5d5baa963635 Reviewed-by: Orgad Shaneh --- doc/qtcreator/images/qtcreator-git-blame.webp | Bin 0 -> 16576 bytes doc/qtcreator/src/vcs/creator-vcs-git.qdoc | 17 ++++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 doc/qtcreator/images/qtcreator-git-blame.webp diff --git a/doc/qtcreator/images/qtcreator-git-blame.webp b/doc/qtcreator/images/qtcreator-git-blame.webp new file mode 100644 index 0000000000000000000000000000000000000000..d6fe05128669dba2f82e63821b1cbcf82ef1a40b GIT binary patch literal 16576 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 literal 0 HcmV?d00001 diff --git a/doc/qtcreator/src/vcs/creator-vcs-git.qdoc b/doc/qtcreator/src/vcs/creator-vcs-git.qdoc index 8267c8e0422..ad40677abbf 100644 --- a/doc/qtcreator/src/vcs/creator-vcs-git.qdoc +++ b/doc/qtcreator/src/vcs/creator-vcs-git.qdoc @@ -113,15 +113,26 @@ \section2 Viewing Annotations - To view annotations, select \uicontrol{Blame}. The view displays the lines - of the file prepended by the commit identifier they originate from. Clicking - on the commit identifier shows a detailed description of the change. + To view annotations, select \uicontrol {Blame}. The \uicontrol {Git Blame} + view displays the lines of the file prepended by the commit identifier they + originate from. + + \image qtcreator-git-blame.webp "Git Blame view" + + Click the commit identifier to show a detailed description of the change. To show the annotation of a previous version, right-click on the commit identifier and select \uicontrol {Blame Parent Revision}. This allows you to navigate through the history of the file and obtain previous versions of it. + To view moved or copied lines within a file or between files, select + \uicontrol {Detect Moves Within File}, \uicontrol {Detect Moves Between Files}, + or \uicontrol {Detect Moves and Copies Between Files}. + + To hide the date and time information in the view, select + \uicontrol {Omit Date}. + The other actions in the context-menu enable you to apply actions to the commit, such as cherry-pick, checkout, or revert it. From cc196096e72b9bccf1f13d917cdc7d597260e6b5 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 11 Nov 2022 10:53:23 +0100 Subject: [PATCH 06/19] Editor: Fix relative line spacing Amends 26bb95331b4cda149c862770f9a92339dfc8dd1b Fixes: QTCREATORBUG-28438 Change-Id: I824ca3cea5578bcc0bd72bc30108f717d7194e83 Reviewed-by: Christian Stenger --- src/plugins/texteditor/fontsettings.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/texteditor/fontsettings.cpp b/src/plugins/texteditor/fontsettings.cpp index c1d76945fca..9f215e8a506 100644 --- a/src/plugins/texteditor/fontsettings.cpp +++ b/src/plugins/texteditor/fontsettings.cpp @@ -336,7 +336,7 @@ qreal FontSettings::lineSpacing() const currentFont.setPointSize(m_fontSize * m_fontZoom / 100); qreal spacing = QFontMetricsF(currentFont).lineSpacing(); if (m_lineSpacing != 100) - spacing *= 100 / m_lineSpacing; + spacing *= qreal(m_lineSpacing) / 100; return spacing; } From 574d64436a1f81c200c42cac147145148d6fc9d7 Mon Sep 17 00:00:00 2001 From: David Schulz Date: Fri, 11 Nov 2022 08:08:14 +0100 Subject: [PATCH 07/19] ClangCodeModel: fix memory leak amends 45317da25a3ff4872c193fc59e6f8576fbb477ed Change-Id: I27d3332f1a99676c174f18ff06d0cf0cea396b70 Reviewed-by: Christian Kandeler --- src/plugins/clangcodemodel/clangdcompletion.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/plugins/clangcodemodel/clangdcompletion.cpp b/src/plugins/clangcodemodel/clangdcompletion.cpp index 36dbb16009d..7fc5948fc62 100644 --- a/src/plugins/clangcodemodel/clangdcompletion.cpp +++ b/src/plugins/clangcodemodel/clangdcompletion.cpp @@ -152,7 +152,11 @@ IAssistProcessor *ClangdCompletionAssistProvider::createProcessor( if (contextAnalyzer.completionAction() != ClangCompletionContextAnalyzer::CompleteIncludePath) { class NoOpProcessor : public IAssistProcessor { - IAssistProposal *perform(const AssistInterface *) override { return nullptr; } + IAssistProposal *perform(const AssistInterface *interface) override + { + delete interface; + return nullptr; + } }; return new NoOpProcessor; } From 3922ee3c720b21181a75948c039e636a0472a51d Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Fri, 11 Nov 2022 12:49:31 +0100 Subject: [PATCH 08/19] Bump version to 9.0.0 Change-Id: I9975d78fc4d9f263702e7f031083ab4847269fc3 Reviewed-by: David Schulz --- cmake/QtCreatorIDEBranding.cmake | 6 +++--- qbs/modules/qtc/qtc.qbs | 10 +++++----- qtcreator_ide_branding.pri | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake index f818306d15e..3e5a9a6d8c6 100644 --- a/cmake/QtCreatorIDEBranding.cmake +++ b/cmake/QtCreatorIDEBranding.cmake @@ -1,6 +1,6 @@ -set(IDE_VERSION "8.0.84") # The IDE version. -set(IDE_VERSION_COMPAT "8.0.84") # The IDE Compatibility version. -set(IDE_VERSION_DISPLAY "9.0.0-rc1") # The IDE display version. +set(IDE_VERSION "9.0.0") # The IDE version. +set(IDE_VERSION_COMPAT "9.0.0") # The IDE Compatibility version. +set(IDE_VERSION_DISPLAY "9.0.0") # The IDE display version. set(IDE_COPYRIGHT_YEAR "2022") # The IDE current copyright year. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index 0d65a96b392..0acfbe4412e 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -6,16 +6,16 @@ import qbs.Utilities Module { Depends { name: "cpp"; required: false } - property string qtcreator_display_version: '9.0.0-rc1' - property string ide_version_major: '8' + property string qtcreator_display_version: '9.0.0' + property string ide_version_major: '9' property string ide_version_minor: '0' - property string ide_version_release: '84' + property string ide_version_release: '0' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release - property string ide_compat_version_major: '8' + property string ide_compat_version_major: '9' property string ide_compat_version_minor: '0' - property string ide_compat_version_release: '84' + property string ide_compat_version_release: '0' property string qtcreator_compat_version: ide_compat_version_major + '.' + ide_compat_version_minor + '.' + ide_compat_version_release diff --git a/qtcreator_ide_branding.pri b/qtcreator_ide_branding.pri index ffc9123ae78..995bb15f623 100644 --- a/qtcreator_ide_branding.pri +++ b/qtcreator_ide_branding.pri @@ -1,6 +1,6 @@ -QTCREATOR_VERSION = 8.0.84 -QTCREATOR_COMPAT_VERSION = 8.0.84 -QTCREATOR_DISPLAY_VERSION = 9.0.0-rc1 +QTCREATOR_VERSION = 9.0.0 +QTCREATOR_COMPAT_VERSION = 9.0.0 +QTCREATOR_DISPLAY_VERSION = 9.0.0 QTCREATOR_COPYRIGHT_YEAR = 2022 IDE_DISPLAY_NAME = Qt Creator From b55c10f189f5034bfbe63e8df3195ab9fb81725e Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 11 Nov 2022 12:50:59 +0100 Subject: [PATCH 09/19] Squish: Fix object map handling on Windows Ensure we are using UTF8 all over the place especially when using external tools and their stdin or stdout streams. This fixes bad encoding issues on Windows when having unicode characters inside the objects map file. Change-Id: Ic8e66a876abe0903308002cd25315b1eaa3788b1 Reviewed-by: David Schulz --- src/plugins/squish/objectsmapdocument.cpp | 11 ++++++----- src/plugins/squish/objectsmapeditorwidget.cpp | 2 +- src/plugins/squish/objectsmaptreeitem.cpp | 15 ++++++++------- src/plugins/squish/squish.qbs | 1 + 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/src/plugins/squish/objectsmapdocument.cpp b/src/plugins/squish/objectsmapdocument.cpp index 32d0804efa2..0d277900d6b 100644 --- a/src/plugins/squish/objectsmapdocument.cpp +++ b/src/plugins/squish/objectsmapdocument.cpp @@ -12,7 +12,7 @@ #include #include -#include +#include namespace Squish { namespace Internal { @@ -187,13 +187,13 @@ Core::IDocument::OpenResult ObjectsMapDocument::openImpl(QString *error, if (fileName.isEmpty()) return OpenResult::CannotHandle; - QString text; + QByteArray text; if (realFileName.fileName() == "objects.map") { Utils::FileReader reader; if (!reader.fetch(realFileName, QIODevice::Text, error)) return OpenResult::ReadError; - text = QString::fromLocal8Bit(reader.data()); + text = reader.data(); } else { const Utils::FilePath base = SquishPlugin::squishSettings()->squishPath.filePath(); if (base.isEmpty()) { @@ -212,11 +212,12 @@ Core::IDocument::OpenResult ObjectsMapDocument::openImpl(QString *error, Utils::QtcProcess objectMapReader; objectMapReader.setCommand({exe, {"--scriptMap", "--mode", "read", "--scriptedObjectMapPath", realFileName.toUserOutput()}}); + objectMapReader.setCodec(QTextCodec::codecForName("UTF-8")); objectMapReader.start(); objectMapReader.waitForFinished(); - text = objectMapReader.cleanedStdOut(); + text = objectMapReader.cleanedStdOut().toUtf8(); } - if (!setContents(text.toUtf8())) { + if (!setContents(text)) { if (error) error->append(Tr::tr("Failure while parsing objects.map content.")); return OpenResult::ReadError; diff --git a/src/plugins/squish/objectsmapeditorwidget.cpp b/src/plugins/squish/objectsmapeditorwidget.cpp index dd981124b91..50f92e46242 100644 --- a/src/plugins/squish/objectsmapeditorwidget.cpp +++ b/src/plugins/squish/objectsmapeditorwidget.cpp @@ -346,7 +346,7 @@ void ObjectsMapEditorWidget::onPropertiesContentModified(const QString &text) const QModelIndex &idx = m_objMapFilterModel->mapToSource(selected.first()); if (auto item = static_cast(m_document->model()->itemForIndex(idx))) - item->setPropertiesContent(text.toLocal8Bit().trimmed()); + item->setPropertiesContent(text.toUtf8().trimmed()); } void ObjectsMapEditorWidget::onJumpToSymbolicNameClicked() diff --git a/src/plugins/squish/objectsmaptreeitem.cpp b/src/plugins/squish/objectsmaptreeitem.cpp index 4338181be3b..79c0c27eaea 100644 --- a/src/plugins/squish/objectsmaptreeitem.cpp +++ b/src/plugins/squish/objectsmaptreeitem.cpp @@ -130,19 +130,20 @@ bool ObjectsMapTreeItem::parseProperties(const QByteArray &properties) if (properties.isEmpty() || properties.at(0) != '{') return false; + QString p = QString::fromUtf8(properties); ParseState state = None; - QByteArray name; - QByteArray value; - QByteArray oper; + QString name; + QString value; + QString oper; bool masquerading = false; - for (char c : properties) { + for (QChar c : p) { if (masquerading) { value.append('\\').append(c); masquerading = false; continue; } - switch (c) { + switch (c.unicode()) { case '=': if (state == Value) { value.append(c); @@ -172,7 +173,7 @@ bool ObjectsMapTreeItem::parseProperties(const QByteArray &properties) } else if (state == Value) { state = None; Property prop; - if (!prop.set(QLatin1String(name), QLatin1String(oper), QLatin1String(value))) { + if (!prop.set(name, oper, value)) { propertyRoot->removeChildren(); return false; } @@ -214,7 +215,7 @@ bool ObjectsMapTreeItem::parseProperties(const QByteArray &properties) } break; default: - if (QChar::isSpace(c)) { + if (c.isSpace()) { if (state == Value) { value.append(c); } else if (state == Name) { diff --git a/src/plugins/squish/squish.qbs b/src/plugins/squish/squish.qbs index c0026e7e562..4c74c6466fc 100644 --- a/src/plugins/squish/squish.qbs +++ b/src/plugins/squish/squish.qbs @@ -10,6 +10,7 @@ QtcPlugin { Depends { name: "Utils" } Depends { name: "Qt.widgets" } + Depends { name: "Qt.core5compat" } files: [ "deletesymbolicnamedialog.cpp", From 47353584f92fe9952e27b7ebb58d684b67ace5ef Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 11 Nov 2022 13:40:17 +0100 Subject: [PATCH 10/19] Squish: Fix adding object by copy and paste Pasting an object should directly add the object at the right branch of the tree if necessary. So, in case of having a container or widget property the new item has to be added as a child of this. Change-Id: I0d7398eec8ae7b5bf6414a525e695d52b13b1113 Reviewed-by: David Schulz --- src/plugins/squish/objectsmaptreeitem.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/squish/objectsmaptreeitem.cpp b/src/plugins/squish/objectsmaptreeitem.cpp index 79c0c27eaea..00eaa041e56 100644 --- a/src/plugins/squish/objectsmaptreeitem.cpp +++ b/src/plugins/squish/objectsmaptreeitem.cpp @@ -284,7 +284,14 @@ void ObjectsMapModel::addNewObject(ObjectsMapTreeItem *item) QTC_ASSERT(item, return ); QTC_ASSERT(rootItem(), return ); - rootItem()->appendChild(item); + auto parentItem = rootItem(); + const QString parentName = item->parentName(); + if (!parentName.isEmpty()) { + if (auto found = findItem(parentName)) + parentItem = found; + } + + parentItem->appendChild(item); emit modelChanged(); } From a44bd1643b0d67254b6f2ffb2d25743fbf815cb8 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 11 Nov 2022 14:15:26 +0100 Subject: [PATCH 11/19] Squish: Fix creating test cases Change-Id: Iad0e20a213d0a45a2b7d8a43d18d320e02949179 Reviewed-by: David Schulz --- src/plugins/squish/squishtesttreeview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/squish/squishtesttreeview.cpp b/src/plugins/squish/squishtesttreeview.cpp index a2745882ff7..225fe1c86a3 100644 --- a/src/plugins/squish/squishtesttreeview.cpp +++ b/src/plugins/squish/squishtesttreeview.cpp @@ -178,7 +178,7 @@ static bool copyScriptTemplates(const SuiteConf &suiteConf, const Utils::FilePat const Utils::FilePath scripts = s->scriptsPath(suiteConf.language()); const Utils::FilePath test = scripts.pathAppended(testStr + extension); const Utils::FilePath testFile = destination.pathAppended("test" + extension); - QTC_ASSERT(testFile.exists(), return false); + QTC_ASSERT(!testFile.exists(), return false); ok = test.copyFile(testFile); QTC_ASSERT(ok, return false); From a6774dbad58bc50a5f69c2741ed2c6464fa2894a Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 11 Nov 2022 15:25:39 +0100 Subject: [PATCH 12/19] Tests: Fix dumper tests on macOS Change-Id: I7827245017c285ff7c9eb4799a7b340061f3c4af Reviewed-by: hjk --- tests/auto/debugger/tst_dumpers.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp index a65f2158ea7..39ec743104c 100644 --- a/tests/auto/debugger/tst_dumpers.cpp +++ b/tests/auto/debugger/tst_dumpers.cpp @@ -1849,7 +1849,7 @@ void tst_Dumpers::dumper() } else if (m_debuggerEngine == LldbEngine) { //qCDebug(lcDumpers).noquote() << "GOT OUTPUT: " << output; - int pos = output.indexOf("data=[{"); + int pos = output.indexOf("data=["); QVERIFY(pos != -1); output = output.mid(pos); contents = output; From 8dd939bb2787ad3151cbf3345b30732477987353 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 11 Nov 2022 14:54:32 +0100 Subject: [PATCH 13/19] Vcs: Do not expose passwords to the output windows Partially reverts bbde6ac9bf1ac3cee0d87ff526783fd9a50c91a7 and 3be9f52980c11ee89dfe3cd9c8fdcdbe01180188. Fixes: QTCREATORBUG-28413 Change-Id: Iccfb787a5261f3963e862554fa266d62ac49ca50 Reviewed-by: Orgad Shaneh Reviewed-by: hjk --- src/plugins/vcsbase/vcsoutputwindow.cpp | 31 +++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/src/plugins/vcsbase/vcsoutputwindow.cpp b/src/plugins/vcsbase/vcsoutputwindow.cpp index e0c7c3b5568..aa2df5981a9 100644 --- a/src/plugins/vcsbase/vcsoutputwindow.cpp +++ b/src/plugins/vcsbase/vcsoutputwindow.cpp @@ -414,11 +414,38 @@ void VcsOutputWindow::appendWarning(const QString &text) append(text + '\n', Warning, false); } +// Helper to format arguments for log windows hiding common password options. +static inline QString formatArguments(const QStringList &args) +{ + const char passwordOptionC[] = "--password"; + QString rc; + QTextStream str(&rc); + const int size = args.size(); + // Skip authentication options + for (int i = 0; i < size; i++) { + const QString arg = filterPasswordFromUrls(args.at(i)); + if (i) + str << ' '; + if (arg.startsWith(QString::fromLatin1(passwordOptionC) + '=')) { + str << ProcessArgs::quoteArg("--password=********"); + continue; + } + str << ProcessArgs::quoteArg(arg); + if (arg == passwordOptionC) { + str << ' ' << ProcessArgs::quoteArg("********"); + i++; + } + } + return rc; +} + QString VcsOutputWindow::msgExecutionLogEntry(const FilePath &workingDir, const CommandLine &command) { + const QString maskedCmdline = ProcessArgs::quoteArg(command.executable().toUserOutput()) + + ' ' + formatArguments(command.splitArguments()); if (workingDir.isEmpty()) - return tr("Running: %1").arg(command.toUserOutput()) + '\n'; - return tr("Running in %1: %2").arg(workingDir.toUserOutput(), command.toUserOutput()) + '\n'; + return tr("Running: %1").arg(maskedCmdline) + '\n'; + return tr("Running in %1: %2").arg(workingDir.toUserOutput(), maskedCmdline) + '\n'; } void VcsOutputWindow::appendShellCommandLine(const QString &text) From f8792dc9e6c09c32e6d49f23a98d6656fd94518c Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Wed, 2 Nov 2022 13:59:12 +0100 Subject: [PATCH 14/19] German translation: ProjectExplorer Change-Id: I1b069aea0a6d12c1cd2cee6a0d3b4febc7da8331 Reviewed-by: Christian Stenger --- share/qtcreator/translations/qtcreator_de.ts | 570 ++++++++++--------- 1 file changed, 290 insertions(+), 280 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 1e5128d39a4..c5232c377fb 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -10244,7 +10244,7 @@ Leer lassen, um das Dateisystem zu durchsuchen. Could not start process "%1" %2. - Der Prozess "%1" %2. konnte nicht gestartet werden {1"?} + Der Prozess "%1" %2 konnte nicht gestartet werden. @@ -10270,7 +10270,7 @@ Leer lassen, um das Dateisystem zu durchsuchen. The build device failed to prepare for the build of %1 (%2). - + Das Build-Gerät konnte nicht für das Erstellen von %1 (%2) vorbereitet werden. Compile @@ -10392,11 +10392,11 @@ Leer lassen, um das Dateisystem zu durchsuchen. Append <b>%2</b> to <a href="%1"><b>%1</b></a> - + Füge <b>%2</b> zu <a href="%1"><b>%1</b></a> hinzu Prepend <b>%2</b> to <a href="%1"><b>%1</b></a> - + Füge <b>%2</b> am Anfang von <a href="%1"><b>%1</b></a> hinzu Set <a href="%1"><b>%1</b></a> to <b>%2</b> [disabled] @@ -10433,7 +10433,7 @@ Leer lassen, um das Dateisystem zu durchsuchen. Matches all files of all open projects. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - + Filtert alle Dateien aus allen geöffneten Projekten. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen. @@ -10539,15 +10539,15 @@ Außer: %2 Show Compile &Output - + Ausgabe der &Kompilierung zeigen Show the output that generated this issue in Compile Output. - + Zeige das Problem in der Ausgabe der Kompilierung. O - O + K @@ -10558,7 +10558,7 @@ Außer: %2 Matches all files from the current document's project. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - + Filtert alle Dateien aus dem Projekt des aktuellen Dokuments. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen. @@ -10630,7 +10630,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. Hide Source and Header Groups - + Source- und Headergruppen ausblenden Synchronize with Editor @@ -10638,7 +10638,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. Filter Tree - Baum filtern + Baum filtern @@ -10726,7 +10726,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. Manage... - Verwalten... + Verwalten... Sessions @@ -10741,7 +10741,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. ProjectExplorer::Internal::ProjectWizardPage Add to &version control: - Unter &Versionskontrolle stellen: + Unter &Versionskontrolle stellen: Summary @@ -11092,39 +11092,39 @@ Möchten Sie sie ignorieren? Build for &Run Configuration - + Für &Ausführungskonfiguration erstellen Build for &Run Configuration "%1" - + Für &Ausführungskonfiguration "%1" erstellen Add New... - Hinzufügen... + Hinzufügen... Close Other Projects - + Andere Projekte schließen Close All Projects Except "%1" - + Alle Projekte außer "%1" schließen Remove... - Entfernen... + Entfernen... Rename... - Umbenennen... + Umbenennen... Main file of the project the current document belongs to. - + Hauptdatei des Projekts, zu dem das aktuelle Dokument gehört. The name of the project the current document belongs to. - + Der Name des Projekts, zu dem das aktuelle Dokument gehört. Adding Files to Project Failed @@ -11292,43 +11292,43 @@ Bitte versuchen Sie es erneut. The name of the active project. - + Der Name des aktiven Projekts. Active project's main file. - + Hauptdatei des aktiven Projekts. The type of the active project's active build configuration. - + Der Typ der aktiven Build-Konfiguration des aktiven Projekts. Full build path of the active project's active build configuration. - + Vollständiger Pfad der aktiven Build-Konfiguration des aktiven Projekts. Active build environment of the active project. - + Aktive Build-Umgebung des aktiven Projekts. Name of the active project's active run configuration. - + Name der aktiven Ausführungskonfiguration des aktiven Projekts. The executable of the active project's active run configuration. - + Die ausführbare Datei der aktiven Ausführungskonfiguration des aktiven Projekts. Active run environment of the active project. - + Aktive Ausführungsumgebung des aktiven Projekts. Variables in the environment of the active project's active run configuration. - + Variablen in der Umgebung der aktiven Ausführungskonfiguration des aktiven Projekts. The working directory of the active project's active run configuration. - + Das Arbeitsverzeichnis der aktiven Ausführungskonfiguration des aktiven Projekts. Load Project @@ -11337,7 +11337,7 @@ Bitte versuchen Sie es erneut. Sanitizer Category for sanitizer issues listed under 'Issues' - + Sanitizer Parse Build Output... @@ -11358,19 +11358,19 @@ Bitte versuchen Sie es erneut. Open Project in "%1" - Projekt in "%1" öffnen + Projekt in "%1" öffnen Open Project "%1" - Projekt "%1" öffnen + Projekt "%1" öffnen The file "%1" was renamed to "%2", but the following projects could not be automatically changed: %3 - Die Datei "%1" wurde in "%2" umbenannt, aber die folgenden Projekte konnten nicht automatisch geändert werden: %3 + Die Datei "%1" wurde in "%2" umbenannt, aber die folgenden Projekte konnten nicht automatisch geändert werden: %3 The following projects failed to automatically remove the file: %1 - Die folgenden Projekte konnten die Datei nicht automatisch entfernen: %1 + Die folgenden Projekte konnten die Datei nicht automatisch entfernen: %1 No project loaded. @@ -11463,28 +11463,29 @@ Bitte versuchen Sie es erneut. Matches all files from all project directories. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - + Filtert alle Dateien aus allen Projektverzeichnissen. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen. Run run configuration - + Ausführungskonfiguration ausführen Run a run configuration of the current active project - + Eine Ausführungskonfiguration des aktiven Projekts ausführen Switch run configuration - + Ausführungskonfiguration auswählen Switch active run configuration - + Aktive Ausführungskonfiguration auswählen Switched run configuration to %1 - + Ausführungskonfiguration wurde geändert auf +%1 Close Project "%1" @@ -13697,7 +13698,7 @@ Was möchten Sie tun? <style type=text/css>a:link {color: rgb(128, 128, 255);}</style>The project <b>%1</b> is not yet configured<br/><br/>You can configure it in the <a href="projectmode">Projects mode</a><br/> - <style type=text/css>a:link {color: rgb(128, 128, 255, 240);}</style>Das Projekt <b>%1</b> ist noch nicht konfiguriert<br/><br/>Sie können es im <a href="projectmode">Projektmodus</a> konfigurieren<br/> {128, 128, 255)?} {1<?} + <style type=text/css>a:link {color: rgb(128, 128, 255);}</style>Das Projekt <b>%1</b> ist noch nicht konfiguriert<br/><br/>Sie können es im <a href="projectmode">Projektmodus</a> konfigurieren<br/> Project: <b>%1</b><br/> @@ -13760,7 +13761,7 @@ Was möchten Sie tun? Main file of the project - + Hauptdatei des Projekts Name of current project @@ -13768,15 +13769,15 @@ Was möchten Sie tun? Name of the project - + Name des Projekts Name of the project's active build configuration - + Name der aktiven Build-Konfiguration des Projekts Name of the project's active build system - + Name des aktiven Build-Systems des Projekts Type of current build @@ -13784,7 +13785,7 @@ Was möchten Sie tun? Type of the project's active build configuration - + Typ der aktiven Build-Konfiguration des Projekts Kits @@ -13800,103 +13801,103 @@ Was möchten Sie tun? Start removing auto-detected items associated with this docker image. - + Beginne mit dem Entfernen der automatisch bestimmten Einträge, die mit diesem Docker-Image verbunden sind. Removing kits... - + Entferne Kits... Removed "%1" - + "%1" entfernt Removing Qt version entries... - + Entferne Qt-Versions-Einträge... Removing toolchain entries... - + Entferne Toolchain-Einträge... Removal of previously auto-detected kit items finished. - + Entfernen von ehemals automatisch bestimmten Kit-Einträgen beendet. Start listing auto-detected items associated with this docker image. - + Beginne mit dem Auflisten der automatisch bestimmten Einträge, die mit diesem Docker-Image verbundenden sind. Kits: - + Kits: Qt versions: - + Qt-Versionen: Toolchains: - + Toolchains: Listing of previously auto-detected kit items finished. - + Auflisten der ehemals automatisch bestimmten Kit-Einträge beendet. Found "%1" - + "%1" gefunden Searching for qmake executables... - + Suche nach ausführbaren qmake-Dateien... Error: %1. - Fehler: %1. + Fehler: %1. No Qt installation found. - + Keine Qt-Installation gefunden. Searching toolchains... - + Suche nach Toolchains... Searching toolchains of type %1 - + Suche nach Toolchains vom Typ %1 %1 new toolchains found. - + %1 neue Toolchain(s) gefunden. Starting auto-detection. This will take a while... - + Beginne mit der automatischen Bestimmung. Dies wird eine Weile dauern... Registered kit %1 - + Kit %1 registriert Auto-detected - Automatisch bestimmt + Automatisch bestimmt Automatically managed by %1 or the installer. - + Automatisch von %1 oder vom Installationsprogramm verwaltet. Manual - Benutzerdefiniert + Benutzerdefiniert Debug - Debug + Debug Release - Release + Release @@ -15259,7 +15260,7 @@ zu deaktivieren, deaktiviert auch die folgenden Plugins: Name of the build configuration - + Name der Build-Konfiguration Variables in the current build environment @@ -15267,15 +15268,15 @@ zu deaktivieren, deaktiviert auch die folgenden Plugins: Variables in the build configuration's environment - + Variablen in der Umgebungseinstellung der Build-Konfiguration Tooltip in target selector: - + Hinweis in der Zielauswahl: Appears as a tooltip when hovering the build configuration - + Erscheint als Hinweis, wenn die Maus über die Build-Konfiguration bewegt wird System Environment @@ -15310,15 +15311,15 @@ The name of the build configuration created by default for a generic project. Variables in the current build environment. - + Variablen in der aktuellen Build-Umgebung. Variables in the active build environment of the project containing the currently open document. - + Variablen in der aktiven Build-Umgebung des Projekts, welches das aktuelle offene Dokument enthält. Variables in the active build environment of the active project. - + Variablen in der aktiven Build-Umgebung des aktiven Projekts. @@ -16223,7 +16224,7 @@ Möchten Sie sie überschreiben? Starting %1... - Starte %1 %2... {1.?} + Starte %1... No executable specified. @@ -17684,7 +17685,7 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Target triple: - + Zieltripel: @@ -17729,7 +17730,9 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev If checked, %1 will set up two instances of each x86_64 compiler: One for the native x86_64 target, and one for a plain x86 target. Enable this if you plan to create 32-bit x86 binaries without using a dedicated cross compiler. - + Wenn dies aktiviert ist, wird %1 zwei Instanzen jedes x86_64-Compilers erstellen: +eine für das native x86_64-Ziel und eine für ein x86-Ziel. +Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne einen speziellen Cross-Compiler zu verwenden. Clone @@ -19974,15 +19977,15 @@ Speichern fehlgeschlagen. Show &App Output - + &Ausgabe der Anwendung zeigen Show the output that generated this issue in Application Output. - + Zeige das Problem in der Ausgabe der Anwendung. A - + A Re-run this run-configuration. @@ -25744,7 +25747,7 @@ wirklich löschen? Fetching process list. This might take a while. - + Rufe Prozessliste ab. Dies kann eine Weile dauern. @@ -26335,7 +26338,7 @@ wirklich löschen? The name of the kit. - + Der Name des Kits. The name of the currently active kit in a filesystem-friendly version. @@ -26343,15 +26346,15 @@ wirklich löschen? The name of the kit in a filesystem-friendly version. - + Der Name des aktiven Kits zur Verwendung als Dateiname. The ID of the currently active kit. - Die ID des aktiven Kits. + Die ID des aktiven Kits. The ID of the kit. - + Die ID des Kits. Clone of %1 @@ -26444,29 +26447,29 @@ wirklich löschen? Variables in the run environment. - + Variablen in der Ausführungsumgebung. The run configuration's working directory. - + Das Arbeitsverzeichnis der Ausführungskonfiguration. The run configuration's name. - + Der Name der Ausführungskonfiguration. The run configuration's executable. - + Die ausführbare Datei der Ausführungskonfiguration. Run on %{Device:Name} Shown in Run configuration if no executable is given, %1 is device name - + Auf %{Device:Name} ausführen %1 (on %{Device:Name}) Shown in Run configuration, Add menu: "name of runnable (on device name)" - + %1 (auf %{Device:Name}) No build system active @@ -26708,7 +26711,7 @@ wirklich löschen? %1 (%2, %3 %4 at %5) - + %1 (%2, %3 %4 an %5) @@ -30278,11 +30281,11 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Import Warning - + Importwarnung Import Build - + Build importieren %1 - temporary @@ -33092,7 +33095,7 @@ Möchten Sie sie jetzt auschecken? Define Item Model Class - Item Model-Klasse definieren + Item Model-Klasse festlegen Creates a Qt item model. @@ -33144,7 +33147,7 @@ Möchten Sie sie jetzt auschecken? Qt Quick Application - + Qt Quick-Anwendung This wizard creates a simple unit test project. @@ -33160,7 +33163,7 @@ Möchten Sie sie jetzt auschecken? Generate setup code - + Setup-Code erzeugen Creates a new unit test project. Unit tests allow you to verify that the code is fit for use and that there are no regressions. @@ -33168,7 +33171,7 @@ Möchten Sie sie jetzt auschecken? Creates a QML file with boilerplate code, starting with "import QtQuick". - + Erzeugt eine QML-Datei mit allgemeingültigem Quelltext, beginnend mit "import QtQuick". Choose a Form Template @@ -33188,15 +33191,15 @@ Möchten Sie sie jetzt auschecken? Creates an Effect Maker file. - + Erzeugt eine Effect Maker-Datei. Effects - + Effekte Effect File (Effect Maker) - + Effekt-Datei (Effect Maker) Creates a Java file with boilerplate code. @@ -33670,11 +33673,13 @@ Möchten Sie sie jetzt auschecken? Fully qualified name, including namespaces - + Vollständig qualifizierter Name einschließlich Namensräumen Creates a widget-based Qt application that contains a Qt Designer-based main window.Preselects a desktop Qt for building the application if available. - + Erstellt eine Widget-basierte Qt-Anwendung mit einem Qt Designer-basierten Hauptfenster. + +Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern sie verfügbar ist. Shared Library @@ -33755,63 +33760,67 @@ Möchten Sie sie jetzt auschecken? Creates a project containing a single main.cpp file with a stub implementation.Preselects a desktop Qt for building the application if available. - + Erstellt ein Projekt, das aus einer main.cpp-Datei mit einem Implementationsrumpf besteht. + +Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern sie verfügbar ist. %{JS: value('BaseCB') ? value('BaseCB').slice(1) : 'MyClass'} - + %{JS: value('BaseCB') ? value('BaseCB').slice(1) : 'MyClass'} %{JS: Util.fileName('%{ProjectName}', 'pyproject')} - + %{JS: Util.fileName('%{ProjectName}', 'pyproject')} Empty Window - + Leeres Fenster Creates a Qt for Python application that includes a Qt Designer-based widget (ui file) - Requires .ui to Python conversion - + Erstellt eine Qt for Python-Anwendung, die ein Qt Designer-basiertes Widget (ui-Datei) enthält. Erfordert Umwandlung von .ui nach Python. Window UI - + Fenster-UI Creates a Qt for Python application that includes a Qt Designer-based widget (.ui file) - Load the forms dynamically/at runtime - + Erstellt eine Qt for Python-Anwendung, die ein Qt Designer-basiertes Widget (ui-Datei) enthält. Lädt die Formulare dynamisch zur Laufzeit. Window UI - Dynamic load - + Fenster-UI - dynamisch laden Empty Application - + Leere Anwendung PySide 6 - PySide 6 + PySide 6 Qt 6.2 - Qt 6.2 + Qt 6.2 Minimum required Qt version: - + Mindestens benötigte Qt-Version: Create example project - + Beispielprojekt erzeugen Qt 6 - Qt 6 + Qt 6 Creates a Qt Quick 2 UI project with a QML entry point. To use it, you need to have a QML runtime environment.Use this only if you are prototyping. You cannot create a full application with this. Consider using a Qt Quick Application project instead. - + Erstellt ein Qt Quick 2 UI-Projekt mit QML-Einsprungpunkt. Um es zu verwenden, brauchen Sie eine QML-Laufzeitumgebung wie qmlscene. + +Benutzen Sie dies nur für Prototypen. Sie können damit keine vollständige Anwendung erstellen. Vielleicht ist ein Qt Quick-Anwendungsprojekt besser geeignet. Binary @@ -33919,43 +33928,43 @@ Möchten Sie sie jetzt auschecken? Creates a CMake-based test project for which a code snippet can be entered. - + Erstellt ein CMake-basiertes Testprojekt, für welches ein Code-Ausschnitt angegeben werden kann. int main(int argc, char *argv[]){ return 0;} - + int main(int argc, char *argv[]){ return 0;} Code: - Code: + Code: QtCore - + QtCore QtCore, QtWidgets - + QtCore, QtWidgets Use Qt Modules: - + Qt-Module verwenden: Application bundle (macOS) - + Anwendungs-Bundle (macOS) Define Code snippet - + Code-Ausschnitt festlegen Code snippet - + Code-Ausschnitt Code Snippet - Code-Ausschnitt + Code-Ausschnitt MyItem @@ -34738,7 +34747,7 @@ Möchten Sie sie jetzt auschecken? LineEdit ("%1") has an invalid value "%2" in "completion". - + LineEdit ("%1") hat einen ungültigen Wert "%2" in "completion". TextEdit ("%1") data is not an object. @@ -35037,7 +35046,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. Replacement for - + Ersatz für Replacement for "%1" @@ -35049,7 +35058,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. Could not find any qml_*.qm file at "%1" - + Konnte in "%1" keine qml_*.qm-Datei finden @@ -35064,23 +35073,23 @@ konnte dem Projekt "%2" nicht hinzugefügt werden. Build system - + Build-System The currently active run configuration's name. - Der Name der aktiven Ausführungskonfiguration. + Der Name der aktiven Ausführungskonfiguration. The currently active run configuration's executable (if applicable). - Die ausführbare Datei der aktiven Ausführungskonfiguration (falls möglich). + Die ausführbare Datei der aktiven Ausführungskonfiguration (falls möglich). Variables in the current run environment. - + Variablen in der aktuellen Ausführungsumgebung. The currently active run configuration's working directory. - + Das Arbeitsverzeichnis der aktiven Ausführungskonfiguration. @@ -36004,7 +36013,7 @@ provided they were unmodified before the refactoring. ProjectExplorer::ProjectTree <b>Warning:</b> This file is generated. - + <b>Warnung:</b> Diese Datei wurde generiert. <b>Warning:</b> This file is outside the project directory. @@ -36057,7 +36066,7 @@ provided they were unmodified before the refactoring. Reset to Default - Auf Vorgabe zurücksetzen + Auf Vorgabe zurücksetzen @@ -40883,15 +40892,15 @@ Ablaufdatum: %3 ProjectExplorer::Internal::ProjectWindow Use Regular Expressions - Reguläre Ausdrücke verwenden + Reguläre Ausdrücke verwenden Case Sensitive - + Groß-/Kleinschreibung Show Non-matching Lines - + Nicht passende Zeilen anzeigen Project Settings @@ -40923,7 +40932,7 @@ Ablaufdatum: %3 Build System Output - + Ausgabe des Build-Systems Import Directory @@ -40969,7 +40978,7 @@ Ablaufdatum: %3 The process crashed. - Der Prozess ist abgestürzt. + Der Prozess ist abgestürzt. An error occurred when attempting to write to the process. For example, the process may not be running, or it may have closed its input channel. @@ -42698,7 +42707,8 @@ Ausgabe: You just dragged some files from one project node to another. What should %1 do now? - + Sie haben gerade eine oder mehrere Dateien von einem Projektknoten zu einem anderen gezogen. +Was soll %1 tun? Copy Only File References @@ -43243,39 +43253,39 @@ What should %1 do now? ProjectExplorer::MakeStep Make arguments: - Kommandozeilenargumente für make: + Kommandozeilenargumente für make: Parallel jobs: - Parallele Jobs: + Parallele Jobs: Override MAKEFLAGS - MAKEFLAGS überschreiben + MAKEFLAGS überschreiben <code>MAKEFLAGS</code> specifies parallel jobs. Check "%1" to override. - <code>MAKEFLAGS</code> legt parallele Jobs fest. Wählen Sie "%1", um dies zu überstimmen. + <code>MAKEFLAGS</code> legt parallele Jobs fest. Wählen Sie "%1", um dies zu überstimmen. Disable in subdirectories: - + In Unterverzeichnissen deaktivieren: Runs this step only for a top-level build. - + Führt diesen Schritt nur beim Erstellen des obersten Verzeichnisses aus. Targets: - Ziele: + Ziele: Make: - Make: + Make: Override %1: - + Überschreibe %1: Make @@ -43287,15 +43297,15 @@ What should %1 do now? <b>Make:</b> %1 - <b>Make:</b> %1 + <b>Make:</b> %1 <b>Make:</b> No build configuration. - <b>Make:</b> Keine Build-Konfiguration. + <b>Make:</b> Keine Build-Konfiguration. <b>Make:</b> %1 not found in the environment. - <b>Make:</b> %1 konnte in der Umgebung nicht gefunden werden. + <b>Make:</b> %1 konnte in der Umgebung nicht gefunden werden. @@ -46328,7 +46338,7 @@ Do you want to display them anyway? ProjectExplorer::Internal::AddRunConfigDialog [none] - + [leer] Name @@ -46336,30 +46346,30 @@ Do you want to display them anyway? Source - + Quelle Create Run Configuration - + Ausführungskonfiguration erzeugen Filter candidates by name - + Nach Name filtern Create - + Erzeugen ProjectExplorer::Internal::AppOutputSettingsPage Word-wrap output - + Ausgabe umbrechen Clear old output on a new run - + Alte Ausgabe bei erneutem Start leeren Merge stderr and stdout @@ -46375,19 +46385,19 @@ Do you want to display them anyway? On First Output Only - + Nur bei erster Ausgabe Limit output to %1 characters - + Ausgabe auf %1 Zeichen beschränken Open Application Output when running: - + Ausgabe der Anwendung beim Ausführen öffnen: Open Application Output when debugging: - + Ausgabe der Anwendung beim Debuggen öffnen: Application Output @@ -46402,7 +46412,7 @@ Do you want to display them anyway? The build directory is not reachable from the build device. - + Das Build-Verzeichnis kann auf dem Build-Gerät nicht erreicht werden. Shadow build: @@ -46428,15 +46438,15 @@ Do you want to display them anyway? ProjectExplorer::Internal::CompileOutputSettingsPage Word-wrap output - + Ausgabe umbrechen Open Compile Output when building - + Ausgabe der Kompilierung beim Erstellen öffnen Limit output to %1 characters - + Ausgabe auf %1 Zeichen beschränken Compile Output @@ -46447,11 +46457,11 @@ Do you want to display them anyway? ProjectExplorer::Internal::DeploymentDataView Source File Path - + Quelldateipfad Target Directory - Zielverzeichnis + Zielverzeichnis Add @@ -46467,7 +46477,7 @@ Do you want to display them anyway? Override deployment data from build system - + Deployment-Daten des Build-Systems überschreiben @@ -46647,7 +46657,7 @@ Do you want to display them anyway? ProjectExplorer::KitAspectWidget Mark as Mutable - Als veränderlich kennzeichnen + Als veränderlich kennzeichnen Manage... @@ -46684,19 +46694,19 @@ Do you want to display them anyway? ProjectExplorer::Internal::ParseIssuesDialog Parse Build Output - + Build-Ausgabe auswerten Output went to stderr - + Ausgabe ging in die Standardfehlerausgabe Clear existing tasks - + Existierende Aufgaben entfernen Load from File... - + Aus Datei laden... Choose File @@ -46704,31 +46714,31 @@ Do you want to display them anyway? Could Not Open File - + Datei konnte nicht geöffnet werden Could not open file: "%1": %2 - + Die Datei "%1" kann nicht geöffnet werden: %2 Build Output - + Build-Ausgabe Parsing Options - + Auswertungseinstellungen Use parsers from kit: - + Parser vom Kit benutzen: Cannot Parse - + Auswerten fehlgeschlagen Cannot parse: The chosen kit does not provide an output parser. - + Auswerten fehlgeschlagen: Das gewählte Kit stellt keine Ausgabe-Parser bereit. @@ -46769,63 +46779,63 @@ Do you want to display them anyway? ProjextExplorer::Internal::ProjectExplorerSettings Current directory - Arbeitsverzeichnis + Arbeitsverzeichnis Directory - Verzeichnis + Verzeichnis Close source files along with project - Quelldateien zusammen mit Projekt schließen + Quelldateien zusammen mit Projekt schließen Save all files before build - Alle Dateien vor Erstellen speichern + Alle Dateien vor Erstellen speichern Always deploy project before running it - Vor Ausführung des Projekts stets Deployment durchführen + Vor Ausführung des Projekts stets Deployment durchführen Add linker library search paths to run environment - Linker-Bibliothekspfade zur Ausführungsumgebung hinzufügen + Linker-Bibliothekspfade zur Ausführungsumgebung hinzufügen Always ask before stopping applications - Nachfrage beim Stoppen von Anwendungen + Beim Stoppen von Anwendungen stets nachfragen Create suitable run configurations automatically - Automatisch Ausführungskonfigurationen erzeugen + Automatisch Ausführungskonfigurationen erzeugen Clear issues list on new build - Problemliste bei neuer Erstellung leeren + Problemliste bei neuer Erstellung leeren Abort on error when building all projects - Bei Fehler abbrechen, wenn alle Projekte erstellt werden + Bei Fehler abbrechen, wenn alle Projekte erstellt werden Start build processes with low priority - Erstellungsprozesse mit niedriger Priorität starten + Erstellungsprozesse mit niedriger Priorität starten Do Not Build Anything - + Nichts erstellen Build the Whole Project - + Das ganze Projekt erstellen Build Only the Application to Be Run - + Nur die auszuführende Anwendung erstellen None - + Keine All @@ -46841,47 +46851,47 @@ Do you want to display them anyway? Same Application - + Gleiche Anwendung Enabled - Aktiviert + Aktiviert Disabled - Deaktiviert + Deaktiviert Deduced from Project - Aus Projekt abgeleitet + Aus Projekt abgeleitet Use jom instead of nmake - jom statt nmake verwenden + jom statt nmake verwenden Projects Directory - Projektverzeichnis + Projektverzeichnis Closing Projects - Schließen von Projekten + Schließen von Projekten Build and Run - Erstellung und Ausführung + Erstellung und Ausführung Build before deploying: - Vor dem Deployment erstellen: + Vor dem Deployment erstellen: Stop applications before building: - Anwendungen vor dem Erstellen beenden: + Anwendungen vor dem Erstellen beenden: Default for "Run in terminal": - Vorgabe für "Im Terminal ausführen": + Vorgabe für "Im Terminal ausführen": General @@ -47406,7 +47416,7 @@ Do you want to display them anyway? Location: - + Pfad: File Selection @@ -48316,7 +48326,7 @@ Useful if build directory is corrupted or when rebuilding with a newer version o ProjectExplorer::Internal::CustomParsersSettingsPage Custom output parsers defined here can be enabled individually in the project's build or run settings. - + Parser, die hier vom Benutzer definiert wurden, können einzeln in den Build- oder Ausführungseinstellungen des Projekts aktiviert werden. Add... @@ -48328,11 +48338,11 @@ Useful if build directory is corrupted or when rebuilding with a newer version o New Parser - + Neuer Parser Custom Output Parsers - + Benutzerdefinierte Ausgabe-Parser @@ -55310,91 +55320,91 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. ProjectExplorer::SeparateDebugInfoAspect Separate debug info: - + Separate Debug-Information: ProjectExplorer::Internal::CustomParsersBuildWidget Custom Output Parsers - + Benutzerdefinierte Ausgabe-Parser Parse standard output during build - + Standardausgabe während des Erstellens auswerten Makes output parsers look for diagnostics on stdout rather than stderr. - + Veranlasst Parser, in der Standardausgabe anstelle der Standardfehlerausgabe nach Diagnosemeldungen zu suchen. ProjectExplorer::Internal::BuildPropertiesSettings Enable - Aktivieren + Aktivieren Disable - Deaktivieren + Deaktivieren Use Project Default - + Projekt-Vorgabe benutzen Default build directory: - Vorgabe-Build-Verzeichnis: + Vorgabe-Build-Verzeichnis: Separate debug info: - + Separate Debug-Information: QML debugging: - + QML-Debuggen: Use qmlcachegen: - + qmlcachegen benutzen: Default Build Properties - + Vorgabe-Build-Eigenschaften ProjectExplorer::Internal::CodeStyleSettingsWidget Language: - Sprache: + Sprache: ProjectExplorer::CustomParsersAspect Custom Output Parsers - + Benutzerdefinierte Ausgabe-Parser ProjectExplorer::Internal::SelectionWidget Custom output parsers scan command line output for user-provided error patterns<br>to create entries in Issues.<br>The parsers can be configured <a href="dummy">here</a>. - + Benutzerdefinierte Parser werten die Kommandozeilenausgabe mit vom Benutzer gewählten Fehler-Suchmustern aus.<br>Sie können diese Parser <a href="dummy">hier</a> konfigurieren. ProjectExplorer::Internal::CustomParsersSelectionWidget There are no custom parsers active - + Es sind keine benutzerdefinierten Parser aktiv There are %n custom parsers active - - - + + Es ist ein benutzerdefinierter Parser aktiv + Es sind %n benutzerdefinierte Parser aktiv @@ -55402,186 +55412,186 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. ProjectExplorer::DeviceFileSystemModel File Type - Dateityp + Dateityp File Name - Dateiname + Dateiname ProjectExplorer::FileTransferPrivate No device set for test transfer. - + Kein Gerät für die Testübertragung gesetzt. No files to transfer. - + Keine Dateien zu übertragen. Missing transfer implementation. - + Implementation der Dateiübertragungsmethode nicht vorhanden. ProjectExplorer::FileTransfer sftp - + sftp rsync - + rsync generic file copy - + Generisches Dateikopieren ProjectExplorer::Internal::EditorSettingsWidget Restore Global - Globale Einstellungen wiederherstellen + Globale Einstellungen wiederherstellen Display Settings - Anzeigeeinstellungen + Anzeigeeinstellungen Display right &margin at column: - Rechten &Rand anzeigen bei Spalte: + Rechten &Rand anzeigen bei Spalte: Use context-specific margin - + Kontextspezifischen Rand verwenden If available, use a different margin. For example, the ColumnLimit from the ClangFormat plugin. - + Benutzt unterschiedlichen Rand abhängig vom Kontext, falls verfügbar. Zum Beispiel das ColumnLimit vom ClangFormat Plugin. ProjectExplorer::Internal::FilesInAllProjectsFind Files in All Project Directories - + Dateien in allen Projektverzeichnissen Files in All Project Directories: - + Dateien in allen Projektverzeichnissen: ProjectExplorer::Internal::TargetTripleWidget Override for code model - + Für Codemodell überschreiben Enable in the rare case that the code model fails because Clang does not understand the target architecture. - + Aktivieren Sie diese Einstellung, falls das Codemodell Fehler anzeigt, weil Clang die Zielarchitektur nicht versteht. ProjectExplorer::BuildDeviceKitAspect Build device - + Build-Gerät The device used to build applications on. - + Das Gerät, auf dem Anwendungen erstellt werden. No build device set. - + Kein Build-Gerät gesetzt. Unconfigured - Nicht konfiguriert + Nicht konfiguriert Build host address - + Hostadresse des Build-Geräts Build SSH port - + SSH-Port des Build-Geräts Build user name - + Benutzername des Build-Geräts Build private key file - + Private Schlüsseldatei des Build-Geräts Build device name - + Build-Gerätename ProjectExplorer::RunAsRootAspect Run as root user - + Als root-Benutzer ausführen ProjectExplorer::InterpreterAspect Manage... - Verwalten... + Verwalten... Interpreter - Interpreter + Interpreter ProjectExplorer::Internal::SimpleTargetRunnerPrivate Cannot retrieve debugging output. - Es konnte keine Debug-Ausgabe erhalten werden. + Es konnte keine Debug-Ausgabe erhalten werden. User requested stop. Shutting down... - Abbruch auf Nutzeranforderung... + Abbruch auf Nutzeranforderung... Cannot run: No command given. - Keine Ausführung möglich: Kein Kommando angegeben. + Keine Ausführung möglich: Kein Kommando angegeben. %1 exited with code %2 - %2 wurde mit dem Rückgabewert %2 beendet {1 ?} + %1 wurde mit dem Rückgabewert %2 beendet %1 crashed. - %1 ist abgestürzt. + %1 ist abgestürzt. The process was ended forcefully. - Der Prozess wurde gestoppt. + Der Prozess wurde gestoppt. ProjectExplorer::Internal::SimpleProjectWizard Import as qmake or CMake Project (Limited Functionality) - + Als qmake- oder CMake-Projekt importieren (eingeschränkte Funktionalität) Imports existing projects that do not use qmake, CMake, Qbs, Meson, or Autotools.<p>This creates a project file that allows you to use %1 as a code editor and as a launcher for debugging and analyzing tools. If you want to build the project, you might need to edit the generated project file. - + Importiert ein existierendes Projekt, dass nicht qmake, CMake, Qbs, Meson oder Autotools benutzt.<p>Dies erstellt eine Projektdatei, die Ihnen erlaubt, %1 als Code-Editor und zum Starten des Debuggers und von Analysewerkzeugen zu benutzen. Wenn Sie das Projekt bauen wollen, müssen Sie die generierte Datei möglicherweise anpassen. Unknown build system "%1" - + Unbekanntes Build-System "%1" From 9bfc0a5b26d3153a5b6a7aea135f39f44f49bf55 Mon Sep 17 00:00:00 2001 From: Rainer Keller Date: Wed, 9 Nov 2022 13:47:04 +0100 Subject: [PATCH 15/19] McuSupport: Sort displayed UI elements The elements are sorted by their CMake variable to keep the order consistent. Otherwise they would be sorted by their pointer, which leads to a random order every time. Task-number: UL-6614 Change-Id: Ie3520fb312044ccca4c9dc853e00ae2710b28d1c Reviewed-by: Reviewed-by: Yasser Grimes Reviewed-by: hjk --- src/plugins/mcusupport/mcusupportoptionspage.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/plugins/mcusupport/mcusupportoptionspage.cpp b/src/plugins/mcusupport/mcusupportoptionspage.cpp index 7f594d03e0c..116b11776f6 100644 --- a/src/plugins/mcusupport/mcusupportoptionspage.cpp +++ b/src/plugins/mcusupport/mcusupportoptionspage.cpp @@ -247,6 +247,15 @@ void McuSupportOptionsWidget::updateStatus() } } +struct McuPackageSort { + bool operator()(McuPackagePtr a, McuPackagePtr b) const { + if (a->cmakeVariableName() != b->cmakeVariableName()) + return a->cmakeVariableName() > b->cmakeVariableName(); + else + return a->environmentVariableName() > b->environmentVariableName(); + } +}; + void McuSupportOptionsWidget::showMcuTargetPackages() { McuTargetPtr mcuTarget = currentMcuTarget(); @@ -257,9 +266,15 @@ void McuSupportOptionsWidget::showMcuTargetPackages() m_packagesLayout->removeRow(0); } + std::set packages; + for (const auto &package : mcuTarget->packages()) { if (package->label().isEmpty()) continue; + packages.insert(package); + } + + for (const auto &package : packages) { QWidget *packageWidget = package->widget(); m_packagesLayout->addRow(package->label(), packageWidget); packageWidget->show(); From d44a62d5885fae8ccec6f525467f952af4482020 Mon Sep 17 00:00:00 2001 From: Leena Miettinen Date: Mon, 14 Nov 2022 10:50:54 +0100 Subject: [PATCH 16/19] Doc: Describe "rettype" in "putCallItem" Dumper class Not all Dumper class members are described, so remove or modify the leading sentences before lists of members. Add a reference to dumper.py. Fixes: QTCREATORBUG-28404 Change-Id: Ib681c44f8ff952d2f2ac0a37a5daf12b4b2486d6 Reviewed-by: hjk --- .../creator-only/creator-debugger.qdoc | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc index e6c4ae95fbd..cc95b4b9503 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc @@ -1107,12 +1107,14 @@ \image qtcreator-cdb-options.png "CDB preferences" + The following sections describe some of the widely-used Dumper classes and + members specified in \c qtcreator\share\qtcreator\debugger\dumper.py. + + \section3 Dumper Class The \c Dumper class contains generic bookkeeping, low-level, and convenience - functions. - - The member functions of the \c Dumper class are the following: + functions: \list \li \c{putItem(self, value)} - The \e {master function} that handles @@ -1134,9 +1136,10 @@ self.putType("bool") \endcode - \li \c{putCallItem(self, name, value, func, *args)} - Uses the native - debugger backend to place the function call \c func on the value - specified by \a {value} and output the resulting item. + \li \c{putCallItem(self, name, rettype, value, func, *args)} - Uses the + native debugger backend to place the function call \c func returning + \c rettype on the value specified by \a {value} and to output the + resulting item. Native calls are extremely powerful and can leverage existing debugging or logging facilities in the debugged process, for @@ -1289,7 +1292,7 @@ classes, obliterating the need to use \e Debug builds of Qt for the purpose of object introspection. - The member functions of the \c{Dumper.Type} class are the following: + The \c{Dumper.Type} class has the following widely-used member functions: \list @@ -1332,10 +1335,7 @@ \section3 Dumper.Field Class The \c{Dumper.Field} class describes a base class or a data member of a type - object. - - The member function and properties of the \c{Dumper.Field} class are the - following: + object: \list From 8130494b5fcd7cc647d672e5dc97977d80a660ea Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Tue, 8 Nov 2022 14:44:12 +0100 Subject: [PATCH 17/19] Chinese translation update for 9.0 Change-Id: Ia00b2fdc7b3ea5e144cbdd49ba8e1cab80fbac79 Reviewed-by: Xu Shitong Reviewed-by: Liang Qi --- .../qtcreator/translations/qtcreator_zh_CN.ts | 1122 +++++++++-------- 1 file changed, 565 insertions(+), 557 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_zh_CN.ts b/share/qtcreator/translations/qtcreator_zh_CN.ts index 149bf94c2bd..40ab3283390 100644 --- a/share/qtcreator/translations/qtcreator_zh_CN.ts +++ b/share/qtcreator/translations/qtcreator_zh_CN.ts @@ -5,269 +5,270 @@ ADS::DockAreaTitleBar Detach Area - + 分离区域 Close Area - + 关闭区域 Close Other Areas - + 关闭其它区域 ADS::DockManager Cannot Save Workspace - + 无法保存工作区 Could not save workspace to file %1 - + 无法保存工作区到 %1 文件 Delete Workspace - + 删除工作区 Delete Workspaces - + 删除工作区 Delete workspace %1? - + 删除 %1 工作区? Delete these workspaces? %1 - + 删除这些工作区? + %1 Cannot Restore Workspace - + 无法恢复工作区 Could not restore workspace %1 - + 无法恢复 %1 工作区 ADS::DockWidgetTab Detach - 分离 + 分离 Close - 关闭 + 关闭 Close Others - 关闭其他 + 关闭其它 ADS::WorkspaceDialog Workspace Manager - + 工作区管理器 &New - 新建(&N) + 新建(&N) &Rename - 重命名(&R) + 重命名(&R) C&lone - 克隆(&L) + 克隆(&L) &Delete - 删除(&D) + 删除(&D) Reset - 重置 + 重置 &Switch To - + 切换到(&S) Import - 导入 + 导入 Export - + 导出 Restore last workspace on startup - + 启动时恢复上一个工作区 <a href="qthelp://org.qt-project.qtcreator/doc/creator-project-managing-workspaces.html">What is a Workspace?</a> - + <a href="qthelp://org.qt-project.qtcreator/doc/creator-project-managing-workspaces.html">什么是工作区?</a> ADS::WorkspaceModel Workspace - + 工作区 Last Modified - + 上次修改 New Workspace Name - + 新工作区名称 &Create - 创建(&C) + 创建(&C) Create and &Open - + 创建并打开(&O) &Clone - + 克隆(&C) Clone and &Open - + 克隆并打开(&O) Rename Workspace - + 重命名工作区 &Rename - 重命名(&R) + 重命名(&R) Rename and &Open - + 重命名并打开(&O) ADS::WorkspaceNameInputDialog Enter the name of the workspace: - + 输入工作区名称: ADS::WorkspaceView Import Workspace - + 导入工作区 Export Workspace - + 导出工作区 AccountImage Account - + 账号 AddImageToResources File Name - 文件名 + 文件名 Size - + 大小 Add Resources - + 添加资源 &Browse... - 浏览(&B)... + 浏览(&B)... Target Directory - + 目标路径 AddImplementationsDialog Member Function Implementations - + 成员函数实现 None - + Inline - + 内联 Outside Class - + 类外 Default implementation location: - + 默认实现位置: AddSignalHandlerDialog Implement Signal Handler - + 实现信号处理 Frequently used signals - + 频繁使用的信号 Property changes - + 属性改变 All signals - + 所有信号 Signal: - + 信号: Choose the signal you want to handle: - + 选择你想要处理的信号: The item will be exported automatically. - + 该项会自动导出 AlignCamerasToViewAction Align Selected Cameras to View - + 对齐选定的相机以查看 Align View to Selected Camera - + 将视图对齐到选择的相机 @@ -447,1339 +448,1362 @@ Cannot create AVD. Invalid input. - + 无法创建 AVD。非法输入。 Could not start process "%1 %2" - 无法启动进程"%1" {1 %2"?} + 无法启动进程"%1" {1 %2"?} Cannot create AVD. Command timed out. - + 无法创建 AVD。命令超时。 Emulator Tool Is Missing - + 模拟器缺失 Install the missing emulator tool (%1) to the installed Android SDK. - + 给已安装的安卓 SDK 安装缺失的模拟器工具(%1) AVD Start Error - + AVD 启动出错 Incorrect password. - + 密码错误 Android build platform SDK: - + 安卓构建平台 SDK: Create Templates - + 创建模板 Create an Android package for Custom Java code, assets, and Gradle configurations. - + 为自定义的 Java 代码、资源以及配置创建安卓包 Android customization: - + 安卓自定义: Application Signature - + 应用签名 Select Keystore File - + 选择密钥存储文件 Create... - + 创建... Signing a debug package - + 调试包签名 Advanced Actions - + 高级选项 Open package location after build - + 构建后打开包位置 Add debug server - + 添加调试服务器 Packages debug server with the APK to enable debugging. For the signed APK this option is unchecked by default. - + 使用 APK 打包调试服务器以启动调试。对于签名的 APK 这个选项默认关闭。 Verbose output - + 详细输出 Build Android App Bundle (*.aab) - + 构建安卓应用包(*.aab) Additional Libraries - + 其它库 List of extra libraries to include in Android package and load on startup. - + 包含在安卓包中以及启动时加载的额外库列表 Add... - 添加... + 添加... Select library to include in package. - + 选择包含到包中的库 Select additional libraries - + 选择额外的库 Libraries (*.so) - + 库(*.so) Remove currently selected library from list. - + 从列表中移除当前所选的库 Include prebuilt OpenSSL libraries - + 包含预构建的 OpenSSL 库 This is useful for apps that use SSL operations. The path can be defined in Edit > Preferences > Devices > Android. - + 这对使用 SSL 的应用有用。该路径可在编辑—>偏好->设备->安卓中定义。 Build Android APK - + 构建安卓 APK "%1" step failed initialization. - + 步骤“%1”初始化失败 Keystore/Certificate password verification failed. - + 密钥库/证书密码验证失败 Warning: Signing a debug or profile package. - + 警告:正在对调试或配置文件包签名 The Qt version for kit %1 is invalid. - + 该 Qt 版本对套件 %1 无效 The installed SDK tools version (%1) does not include Gradle scripts. The minimum Qt version required for Gradle build to work is %2 - + 所安装的 SDK 工具版本(%1)不包含 Gradle 脚本。对于可正常工作的 Gradle 构建最低的 Qt 版本为 %2 The minimum Qt version required for Gradle build to work is %1. It is recommended to install the latest Qt version. - + 对于可构建 Gradle 的最低 Qt 版本为 %1。建议安装最新版本的 Qt。 The API level set for the APK is less than the minimum required by the kit. The minimum API level required by the kit is %1. - + APK 的 API 级别设定低于套件所需的最低要求。 +套件所需的最低 API 级别是 %1。 No valid input file for "%1". - + 对于“%1”没有有效的输入文件 Android build SDK version is not defined. Check Android settings. - + 没有定义安卓构建套件版本。请检查安卓设定。 Cannot sign the package. Invalid keystore path (%1). - + 无法对包进行签名。无效密钥库路径(%1)。 Cannot sign the package. Certificate alias %1 does not exist. - + 无法对包签名。证书别名%1不存在。 Android deploy settings file not found, not building an APK. - + 安卓部署设定文件不存在,未构建 APK。 The Android build folder %1 was not found and could not be created. - + 未找到安卓构建文件夹%1,并无法创建。 Cannot copy the target's lib file %1 to the Android build folder %2. - + 无法复制目标的库文件%1到安卓构建目录%2。 Cannot copy file "%1" to Android build libs folder "%2". - + 无法拷贝文件“%1”到安卓构建库路径“%2”。 Cannot open androiddeployqt input file "%1" for writing. - + 无法打开 androiddeployqt 输入文件“%1”以写入。 Cannot set up "%1", not building an APK. - + 无法设置“%1”,未构建 APK。 Starting: "%1" %2 - 正在启动 "%1" %2 - + 正在启动 "%1" %2 Failed to run keytool. - + 运行 keytool 失败。 Enter keystore password - + 输入密钥库密码。 Enter certificate password - + 输入证书密码。 Could not run: %1 - + 无法运行:%1 No devices found in output of: %1 - + 在输出中找不到设备:%1 Android Debugger (%1, NDK %2) - + 安卓调试器(%1,NDK %2) Android %1 Clang %2 - + 安卓 %1 Clang %2 Use Keystore password - + 使用密钥库密码 Keystore password is too short. - + 密钥库密码过短。 Keystore passwords do not match. - + 密钥库密码不匹配。 Certificate password is too short. - + 证书密码过短。 Certificate passwords do not match. - + 证书密码不匹配。 Certificate alias is missing. - + 证书别名缺失。 Invalid country code. - + 无效国家码。 Keystore Filename - + 密钥库文件名 Uninstall the existing app before deployment - + 在部署前卸载已有应用 No Android architecture (ABI) is set by the project. - + 项目未设置安卓架构(ABI)。 Initializing deployment to Android device/simulator - + 部署到安卓设备/模拟器初始化 The kit's run configuration is invalid. - + 套件运行的配置无效。 The kit's build configuration is invalid. - + 套件构建配置无效。 The kit's build steps list is invalid. - + 套件构建步骤列表无效。 The kit's deploy configuration is invalid. - + 套件部署配置无效。 No valid deployment device is set. - + 未设置有效部署设备。 The deployment device "%1" is invalid. - + 部署设备“%1”无效。 The deployment device "%1" does not support the architectures used by the kit. The kit supports "%2", but the device uses "%3". - + 部署设备“%1”不支持套件架构。 +套件支持“%2”,但设备使用“%3”。 The deployment device "%1" is disconnected. - + 部署设备“%1”未连接。 Android: The main ABI of the deployment device (%1) is not selected. The app execution or debugging might not work properly. Add it from Projects > Build > Build Steps > qmake > ABIs. - + 安卓:部署设备(%1)的主 ABI 未选择。应用执行或调试可能不会正常。从项目->构建->构建步骤->qmake-> ABIs 进行配置。 Deploying to %1 - + 部署到%1 The deployment step's project node is invalid. - + 部署步骤的项目节点无效。 Cannot find the androiddeployqt input JSON file. - + 无法找到 androiddeployqt 的输入 JSON 文件。 Cannot find the androiddeployqt tool. - + 无法找到 androiddeployqt 工具。 Cannot find the package name from the Android Manifest file "%1". - + 无法从安卓的 Manifest 文件“%1”中找到包名。 Uninstalling the previous package "%1". - + 卸载前一个包“%1”。 Starting: "%1" - + 启动:%1 The process "%1" exited normally. - + 进程“%1”正常退出。 The process "%1" exited with code %2. - 进程"%1"退出,退出代码 %2 。 + 进程"%1"退出,退出代码 %2 。 The process "%1" crashed. - 进程"%1"崩溃。 + 进程"%1"崩溃。 Installing the app failed even after uninstalling the previous one. - + 安装应用失败甚至已经卸载了前一个应用。 Installing the app failed with an unknown error. - + 安装应用失败,发生未知错误。 Deployment failed with the following errors: - + 部署失败,错误如下: + + Uninstalling the installed package may solve the issue. Do you want to uninstall the existing package? - + +卸载已安装的包可能解决这个问题。 +你想卸载已经存在的包吗? Install failed - + 安装失败 The deployment AVD "%1" cannot be started. - + 部署 AVD “%1” 无法启动。 Package deploy: Failed to pull "%1" to "%2". - + 包部署:从“%1”拉取到“%2”失败。 Package deploy: Running command "%1". - + 包部署:运行命令“%1”。 Install an APK File - + 安装 APK 文件 Qt Android Installer - + Qt 安卓安装器 Device name: - + 设备名称: Device type: - 设备类型: + 设备类型: Unknown - 未知 + 未知 Serial number: - + 序列号: CPU architecture: - + CPU 架构: OS version: - + 操作系统版本: Yes - + No - + Authorized: - + 已授权: Android target flavor: - + 安卓目标风格: Skin type: - + 皮肤类型: OpenGL status: - + OpenGL 状态: Android Device Manager - + 安卓设备管理 Refresh - + 刷新 Start AVD - + 启动 AVD Erase AVD - + 擦除 AVD AVD Arguments - + AVD 参数 Set up Wi-Fi - + 设置 Wi-Fi Emulator for "%1" - + 模拟“%1” Physical device - 物理设备 + 物理设备 None - + Erase the Android AVD "%1"? This cannot be undone. - + 擦除安卓 AVD “%1”? +该步骤无法撤销。 The device has to be connected with ADB debugging enabled to use this feature. - + 设备必须连接到 ADB 调试器来启用这个特性。 Opening connection port %1 failed. - + 打开连接端口“%1”失败。 Retrieving the device IP address failed. - + 检索设备 IP 地址失败。 The retrieved IP address is invalid. - + 检索到的 IP 地址无效。 Connecting to the device IP "%1" failed. - + 连接到设备 IP “%1” 失败。 An error occurred while removing the Android AVD "%1" using avdmanager tool. - + 使用 ADV 管理管理工具移除安卓 AVD “%1” 时出错。 Emulator Command-line Startup Options - + 模拟器命令行启动参数 Emulator command-line startup options (<a href="%1">Help Web Page</a>): - + 模拟器命令行启动参数(<a href="%1">帮助页面</a>): The device info returned from AvdDialog is invalid. - + 从 ADV 对话框返回的设备信息无效。 Android: SDK installation error 0x%1 - + 安卓:SDK 安装错误 0x%1 Android: NDK installation error 0x%1 - + 安卓:NDK 安装错误 0x%1 Android: Java installation error 0x%1 - + 安卓:Java 安装错误 0x%1 Android: ant installation error 0x%1 - + 安卓:ANT 安装错误 0x%1 Android: adb installation error 0x%1 - + 安卓:ADB 安装错误 0x%1 Android: Device connection error 0x%1 - + 安卓:设备连接错误 0x%1 Android: Device permission error 0x%1 - + 安卓:设备权限错误 0x%1 Android: Device authorization error 0x%1 - + 安卓:设备授权错误 0x%1 Android: Device API level not supported: error 0x%1 - + 安卓:设备 API 级别不支持:错误 0x%1 Android: Unknown error 0x%1 - + 安卓:未知错误 0x%1 Unknown Android version. API Level: %1 - + 未知安卓版本。API 级别:%1 Error creating Android templates. - + 错误创建安卓模板。 Cannot parse "%1". - + 无法解析“%1”。 Starting Android virtual device failed. - + 启动安卓虚拟设备失败。 Android package installation failed. %1 - + 安卓包安装失败。 +%1 General - 概要 + 概要 XML Source - + XML 源 Android Manifest editor - + 安卓 Manifest 编辑器 Master icon - + 主图标 Select master icon. - + 选择主图标。 LDPI icon - + 低屏幕密度图标 Select an icon suitable for low-density (ldpi) screens (~120dpi). - + 为低密度屏幕(~120 dpi)选择合适的图标。 MDPI icon - + 中等屏幕密度图标 Select an icon for medium-density (mdpi) screens (~160dpi). - + 为中等密度屏幕(120~160 dpi)选择图标 HDPI icon - + 高屏幕密度图标 Select an icon for high-density (hdpi) screens (~240dpi). - + 为高密度屏幕(160~240 dpi)选择图标。 XHDPI icon - + 超高屏幕密度图标 Select an icon for extra-high-density (xhdpi) screens (~320dpi). - + 为超高密度屏幕(240~320 dpi)选择图标。 XXHDPI icon - + 超超高屏幕密度图标 Select an icon for extra-extra-high-density (xxhdpi) screens (~480dpi). - + 为超超高密度屏幕(320~480dpi)选择图标。 XXXHDPI icon - + 超超超高屏幕密度图标 Select an icon for extra-extra-extra-high-density (xxxhdpi) screens (~640dpi). - + 为超超超高密度屏幕(480~640 dpi)选择图标。 Icon scaled up. - + 图标放大。 Click to select... - + 单击以选择... Images (*.png *.jpg *.jpeg *.webp *.svg) - + 图片(*.png *.jpg *.jpeg *.webp *.svg) Include default permissions for Qt modules. - + 包括 Qt 模块的默认权限。 Include default features for Qt modules. - + 包括 Qt 模块的默认特性。 Package - + <p align="justify">Please choose a valid package name for your application (for example, "org.example.myapplication").</p><p align="justify">Packages are usually defined using a hierarchical naming pattern, with levels in the hierarchy separated by periods (.) (pronounced "dot").</p><p align="justify">In general, a package name begins with the top level domain name of the organization and then the organization's domain and then any subdomains listed in reverse order. The organization can then choose a specific name for their package. Package names should be all lowercase characters whenever possible.</p><p align="justify">Complete conventions for disambiguating package names and rules for naming packages when the Internet domain name cannot be directly used as a package name are described in section 7.7 of the Java Language Specification.</p> - + <p align="justify">请为你的应用选择有效的报名(例如,“org.example.myapplication”)。</p><p align="justify">通常使用分层命名模式定义包,层次结构中的级别由 . 分隔。</p><p align="justify">通常,包名以组织的顶级域名开头,然后是组织的域,然后以相反顺序列出其它子域。然后为他们的包选择一个特定的名字。包名应尽可能全部使用小写字符。</p><p align="justify">Java 语言规范的第 7.7 节描述了,当互联网域名不能直接用于包名时,用来消除包名歧义的完整约定和命名包的规则</p> Package name: - 包名称: + 包名称: The package name is not valid. - + 包名称无效。 Version code: - + 版本代码: Version name: - 版本名称: + 版本名称: Sets the minimum required version on which this application can be run. - + 设置应用可运行的最低需求版本。 Not set - + 未设置 Minimum required SDK: - + SDK 最低需求: Sets the target SDK. Set this to the highest tested version. This disables compatibility behavior of the system for your application. - + 设置目标 SDK。设置这项到最高测试版本。操作系统将对你的应用禁用兼容行为。 Target SDK: - + 目标 SDK: Application name: - + 应用名称: Activity name: - + 活动名称: Style extraction: - + 风格提取: Screen orientation: - + 屏幕朝向: Advanced - 高级 + 高级 Application icon - + 应用图标 Android services - + 安卓服务 Splash screen - + 启动画面 Service Definition Invalid - + 服务定义无效 Cannot switch to source when there are invalid services. - + 存在无效服务时无法切换源。 Cannot save when there are invalid services. - + 存在无效服务时无法保存。 The structure of the Android manifest file is corrupted. Expected a top level 'manifest' node. - + 安卓 manifest 文件结构损坏。需要一个顶级清单节点。 The structure of the Android manifest file is corrupted. Expected an 'application' and 'activity' sub node. - + 安卓 manifest 文件结构损坏。需要 “application” 和 “activity” 子节点。 API %1: %2 - + API %1:%2 Could not parse file: "%1". - + 无法解析文件:%1。 %2: Could not parse file: "%1". - + %2:无法解析文件:%1。 Goto error - + 跳转错误 Services invalid. Manifest cannot be saved. Correct the service definitions before saving. - + 服务无效。无法保存 Manifest。请在保存前修正服务定义。 <b>Make install:</b> Copy App Files to %1 - + <b>Make install:</b> 拷贝应用到 %1 "%1" step has an invalid C++ toolchain. - + 步骤“%1”有无效 c++ 工具链。 Removing directory %1 - + 移除目录 %1 Failed to clean "%1" from the previous build, with error: %2 - + 从前次构建中清理 %1 失败,错误:%2 Deploy to Android Device - + 部署到安卓设备 Java Language Server - + Java 语言服务器 Would you like to configure Android options? This will ensure Android kits can be usable and all essential packages are installed. To do it later, select Edit > Preferences > Devices > Android. - + 你想要配置安卓选项吗?这会确定安卓套件可使用并且所有重要的包都安装了。要稍后再做,选择编辑->偏好->设备->安卓。 Configure Android - + 配置安卓 Configure Android... - + 配置安卓... %1 needs additional settings to enable Android support. You can configure those settings in the Options dialog. - + %1 需要额外的设置来启动安卓支持。你可以在选项对话框中配置这些。 %1 has been stopped. - + %1 停止。 Selected device is invalid. - + 选择的设备无效。 Selected device is disconnected. - + 选择的设备断开连接。 Launching AVD. - + 启动 AVD。 Could not start AVD. - + 无法启动 AVD。 No valid AVD has been selected. - + 未选择有效 AVD。 Checking if %1 app is installed. - + 检查 %1 应用是否安装。 ABI of the selected device is unknown. Cannot install APK. - + 所选设备的 ABI 未知,无法安装 APK。 Cannot install %1 app for %2 architecture. The appropriate APK was not found in resources folders. - + 无法为 %2 架构安装应用 %1。在资源文件夹中找不到合适的 APK。 Installing %1 APK. - + 安装 %1 APK。 Too many .qmlproject files in your project. Open directly the .qmlproject file you want to work with and then run the preview. - + 您的项目中有大量 .qmlproject 文件。直接打开要使用的 .qmlproject 文件,然后运行预览。 No .qmlproject file found among project files. - + 在项目文件中未找到 .qmlproject 文件。 Could not gather information on project files. - + 无法在项目文件中收集信息。 Could not create file for %1 "%2" - + 无法为 %1 创建文件 “%2” A timeout occurred running "%1" - + 运行 “%1” 时超时 Crash while creating file for %1 "%2" - + 为 %1 创建文件“%2”时崩溃 Creating file for %1 failed. "%2" (exit code %3). - + 为 %1 创建文件 “%2” 时失败,(退出码 %3)。 Uploading files. - + 上传文件。 Starting %1. - 正在启动 %1 %2 - {1.?} + 正在启动 %1。 %1 is running. - + %1 正在运行。 NDK is not configured in Devices > Android. - + 设备->安卓中未配置 NDK。 SDK is not configured in Devices > Android. - + 设备->安卓中未配置 SDK。 Failed to detect the ABIs used by the Qt version. Check the settings in Devices > Android for errors. - + 无法检测 Qt 版本所使用的 ABI。检查设备->安卓中的设置是否有误。 Clean Environment - + 清理环境 Activity manager start arguments: - + 活动管理器启动参数: Pre-launch on-device shell commands: - + 预启动设备上的 shell 命令: Post-quit on-device shell commands: - + 退出设备上的 shell 命令: "%1" terminated. - + “%1” 终止。 No free ports available on host for QML debugging. - + 主机上无可用于 QML 调试的空闲端口。 Failed to find application directory. - + 查找应用目录失败。 Cannot find C++ debug server in NDK installation. - + 无法从 NDK 安装中找到 C++ 调试器。 The lldb-server binary has not been found. - + 未找到 lldb-server 库。 Cannot copy C++ debug server. - + 无法复制 c++ 调试服务器。 Failed to start the activity. - + 启动活动失败。 Activity Manager threw the error: %1 - + 活动管理器抛出错误:%1 Failed to start debugger server. - + 启动调试服务器失败。 Failed to forward JDB debugging ports. - + 无法转发 JDB 调试端口。 Failed to start JDB. - + 启动 JDB 失败。 Cannot attach JDB to the running application. - + 无法关联 JDB 到运行的应用。 "%1" died. - + “%1” 死亡。 Encountered SSL errors, download is aborted. - + 发生 SSL 错误,下载中止。 The SDK Tools download URL is empty. - + SDK 工具下载 URL 为空。 Downloading SDK Tools package... - + 下载 SDK 工具包... Cancel - 取消 + 取消 Download SDK Tools - + 下载 SDK 工具 Could not open %1 for writing: %2. - + 无法打开 %1 以写入:%2。 Downloading Android SDK Tools from URL %1 has failed: %2. - + 从 %1 下载安卓 SDK 工具失败:%2。 Download from %1 was redirected. - + 从 %1 的下载被重定向。 Writing and verifying the integrity of the downloaded file has failed. - + 写入和验证下载文件的完整性失败。 The operation requires user interaction. Use the "sdkmanager" command-line tool. - + 操作需要用户交互。使用“SDK 管理器”命令行工具。 Updating installed packages. - + 更新安装的包。 Failed. - 失败. + 失败. Done - + 完成 + + Installing - + 安装 Uninstalling - + 卸载 AndroidSdkManager Failed - + 安卓 SDK 管理器 AndroidSdkManager Done - + 安卓 SDK 管理器 License command failed. - + 许可命令失败。 + + Android SDK Manager - + 安卓 SDK 管理器 Update Installed - + 更新已安装的 Apply - + 应用 Default - 默认 + 默认 Stable - + 稳定 Beta - + 测试 Dev - + 开发 Canary - + 金丝雀 Include obsolete - + 包括过时的 Available - 可用 + 可用 Installed - 已安装 + 已安装 All - 所有 + 所有 Advanced Options... - + 高级选项... Expand All - 展开全部 + 展开全部 Do you want to accept the Android SDK license? - + 要接受安卓 SDK 许可证吗? Show Packages - + 显示包 Channel: - + 通道: Android SDK Changes - + 修改安卓 SDK %1 cannot find the following essential packages: "%2". Install them manually after the current operation is done. - + %1 无法找到下列重要包:“%2” +请在当前操作结束后手动安装。 + Android SDK installation is missing necessary packages. Do you want to install the missing packages? - + 缺失安卓 SDK 安装所必要的包。你想安装这些缺失包吗? Checking pending licenses... - + 正在检查待处理的许可证... + The installation of Android SDK packages may fail if the respective licenses are not accepted. - + 如果不接受相应的许可证,安卓 SDK 包安装可能会失败。 SDK Manager is busy. - + +SDK 管理器繁忙。 %n Android SDK packages shall be updated. - - + + %n 安卓 SDK 包将被更新。 [Packages to be uninstalled:] - + [将会卸载的包:] SDK Manager is busy. Operation cancelled. - + SDK 管理器繁忙。操作取消。 Installing/Uninstalling selected packages... - + 安装/卸载选择的包... + Closing the %1 dialog will cancel the running and scheduled SDK operations. - + 关闭%1对话框将取消运行中的和计划的 SDK 操作。 + preferences - + 偏好 options - + 选项 Updating installed packages... - + 正在更新安装的包... + Android SDK operations finished. - + 安卓 SDK 操作结束。 Operation cancelled. - + 操作取消。 + No pending operations to cancel... - + +没有待取消的操作... + Cancelling pending operations... - + +正在取消待处理的操作... + SDK Manager Arguments - + SDK 管理器参数 Cannot load available arguments for "sdkmanager" command. - + 无法为“SDK管理器”命令加载可用参数。 SDK manager arguments: - + SDK 管理器参数: Available arguments: - + 可用参数: Revision - + 修订 API - + API Tools - + 工具 SDK Platform - + SDK 平台 The name of the class implementing the service. - + 实现服务的类名。 Checked if the service is run in an external process. - + 检查服务是否在外部进程中运行。 The name of the external process. Prefix with : if the process is private, use a lowercase name if the process is global. - + 外部进程名称。 +前缀为:标识进程是私有的,如果是全局进程,使用小写名称。 Checked if the service is in a separate dynamic library. - + 检查服务是否在单独的动态库中。 The name of the separate dynamic library. - + 独立动态库名称。 The arguments for telling the app to run the service instead of the main activity. - + 告诉应用程序运行服务而不是主要活动的参数。 Service class name. - + 服务类名。 Run in external process. - + 在外部进程中运行。 Process name. - + 进程名。 Run in external library. - + 在外部库中运行。 Library name. - + 库名。 Service arguments. - + 服务参数。 The class name must be set. - + 必须设置类名。 The process name must be set for a service run in an external process. - + 必须为在外部进程中运行的服务设置进程名。 The library name must be set for a service run in an external library. - + 必须为在外部库中运行的服务设置库名。 Open Android SDK download URL in the system's browser. - + 在系统浏览器中打开安卓 SDK 下载链接。 Add the selected custom NDK. The toolchains and debuggers will be created automatically. - + 添加所选的自定义 NDK。工具链和调试器会自动创建。 Remove the selected NDK if it has been added manually. - + 如果已经手动添加,删除所选的 NDK。 Force a specific NDK installation to be used by all Android kits.<br/>Note that the forced NDK might not be compatible with all registered Qt versions. - + 强制所有安卓套件使用特定的 NDK 安装。<br/>注意,强制 NDK 可能与已注册的 Qt 版本不兼容。 Open JDK download URL in the system's browser. - + 在系统浏览器中打开 JDK 下载链接。 Set Up SDK - + 设置 SDK Automatically download Android SDK Tools to selected location. @@ -1789,27 +1813,30 @@ from %1, and extracted to the selected path. After the SDK Tools are properly set up, you are prompted to install any essential packages required for Qt to build for Android. - + 自动下载安卓 SDK 工具到选定位置。 + +如果选择的路径不包含有效 SDK 工具,则从 %1 下载 SDK 工具包并且解压到所选路径。 +正确设置 SDK 工具后,系统会提示安装 Qt 构建安卓所必需的包。 SDK Manager - + SDK 管理器 Open Android NDK download URL in the system's browser. - + 在系统浏览器中打开安卓 NDK 下载链接。 Automatically create kits for Android tool chains - + 为安卓工具链自动创建套件 Select the path of the prebuilt OpenSSL binaries. - + 选择预构建的 OpenSSL 二进制文件路径。 Download OpenSSL - + 下载 OpenSSL Automatically download OpenSSL prebuilt libraries. @@ -1819,392 +1846,400 @@ are performed. Find the checkbox under "Projects > Build > Build Step Build Android APK > Additional Libraries". If the automatic download fails, Qt Creator proposes to open the download URL in the system's browser for manual download. - + 自动下载 OpenSSL 预构建库。 + +如果有任何 SSL 操作,这些库可以随应用程序一起提供执行。 +从“项目->构建->构建步骤->构建安卓 APK->额外库”中查找复选框。 +如果自动下载失败,Qt Creator 建议在系统浏览器中打开下载链接进行手动下载。 Android SDK path exists and is writable. - + 安卓 SDK 路径存在并可写。 JDK path exists and is writable. - + JDK 路径存在并可写。 SDK tools installed. - + SDK 工具已安装。 SDK manager runs. - + SDK 管理器运行。 Platform tools installed. - + 平台工具已安装。 All essential packages installed for all installed Qt versions. - + 已为所有已安装的 Qt 版本安装必要包。 Build tools installed. - + 构建工具已安装。 Platform SDK installed. - + 平台 SDK 已安装。 Android settings are OK. - + 安卓设置完成。 Android settings have errors. - + 安卓设置存在错误。 OpenSSL path exists. - + OpenSSL 路径存在。 QMake include project (openssl.pri) exists. - + QMake 包含项目(openssl.pri)存在。 CMake include project (CMakeLists.txt) exists. - + CMake 包含项目(CMakeLists.txt)存在 OpenSSL Settings are OK. - + OpenSSl 设置完成。 OpenSSL settings have errors. - + OpenSSL 设置存在错误。 Select JDK Path - + 选择 JDK 路径 Select Android SDK Folder - + 选择安卓 SDK 文件夹 Select OpenSSL Include Project File - + 选择 OpenSSL 包含项目文件 Android Settings - + 安卓设置 JDK location: - + JDK 位置: Android NDK list: - + 安卓 NDK 列表: Android OpenSSL settings (Optional) - + 安卓 OpenSSL 设置(可选) OpenSSL binaries location: - + OpenSSL 二进制位置: Failed to create the SDK Tools path %1. - + 创建 SDK 工具路径%1失败。 Select an NDK - + 选择 NDK Add Custom NDK - + 添加自定义 NDK The selected path has an invalid NDK. This might mean that the path contains space characters, or that it does not have a "toolchains" sub-directory, or that the NDK version could not be retrieved because of a missing "source.properties" or "RELEASE.TXT" file - + 选择的路径存在无效 NDK。可能意味着路径包含空格,或者没有“toolchins”子路径,或者因为缺失“source.properties 或 RELEASE.TXT”文件无法检索 NDK 版本 OpenSSL Cloning - + 正在克隆 OpenSSL OpenSSL prebuilt libraries repository is already configured. - + OpenSSL 预构建二进制仓库已配置。 The selected download path (%1) for OpenSSL already exists and the directory is not empty. Select a different path or make sure it is an empty directory. - + 所选的用于下载 OpenSSL 的路径(%1)已存在并且非空。请选择其它空路径。 Cloning OpenSSL prebuilt libraries... - + 正在克隆 OpenSSL 预构建二进制包... OpenSSL prebuilt libraries cloning failed. - + 克隆 OpenSSL 预构建二进制包失败。 Opening OpenSSL URL for manual download. - + 打开 OpenSSL 链接进行手动下载。 Open Download URL - + 打开下载链接 The Git tool might not be installed properly on your system. - + Git 工具可能没有正确安装。 (SDK Version: %1, NDK Version: %2) - + (SDK 版本:%1, NDK 版本:%2) Unset Default - + 取消默认 Make Default - 设置为默认 + 设置为默认 The selected path already has a valid SDK Tools package. - + 所选路径已存在有效 SDK 工具包。 Download and install Android SDK Tools to %1? - + 下载并安装安卓 SDK 到%1? Android Clang - + 安卓 Clang Overwrite existing AVD name - + 覆盖存在的 AVD 名称 Device definition: - + 设备定义: Architecture (ABI): - + 架构(ABI): Target API: - + 目标 API: Cannot create a new AVD. No suitable Android system image is installed.<br/>Install a system image for the intended Android version from the SDK Manager. - + 无法创建新的 AVD。未安装合适的安卓系统镜像。<br/>从 SDK 管理器安装目标安卓版本的系统镜像。 Cannot create an AVD for ABI %1.<br/>Install a system image for it from the SDK Manager tab first. - + 无法为 ABI %1 创建 AVD。<br/>请先从 SDK 管理器标签中安装系统镜像。 Allowed characters are: a-z A-Z 0-9 and . _ - - + 允许的字符集:a-z A-Z 0-9 and . _ - No application .pro file found in this project. - + 在当前项目中未找到应用项目管理文件(.pro)。 No Application .pro File - + 无项目管理文件(.pro) Select the .pro file for which you want to create the Android template files. - + 为你想创建的安卓模板文件选择 .pro 文件。 .pro file: - + .pro 文件: Select a .pro File - + 选择一个 .pro 文件 Android package source directory: - + 安卓包源码路径: The Android package source directory cannot be the same as the project directory. - + 安卓包源码路径不能是项目路径。 Copy the Gradle files to Android directory - + 复制 Gradle 文件到安卓路径 It is highly recommended if you are planning to extend the Java part of your Qt application. - + 如果您想扩展 Qt 应用的 Java 部分,强烈建议您这样做。 Select the Android package source directory. The files in the Android package source directory are copied to the build directory's Android directory and the default files are overwritten. - + 选择安卓包源码路径。 + +安卓包源码目录中的文件将被复制到构建目录的 Android 目录中,并覆盖默认文件。 The Android template files will be created in the %1 set in the .pro file. - + 安卓模板文件会创建到 .pro 文件设置的 %1 路径中。 Create Android Template Files Wizard - + 创建安卓模板文件向导 Project File not Updated - + 项目文件未更新 Could not update the project file %1. - + 无法更新项目文件%1。 Java: - + Java: Java Language Server: - + Java 语言服务器: Path to equinox launcher jar - + Equinox 启动器 jar 的路径 Select splash screen image - + 选择启动画面图像 Portrait splash screen - + 纵向启动画面 Select portrait splash screen image - + 选择纵向启动画面图像 Landscape splash screen - + 横向启动画面 Select landscape splash screen image - + 选择横向启动画面图像 Clear All - + 清除所有 A non-sticky splash screen is hidden automatically when an activity is drawn. To hide a sticky splash screen, invoke QtAndroid::hideSplashScreen(). - + 绘制活动时会自动隐藏非粘性启动画面。 +调用 QtAndroid::hideSplashScreen() 函数隐藏粘性启动画面。 Sticky splash screen: - + 粘性启动画面: Image show mode: - + 图像显示模式: Background color of the splash screen. - + 启动画面背景颜色。 Background color: - + 背景颜色: Select master image to use. - + 选择要使用的主图像。 Master image: - + 主图像: Select portrait master image to use. - + 选择要使用的纵向主图像。 Portrait master image: - + 纵向主图像: Select landscape master image to use. - + 选择要使用的横向主图像。 Landscape master image: - + 横向主图像: LDPI - + 低屏幕密度 MDPI - + 中屏幕密度 HDPI - + 高屏幕密度 XHDPI - + 超高屏幕密度 XXHDPI - + 超超高屏幕密度 XXXHDPI - + 超超超高屏幕密度 An image is used for the splashscreen. Qt Creator manages splashscreen by using a different method which requires changing the manifest file by overriding your settings. Allow override? - + 用于启动画面的图像。Qt Creator 通过使用需要修改 manifest 文件的不同方法 +来管理启动图像,并会覆盖你的设置。允许覆盖? Convert - + 转换 Select background color - + 选择背景颜色 Select master image - + 选择主图像 Select portrait master image - + 选择纵向主图像 Select landscape master image - + 选择横向主图像 Images - 图片 + 图片 @@ -2219,61 +2254,61 @@ the manifest file by overriding your settings. Allow override? Unable to send command line arguments to the already running instance. It does not appear to be responding. Do you want to start a new instance of %1? - + 无法发送命令行参数到运行中的实例。似乎没有响应。是否启动%1的新实例? Could not find Core plugin in %1 - + 无法从%1中找到核心插件 Core plugin is disabled. - + 核心插件被禁用。 ApplicationWindowSpecifics Window - + 窗口 Title - 标题 + 标题 Size - + 大小 Color - 颜色 + 颜色 Visible - 可见 + 可见 Opacity - 不透明度 + 不透明度 Autotest Testing - + 测试 &Tests - + 测试(&T) Run &All Tests - + 运行所有测试(&A) Run All Tests - + 运行所有测试 Ctrl+Meta+T, Ctrl+Meta+A @@ -4338,7 +4373,7 @@ Warning: this is an experimental feature and might lead to failing to execute th Miscellaneous - 其他 + 其它 Log count: @@ -5347,33 +5382,6 @@ Local pulls are not applied to the master branch. - - BrowserWindow - - Edit - 编辑 - - - Copy - 复制 - - - URL: - URL: - - - Browse... - 浏览... - - - Open File - 打开文件 - - - Enter location - - - BuildConfiguration @@ -6776,7 +6784,7 @@ Make sure that CMAKE_BUILD_TYPE variable matches the "Build type" fiel Miscellaneous - 其他 + 其它 Added @@ -7852,7 +7860,7 @@ Set a valid executable first. Miscellaneous - 其他 + 其它 &History count: @@ -8966,7 +8974,7 @@ Set a valid executable first. Close Others - 关闭其他 + 关闭其它 Split @@ -9010,7 +9018,7 @@ Set a valid executable first. Close Other Editors - 关闭其他编辑器 + 关闭其它编辑器 File Error @@ -10172,7 +10180,7 @@ To do this, you type this shortcut and a space in the Locator entry field, and t Close Others - 关闭其他 + 关闭其它 Cannot Open File @@ -12886,7 +12894,7 @@ if (a && </pre> </body></html> <html><head/><body> -如果switch、if、while和foreach表达式中的多行条件的缩进等于或少于其他嵌套语句,则为其多添加一层缩进。 +如果switch、if、while和foreach表达式中的多行条件的缩进等于或少于其它嵌套语句,则为其多添加一层缩进。 如果是四个空格方式的缩进,则只修改if语句。不添加额外空白: <pre> @@ -13241,7 +13249,7 @@ These prefixes are used in addition to current file name on Switch Header/Source Other - 其他 + 其它 C++ Usages: @@ -16149,7 +16157,7 @@ Do you want to retry? Misc Types - 其他类型 + 其它类型 The debugger to use for this kit. @@ -21149,7 +21157,7 @@ Partial names can be used if they are unambiguous. Miscellaneous - 其他 + 其它 Pull with rebase @@ -24176,7 +24184,7 @@ Would you like to overwrite them? Miscellaneous - 其他 + 其它 Set an Environment Variable: @@ -26012,7 +26020,7 @@ Error: %5 Miscellaneous - 其他 + 其它 Mercurial @@ -28108,7 +28116,7 @@ You might find further explanations in the Application Output view. Miscellaneous - 其他 + 其它 Prompt on submit @@ -28303,7 +28311,7 @@ You might find further explanations in the Application Output view. Other Project - 其他项目 + 其它项目 Import Project @@ -29342,7 +29350,7 @@ Excluding: %2 Close Other Tabs - 关闭其他标签 + 关闭其它标签 Application Output @@ -29908,7 +29916,7 @@ Excluding: %2 ProjectExplorer::Internal::DependenciesModel <No other projects in this session> - <会话中没有其他项目> + <会话中没有其它项目> @@ -33089,7 +33097,7 @@ These files are preserved. The compiler to use for building.<br>Make sure the compiler will produce binaries compatible with the target device, Qt version and other libraries used. - 构建使用的编译器。<br>请确保使用的编译器生成的二进制与目标设备、Qt版本和其他库兼容。 + 构建使用的编译器。<br>请确保使用的编译器生成的二进制与目标设备、Qt版本和其它库兼容。 Compilers produce code for different ABIs: %1 @@ -34970,7 +34978,7 @@ Adds the library and include paths to the .pro file. Other files - 其他文件 + 其它文件 Could not write project file %1. @@ -34994,7 +35002,7 @@ Adds the library and include paths to the .pro file. The mkspec to use when building the project with qmake.<br>This setting is ignored when using other build systems. - 用qmake构建项目时使用的mkspec。<br>当使用其他构建系统时该设置被忽略。 + 用qmake构建项目时使用的mkspec。<br>当使用其它构建系统时该设置被忽略。 No Qt version set, so mkspec is ignored. @@ -36108,7 +36116,7 @@ The new project can be opened in Qt Creator using the main CMakeLists.txt file.< Name already used in another state - 名称已经被其他状态使用 + 名称已经被其它状态使用 Root @@ -37698,7 +37706,7 @@ Locked components cannot be modified or selected. Close Others - 关闭其他 + 关闭其它 @@ -41132,7 +41140,7 @@ For more details, see /etc/sysctl.d/10-ptrace.conf ptrace: 操作不允许。 -无法attach到进程。请确认其他调试器没有追踪该进程。 +无法attach到进程。请确认其它调试器没有追踪该进程。 检查/proc/sys/kernel/yama/ptrace_scope 的设置 详情参考 /etc/sysctl.d/10-ptrace.conf @@ -41149,7 +41157,7 @@ For more details, see /etc/sysctl.d/10-ptrace.conf ptrace: 操作不允许。 -无法attach到进程。请确认其他调试器没有追踪该进程。 +无法attach到进程。请确认其它调试器没有追踪该进程。 如果您的uid和目标进程的uid 相符,检查 /proc/sys/kernel/yama/ptrace_scope的设置 @@ -41312,7 +41320,7 @@ For more details, see /etc/sysctl.d/10-ptrace.conf The Qt library to use for all projects using this kit.<br>A Qt version is required for qmake-based projects and optional when using other build systems. - 所有使用该构建套件的项目使用的Qt库。<br> 基于qmake的项目必需一个Qt版本,而使用其他构建系统的项目则为可选。 + 所有使用该构建套件的项目使用的Qt库。<br> 基于qmake的项目必需一个Qt版本,而使用其它构建系统的项目则为可选。 Qt version @@ -43576,7 +43584,7 @@ Row: %4, Column: %5 Close Other Tabs - 关闭其他标签 + 关闭其它标签 Type text and hit Enter to send. @@ -44905,7 +44913,7 @@ Failed to open file "%1" Miscellaneous - 其他 + 其它 @@ -47121,7 +47129,7 @@ Influences the indentation of continuation lines. </pre> </li> -<li>伴随空格: 允许使用空格进行对齐,忽略其他缩进设置。 +<li>伴随空格: 允许使用空格进行对齐,忽略其它缩进设置。 <pre> (tab)int i = foo(a, b (tab) c, d); @@ -50012,11 +50020,11 @@ To disable a variable, prefix the line with "#". %1 cost spent in a given function excluding costs from called functions. - 给定的函数的花费为 %1,不包括调用其他函数的花费。 + 给定的函数的花费为 %1,不包括调用其它函数的花费。 %1 cost spent in a given function including costs from called functions. - 给定的函数的花费为 %1,包括调用其他函数的花费。 + 给定的函数的花费为 %1,包括调用其它函数的花费。 Function From f27d5b8784d3eddd8eaaae013210b82864b6b07a Mon Sep 17 00:00:00 2001 From: Xu Shitong Date: Wed, 9 Nov 2022 16:57:59 +0800 Subject: [PATCH 18/19] Chinese translation update for 9.0 (Test module) Change-Id: I6c34ee286747ca0807e3208369a9e305f5c4a299 Reviewed-by: Liang Qi --- .../qtcreator/translations/qtcreator_zh_CN.ts | 634 +++++++++--------- 1 file changed, 326 insertions(+), 308 deletions(-) diff --git a/share/qtcreator/translations/qtcreator_zh_CN.ts b/share/qtcreator/translations/qtcreator_zh_CN.ts index 40ab3283390..abf676487c5 100644 --- a/share/qtcreator/translations/qtcreator_zh_CN.ts +++ b/share/qtcreator/translations/qtcreator_zh_CN.ts @@ -2312,549 +2312,555 @@ the manifest file by overriding your settings. Allow override? Ctrl+Meta+T, Ctrl+Meta+A - + Ctrl+Meta+T, Ctrl+Meta+A Alt+Shift+T,Alt+A - + Alt+Shift+T,Alt+A Run All Tests Without Deployment - + 运行所有测试但不部署 Ctrl+Meta+T, Ctrl+Meta+E - + Ctrl+Meta+T, Ctrl+Meta+E Alt+Shift+T,Alt+E - + Alt+Shift+T,Alt+E &Run Selected Tests - + 运行所选的测试(&R) Run Selected Tests - + 运行所选的测试 Ctrl+Meta+T, Ctrl+Meta+R - + Ctrl+Meta+T, Ctrl+Meta+R Alt+Shift+T,Alt+R - + Alt+Shift+T,Alt+R &Run Selected Tests Without Deployment - + 运行所选的测试但不部署(&R) Ctrl+Meta+T, Ctrl+Meta+W - + Ctrl+Meta+T, Ctrl+Meta+W Alt+Shift+T,Alt+W - + Alt+Shift+T,Alt+W Run &Failed Tests - + 运行失败的测试&F Run Failed Tests - + 运行失败的测试 Ctrl+Meta+T, Ctrl+Meta+F - + Ctrl+Meta+T, Ctrl+Meta+F Alt+Shift+T,Alt+F - + Alt+Shift+T,Alt+F Run Tests for &Current File - + 为当前文件运行测试&C Run Tests for Current File - + 为当前文件运行测试 Ctrl+Meta+T, Ctrl+Meta+C - + Ctrl+Meta+T, Ctrl+Meta+C Alt+Shift+T,Alt+C - + Alt+Shift+T,Alt+C Re&scan Tests - + 重新扫描测试(&s) Ctrl+Meta+T, Ctrl+Meta+S - + Ctrl+Meta+T, Ctrl+Meta+S Alt+Shift+T,Alt+S - + Alt+Shift+T,Alt+S &Run Test Under Cursor - + 运行光标所选测试(&R) Run Test Under Cursor Without Deployment - + 运行光标所选测试但不部署 &Debug Test Under Cursor - + 调试光标所选测试(&D) Debug Test Under Cursor Without Deployment - + 调试光标所选测试但不部署 Selected test was not found (%1). - + 未找到所选测试(%1)。 Boost Test - + Boost 测试 Executing test case %1 - + 执行测试用例 %1 Executing test suite %1 - + 执行测试套件 %1 Test execution took %1 - + 执行测试耗费 %1 Test suite execution took %1 - + 执行测试套件耗费 %1 Executing test module %1 - + 执行测试模块 %1 Test module execution took %1 - + 测试模块耗费 %1 %1 failures detected in %2. - + 在 %2 中检测到错误 %1。 %1 tests passed. - + %1 测试通过。 No errors detected. - + 未检测到错误。 Running tests exited with %1 - + 运行测试结束,返回值 %1 Executable: %1 - + 可执行: %1 Running tests failed. %1 Executable: %2 - + 运行测试失败。 +%1 +可执行:%2 Running tests without output. - + 运行测试但不输出。 Log format: - + 日志格式: Report level: - + 报告级别: Seed: - + 随机种子: A seed of 0 means no randomization. A value of 1 uses the current time, any other value is used as random seed generator. - + 随机种子 0 意味着无随机化。值 1 使用当前时间,任何其他值用作随机种子生成器。 Randomize - + 随机化 Randomize execution order. - + 随机化执行顺序。 Catch system errors - + 捕获系统错误 Catch or ignore system errors. - + 捕获或忽略系统错误。 Floating point exceptions - + 浮点异常 Enable floating point exception traps. - + 启用浮点异常陷阱。 Detect memory leaks - + 检测内存泄露 Enable memory leak detection. - + 启用内存泄露检测。 parameterized - + 参数化 fixture - + 装置 templated - + 模板 Catch Test - + 捕捉测试 Exception: - + 异常: Executing %1 "%2" - + 执行 %1 “%1” %1 "%2" passed - + %1 “%2” 通过 Expression passed - + 表达式通过 Expression failed: %1 - + 表达式失败:%1 Finished executing %1 "%2" - + 结束执行 %1 “%2” Number of resamples for bootstrapping. - + 引导的重采样数 ms - 毫秒 + 毫秒 Abort after - + 后中止 Aborts after the specified number of failures. - + 在指定失败次数后中止。 Benchmark samples - + 基准测试样本 Number of samples to collect while running benchmarks. - + 运行基准测试时的采样数。 Benchmark resamples - + 基准测试重采样 Number of resamples used for statistical bootstrapping. - + 用于统计的引导重采样数 Confidence interval used for statistical bootstrapping. - + 用于统计的引导置信区间。 Benchmark confidence interval - + 基准测试置信区间 Benchmark warmup time - + 基准测试预热时间 Warmup time for each test. - + 每个测试预热时间 Disable analysis - + 禁用分析 Disables statistical analysis and bootstrapping. - + 禁用统计分析和引导。 Show success - + 显示成功 Show success for tests. - + 显示测试成功。 Break on failure while debugging - + 调试时失败跳出 Turns failures into debugger breakpoints. - + 将故障转换为调试断点。 Skip throwing assertions - + 跳过抛出断言 Skips all assertions that test for thrown exceptions. - + 跳过所有测试抛出异常的断言。 Visualize whitespace - + 空白可视化 Makes whitespace visible. - + 使空白可见。 Warn on empty tests - + 空白测试时警告 Warns if a test section does not check any assertion. - + 若测试部分不做断言检查,发出警告。 Running tests for %1 - + 为 %1 运行测试 Output on failure - + 失败时输出 Output mode - + 输出模式 Default - 默认 + 默认 Verbose - 详细 + 详细 Very Verbose - + 非常详细 Repetition mode - + 重复模式 Until Fail - + 直到失败 Until Pass - + 直到通过 After Timeout - + 超时后 Count - + 计数 Number of re-runs for the test. - + 重复测试次数。 Schedule random - + 随机安排 Stop on failure - + 失败时停止 Run tests in parallel mode using given number of jobs. - + 使用给定的作业数以并行模式运行测试。 Jobs - + 作业 Test load - + 测试加载 Try not to start tests when they may cause CPU load to pass a threshold. - + 测试可能导致 CPU 负载超过阈值时,尽量不要开始测试。 Threshold - + 阈值 CTest - + C测试 Repeat tests - + 重复测试 Run in parallel - + 并行运行 Google Test - + 谷歌测试 Enable or disable grouping of test cases by folder or GTest filter. See also Google Test settings. - + 启用或禁用按文件夹或 GTest 过滤器对测试用例进行分组。 +见谷歌测试设置。 Running tests failed. %1 Executable: %2 - + 运行测试失败。 +%1 +可执行:%2 (iteration %1) - + (迭代 %1) Repeating test suite %1 (iteration %2) - + 重复测试套件 %1(迭代 %2) Entering test case %1 - + 进入测试用例 %1 Execution took %1. - + 执行耗费 %1。 Iterations: - + 迭代: A seed of 0 generates a seed based on the current timestamp. - + 种子 0 基于当前时间戳生成种子。 Run disabled tests - + 运行禁用的测试 Executes disabled tests when performing a test run. - + 当执行的测试运行时,执行禁用的测试。 Shuffle tests - + 随机测试 Shuffles tests automatically on every iteration by the given seed. - + 在给定的种子每一次迭代中自动运行随机测试。 Repeats a test run (you might be required to increase the timeout to avoid canceling the tests). - + 重复运行测试(你可能会被要求增加超时来避免取消测试)。 Throw on failure - + 失败时抛出异常 Turns assertion failures into C++ exceptions. - + 将断言失败转换为 C++ 异常。 Directory - 目录 + 目录 GTest Filter - + GTest 过滤器 Group mode: - + 组模式: Select on what grouping the tests should be based. - + 选择测试应基于何种分组。 Active filter: - + 激活的过滤器: Set the GTest filter to be used for grouping. See Google Test documentation for further information on GTest filters. - + 设置 GTest 过滤器用于分组。 +见谷歌测试文档获取更多关于 GTest 过滤器的信息。 <matching> - + <匹配> <not matching> - + <不匹配> Change GTest filter in use inside the settings. - + 在设置中改变使用的 GTest 过滤器。 typed @@ -2862,217 +2868,219 @@ See Google Test documentation for further information on GTest filters. Active frameworks: - + 活跃的框架: Automatically run tests after build - + 在构建后自动运行测试 None - + All - 所有 + 所有 Selected - 选中 + 选中 Qt Test - + Qt 测试 %1 %2 per iteration (total: %3, iterations: %4) - + %1 %2 每次迭代(总共:%3,迭代:%4) Qt version: %1 - + Qt 版本:%1 Qt build: %1 - + Qt 构建:%1 QTest version: %1 - + QTest 版本:%1 XML parsing failed. - + XML 解析失败。 Entering test function %1::%2 - + 进入测试函数 %1::%2 Executing test function %1 - + 执行测试函数 %1 Execution took %1 ms. - + 执行耗费 %1 毫秒。 Test execution took %1 ms. - + 测试执行耗费 %1 毫秒。 Test function finished. - + 测试函数结束。 Test finished. - + 测试结束。 Walltime - + 现实时间 Uses walltime metrics for executing benchmarks (default). - + 使用现实时间指标执行基准测试(默认)。 Tick counter - + 时钟计数器 Uses tick counter when executing benchmarks. - + 执行基准测试时使用时钟计数器。 Event counter - + 事件计数器 Uses event counter when executing benchmarks. - + 执行基准测试时使用事件计数器。 Callgrind - + Uses Valgrind Callgrind when executing benchmarks (it must be installed). - + 执行基准测试时使用 Valgrind Callgrind(必须安装)。 Perf - + Uses Perf when executing benchmarks (it must be installed). - + 执行基准测试时使用 Perf(必须安装)。 Disable crash handler while debugging - + 调试时禁用崩溃处理程序 Enables interrupting tests on assertions. - + 断言时启用中断测试。 Use XML output - + 使用 XML 输出 XML output is recommended, because it avoids parsing issues, while plain text is more human readable. Warning: Plain text misses some information, such as duration. - + 建议使用 XML 输出,它避免了一些解析问题,虽然纯文本可读性更好。 + +警告:纯文本丢失了一些信息,比如持续时间。 Verbose benchmarks - + 详细基准测试 Log signals and slots - + 记录信号和槽 Log every signal emission and resulting slot invocations. - + 记录每个信号发射和产生的槽函数调用。 Limit warnings - + 限制警告 Set the maximum number of warnings. 0 means that the number is not limited. - + 设置警告数量最大值。0 意味着没有限制。 Unlimited - + 无限制的 Benchmark Metrics - + 基准测试指标 <p>Multiple testcases inside a single executable are not officially supported. Depending on the implementation they might get executed or not, but never will be explicitly selectable.</p> - + <p>官方不支持单一可执行程序中的多个测试用例,根据具体实现,它可能会被执行,但绝不会被明确选择</p> inherited - + 继承 multiple testcases - + 多个测试用例 Quick Test - + 快速测试 <unnamed> - + <未命名> Give all test cases a name to ensure correct behavior when running test cases and to be able to select them - + 为所有的测试用例命名以确保在运行测试用例时有正确行为,并且可以选择它们 Scanning for Tests - + 扫描测试 Tests - + 测试 No active test frameworks. - + 没有活跃的测试框架。 Run This Test - + 运行这个测试 Run Without Deployment - 忽略部署直接运行 + 忽略部署直接运行 Debug This Test - + 调试这个测试 Debug Without Deployment - + 忽略部署直接调试 Select All - 全选 + 全选 Deselect All - + 反选所有 Filter Test Tree @@ -3080,499 +3088,509 @@ Warning: Plain text misses some information, such as duration. Sort Naturally - + 自然排序 Expand All - 展开全部 + 展开全部 Collapse All - 折叠全部 + 折叠全部 Sort Alphabetically - 按字母排序 + 按字母排序 Show Init and Cleanup Functions - + 显示初始化和清场函数 Show Data Functions - + 显示数据函数 Test executable crashed. - + 可执行程序测试崩溃。 Stop Test Run - + 停止测试运行 Filter Test Results - + 测试过滤结果 Switch Between Visual and Text Display - + 在视觉和文本显示间切换 Test Results - 测试结果 + 测试结果 Pass - 通过 + 通过 Fail - + 失败 Expected Fail - + 预期失败 Unexpected Pass - + 非预期通过 Skip - 跳过 + 跳过 Benchmarks - + 基准测试 Debug Messages - + 调试信息 Warning Messages - + 警告信息 Internal Messages - + 内部信息 Check All Filters - + 勾选所有过滤器 Uncheck All Filters - + 取消勾选所有过滤器 Test summary - + 测试概要 passes - + 通过 fails - + 失败 unexpected passes - + 非预期通过 expected fails - + 预期失败 fatals - + 严重 blacklisted - + 黑名单 skipped - + 跳过 disabled - + 禁用 Copy - 复制 + 复制 Copy All - + 复制所有 Save Output to File... - + 将输出保存到文件... Run This Test Without Deployment - + 忽略部署运行测试 Debug This Test Without Deployment - + 忽略部署调试测试 Save Output To - + 保存输出到 Error - 错误 + 错误 Failed to write "%1". %2 - + 写入失败 “%1”。 + +%2 AutoTest Debug - + 自动测试调试 Test run canceled by user. - + 用户取消测试运行 Run configuration: deduced from "%1" - + +运行配置:从“%1”中推导 Run configuration: "%1" - + +运行配置:“%1” Omitted the following arguments specified on the run configuration page for "%1": - + 省略在“%1”运行配置页面中指定的以下参数: Omitted the following environment variables for "%1": - + 对“%1”省略了以下环境变量: Executable path is empty. (%1) - + 可执行程序路径为空。(%1) Current kit has changed. Canceling test run. - + 当前套件改变,取消测试运行。 Test case canceled due to timeout. Maybe raise the timeout? - + 超时导致测试用例取消。 +增加超时时间? Failed to start test for project "%1". - + 启动项目“%1”的测试失败。 Test for project "%1" crashed. - + 项目“%1”的测试崩溃。 Test for project "%1" did not produce any expected output. - + 项目“%1”的测试未产生任何预期输出。 No tests selected. Canceling test run. - + 未选择测试,取消测试运行。 Project is null. Canceling test run. Only desktop kits are supported. Make sure the currently active kit is a desktop kit. - + 项目为空,取消测试运行。 +仅支持桌面套件。确保当前活跃套件为桌面套件。 Project is not configured. Canceling test run. - + 项目未配置。取消测试运行。 Project is null for "%1". Removing from test run. Check the test environment. - + “%1”项目为空。从运行测试中移除。 +检测测试环境。 Project's run configuration was deduced for "%1". This might cause trouble during execution. (deduced from "%2") - + 为“%1”推导出项目的运行配置。 +这可能导致执行中的一些问题。 +(从“%2”中推导) Startup project has changed. Canceling test run. - + 启动项目已更改,取消测试运行。 No test cases left for execution. Canceling test run. - + 没有待执行的测试用例,取消测试运行。 Running Tests - + 运行测试 Failed to get run configuration. - + 获取运行配置失败。 Could not find command "%1". (%2) - + 无法找到命令“%1”。(%2) Unable to display test results when using CDB. - + 使用 CDB 时无法显示测试结果。 Build failed. Canceling test run. - + 构建失败。取消测试运行。 Select Run Configuration - + 选择运行配置 Could not determine which run configuration to choose for running tests - + 无法确定为运行的测试选择哪个运行配置 Remember choice. Cached choices can be reset by switching projects or using the option to clear the cache. - + 记住选择。缓存下来的选择可以通过切换项目或者使用选项来清除。 Run Configuration: - + 运行配置: Executable: - 执行档: + 执行档: Arguments: - 参数: + 参数: Working Directory: - 工作目录: + 工作目录: Omit internal messages - + 省略内部信息 Hides internal messages by default. You can still enable them by using the test results filter. - + 默认隐藏内部信息。你依然可以通过使用测试结果过滤器来启用它们。 Omit run configuration warnings - + 省略运行配置警告 Hides warnings related to a deduced run configuration. - + 隐藏与推导出的运行配置相关的警告。 Limit result output - + 限制结果输出 Limits result output to 100000 characters. - + 将输出结果限制为100000个字符。 Limit result description: - + 限制结果描述: Limit number of lines shown in test result tooltip and description. - + 限制测试结果工具提示和描述中的显示行数。 Open results when tests start - + 测试开始时打开结果 Displays test results automatically when tests are started. - + 当测试开始时自动显示测试结果面板。 Open results when tests finish - + 测试结束时打开结果面板 Displays test results automatically when tests are finished. - + 在测试结束时自动显示测试结果面板。 Only for unsuccessful test runs - + 仅适用于不成功的测试运行 Displays test results only if the test run contains failed, fatal or unexpectedly passed tests. - + 仅在测试运行失败、严重问题或非预期通过时显示结果面板。 Automatically scroll results - + 自动滚动结果 Automatically scrolls down when new items are added and scrollbar is at bottom. - + 当新的项添加并且滚动条位于底部时自动向下滚动。 Group results by application - + 按照应用对结果分组 Process arguments - + 处理参数 Allow passing arguments specified on the respective run configuration. Warning: this is an experimental feature and might lead to failing to execute the test executable. - + 允许传递在相应运行配置上指定的参数。 +警告:这是个实验特性,并且可能导致测试执行失败。 Runs chosen tests automatically if a build succeeded. - + 构建成功后自动运行选择的测试。 Timeout: - 超时时间: + 超时时间: Timeout used when executing each test case. - + 执行每个测试用例的超时时间。 s - + Timeout used when executing test cases. This will apply for each test case on its own, not the whole project. - + 执行测试用例时的超时时间。它单独应用在每个测试用例上,而不是整个项目。 Selects the test frameworks to be handled by the AutoTest plugin. - + 选择由 AutoTest 插件处理的测试框架。 Framework - 框架 + 框架 Group - + Enables grouping of test cases. - + 为测试用例启用分组 Reset Cached Choices - + 重置缓存的选择 Clear all cached choices of run configurations for tests where the executable could not be deduced. - + 对于无法推导出可执行程序的测试,清除运行配置中所有缓存的选择。 General - 概要 + 概要 Automatically run - + 自动运行 Active Test Frameworks - + 活跃的测试框架 Enable or disable test frameworks to be handled by the AutoTest plugin. - + 启用或禁用由 AutoTest 插件处理的测试框架 Enable or disable grouping of test cases by folder. - + 启用或禁用按文件夹对测试用例分组。 No active test frameworks or tools. - + 无活跃的测试框架或工具。 You will not be able to use the AutoTest plugin without having at least one active test framework. - + 在没有活跃的测试框架时无法使用 AutoTest 插件。 Mixing test frameworks and test tools. - + 混合测试框架和测试工具。 Mixing test frameworks and test tools can lead to duplicating run information when using "Run All Tests", for example. - + 例如,当使用“运行所有测试”时,混合测试框架和测试工具可能产生重复运行信息。 %1 (none) - + %1(无) AutotoolsProjectManager Arguments: - 参数: + 参数: Configuration unchanged, skipping autogen step. - 配置未改变,跳过autogen步骤。 + 配置未改变,跳过autogen步骤。 Autogen Display name for AutotoolsProjectManager::AutogenStep id. - Autogen + Autogen Configuration unchanged, skipping autoreconf step. - 配置未改变,跳过autoreconf步骤。 + 配置未改变,跳过autoreconf步骤。 Autoreconf Display name for AutotoolsProjectManager::AutoreconfStep id. - Autoreconf + Autoreconf Autotools Manager - + Autotools 管理器 Configuration unchanged, skipping configure step. - 配置未改变,跳过configure步骤。 + 配置未改变,跳过configure步骤。 Configure Display name for AutotoolsProjectManager::ConfigureStep id. - 配置 + 配置 Parsing %1 in directory %2 - 正在目录 %2中分析 %1 + 正在目录 %2中解析 %1 Parsing directory %1 - 正在分析目录 %1 + 正在解析目录 %1 From 993815cb062727565fed840f22d65e97bf9a09c3 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Mon, 7 Nov 2022 12:34:58 +0100 Subject: [PATCH 19/19] ProjectExplorer: Fix build device retrieval in BuildDirectoryAspect Change-Id: I40aeb4a775a99df7395f4c23476bae7f98201b69 Reviewed-by: Marcus Tillmanns Reviewed-by: Reviewed-by: hjk --- src/plugins/projectexplorer/buildaspects.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/projectexplorer/buildaspects.cpp b/src/plugins/projectexplorer/buildaspects.cpp index 919bd837e6f..383149d3b70 100644 --- a/src/plugins/projectexplorer/buildaspects.cpp +++ b/src/plugins/projectexplorer/buildaspects.cpp @@ -50,7 +50,7 @@ BuildDirectoryAspect::BuildDirectoryAspect(const BuildConfiguration *bc) edit->setText(fixedDir.toUserOutput()); const FilePath newPath = FilePath::fromUserInput(edit->text()); - const auto buildDevice = DeviceKitAspect::device(d->target->kit()); + const auto buildDevice = BuildDeviceKitAspect::device(d->target->kit()); if (buildDevice && buildDevice->type() != ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE && !buildDevice->rootPath().ensureReachable(newPath)) {