Merge remote-tracking branch 'origin/13.0'
Conflicts: doc/qtcreator/src/overview/creator-only/creator-keyboard-shortcuts.qdoc Change-Id: I2db85da9f4a0593217951313020d71d430986961
77
dist/changelog/changes-13.0.0.md
vendored
@@ -10,22 +10,21 @@ the public Git repository. For example:
|
||||
git clone git://code.qt.io/qt-creator/qt-creator.git
|
||||
git log --cherry-pick --pretty=oneline origin/12.0..v13.0.0
|
||||
|
||||
What's new?
|
||||
New plugins
|
||||
-----------
|
||||
|
||||
* Added Qt Application Manager support
|
||||
|
||||
### Qt Application Manager
|
||||
|
||||
Adds support for Qt 6 based applications with CMake for creating, building,
|
||||
deploying, running, and debugging for devices that use the
|
||||
[Qt Application Manager](https://doc.qt.io/QtApplicationManager/).
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-13.0/creator-how-to-run-in-app-manager.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-how-to-run-in-app-manager.html))
|
||||
|
||||
General
|
||||
-------
|
||||
|
||||
* Updated the visual style of Welcome mode
|
||||
* Improved docking (Debug mode, Widget Designer)
|
||||
* Fixed the style of titles and changed them to always be visible
|
||||
(removed `View > Views > Automatically Hide View Titlebars`)
|
||||
@@ -41,19 +40,29 @@ General
|
||||
([QTCREATORBUG-29886](https://bugreports.qt.io/browse/QTCREATORBUG-29886))
|
||||
* Fixed issues with the window actions
|
||||
([QTCREATORBUG-30381](https://bugreports.qt.io/browse/QTCREATORBUG-30381))
|
||||
* Fixed drag & drop for external tools
|
||||
([QTCREATORBUG-30469](https://bugreports.qt.io/browse/QTCREATORBUG-30469))
|
||||
* Known Issues
|
||||
* Installers provided by The Qt Company mostly display English text, not
|
||||
the system's language
|
||||
([QTIFW-3310](https://bugreports.qt.io/browse/QTIFW-3310))
|
||||
|
||||
Help
|
||||
----
|
||||
|
||||
* Fixed that non-Qt related help files could automatically be registered
|
||||
* Fixed that the option `Highest Version Only` for automatically registering Qt
|
||||
documentation did not work for the Qt Online Installer
|
||||
|
||||
Editing
|
||||
-------
|
||||
|
||||
* Made syntax highlighting asynchronous
|
||||
* Fixed that `Shift+Tab` did not always unindent
|
||||
([QTCREATORBUG-29742](https://bugreports.qt.io/browse/QTCREATORBUG-29742))
|
||||
* Fixed that `Surround text selection with brackets` did nothing for `<`
|
||||
* Fixed following links without a file name in documents without a file name
|
||||
* Fixed that device tree source files (`.dts`) were opened in the binary editor
|
||||
([QTCREATORBUG-19029](https://bugreports.qt.io/browse/QTCREATORBUG-19029))
|
||||
|
||||
### C++
|
||||
|
||||
@@ -69,7 +78,7 @@ Editing
|
||||
([QTCREATORBUG-21826](https://bugreports.qt.io/browse/QTCREATORBUG-21826))
|
||||
* Improved the coding style settings by separating Clang Format and other coding
|
||||
style settings, and using a plain text editor for custom Clang Format settings
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-13.0/creator-preferences-cpp-code-style.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-preferences-cpp-code-style.html))
|
||||
* Fixed that the class wizards used the class name for the include guard
|
||||
instead of the file name
|
||||
([QTCREATORBUG-30140](https://bugreports.qt.io/browse/QTCREATORBUG-30140))
|
||||
@@ -82,6 +91,9 @@ Editing
|
||||
template class in a namespace
|
||||
([QTCREATORBUG-22076](https://bugreports.qt.io/browse/QTCREATORBUG-22076))
|
||||
* Clangd
|
||||
* Improved the function hint tool tip
|
||||
([QTCREATORBUG-26346](https://bugreports.qt.io/browse/QTCREATORBUG-26346),
|
||||
[QTCREATORBUG-30489](https://bugreports.qt.io/browse/QTCREATORBUG-30489))
|
||||
* Fixed that `Follow Symbol Under Cursor` only worked for exact matches
|
||||
([QTCREATORBUG-29814](https://bugreports.qt.io/browse/QTCREATORBUG-29814))
|
||||
* Fixed the version check for remote `clangd` executables
|
||||
@@ -105,7 +117,7 @@ Editing
|
||||
|
||||
* Added automatic setup up of language servers for `YAML`, `JSON`, and `Bash`
|
||||
(requires `npm`)
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-13.0/creator-language-servers.html#adding-language-servers))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-language-servers.html#adding-language-servers))
|
||||
|
||||
### Widget Designer
|
||||
|
||||
@@ -127,13 +139,18 @@ endings) to the tool bar
|
||||
|
||||
* Fixed issues with large addresses
|
||||
|
||||
### Models
|
||||
|
||||
* Fixed a crash when selecting items
|
||||
([QTCREATORBUG-30413](https://bugreports.qt.io/browse/QTCREATORBUG-30413))
|
||||
|
||||
Projects
|
||||
--------
|
||||
|
||||
* Added a section `Vanished Targets` to `Projects` mode in case the project
|
||||
was configured for kits that have vanished, as a replacement for the automatic
|
||||
creation of "Replacement" kits
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-13.0/creator-how-to-activate-kits.html#copy-custom-settings-from-vanished-targets))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-how-to-activate-kits.html#copy-custom-settings-from-vanished-targets))
|
||||
* Added the status of devices to the device lists
|
||||
([QTCREATORBUG-20941](https://bugreports.qt.io/browse/QTCREATORBUG-20941))
|
||||
* Added the `Preferences > Build & Run > General > Application environment`
|
||||
@@ -157,6 +174,14 @@ Projects
|
||||
* Added support for custom output parsers for the configuration of projects
|
||||
([QTCREATORBUG-29992](https://bugreports.qt.io/browse/QTCREATORBUG-29992))
|
||||
* Made cache variables available even if project configuration failed
|
||||
* Fixed that too many paths were added to the build library search path
|
||||
([QTCREATORBUG-29662](https://bugreports.qt.io/browse/QTCREATORBUG-29662))
|
||||
* Fixed that searching in the project included results from module files
|
||||
not in the project
|
||||
([QTCREATORBUG-30372](https://bugreports.qt.io/browse/QTCREATORBUG-30372))
|
||||
* Fixed that `Follow Symbol` on `add_subdirectory` could jump to a target of
|
||||
the same name
|
||||
([QTCREATORBUG-30510](https://bugreports.qt.io/browse/QTCREATORBUG-30510))
|
||||
* CMake Presets
|
||||
* Fixed `Reload CMake Presets` if the project was not configured yet
|
||||
([QTCREATORBUG-30238](https://bugreports.qt.io/browse/QTCREATORBUG-30238))
|
||||
@@ -166,6 +191,10 @@ Projects
|
||||
([QTCREATORBUG-30236](https://bugreports.qt.io/browse/QTCREATORBUG-30236))
|
||||
* Fixed a freeze with nested presets
|
||||
([QTCREATORBUG-30288](https://bugreports.qt.io/browse/QTCREATORBUG-30288))
|
||||
* Fixed a wrong error message
|
||||
([QTCREATORBUG-30373](https://bugreports.qt.io/browse/QTCREATORBUG-30373))
|
||||
* Fixed a crash when no CMake tool is found
|
||||
([QTCREATORBUG-30505](https://bugreports.qt.io/browse/QTCREATORBUG-30505))
|
||||
* Conan
|
||||
* Fixed that backslashes were wrongly used for paths on Windows
|
||||
([QTCREATORBUG-30326](https://bugreports.qt.io/browse/QTCREATORBUG-30326))
|
||||
@@ -184,7 +213,7 @@ Projects
|
||||
* Fixed that the same Python interpreter could be auto-detected multiple times
|
||||
under different names
|
||||
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-13.0/creator-python-development.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-python-development.html))
|
||||
|
||||
Debugging
|
||||
---------
|
||||
@@ -200,6 +229,13 @@ Debugging
|
||||
* Fixed that breakpoints were not hit while the message dialog about missing
|
||||
debug information was shown
|
||||
([QTCREATORBUG-30168](https://bugreports.qt.io/browse/QTCREATORBUG-30168))
|
||||
* LLDB
|
||||
* Fixed setting breakpoints in assembler
|
||||
* Fixed `Run as root`
|
||||
([QTCREATORBUG-30516](https://bugreports.qt.io/browse/QTCREATORBUG-30516))
|
||||
* CDB
|
||||
* Fixed a missing debugger tool tip
|
||||
([QTCREATORBUG-13413](https://bugreports.qt.io/browse/QTCREATORBUG-13413))
|
||||
|
||||
### Debug Adapter Protocol
|
||||
|
||||
@@ -215,7 +251,8 @@ Analyzer
|
||||
|
||||
### Axivion
|
||||
|
||||
* Added fetching and showing issues
|
||||
* Added a view for listing and searching issues
|
||||
* Added other issue types than `Style Violations` to the editor annotations
|
||||
|
||||
Terminal
|
||||
--------
|
||||
@@ -228,6 +265,7 @@ Terminal
|
||||
* Fixed that `Ctrl+W` closed the terminal even when shortcuts were blocked
|
||||
([QTCREATORBUG-30070](https://bugreports.qt.io/browse/QTCREATORBUG-30070))
|
||||
* Fixed issues with Windows Powershell
|
||||
* Fixed issues with copying Japanese text
|
||||
|
||||
Version Control Systems
|
||||
-----------------------
|
||||
@@ -245,6 +283,11 @@ Test Integration
|
||||
|
||||
* Added a locator filter for Qt Test data tags (`qdt`)
|
||||
|
||||
### Catch2
|
||||
|
||||
* Added support for namespaced fixtures
|
||||
* Added support for `SCENARIO_METHOD`
|
||||
|
||||
Platforms
|
||||
---------
|
||||
|
||||
@@ -255,8 +298,13 @@ Platforms
|
||||
|
||||
### Android
|
||||
|
||||
* Add support for target-based android-build directories (??? is that ready? Qt 6.8+ ???)
|
||||
* Add support for target-based android-build directories
|
||||
([QTBUG-117443](https://bugreports.qt.io/browse/QTBUG-117443))
|
||||
* Fixed issues with debugging
|
||||
([QTCREATORBUG-29928](https://bugreports.qt.io/browse/QTCREATORBUG-29928),
|
||||
[QTCREATORBUG-30405](https://bugreports.qt.io/browse/QTCREATORBUG-30405))
|
||||
* Fixed a crash when removing Android Qt versions
|
||||
([QTCREATORBUG-30347](https://bugreports.qt.io/browse/QTCREATORBUG-30347))
|
||||
|
||||
### iOS
|
||||
|
||||
@@ -264,13 +312,18 @@ Platforms
|
||||
* Fixed deployment and running applications for iOS 17 devices
|
||||
(application output, debugging, and profiling are not supported)
|
||||
([QTCREATORBUG-29682](https://bugreports.qt.io/browse/QTCREATORBUG-29682))
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-13.0/creator-developing-ios.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-developing-ios.html))
|
||||
|
||||
### Remote Linux
|
||||
|
||||
* Fixed that debugging unnecessarily downloaded files from the remote system
|
||||
([QTCREATORBUG-29614](https://bugreports.qt.io/browse/QTCREATORBUG-29614))
|
||||
|
||||
### MCU
|
||||
|
||||
* Fixed a crash when fixing errors in MCU kits
|
||||
([QTCREATORBUG-30360](https://bugreports.qt.io/browse/QTCREATORBUG-30360))
|
||||
|
||||
Credits for these changes go to:
|
||||
--------------------------------
|
||||
Aaron McCarthy
|
||||
|
@@ -5,13 +5,20 @@
|
||||
</div>
|
||||
<div class="sectionlist normallist">
|
||||
<div class="heading">
|
||||
<h2>Getting Started</h2>
|
||||
<h2>Developing with Qt Creator</h2>
|
||||
</div>
|
||||
<div class="indexboxcont indexboxbar">
|
||||
<ul>
|
||||
<li><a href="creator-overview.html">Overview</a></li>
|
||||
<li><a href="creator-quick-tour.html">User Interface</a></li>
|
||||
<li><a href="creator-configuring.html">Configuring Qt Creator</a></li>
|
||||
<li><a href="creator-getting-started.html">Getting Started</a></li>
|
||||
<li><a href="creator-project-creating.html">Creating Projects</a></li>
|
||||
<li><a href="creator-configuring-projects.html">Configuring Projects</a></li>
|
||||
<li><a href="creator-live-preview.html">Validating with Target Hardware</a></li>
|
||||
<li><a href="creator-connecting-mobile.html">Connecting Devices</a></li>
|
||||
<li><a href="creator-deployment.html">Deploying to Devices</a></li>
|
||||
<li><a href="creator-debugging.html">Debugging</a></li>
|
||||
<li><a href="creator-analyze-mode.html">Analyzing Code</a></li>
|
||||
<li><a href="creator-squish.html">Using Squish</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
@@ -27,33 +34,13 @@
|
||||
<li><a href="qtcreator-transitions-example.html">Creating a Qt Quick Application</a></li>
|
||||
<li><a href="creator-writing-program.html">Creating a Qt Widget Based Application</a></li>
|
||||
<li><a href="creator-tutorial-python-application-qt-quick.html">Creating a Qt for Python Application with Qt Quick</a></li>
|
||||
<li><a href="creator-tutorial-python-application-widgets.html">Creating a Qt for Python Application with Qt Widgets</a></li>
|
||||
<li><a href="creator-tutorial-python-application-qt-widgets.html">Creating a Qt for Python Application with Qt Widgets</a></li>
|
||||
<li><a href="creator-debugging-example.html">Debugging a C++ Application</a></li>
|
||||
<li><a href="creator-qml-debugging-example.html">Debugging a Qt Quick Application</a></li>
|
||||
<li><a href="creator-tutorials.html">See All</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="sectionlist normallist">
|
||||
<div class="heading">
|
||||
<h2>Running on Devices</h2>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="creator-live-preview.html">Validating with Target Hardware</a></li>
|
||||
<li><a href="creator-deployment.html">Deploying to Devices</a></li>
|
||||
<li><a href="creator-connecting-mobile.html">Connecting Devices</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sectionlist normallist">
|
||||
<div class="heading">
|
||||
<h2>Debugging and Analyzing</h2>
|
||||
</div>
|
||||
<ul>
|
||||
<li><a href="creator-debugging.html">Debugging</a></li>
|
||||
<li><a href="creator-analyze-mode.html">Analyzing Code</a></li>
|
||||
<li><a href="creator-squish.html">Using Squish</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="sectionlist normallist">
|
||||
<div class="heading">
|
||||
<h2>How To</h2>
|
||||
|
Before Width: | Height: | Size: 676 B |
Before Width: | Height: | Size: 715 B |
Before Width: | Height: | Size: 905 B |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 430 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 561 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 617 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 520 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 601 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 640 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 518 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 628 B |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 650 B |
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 707 B |
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 77 KiB |
@@ -14,11 +14,11 @@
|
||||
|
||||
\title Analyzing Code
|
||||
|
||||
You can use the code analysis tools in the \uicontrol Debug mode. To
|
||||
switch to \uicontrol Debug mode, select \uicontrol Debug in the mode
|
||||
selector, or select the \uicontrol {Analyze} menu and then select a tool.
|
||||
To use a code analysis tool, select it in the \uicontrol {Analyze Menu} or
|
||||
in the pull-down menu of the \inlineimage icons/qtcreator-debug-button.png
|
||||
(\uicontrol {Start Debugging of Startup Project}) button.
|
||||
When you are in the \uicontrol Debug mode, you can switch between tools by
|
||||
selecting them in the menu on the toolbar.
|
||||
selecting them in the menu on the debugger toolbar.
|
||||
|
||||
You can drag and drop the views in the \uicontrol Debug mode to new
|
||||
positions on the screen. The size and position of views are saved for future
|
||||
|
@@ -310,13 +310,13 @@
|
||||
|
||||
\title Manage files in CMake projects
|
||||
|
||||
When you use project wizard templates to \l{Create files}{add files} to
|
||||
When you \l{Create files}{add new or existing files} to
|
||||
a project, \QC automatically adds them to the \l {qt_add_executable},
|
||||
\l{CMake: add_executable command}{add_executable}, or \l {qt_add_library}
|
||||
function in the CMakeLists.txt file.
|
||||
|
||||
If you use custom API, \QC uses the \l{CMake: target_sources command}
|
||||
{target_sources} function to add the files.
|
||||
If \QC cannot recognize where the target is created, it will use the
|
||||
\l{CMake: target_sources command} {target_sources} function to add the files.
|
||||
|
||||
For Qt Quick projects, the files are added to the \l {qt_add_qml_module}
|
||||
function, prefixed with the \c QML_FILES, \c SOURCES, or \c RESOURCES
|
||||
|
@@ -103,7 +103,7 @@
|
||||
\previouspage creator-reference.html
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-editors
|
||||
\ingroup creator-reference-analyzer
|
||||
\ingroup studio-how-to-code
|
||||
|
||||
\title JavaScript and QML Checks
|
||||
|
@@ -11,7 +11,7 @@
|
||||
\page creator-clang-codemodel.html
|
||||
\previouspage creator-reference.html
|
||||
|
||||
\ingroup creator-reference
|
||||
\ingroup creator-reference-editors
|
||||
|
||||
\title Clang Code Model
|
||||
|
||||
|
@@ -78,7 +78,7 @@
|
||||
\page creator-reference-cpp-quick-fixes.html
|
||||
\previouspage creator-reference.html
|
||||
|
||||
\ingroup creator-reference
|
||||
\ingroup creator-reference-editors
|
||||
|
||||
\title C++ Quick Fixes
|
||||
|
||||
|
@@ -31,7 +31,7 @@
|
||||
\page creator-editor-fakevim.html
|
||||
\previouspage creator-reference.html
|
||||
|
||||
\ingroup creator-reference
|
||||
\ingroup creator-reference-editors
|
||||
|
||||
\title FakeVim Modes and Commands
|
||||
|
||||
|
@@ -38,11 +38,11 @@
|
||||
|
||||
\section1 Use locator filters
|
||||
|
||||
The filters that are available depend on the file type. For more information
|
||||
about what a particular locator filter does, see the tooltips that appear
|
||||
when you hover over a filter in the locator. For longer descriptions of the
|
||||
filters, select \inlineimage icons/magnifier.png > \uicontrol Configure to
|
||||
open the \l{Locator} preferences.
|
||||
The filters that are available depend on the current document and project.
|
||||
If the locator field is empty, a list of available filters is shown.
|
||||
A list of filters is also shown when selecting \inlineimage icons/magnifier.png.
|
||||
For more information about what a particular locator filter does, see the
|
||||
tooltips that appear when you hover over a filter.
|
||||
|
||||
To use a locator filter:
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
string (for example, a filename or class name) or the command to
|
||||
execute.
|
||||
|
||||
\li Double-click a locator filter in the filter list to use it. Press
|
||||
\li Select a locator filter in the filter list to use it. Press
|
||||
the up and down arrow keys or press \key Ctrl+P and \key Ctrl+N
|
||||
to move up and down the list, and then press \key Enter to use the
|
||||
selected filter.
|
||||
@@ -140,7 +140,8 @@
|
||||
\brief Add and change locator filters.
|
||||
|
||||
To set locator preferences, go to \preferences > \uicontrol Environment >
|
||||
\uicontrol Locator.
|
||||
\uicontrol Locator, or select
|
||||
\inlineimage icons/magnifier.png > \uicontrol Configure in the locator field.
|
||||
|
||||
\image qtcreator-locator-customize.webp {Locator preferences}
|
||||
|
||||
|
@@ -11,11 +11,11 @@
|
||||
\page creator-modeling.html
|
||||
\previouspage creator-reference.html
|
||||
|
||||
\ingroup creator-reference
|
||||
\ingroup creator-reference-editors
|
||||
|
||||
\title Model Editor
|
||||
|
||||
\brief Editor for Universal Modeling Language (UML) style models with
|
||||
\brief Create Universal Modeling Language (UML) style models with
|
||||
structured and behavioral diagrams.
|
||||
|
||||
Use the model editor to create Universal Modeling Language (UML)
|
||||
|
@@ -11,11 +11,11 @@
|
||||
\page creator-scxml.html
|
||||
\previouspage creator-reference.html
|
||||
|
||||
\ingroup creator-reference
|
||||
\ingroup creator-reference-editors
|
||||
|
||||
\title SCXML Editor
|
||||
|
||||
\brief State chart (.scxml) editor.
|
||||
\brief Edit state chart (.scxml) files.
|
||||
|
||||
State charts are a graphical way of modeling how a system reacts to
|
||||
stimuli. They define the \e states that the system can
|
||||
|
@@ -106,7 +106,7 @@
|
||||
\endif
|
||||
|
||||
\ingroup creator-reference-editors
|
||||
\ingroup studio-how-to-refactor-code
|
||||
\ingroup studio-code-view
|
||||
|
||||
\title QML Quick Fixes
|
||||
|
||||
|
@@ -18,8 +18,8 @@
|
||||
|
||||
\section1 Analyze
|
||||
|
||||
\QC integrates code analysis tools for detecting memory leaks, profiling
|
||||
function execution, analyzing CPU use, and eliminating unnecessary
|
||||
Use integrated code analysis tools to detect memory leaks, profile
|
||||
function execution, analyze CPU use, and eliminate unnecessary
|
||||
complexity of code. Other integrated tools provide code coverage and
|
||||
visualize trace events.
|
||||
|
||||
@@ -27,36 +27,66 @@
|
||||
|
||||
\section1 Build and Run
|
||||
|
||||
Use integrated cross-platform systems for build automation to compile your
|
||||
source code for different target platforms or with different compilers,
|
||||
debuggers, or Qt versions. Deploy applications to the target platforms
|
||||
and run them there.
|
||||
|
||||
\generatelist creator-how-to-build
|
||||
|
||||
\section2 Build with CMake
|
||||
|
||||
CMake controls the software compilation process by using simple configuration
|
||||
files, called \e CMakeLists.txt files.
|
||||
|
||||
\generatelist creator-how-to-build-with-cmake
|
||||
|
||||
\section2 Build with qmake
|
||||
|
||||
qmake automates the generation of Makefiles based on the information in a
|
||||
project file that has the extension \e .pro.
|
||||
|
||||
\generatelist creator-how-to-build-with-qmake
|
||||
|
||||
\section2 Run applications
|
||||
|
||||
Run applications on local and remote desktop systems, as well as on
|
||||
embedded and mobile devices that you connect to the computer.
|
||||
|
||||
\generatelist creator-how-to-run
|
||||
|
||||
\section1 Create Models and Diagrams
|
||||
|
||||
Create Universal Modeling Language (UML) style models with structured and
|
||||
behavioral diagrams that offer different views to your system. Or, use a
|
||||
file wizard to create State Chart XML (SCXML) files with boilerplate code
|
||||
and edit them with an SCXML editor.
|
||||
|
||||
\generatelist creator-how-to-models
|
||||
|
||||
\section1 Debug
|
||||
|
||||
Use native debuggers to inspect the state of your application while
|
||||
debugging.
|
||||
|
||||
\generatelist creator-how-to-debug
|
||||
|
||||
\section1 Design UIs
|
||||
|
||||
Design UIs with either \l{User Interfaces}{Qt Quick or Qt Widgets}.
|
||||
\QC integrates a visual editor, \QD, for designing widget-based UIs
|
||||
in the \uicontrol Design mode. For Qt Quick UIs, use a separate visual
|
||||
editor, \l{\QDS Manual}{\QDS}, or the \uicontrol Edit mode.
|
||||
|
||||
\generatelist creator-how-to-design
|
||||
|
||||
\section1 Edit Code
|
||||
|
||||
The code editor offers useful features, such as semantic highlighting,
|
||||
checking code syntax, code completion, and refactoring actions.
|
||||
The code editor offers useful features for editing C++ and QML code, such
|
||||
as semantic highlighting, checking code syntax, code completion, and quick
|
||||
fixes. Some of these features are also for other programming languages, such
|
||||
as Python, for which a \e {language server} is available that provides
|
||||
information about the code to IDEs.
|
||||
|
||||
\generatelist creator-how-to-edit
|
||||
|
||||
@@ -69,39 +99,64 @@
|
||||
|
||||
\section2 Manage Language Servers
|
||||
|
||||
Configure language servers that \QC adds by default or add more of them.
|
||||
|
||||
\generatelist creator-how-to-lsp
|
||||
|
||||
\section2 Search
|
||||
|
||||
Use the incremental and advanced search to search in currently open projects
|
||||
or files on the file system or use the locator to browse through projects,
|
||||
files, classes, functions, documentation, and file systems.
|
||||
|
||||
\generatelist creator-how-to-search
|
||||
|
||||
\section1 Manage Kits
|
||||
|
||||
\QC groups build and run specific settings as kits to make cross-platform
|
||||
development easier. Each kit consists of a set of values that define one
|
||||
environment, such as a device, tool chain, Qt version, and debugger command
|
||||
to use.
|
||||
|
||||
\generatelist creator-how-to-manage-kits
|
||||
|
||||
\section1 Manage Projects
|
||||
|
||||
Create projects for developing applications and libraries. Then configure
|
||||
the projects for building and running the applications on target platforms.
|
||||
|
||||
\generatelist creator-how-to-projects
|
||||
|
||||
\section2 Create Projects
|
||||
|
||||
Use preset wizards to create projects or add custom wizards. You can also
|
||||
import projects from version control systems.
|
||||
|
||||
\generatelist creator-how-to-projects-create
|
||||
|
||||
\section2 Add Files
|
||||
|
||||
Add files to projects.
|
||||
|
||||
\generatelist creator-how-to-projects-files
|
||||
|
||||
\section2 Configure Projects
|
||||
|
||||
Change the default configurations that installation programs and project
|
||||
wizards create.
|
||||
|
||||
\generatelist creator-how-to-projects-configure
|
||||
|
||||
\section1 Read Documentation
|
||||
|
||||
\QC integrates the reference documentation for the Qt versions that you
|
||||
install. You can add documentation from other sources.
|
||||
|
||||
\generatelist creator-how-to-get-help
|
||||
|
||||
\section1 Test
|
||||
|
||||
\QC supports both \e {code based tests} and \e {build system based tests}.
|
||||
Create and run \e {code based tests} and \e {build system based tests}.
|
||||
Code based testing offers special handling for particular testing
|
||||
frameworks that strongly ties to the underlying code models or
|
||||
specialized parsers. Build system based testing is independent from any
|
||||
@@ -113,10 +168,15 @@
|
||||
|
||||
\section1 Use \QC
|
||||
|
||||
Use basic \QC features and preinstalled plugins. Install more plugins and
|
||||
configure external tools for use.
|
||||
|
||||
\generatelist creator-how-to-use
|
||||
|
||||
\section1 Use the UI
|
||||
|
||||
Navigate the UI or change its appearance and behavior.
|
||||
|
||||
\generatelist creator-how-to-ui
|
||||
*/
|
||||
|
||||
|
@@ -72,6 +72,7 @@
|
||||
for remote Linux devices:
|
||||
|
||||
\list
|
||||
\li \l{Adding Docker Devices}
|
||||
\li \l{Connecting Remote Linux Devices}
|
||||
\li \l{Deploying to Remote Linux}
|
||||
\li \l{Remote Linux Run Settings}
|
||||
|
@@ -89,8 +89,8 @@
|
||||
Themes enable you to customize the appearance of the \QC UI: widgets,
|
||||
colors, and icons.
|
||||
|
||||
To switch themes, select \preferences > \uicontrol Environment, and then
|
||||
select a theme in the \uicontrol Theme field.
|
||||
To switch themes, select \preferences > \uicontrol Environment >
|
||||
\uicontrol Interface, and then select a theme in the \uicontrol Theme field.
|
||||
|
||||
You can use the \QC text and code editors with your favorite color scheme
|
||||
that defines how to highlight code elements and which background color to
|
||||
|
@@ -25,11 +25,11 @@
|
||||
\li \inlineimage front-ui.png
|
||||
\li \inlineimage front-advanced.png
|
||||
\row
|
||||
\li \b {\l{Overview}}
|
||||
\li \b {\l{Developing with \QC}}
|
||||
|
||||
If you have not used an integrated development environment (IDE)
|
||||
before, or want to know what kind of IDE \QC is, go to
|
||||
\l{Overview}.
|
||||
\l{Developing with \QC}.
|
||||
\li \b {\l{User Interface}}
|
||||
|
||||
If you have not used \QC before, and want to become familiar
|
||||
|
@@ -18,25 +18,25 @@
|
||||
\brief Default keyboard shortcuts.
|
||||
|
||||
\QC has various keyboard shortcuts that speed up your development process.
|
||||
To view all \QC functions in and their keyboard shortcuts, select
|
||||
To view all \QC functions and their keyboard shortcuts, select
|
||||
\preferences > \uicontrol Environment > \uicontrol Keyboard.
|
||||
|
||||
\image qtcreator-keyboard-shortcuts.png
|
||||
|
||||
The shortcuts that are displayed in red color are associated with several
|
||||
functions. \QC executes the function that is available in the current
|
||||
context. If several functions are available for the same shortcut at a
|
||||
time, there is a conflict and \QC cannot execute any function.
|
||||
Shortcuts that are displayed in red are associated with several functions.
|
||||
\QC executes the function that is available in the current context.
|
||||
If several functions are available for the same shortcut in the current context,
|
||||
\QC will not execute any function due to the conflict.
|
||||
|
||||
A keyboard shortcut might also conflict with a shortcut that a window
|
||||
manager uses for its own purposes. In that case, \QC shortcuts do not work.
|
||||
A keyboard shortcut might also conflict with a shortcut that your window
|
||||
manager uses for its own purposes. If the window manager consumes the key event,
|
||||
the \QC shortcut will not be activated.
|
||||
Typically, you can configure the shortcuts in the window manager, but if
|
||||
that is not allowed, you can change the \QC shortcuts.
|
||||
|
||||
For example, Unity on
|
||||
Ubuntu 11.10 uses \key F10 in its window manager, and therefore the default
|
||||
\QC keyboard shortcut \key F10 (Step Over) does not work on that system.
|
||||
|
||||
For example, Unity on Ubuntu 11.10 by default uses \key F10 in its window manager,
|
||||
and therefore the default \QC keyboard shortcut \key F10 (Step Over) will not work on
|
||||
that system.
|
||||
|
||||
To override the platform default value that determines whether
|
||||
keyboard shortcuts are shown in the labels of context menu items,
|
||||
|
@@ -52,8 +52,8 @@
|
||||
|
||||
\li \l {Adding Docker Devices}
|
||||
|
||||
You can add Docker images as \e devices to run, debug, and analyze
|
||||
applications built for Docker containers from \QC.
|
||||
Create Docker devices from Docker images and use them to build, run,
|
||||
and debug applications from \QC.
|
||||
|
||||
\li \l{Connecting iOS Devices}
|
||||
|
||||
|
@@ -8,11 +8,11 @@
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\previouspage creator-getting-started.html
|
||||
\previouspage index.html
|
||||
\page creator-overview.html
|
||||
\nextpage creator-quick-tour.html
|
||||
\nextpage creator-getting-started.html
|
||||
|
||||
\title Overview
|
||||
\title Developing with \QC
|
||||
|
||||
\QC is a cross-platform, complete integrated development environment
|
||||
(IDE) that you can use to create applications for desktop, embedded,
|
||||
@@ -235,6 +235,11 @@
|
||||
a suitable native debugger for each kit from the ones it finds on the
|
||||
computer. Edit the kits to override this choice.
|
||||
|
||||
If you install \QC with \QOI, the GNU Symbolic Debugger is installed
|
||||
automatically and you should be ready to start debugging after you create
|
||||
a new project. However, you can change the setup to use debugging tools for
|
||||
Windows, for example.
|
||||
|
||||
Connect devices to your computer to debug processes running on the devices.
|
||||
|
||||
For more information, see \l{Debugging}.
|
||||
|
@@ -4,16 +4,25 @@
|
||||
/*!
|
||||
\page creator-reference.html
|
||||
\previouspage creator-how-tos.html
|
||||
\nextpage creator-known-issues.html
|
||||
\nextpage creator-acknowledgements.html
|
||||
|
||||
\title Reference
|
||||
|
||||
The following topics contain reference information about using \QC and the
|
||||
integrated tools.
|
||||
|
||||
\annotatedlist creator-reference
|
||||
|
||||
\section1 Analyzers
|
||||
|
||||
Use integrated code analysis tools to improve your C++ or QML code.
|
||||
|
||||
\annotatedlist creator-reference-analyzer
|
||||
|
||||
\section1 Build Systems
|
||||
|
||||
Most \QC project wizards enable you to choose the build system to use for
|
||||
building the project: qmake, CMake, Meson, or Qbs. qmake is installed and
|
||||
When you create projects, you can choose the build system to use for
|
||||
building the project: CMake, qmake, Meson, or Qbs. qmake is installed and
|
||||
configured when you install Qt. To use one of the other supported build
|
||||
systems, you need to set it up.
|
||||
|
||||
@@ -29,33 +38,46 @@
|
||||
|
||||
\section1 Editors
|
||||
|
||||
When you open files, \QC chooses a suitable editor according to the file
|
||||
type.
|
||||
|
||||
\annotatedlist creator-reference-editors
|
||||
|
||||
\section1 Platforms
|
||||
|
||||
You can install and run \QC on several operating systems to create
|
||||
applications for multiple desktop, embedded, and mobile device platforms.
|
||||
|
||||
\annotatedlist creator-reference-platforms
|
||||
|
||||
\section1 Preferences
|
||||
|
||||
Set preferences that apply globally to all projects.
|
||||
You can set preferences that apply globally to all projects and override
|
||||
them for particular projects.
|
||||
|
||||
\annotatedlist creator-reference-preferences
|
||||
|
||||
\section2 Analyzer
|
||||
|
||||
Preferences for code analysis tools.
|
||||
|
||||
\annotatedlist creator-reference-preferences-analyzer
|
||||
|
||||
\section2 C++
|
||||
|
||||
Preferences for editing C++ code.
|
||||
|
||||
\annotatedlist creator-reference-preferences-cpp
|
||||
|
||||
\section2 Kits
|
||||
|
||||
Preferences for build and run kits.
|
||||
|
||||
\annotatedlist creator-reference-preferences-kits
|
||||
|
||||
\section2 Text Editor
|
||||
|
||||
Configure the text editor to suit your needs.
|
||||
Preferences for the behavior and appearance of text and code editors.
|
||||
|
||||
\annotatedlist creator-reference-preferences-text-editor
|
||||
|
||||
@@ -72,8 +94,7 @@
|
||||
|
||||
\section1 UI Design
|
||||
|
||||
Design UIs with either \l{User Interfaces}{Qt Quick or Qt Widgets}.
|
||||
\QC integrates a visual editor, \QD, for designing widget-based UIs
|
||||
You can use a visual editor, \QD, for designing widget-based UIs
|
||||
in the \uicontrol Design mode. For Qt Quick UIs, use a separate visual
|
||||
editor, \l{\QDS Manual}{\QDS}, or the \uicontrol Edit mode.
|
||||
|
||||
@@ -81,11 +102,22 @@
|
||||
|
||||
\section1 Views
|
||||
|
||||
When you switch modes or trigger actions, \QC opens views for viewing
|
||||
output and organizing project contents.
|
||||
|
||||
\section2 Output Views
|
||||
|
||||
You can view output from several sources, such as a list of errors and
|
||||
warnings encountered during a build, detailed output from the compiler,
|
||||
status of a program when it is executed, debug output, or search results.
|
||||
|
||||
\annotatedlist creator-reference-output-views
|
||||
|
||||
\section2 Sidebar Views
|
||||
|
||||
In some modes, you can use a left and right sidebar to organize different
|
||||
views into project contents. Only views that are relevant to the mode you
|
||||
are working in are available in it.
|
||||
|
||||
\annotatedlist creator-reference-sidebar-views
|
||||
*/
|
||||
|
@@ -1,44 +0,0 @@
|
||||
// Copyright (C) 2023 The Qt Company Ltd.
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
// **********************************************************************
|
||||
// NOTE: the sections are not ordered by their logical order to avoid
|
||||
// reshuffling the file each time the index order changes (i.e., often).
|
||||
// Run the fixnavi.pl script to adjust the links to the index order.
|
||||
// **********************************************************************
|
||||
|
||||
/*!
|
||||
\previouspage creator-build-process-customizing.html
|
||||
\page creator-testing.html
|
||||
\nextpage creator-debugging.html
|
||||
|
||||
\title Debugging and Analyzing
|
||||
|
||||
\image front-testing.png
|
||||
|
||||
\list
|
||||
|
||||
\li \l{Debugging}
|
||||
|
||||
If you install \QC with \QOI, the GNU Symbolic Debugger
|
||||
is installed automatically and you should be ready to start
|
||||
debugging after you create a new project. However, you can
|
||||
change the setup to use debugging tools for Windows, for
|
||||
example. You can connect \l{glossary-device}{devices} to your
|
||||
development host and debug processes running on the devices.
|
||||
|
||||
\li \l{Analyzing Code}
|
||||
|
||||
Use tools for analyzing C++ and QML code to identify issues in
|
||||
memory management, CPU usage, coding constructs, and so on. You
|
||||
must install and configure the tools on your system to use them
|
||||
from \QC. However, the QML Profiler is installed as part of \QC
|
||||
for profiling Qt Quick applications.
|
||||
|
||||
\li \l{Using Squish}
|
||||
|
||||
Map AUTs to \QC and run Squish test suites and cases from it.
|
||||
|
||||
\endlist
|
||||
|
||||
*/
|
@@ -11,7 +11,7 @@
|
||||
\page creator-usability.html
|
||||
\previouspage creator-reference.html
|
||||
|
||||
\ingroup creator-reference
|
||||
\ingroup creator-reference-platforms
|
||||
|
||||
\title Optimizing Applications for Mobile Devices
|
||||
|
||||
|
@@ -48,8 +48,9 @@
|
||||
\image qtcreator-custom-wizard.png {Wizard details in the New Project dialog}
|
||||
|
||||
In most project wizards, you can choose the build system to use for
|
||||
building the project: qmake, CMake, or Qbs. If you do not get to choose,
|
||||
the project uses qmake as the build system.
|
||||
building the project: qmake, CMake, Qbs, and possibly others, depending on
|
||||
which plugins you have installed. If you do not get to choose,
|
||||
the project usually uses CMake as the build system.
|
||||
|
||||
\image qtcreator-new-project-build-system-qt-gui.png {Define Build System dialog}
|
||||
|
||||
|
@@ -120,7 +120,7 @@
|
||||
|
||||
\list 1
|
||||
|
||||
\li Select \uicontrol File > \uicontrol {New Project} >
|
||||
\li Go to \uicontrol File > \uicontrol {New Project}, and select
|
||||
\uicontrol Library > \uicontrol {C++ Library}. If your top level
|
||||
project is a subdirs project or contains one, you may add the library
|
||||
to the project. However, this does not link other libraries from
|
||||
@@ -131,16 +131,16 @@
|
||||
|
||||
\image qtcreator-add-library-internal-project-location.webp {Project Location dialog}
|
||||
|
||||
\li In the \uicontrol Name field, give a name for the library. For example,
|
||||
\li In \uicontrol Name, give a name for the library. For example,
|
||||
\e MyLibrary.
|
||||
|
||||
\li Select \uicontrol Next (on Windows and Linux) or \uicontrol Continue
|
||||
(on \macos) to open the \uicontrol {Define Build System} dialog.
|
||||
|
||||
\li Select \uicontrol Next or \uicontrol Continue to use CMake as the
|
||||
build system.
|
||||
\li In \uicontrol {Build system}, select \uicontrol qmake.
|
||||
|
||||
The \uicontrol {Define Project Details} dialog opens.
|
||||
\li Select \uicontrol Next or \uicontrol Continue to open the
|
||||
\uicontrol {Define Project Details} dialog.
|
||||
|
||||
\image qtcreator-add-library-internal-project-details.webp {Define Project Details dialog}
|
||||
|
||||
@@ -170,7 +170,7 @@
|
||||
|
||||
\image qtcreator-add-library-internal.webp {Adding an internal library}
|
||||
|
||||
\li In the \uicontrol Library field, select \e mylibrary, and then select
|
||||
\li In \uicontrol Library, select \e mylibrary, and then select
|
||||
\uicontrol Next.
|
||||
|
||||
\li Select \uicontrol Finish to add the library declaration to the
|
||||
@@ -178,15 +178,7 @@
|
||||
|
||||
\endlist
|
||||
|
||||
When using CMake, the \c target_link_libraries command is added to the
|
||||
CMakeLists.txt file:
|
||||
|
||||
\badcode
|
||||
target_link_libraries(myapplication PRIVATE mylibrary)
|
||||
\endcode
|
||||
|
||||
When using qmake, the following library declaration is added to the .pro
|
||||
file:
|
||||
The wizard adds the following library declaration to the .pro file:
|
||||
|
||||
\badcode
|
||||
win32:CONFIG(release, debug|release): LIBS += -L$$OUT_PWD/../../../projects/mylib/release/ -lmylib
|
||||
|
@@ -45,22 +45,23 @@
|
||||
\li Profile
|
||||
\endlist
|
||||
|
||||
A debug build has debug symbols that you need for debugging the application
|
||||
but that you can leave out from the release version. Generally, you use the
|
||||
debug configuration for testing and the release configuration for creating
|
||||
A \e Debug build has debug symbols that you need for debugging the application
|
||||
but that you should leave out from the release version. Generally, you use the
|
||||
debug configuration for testing and the \e Release configuration for creating
|
||||
the final installation binary package.
|
||||
|
||||
If you selected CMake as the build system for the project, you can
|
||||
use a \e {minimum size release} build configuration to create the
|
||||
A \e Profile build is an optimized release build with debug information.
|
||||
It is best suited for analyzing applications.
|
||||
|
||||
If you selected CMake as the build system for the project, a
|
||||
\e {Release with Debug Information} build configuration is also available.
|
||||
It is similar to a \e profile configuration, but with
|
||||
\l{Debugging Qt Quick Projects}{QML debugging and profiling} explicitly turned off.
|
||||
You can also use a \e {Minimum Size Release} build configuration to create the
|
||||
final installation binary package. It is a release build that makes the size
|
||||
of the binary package as small as possible, even if this makes the
|
||||
application slower.
|
||||
|
||||
A profile build (which is called \e {release with debug information}
|
||||
when using CMake) is an optimized release build that is delivered
|
||||
with separate debug information. It is best suited for analyzing
|
||||
applications.
|
||||
|
||||
\section1 Specifying Run Settings
|
||||
|
||||
The run settings to specify depend on the type of the project and on the
|
||||
|
@@ -2,7 +2,7 @@
|
||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||
|
||||
/*!
|
||||
\page tutorial-python-application-qt-widgets.html
|
||||
\page creator-tutorial-python-application-qt-widgets.html
|
||||
\previouspage creator-tutorials.html
|
||||
\nextpage creator-how-tos.html
|
||||
|
||||
|
@@ -13,20 +13,15 @@
|
||||
{Qt documentation} portal or in the \l {Get help}{Help} mode.
|
||||
|
||||
\list
|
||||
\li \l{Getting Started}
|
||||
\list
|
||||
\li \l{Overview}
|
||||
\li \l{Developing with \QC}
|
||||
\list
|
||||
\li \l{Getting Started}
|
||||
\list
|
||||
\li \l{User Interface}
|
||||
\li \l{Configuring Qt Creator}
|
||||
\endlist
|
||||
\li \l{Creating Projects}
|
||||
\li \l{Configuring Projects}
|
||||
\endlist
|
||||
\li \l{User Interface}
|
||||
\li \l{Configuring Qt Creator}
|
||||
\endlist
|
||||
\li \l{Tutorials}
|
||||
\generatelist creator-tutorials
|
||||
\li \l{Running on Devices}
|
||||
\list
|
||||
\li \l{Validating with Target Hardware}
|
||||
\list
|
||||
\li \l{Previewing on Desktop}
|
||||
@@ -52,9 +47,6 @@
|
||||
\li \l{Connecting Remote Linux Devices}
|
||||
\li \l{Building Applications for the Web}
|
||||
\endlist
|
||||
\endlist
|
||||
\li \l{Debugging and Analyzing}
|
||||
\list
|
||||
\li \l{Debugging}
|
||||
\list
|
||||
\li \l{Setting Up Debugger}
|
||||
@@ -97,6 +89,8 @@
|
||||
\endlist
|
||||
\li \l{Using Squish}
|
||||
\endlist
|
||||
\li \l{Tutorials}
|
||||
\generatelist creator-tutorials
|
||||
\li \l{How To}
|
||||
\list
|
||||
\li Analyze
|
||||
|
@@ -9,7 +9,7 @@
|
||||
|
||||
/*!
|
||||
\page index.html
|
||||
\nextpage creator-getting-started.html
|
||||
\nextpage creator-overview.html
|
||||
|
||||
\title Qt Creator Manual
|
||||
|
||||
@@ -27,37 +27,27 @@
|
||||
|
||||
\table
|
||||
\row
|
||||
\li {4,1} \b {\l{All Topics}{Click Here for a List of All Topics}}
|
||||
\li {4,1} \b {\l{All Topics}}
|
||||
\row
|
||||
\li \inlineimage front-gs.png
|
||||
\li \inlineimage front-coding.png
|
||||
\li \inlineimage front-preview.png
|
||||
\row
|
||||
\li \b {\l{Getting Started}}
|
||||
\list
|
||||
\li \l{Overview}
|
||||
\li \l{User Interface}
|
||||
\li \l{Configuring Qt Creator}
|
||||
\endlist
|
||||
\li \b {\l{Tutorials}}
|
||||
\generatelist creator-tutorials
|
||||
\li \b {\l{Running on Devices}}
|
||||
\list
|
||||
\li \l{Validating with Target Hardware}
|
||||
\li \l{Deploying to Devices}
|
||||
\li \l{Connecting Devices}
|
||||
\endlist
|
||||
\row
|
||||
\li \inlineimage front-testing.png
|
||||
\li \inlineimage front-help.png
|
||||
\li \inlineimage front-advanced.png
|
||||
\row
|
||||
\li \b {\l{Debugging and Analyzing}}
|
||||
\li \b {\l{Developing with \QC}}
|
||||
\list
|
||||
\li \l{Getting Started}
|
||||
\li \l{Creating Projects}
|
||||
\li \l{Configuring Projects}
|
||||
\li \l{Validating with Target Hardware}
|
||||
\li \l{Connecting Devices}
|
||||
\li \l{Deploying to Devices}
|
||||
\li \l{Debugging}
|
||||
\li \l{Analyzing Code}
|
||||
\li \l{Using Squish}
|
||||
\endlist
|
||||
\li \b {\l{Tutorials}}
|
||||
\generatelist creator-tutorials
|
||||
\li \b {\l{How To}}
|
||||
\list
|
||||
\li \l{Analyze}
|
||||
@@ -70,7 +60,6 @@
|
||||
\li \l{Test}
|
||||
\li \l{Use \QC}
|
||||
\li \l{Use the UI}
|
||||
\li \l{How To}{See More...}
|
||||
\endlist
|
||||
\li \b {\l{Reference}}
|
||||
\list
|
||||
@@ -81,7 +70,8 @@
|
||||
\li \l {Keyboard Shortcuts}
|
||||
\li \l {Preferences}
|
||||
\li \l {Supported Platforms}
|
||||
\li \l {Reference}{See More...}
|
||||
\li \l {Version Control Systems}
|
||||
\li \l {Views}
|
||||
\endlist
|
||||
\endtable
|
||||
*/
|
||||
|
@@ -133,7 +133,7 @@
|
||||
\skipto set_property
|
||||
\printuntil )
|
||||
|
||||
Because the CMake version is older than 3.19, add a manual
|
||||
For compatibility with CMake versions older than 3.19, add a manual
|
||||
finalization step to the \c qt_add_executable function:
|
||||
|
||||
\quotefromfile accelbubble/CMakeLists.txt
|
||||
|
@@ -247,14 +247,12 @@
|
||||
\endlist
|
||||
|
||||
The title of the topic to use for automatically generating the navigation
|
||||
links is set as the value of the \c indexTitle option in the document
|
||||
configuration file:
|
||||
links is set as the value of the \c navigation.toctitles option in the
|
||||
document configuration file:
|
||||
|
||||
\list
|
||||
\li \QC: \c qhp.qtcreator.subprojects.manual.indexTitle in
|
||||
\c {\doc\qtcreator\config\qtcreator-project.qdocconf}
|
||||
\li \QDS: \c qhp.qtdesignstudio.subprojects.manual.indexTitle in
|
||||
\c {\doc\qtdesignstudio\config\qtdesignstudio.qdocconf}
|
||||
\li \QC: \c {\doc\qtcreator\config\qtcreator-project.qdocconf}
|
||||
\li \QDS: \c {\doc\qtdesignstudio\config\qtdesignstudio.qdocconf}
|
||||
\endlist
|
||||
|
||||
When you add new topics, you must add them either to the TOC or to a
|
||||
|
@@ -25,4 +25,8 @@
|
||||
<shortcut id="QtCreator.Options">
|
||||
<key value="Ctrl+,"/>
|
||||
</shortcut>
|
||||
<shortcut id="QtCreator.Locate">
|
||||
<key value="Ctrl+P"/>
|
||||
</shortcut>
|
||||
<shortcut id="QtCreator.Print"/>
|
||||
</mapping>
|
||||
|
@@ -12218,123 +12218,123 @@ und das Überschreiben Ihrer Einstellungen erfordert. Das Überschreiben erlaube
|
||||
<name>QtC::AppManager</name>
|
||||
<message>
|
||||
<source>Create Application Manager package with CMake</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Application Manager-Paket mit CMake erstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Create Application Manager package</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Application Manager-Paket erstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source directory:</source>
|
||||
<translation type="unfinished">Quellverzeichnis:</translation>
|
||||
<translation>Quellverzeichnis:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Package file:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Paketdatei:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Automatic Application Manager Deploy Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Automatische Deployment-Konfiguration für Application Manager</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deploy Application Manager package</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Deployment des Application Manager-Pakets</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Target directory:</source>
|
||||
<translation type="unfinished">Zielverzeichnis:</translation>
|
||||
<translation>Zielverzeichnis:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uploading finished.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Hochladen beendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uploading failed.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Hochladen fehlgeschlagen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Install Application Manager package</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Application Manager-Paket installieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting command "%1".</source>
|
||||
<translation type="unfinished">Starte Kommando "%1".</translation>
|
||||
<translation>Starte Kommando "%1".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Command finished successfully.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das Kommando wurde erfolgreich beendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Process failed: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Der Prozess schlug fehl: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Process finished with exit code %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Der Prozess wurde mit dem Rückgabewert %1 beendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run an Application Manager Package</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ein Application Manager-Paket ausführen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run and Debug an Application Manager Package</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ein Application Manager-Paket ausführen und debuggen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clean Environment</source>
|
||||
<translation type="unfinished">Saubere Umgebung</translation>
|
||||
<translation>Saubere Umgebung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 exited.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>%1 wurde beendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Starting Application Manager debugging...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Starte Application Manager-Debuggen...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Using: %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Benutze: %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot debug: Only QML and native applications are supported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kann nicht debuggen: Es werden nur QML- und native Anwendungen unterstützt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot debug: Local executable is not set.</source>
|
||||
<translation type="unfinished">Kann nicht debuggen: Lokale ausführbare Datei ist nicht angegeben.</translation>
|
||||
<translation>Kann nicht debuggen: Lokale ausführbare Datei ist nicht angegeben.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Application ID:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Anwendungs-ID:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Application Manager instance ID:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>ID der Application Manager-Instanz:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default instance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Voreingestellte Instanz</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Document URL:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dokument-URL:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Customize step</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Schritt anpassen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disables the automatic updates based on the current run configuration and allows customizing the values.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Deaktiviert die auf der aktuellen Ausführungskonfiguration basierenden automatischen Aktualisierungen und erlaubt, die Werte anzupassen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Controller:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Controller:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Packager:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Packager:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -13693,178 +13693,181 @@ Siehe auch die Einstellungen für Google Test.</translation>
|
||||
<name>QtC::Axivion</name>
|
||||
<message>
|
||||
<source>Project:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Projekt:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Lines of code:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Codezeilen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analysis timestamp:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Zeitstempel der Analyse:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>unknown</source>
|
||||
<translation type="unfinished">unbekannt</translation>
|
||||
<translation>unbekannt</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Summe:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Owner</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Eigentümer</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Path globbing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Pfad-Globbing</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total rows:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gesamtzeilen:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axivion</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Axivion</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show dashboard</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dashboard anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Search for issues</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Probleme durchsuchen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show rule details</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Regeldetails anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Certificate Error</source>
|
||||
<translation type="unfinished">Zertifikatsfehler</translation>
|
||||
<translation>Zertifikatsfehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Server certificate for %1 cannot be authenticated.
|
||||
Do you want to disable SSL verification for this server?
|
||||
Note: This can expose you to man-in-the-middle attack.</source>
|
||||
<translation type="unfinished">Server-Zertifikat für %1 kann nicht authentifiziert werden.
|
||||
<translation>Server-Zertifikat für %1 kann nicht authentifiziert werden.
|
||||
Möchten Sie die SSL-Verifikation für diesen Server abschalten?
|
||||
Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown Dto structure deserialization error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Unbekannter Fehler in der Dto-Struktur beim Deserialisieren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The ApiToken cannot be read in a secure way.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das ApiToken kann nicht auf sichere Weise gelesen werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The ApiToken cannot be stored in a secure way.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das ApiToken kann nicht auf sichere Weise gespeichert werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The ApiToken cannot be deleted in a secure way.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das ApiToken kann nicht auf sichere Weise gelöscht werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Key chain message: "%1".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Meldung der Schlüsselverwaltung: "%1".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter the password for:
|
||||
Dashboard: %1
|
||||
User: %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Geben Sie das Passwort ein für:
|
||||
Dashboard: %1
|
||||
Benutzer: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Axivion Server Password</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Axivion Server-Passwort</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The stored ApiToken is not valid anymore, removing it.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das gespeicherte ApiToken ist nicht mehr gültig und wird entfernt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fetching DashboardInfo error.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fehler beim Abrufen der DashboardInfo.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The DashboardInfo doesn't contain project "%1".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Die DashboardInfo enthält das Projekt "%1" nicht.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The activated link appears to be external.
|
||||
Do you want to open "%1" with its default application?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Der aktivierte Link scheint extern zu sein.
|
||||
Wollen Sie "%1" mit der Standardanwendung öffnen?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open External Links</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Externe Links öffnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fetch Projects</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Projekte abrufen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Link Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Projekt verknüpfen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unlink Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Projektverknüpfung aufheben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dashboard projects:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dashboard-Projekte:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This project is not linked to a dashboard project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dieses Projekt ist nicht mit einem Dashboard-Projekt verknüpft.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This project is linked to "%1".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dieses Projekt ist mit "%1" verknüpft.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Incomplete or misconfigured settings.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Unvollständige oder fehlerhafte Einstellungen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Highlight marks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Markierungen hervorheben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Marks issues on the scroll bar.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Markiert Probleme in der Bildlaufleiste.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dashboard URL:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dashboard-URL:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Username:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Benutzername:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>User name</source>
|
||||
<translation type="unfinished">Benutzername</translation>
|
||||
<translation>Benutzername</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit...</source>
|
||||
<translation type="unfinished">Bearbeiten...</translation>
|
||||
<translation>Bearbeiten...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Dashboard Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dashboard-Konfiguration bearbeiten</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>General</source>
|
||||
<translation type="unfinished">Allgemein</translation>
|
||||
<translation>Allgemein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Fetching...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Rufe ab...</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -44332,7 +44335,7 @@ fails because Clang does not understand the target architecture.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Generate Kit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>&Kit erstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Clean Up</source>
|
||||
@@ -44400,19 +44403,19 @@ fails because Clang does not understand the target architecture.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Installing PySide</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Installiere PySide</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can install PySide from PyPi (Community OSS version) or from your Qt installation location, if you are using the Qt Installer and have a commercial license.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Sie können PySide von PyPI (Community OSS-Version) oder, falls Sie den Qt-Installer benutzen und eine kommerzielle Lizenz besitzen, von Ihrer Qt-Installation installieren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select which version to install:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wählen Sie die zu installierende Version aus:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Latest PySide from the PyPI</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Letzte PySide-Version von PyPI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>PySide %1 Wheel (%2)</source>
|
||||
@@ -44464,27 +44467,28 @@ fails because Clang does not understand the target architecture.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>PySide uic tool:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>PySide uic-Werkzeug:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter location of PySide uic tool.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Geben Sie den Ort des PySide uic-Werkzeugs ein.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Effective venv:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Resultierende venv:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>New Virtual Environment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Neue virtuelle Umgebung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Global Python</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Globales Python</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source> Virtual Environment</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translatorcomment>python->name + Tr::tr(" Virtual Environment");</translatorcomment>
|
||||
<translation> virtuelle Umgebung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>REPL</source>
|
||||
@@ -44564,43 +44568,43 @@ fails because Clang does not understand the target architecture.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>None</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kein</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The interpreter used for Python based projects.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Der für Python-basierte Projekte benutzte Interpreter.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Python setup.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kein Python eingerichtet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Python "%1" not found.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Python "%1" nicht gefunden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Python "%1" is not executable.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Python "%1" nicht ausführbar.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Python "%1" does not contain a usable pip. pip is needed to install Python packages from the Python Package Index, like PySide and the Python language server. To use any of that functionality ensure that pip is installed for that Python.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Python "%1" enthält kein verwendbares pip. pip wird für das Installieren von Python-Paketen wie PySide und dem Python Language Server vom Python Package Index benötigt. Um diese Funktionen benutzen zu können, stellen Sie sicher, dass pip für dieses Python installiert ist.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Python "%1" does not contain a usable venv. venv is the recommended way to isolate a development environment for a project from the globally installed Python.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Python "%1" enthält kein verwendbares venv. venv ist der empfohlene Weg, um eine Entwicklungsumgebung für ein Projekt von der globalen Python-Installation zu isolieren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name of Python Interpreter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Name des Python-Interpreters</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Path to Python Interpreter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Pfad zum Python-Interpreter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No Python interpreter set for kit "%1"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kein Python-Interpreter für das Kit "%1" eingerichtet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -49742,7 +49746,7 @@ Zusätzlich wird die Verbindung zum Gerät getestet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remote command finished successfully.</source>
|
||||
<translation>Das entfernte Kommando wurde erfolgreich ausgeführt.</translation>
|
||||
<translation>Das entfernte Kommando wurde erfolgreich beendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>WizardPage</source>
|
||||
|
@@ -547,18 +547,6 @@ private:
|
||||
\endcode
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn GroupItem Group::withTimeout(std::chrono::milliseconds timeout, const std::function<void()> &handler) const
|
||||
|
||||
Attaches \c TimeoutTask to a copy of \c this group, elapsing after \a timeout in milliseconds,
|
||||
with an optionally provided timeout \a handler, and returns the coupled item.
|
||||
|
||||
When the group finishes before \a timeout passes,
|
||||
the returned item finishes immediately with the group's result.
|
||||
Otherwise, the \a handler is invoked (if provided), the group's tasks are canceled,
|
||||
and the returned item finishes with an error.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\class Tasking::Sync
|
||||
\inheaderfile solutions/tasking/tasktree.h
|
||||
@@ -758,17 +746,6 @@ private:
|
||||
\sa TaskSetupHandler, TaskDoneHandler
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn template <typename Adapter> GroupItem CustomTask<Adapter>::withTimeout(std::chrono::milliseconds timeout, const std::function<void()> &handler) const
|
||||
|
||||
Attaches \c TimeoutTask to a copy of \c this task, elapsing after \a timeout in milliseconds,
|
||||
with an optionally provided timeout \a handler, and returns the coupled item.
|
||||
|
||||
When the task finishes before \a timeout passes, the returned item finishes immediately
|
||||
with the task's result. Otherwise, \a handler is invoked (if provided),
|
||||
the task is canceled, and the returned item finishes with an error.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\enum Tasking::WorkflowPolicy
|
||||
|
||||
@@ -1415,6 +1392,26 @@ void GroupItem::addChildren(const QList<GroupItem> &children)
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
\class Tasking::ExecutableItem
|
||||
\inheaderfile solutions/tasking/tasktree.h
|
||||
\inmodule TaskingSolution
|
||||
\brief Base class for executable task items.
|
||||
\reentrant
|
||||
|
||||
\c ExecutableItem provides an additional interface for items containing executable tasks.
|
||||
Use withTimeout() to attach a timeout to a task.
|
||||
Use withLog() to include debugging information about the task startup and the execution result.
|
||||
*/
|
||||
|
||||
/*!
|
||||
Attaches \c TimeoutTask to a copy of \c this ExecutableItem, elapsing after \a timeout
|
||||
in milliseconds, with an optionally provided timeout \a handler, and returns the coupled item.
|
||||
|
||||
When the ExecutableItem finishes before \a timeout passes, the returned item finishes
|
||||
immediately with the task's result. Otherwise, \a handler is invoked (if provided),
|
||||
the task is canceled, and the returned item finishes with an error.
|
||||
*/
|
||||
ExecutableItem ExecutableItem::withTimeout(milliseconds timeout,
|
||||
const std::function<void()> &handler) const
|
||||
{
|
||||
@@ -1433,6 +1430,17 @@ ExecutableItem ExecutableItem::withTimeout(milliseconds timeout,
|
||||
|
||||
static QString currentTime() { return QTime::currentTime().toString(Qt::ISODateWithMs); }
|
||||
|
||||
/*!
|
||||
Attaches a custom debug printout to a copy of \c this ExecutableItem,
|
||||
issued on task startup and after the task is finished, and returns the coupled item.
|
||||
|
||||
The debug printout includes a timestamp of the event (start or finish)
|
||||
and \a logName to identify the specific task in the debug log.
|
||||
|
||||
The finish printout contains the additional information whether the execution was
|
||||
synchronous or asynchronous, its result (the value described by the DoneWith enum),
|
||||
and the total execution time in milliseconds.
|
||||
*/
|
||||
ExecutableItem ExecutableItem::withLog(const QString &logName) const
|
||||
{
|
||||
const auto header = [logName] {
|
||||
|
@@ -450,8 +450,10 @@ static Group dtoRecipe(const Storage<DtoStorageType<DtoType>> &dtoStorage)
|
||||
if (error) {
|
||||
if constexpr (std::is_same_v<DtoType, Dto::DashboardInfoDto>) {
|
||||
// Suppress logging error on unauthorized dashboard fetch
|
||||
if (!dtoStorage->credential && error->type == "UnauthenticatedException")
|
||||
if (!dtoStorage->credential && error->type == "UnauthenticatedException") {
|
||||
dtoStorage->url = reply->url();
|
||||
return DoneResult::Success;
|
||||
}
|
||||
}
|
||||
|
||||
errorString = Error(DashboardError(reply->url(), statusCode,
|
||||
@@ -530,13 +532,11 @@ static void handleCredentialError(const CredentialQuery &credential)
|
||||
|
||||
static Group authorizationRecipe()
|
||||
{
|
||||
const Storage<QUrl> serverUrlStorage;
|
||||
const Storage<GetDtoStorage<Dto::DashboardInfoDto>> unauthorizedDashboardStorage;
|
||||
const auto onUnauthorizedGroupSetup = [unauthorizedDashboardStorage] {
|
||||
if (isServerAccessEstablished())
|
||||
return SetupResult::StopWithSuccess;
|
||||
|
||||
unauthorizedDashboardStorage->url = QUrl(settings().server.dashboard);
|
||||
return SetupResult::Continue;
|
||||
const auto onUnauthorizedGroupSetup = [serverUrlStorage, unauthorizedDashboardStorage] {
|
||||
unauthorizedDashboardStorage->url = *serverUrlStorage;
|
||||
return isServerAccessEstablished() ? SetupResult::StopWithSuccess : SetupResult::Continue;
|
||||
};
|
||||
const auto onUnauthorizedDashboard = [unauthorizedDashboardStorage] {
|
||||
if (unauthorizedDashboardStorage->dtoData) {
|
||||
@@ -575,7 +575,7 @@ static Group authorizationRecipe()
|
||||
|
||||
const Storage<QString> passwordStorage;
|
||||
const Storage<GetDtoStorage<Dto::DashboardInfoDto>> dashboardStorage;
|
||||
const auto onPasswordGroupSetup = [passwordStorage, dashboardStorage] {
|
||||
const auto onPasswordGroupSetup = [serverUrlStorage, passwordStorage, dashboardStorage] {
|
||||
if (dd->m_apiToken)
|
||||
return SetupResult::StopWithSuccess;
|
||||
|
||||
@@ -589,7 +589,7 @@ static Group authorizationRecipe()
|
||||
|
||||
const QString credential = settings().server.username + ':' + *passwordStorage;
|
||||
dashboardStorage->credential = "Basic " + credential.toUtf8().toBase64();
|
||||
dashboardStorage->url = QUrl(settings().server.dashboard);
|
||||
dashboardStorage->url = *serverUrlStorage;
|
||||
return SetupResult::Continue;
|
||||
};
|
||||
|
||||
@@ -632,13 +632,13 @@ static Group authorizationRecipe()
|
||||
return DoneResult::Success;
|
||||
};
|
||||
|
||||
const auto onDashboardGroupSetup = [dashboardStorage] {
|
||||
const auto onDashboardGroupSetup = [serverUrlStorage, dashboardStorage] {
|
||||
if (dd->m_dashboardInfo || dd->m_serverAccess != ServerAccess::WithAuthorization
|
||||
|| !dd->m_apiToken) {
|
||||
return SetupResult::StopWithSuccess; // Unauthorized access should have collect dashboard before
|
||||
}
|
||||
dashboardStorage->credential = "AxToken " + *dd->m_apiToken;
|
||||
dashboardStorage->url = QUrl(settings().server.dashboard);
|
||||
dashboardStorage->url = *serverUrlStorage;
|
||||
return SetupResult::Continue;
|
||||
};
|
||||
const auto onDeleteCredentialSetup = [dashboardStorage](CredentialQuery &credential) {
|
||||
@@ -656,11 +656,16 @@ static Group authorizationRecipe()
|
||||
};
|
||||
|
||||
return {
|
||||
serverUrlStorage,
|
||||
onGroupSetup([serverUrlStorage] { *serverUrlStorage = QUrl(settings().server.dashboard); }),
|
||||
Group {
|
||||
unauthorizedDashboardStorage,
|
||||
onGroupSetup(onUnauthorizedGroupSetup),
|
||||
dtoRecipe(unauthorizedDashboardStorage),
|
||||
Sync(onUnauthorizedDashboard)
|
||||
Sync(onUnauthorizedDashboard),
|
||||
onGroupDone([serverUrlStorage, unauthorizedDashboardStorage] {
|
||||
*serverUrlStorage = unauthorizedDashboardStorage->url;
|
||||
}),
|
||||
},
|
||||
Group {
|
||||
LoopUntil(onCredentialLoopCondition),
|
||||
|
@@ -261,6 +261,7 @@ AxivionSettingsWidget::AxivionSettingsWidget()
|
||||
void AxivionSettingsWidget::apply()
|
||||
{
|
||||
settings().server = m_dashboardDisplay->dashboardServer();
|
||||
emit settings().changed(); // ugly but needed
|
||||
settings().toSettings();
|
||||
}
|
||||
|
||||
|
@@ -291,12 +291,17 @@ void ClangdFindReferences::Private::handleFindUsagesResult(const QList<Location>
|
||||
|
||||
for (const Location &loc : locations)
|
||||
fileData[loc.uri()].rangesAndLineText.push_back({loc.range(), {}});
|
||||
QSet<FilePath> canonicalFilePaths;
|
||||
for (auto it = fileData.begin(); it != fileData.end();) {
|
||||
const Utils::FilePath filePath = client()->serverUriToHostPath(it.key());
|
||||
if (!filePath.exists()) { // https://github.com/clangd/clangd/issues/935
|
||||
it = fileData.erase(it);
|
||||
continue;
|
||||
}
|
||||
if (!Utils::insert(canonicalFilePaths, filePath.canonicalPath())) { // QTCREATORBUG-30546
|
||||
it = fileData.erase(it);
|
||||
continue;
|
||||
}
|
||||
const QStringList lines = SymbolSupport::getFileContents(filePath);
|
||||
it->fileContent = lines.join('\n');
|
||||
for (auto &rangeWithText : it.value().rangesAndLineText) {
|
||||
|
@@ -274,6 +274,10 @@ struct ItemData
|
||||
Utils::Text::Range range;
|
||||
QVariant userData;
|
||||
};
|
||||
bool operator==(const ItemData &id1, const ItemData &id2)
|
||||
{
|
||||
return id1.range == id2.range && id1.userData == id2.userData;
|
||||
}
|
||||
|
||||
QStringList SymbolSupport::getFileContents(const Utils::FilePath &filePath)
|
||||
{
|
||||
@@ -342,15 +346,32 @@ Utils::SearchResultItems generateSearchResultItems(
|
||||
return result;
|
||||
}
|
||||
|
||||
using ItemDataPerPath = QMap<Utils::FilePath, QList<ItemData>>;
|
||||
void filterFileAliases(ItemDataPerPath &itemDataPerPath)
|
||||
{
|
||||
QSet<Utils::FilePath> canonicalPaths;
|
||||
for (auto it = itemDataPerPath.begin(); it != itemDataPerPath.end(); ) {
|
||||
const Utils::FilePath canonicalPath = it.key().canonicalPath();
|
||||
if (!Utils::insert(canonicalPaths, canonicalPath)
|
||||
&& it.value() == itemDataPerPath.value(canonicalPath)) { // QTCREATORBUG-30546
|
||||
it = itemDataPerPath.erase(it);
|
||||
} else {
|
||||
++it;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Utils::SearchResultItems generateSearchResultItems(
|
||||
const LanguageClientArray<Location> &locations, const DocumentUri::PathMapper &pathMapper)
|
||||
{
|
||||
if (locations.isNull())
|
||||
return {};
|
||||
QMap<Utils::FilePath, QList<ItemData>> rangesInDocument;
|
||||
for (const Location &location : locations.toList())
|
||||
ItemDataPerPath rangesInDocument;
|
||||
for (const Location &location : locations.toList()) {
|
||||
rangesInDocument[location.uri().toFilePath(pathMapper)]
|
||||
<< ItemData{SymbolSupport::convertRange(location.range()), {}};
|
||||
}
|
||||
filterFileAliases(rangesInDocument);
|
||||
return generateSearchResultItems(rangesInDocument);
|
||||
}
|
||||
|
||||
@@ -552,7 +573,7 @@ Utils::SearchResultItems generateReplaceItems(const WorkspaceEdit &edits,
|
||||
return ItemData{SymbolSupport::convertRange(edit.range()), QVariant(edit)};
|
||||
});
|
||||
};
|
||||
QMap<Utils::FilePath, QList<ItemData>> rangesInDocument;
|
||||
ItemDataPerPath rangesInDocument;
|
||||
auto documentChanges = edits.documentChanges().value_or(QList<DocumentChange>());
|
||||
if (!documentChanges.isEmpty()) {
|
||||
for (const DocumentChange &documentChange : std::as_const(documentChanges)) {
|
||||
@@ -588,6 +609,7 @@ Utils::SearchResultItems generateReplaceItems(const WorkspaceEdit &edits,
|
||||
for (auto it = changes.begin(), end = changes.end(); it != end; ++it)
|
||||
rangesInDocument[it.key().toFilePath(pathMapper)] = convertEdits(it.value());
|
||||
}
|
||||
filterFileAliases(rangesInDocument);
|
||||
items += generateSearchResultItems(rangesInDocument, search, limitToProjects);
|
||||
return items;
|
||||
}
|
||||
|
@@ -372,7 +372,8 @@ QString QmakeBuildConfiguration::unalignedBuildDirWarning()
|
||||
bool QmakeBuildConfiguration::isBuildDirAtSafeLocation(const FilePath &sourceDir,
|
||||
const FilePath &buildDir)
|
||||
{
|
||||
return buildDir.path().count('/') == sourceDir.path().count('/');
|
||||
return buildDir.path().count('/') == sourceDir.path().count('/')
|
||||
|| buildDir.isChildOf(sourceDir);
|
||||
}
|
||||
|
||||
bool QmakeBuildConfiguration::isBuildDirAtSafeLocation() const
|
||||
|
@@ -3352,19 +3352,23 @@ void tst_Dumpers::dumper_data()
|
||||
+ CoreProfile()
|
||||
|
||||
+ Check("pii", "(1, 2)", "@QPair<int,int>") % Qt5
|
||||
+ Check("pii", "(1, 2)", TypeDef("std::pair<int,int>", "@QPair")) % Qt6
|
||||
+ Check("pii", "(1, 2)", TypeDef("std::pair<int,int>", "@QPair")) % Qt6 % NoLldbEngine
|
||||
+ Check("pii", "(1, 2)", TypePattern("@QPair(<int,int>)?")) % Qt6 % LldbEngine
|
||||
+ Check("pii.first", "1", "int")
|
||||
+ Check("pii.second", "2", "int")
|
||||
+ Check("pis", "(1, ...)", "@QPair<int,QString>") % Qt5
|
||||
+ Check("pis", "(1, ...)", TypeDef("std::pair<int,QString>", "@QPair")) % Qt6
|
||||
+ Check("pis", "(1, ...)", TypeDef("std::pair<int,QString>", "@QPair")) % Qt6 % NoLldbEngine
|
||||
+ Check("pis", "(1, ...)", TypePattern("@QPair(<int,QString>)?")) % Qt6 % LldbEngine
|
||||
+ Check("pis.first", "1", "int")
|
||||
+ Check("pis.second", "\"ttt\"", "@QString")
|
||||
+ Check("psi", "(..., 2)", "@QPair<QString,int>") % Qt5
|
||||
+ Check("psi", "(..., 2)", TypeDef("std::pair<QString,int>", "@QPair")) % Qt6
|
||||
+ Check("psi", "(..., 2)", TypeDef("std::pair<QString,int>", "@QPair")) % Qt6 % NoLldbEngine
|
||||
+ Check("psi", "(..., 2)", TypePattern("@QPair(<QString,int>)?")) % Qt6 % LldbEngine
|
||||
+ Check("psi.first", "\"sss\"", "@QString")
|
||||
+ Check("psi.second", "2", "int")
|
||||
+ Check("pss", "(..., ...)", "@QPair<QString,QString>") % Qt5
|
||||
+ Check("pss", "(..., ...)", TypeDef("std::pair<QString,QString>", "@QPair")) % Qt6
|
||||
+ Check("pss", "(..., ...)", TypeDef("std::pair<QString,QString>", "@QPair")) % Qt6 % NoLldbEngine
|
||||
+ Check("pss", "(..., ...)", TypePattern("@QPair(<QString,QString>)?")) % Qt6 % LldbEngine
|
||||
+ Check("pss.first", "\"sss\"", "@QString")
|
||||
+ Check("pss.second", "\"ttt\"", "@QString");
|
||||
|
||||
|
@@ -36,10 +36,11 @@ def main():
|
||||
test.warning("It takes more than two seconds to expand the help content tree.")
|
||||
gettingStartedQModelIndex = getQModelIndexStr("text='Getting Started'", manualQModelIndex)
|
||||
doubleClick(gettingStartedQModelIndex, 5, 5, 0, Qt.LeftButton)
|
||||
mouseClick(waitForObject(getQModelIndexStr("text='Building and Running an Example'",
|
||||
pageTitle = "Configuring Qt Creator"
|
||||
mouseClick(waitForObject(getQModelIndexStr("text='%s'" % pageTitle,
|
||||
gettingStartedQModelIndex)))
|
||||
helpSelector = waitForObject(":Qt Creator_HelpSelector_QComboBox")
|
||||
pageOpened = "str(helpSelector.currentText).startswith('Building and Running an Example')"
|
||||
pageOpened = "str(helpSelector.currentText).startswith('%s')" % pageTitle
|
||||
if not waitFor(pageOpened, 10000):
|
||||
test.fatal("Help page is not opened after ten seconds. Giving up.")
|
||||
invokeMenuItem("File", "Exit")
|
||||
@@ -74,7 +75,7 @@ def main():
|
||||
sampleQModelIndex = getQModelIndexStr("text='Sample'", ":Qt Creator_Bookmarks_TreeView")
|
||||
folder1QModelIndex = getQModelIndexStr("text='Folder 1'", sampleQModelIndex)
|
||||
folder2QModelIndex = getQModelIndexStr("text='Folder 2'", folder1QModelIndex)
|
||||
bldRunQModelIndex = getQModelIndexStr("text?='%s'" % textForQtVersion("Building and Running an Example*"),
|
||||
configQModelIndex = getQModelIndexStr("text?='%s'" % textForQtVersion("%s*" % pageTitle),
|
||||
folder2QModelIndex)
|
||||
newFolderQModelIndex = getQModelIndexStr("text='New Folder'", sampleQModelIndex)
|
||||
manualQModelIndex = getQModelIndexStr("text='%s'" % textForQtVersion("Qt Creator Manual"),
|
||||
@@ -82,16 +83,16 @@ def main():
|
||||
test.verify(checkIfObjectExists(sampleQModelIndex, verboseOnFail = True) and
|
||||
checkIfObjectExists(folder1QModelIndex, verboseOnFail = True) and
|
||||
checkIfObjectExists(folder2QModelIndex, verboseOnFail = True) and
|
||||
checkIfObjectExists(bldRunQModelIndex, verboseOnFail = True) and
|
||||
checkIfObjectExists(configQModelIndex, verboseOnFail = True) and
|
||||
checkIfObjectExists(manualQModelIndex, verboseOnFail = True),
|
||||
"Verifying if all folders and bookmarks are present")
|
||||
mouseClick(waitForObject(":Qt Creator_Bookmarks_TreeView"), 5, 5, 0, Qt.LeftButton)
|
||||
for _ in range(6):
|
||||
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Right>")
|
||||
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Return>")
|
||||
test.verify(textForQtVersion("Building and Running an Example") in getHelpTitle(),
|
||||
test.verify(textForQtVersion(pageTitle) in getHelpTitle(),
|
||||
"Verifying if first bookmark is opened")
|
||||
mouseClick(waitForObject(bldRunQModelIndex))
|
||||
mouseClick(waitForObject(configQModelIndex))
|
||||
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Down>")
|
||||
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Right>")
|
||||
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "<Down>")
|
||||
@@ -114,7 +115,7 @@ def main():
|
||||
test.verify(checkIfObjectExists(sampleQModelIndex, verboseOnFail = True) and
|
||||
checkIfObjectExists(folder1QModelIndex, shouldExist = False, verboseOnFail = True) and
|
||||
checkIfObjectExists(folder2QModelIndex, shouldExist = False, verboseOnFail = True) and
|
||||
checkIfObjectExists(bldRunQModelIndex, shouldExist = False, verboseOnFail = True) and
|
||||
checkIfObjectExists(configQModelIndex, shouldExist = False, verboseOnFail = True) and
|
||||
checkIfObjectExists(manualQModelIndex, verboseOnFail = True),
|
||||
"Verifying if folder 1 and folder 2 deleted including their bookmark")
|
||||
# exit
|
||||
|
@@ -14,8 +14,9 @@ def clickItemVerifyHelpCombo(button, expectedHelpComboRegex, testDetails):
|
||||
test.log("Found %s" % str(helpCombo.currentText))
|
||||
# select "Welcome" page from left toolbar again
|
||||
switchViewTo(ViewConstants.WELCOME)
|
||||
return test.verify(object.exists(getWelcomeScreenSideBarButton(getStarted)),
|
||||
return test.verify(checkIfObjectExists(getWelcomeScreenSideBarButton(getStarted), timeout=1000),
|
||||
"Verifying: '%s' button is being displayed." % getStarted)
|
||||
|
||||
def buttonActive(button):
|
||||
return waitForObject(button).checked
|
||||
|
||||
|
@@ -85,7 +85,7 @@ def createAndSwitchToSession(toSession):
|
||||
def checkWelcomePage(sessionName, isCurrent=False):
|
||||
switchViewTo(ViewConstants.WELCOME)
|
||||
wsButton = getWelcomeScreenSideBarButton('Projects')
|
||||
if not object.exists(wsButton):
|
||||
if not checkIfObjectExists(wsButton, timeout=1000):
|
||||
test.fatal("Something's pretty wrong - leaving check for WelcomePage.")
|
||||
return
|
||||
mouseClick(wsButton)
|
||||
|