forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/11.0'
Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs Change-Id: If3ada34dcc764fa1d0cce04fd343fb5a02c2fbaa
This commit is contained in:
Binary file not shown.
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 9.5 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 4.8 KiB |
BIN
doc/qtcreator/images/qtcreator-preferences-compile-output.webp
Normal file
BIN
doc/qtcreator/images/qtcreator-preferences-compile-output.webp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
@@ -500,9 +500,9 @@
|
|||||||
\endlist
|
\endlist
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
Output from the helper program that processes the data is displayed in
|
The \uicontrol {General Messages} view shows \l{View output}{output} from the
|
||||||
\l{Viewing Output}{General Messages}.
|
helper program that processes the data.
|
||||||
|
|
||||||
Some information is displayed in \l {Application Output} even if the
|
The \l {Application Output} view shows some information even if the
|
||||||
Performance Analyzer displays error messages.
|
Performance Analyzer displays error messages.
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
\page creator-editor-functions.html
|
\page creator-editor-functions.html
|
||||||
\previouspage creator-coding.html
|
\previouspage creator-coding.html
|
||||||
\if defined(qtdesignstudio)
|
\if defined(qtdesignstudio)
|
||||||
\nextpage creator-output-panes.html
|
\nextpage creator-highlighting.html
|
||||||
\else
|
\else
|
||||||
\nextpage creator-coding-navigating.html
|
\nextpage creator-coding-navigating.html
|
||||||
\endif
|
\endif
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
copy the URL of the post on the code pasting service to the
|
copy the URL of the post on the code pasting service to the
|
||||||
clipboard when you paste a post.
|
clipboard when you paste a post.
|
||||||
\li Select the \uicontrol {Display General Messages after sending a post}
|
\li Select the \uicontrol {Display General Messages after sending a post}
|
||||||
check box to display the URL in \l{Viewing Output}{General Messages}
|
check box to display the URL in \l{View output}{General Messages}
|
||||||
when you paste a post.
|
when you paste a post.
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
|
|||||||
@@ -92,7 +92,7 @@
|
|||||||
patterns to extend the MIME types, separated by semicolons.
|
patterns to extend the MIME types, separated by semicolons.
|
||||||
\li In the \uicontrol {Startup behavior} field, select whether the
|
\li In the \uicontrol {Startup behavior} field, select whether the
|
||||||
language server is started when \QC starts or when a project or file
|
language server is started when \QC starts or when a project or file
|
||||||
with a matching MIME type is opened. \l{Viewing Output}
|
with a matching MIME type is opened. \l{View output}
|
||||||
{General Messages} displays information about the connection to the
|
{General Messages} displays information about the connection to the
|
||||||
language server.
|
language server.
|
||||||
\li In the \uicontrol {Initialization options} field, you can add
|
\li In the \uicontrol {Initialization options} field, you can add
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
/*!
|
/*!
|
||||||
\page creator-highlighting.html
|
\page creator-highlighting.html
|
||||||
\if defined(qtdesignstudio)
|
\if defined(qtdesignstudio)
|
||||||
\previouspage creator-output-panes.html
|
\previouspage creator-editor-functions.html
|
||||||
\else
|
\else
|
||||||
\previouspage creator-coding-navigating.html
|
\previouspage creator-coding-navigating.html
|
||||||
\endif
|
\endif
|
||||||
@@ -55,8 +55,8 @@
|
|||||||
If the editor cannot find the highlight definition for a file that you open
|
If the editor cannot find the highlight definition for a file that you open
|
||||||
for editing, it prompts you to download additional highlight definition
|
for editing, it prompts you to download additional highlight definition
|
||||||
files. Select \uicontrol {Download Definitions} to download the files.
|
files. Select \uicontrol {Download Definitions} to download the files.
|
||||||
Information about the downloaded files is displayed in \l{Viewing Output}
|
To view information about the downloaded files, open the \l{View output}
|
||||||
{General Messages}.
|
{General Messages} view.
|
||||||
|
|
||||||
To suppress the message for a particular file pattern, select
|
To suppress the message for a particular file pattern, select
|
||||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Text Editor}
|
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Text Editor}
|
||||||
|
|||||||
@@ -113,7 +113,7 @@
|
|||||||
working directory.
|
working directory.
|
||||||
|
|
||||||
\li In the \uicontrol Output field, select how to handle output from the
|
\li In the \uicontrol Output field, select how to handle output from the
|
||||||
tool. You can ignore the output, view it in \l{Viewing Output}
|
tool. You can ignore the output, view it in \l{View output}
|
||||||
{General Messages}, or replace the selected text with the
|
{General Messages}, or replace the selected text with the
|
||||||
output in the code editor.
|
output in the code editor.
|
||||||
|
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
\list 1
|
\list 1
|
||||||
\li Select \uicontrol Edit > \uicontrol Preferences >
|
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||||
\uicontrol Environment > \uicontrol Interface.
|
\uicontrol Environment > \uicontrol Interface.
|
||||||
|
\image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
|
||||||
\li Select \uicontrol {Enable high DPI scaling}.
|
\li Select \uicontrol {Enable high DPI scaling}.
|
||||||
\li Restart \QC to have the change take effect.
|
\li Restart \QC to have the change take effect.
|
||||||
\endlist
|
\endlist
|
||||||
|
|||||||
@@ -584,7 +584,7 @@
|
|||||||
|
|
||||||
\section1 Viewing Test Output
|
\section1 Viewing Test Output
|
||||||
|
|
||||||
The \l{Viewing Output}{Test Results} view shows Qt and Qt Quick test results
|
The \l{View output}{Test Results} view shows Qt and Qt Quick test results
|
||||||
in XML format and other test results in plain text format.
|
in XML format and other test results in plain text format.
|
||||||
|
|
||||||
\section2 Qt Test Output
|
\section2 Qt Test Output
|
||||||
|
|||||||
@@ -19,9 +19,11 @@
|
|||||||
\section1 Use the UI
|
\section1 Use the UI
|
||||||
|
|
||||||
\list
|
\list
|
||||||
|
\li \l {Assign keyboard shortcuts}
|
||||||
\li \l {Find a particular preference}
|
\li \l {Find a particular preference}
|
||||||
\li \l {Find keyboard shortcuts}
|
\li \l {Find keyboard shortcuts}
|
||||||
\li \l {Find menu items on \macos}
|
\li \l {Find menu items on \macos}
|
||||||
|
\li \l {Import and export keyboard shortcuts}
|
||||||
\li \l {Set high DPI scaling}
|
\li \l {Set high DPI scaling}
|
||||||
\li \l {Set the number of recent files shown}
|
\li \l {Set the number of recent files shown}
|
||||||
\li \l {Show and hide sidebars}
|
\li \l {Show and hide sidebars}
|
||||||
@@ -83,8 +85,10 @@
|
|||||||
\key Ctrl+Tab.
|
\key Ctrl+Tab.
|
||||||
|
|
||||||
To move forward in the location history, press \key {Alt+Right}
|
To move forward in the location history, press \key {Alt+Right}
|
||||||
(\key {Cmd+Opt+Right} on \macos). To move backward, press \key {Alt+Left}
|
(\key {Cmd+Opt+Right} on \macos).
|
||||||
(\key {Cmd+Opt+Left} on \macos). For example, if you use the \uicontrol Locator
|
|
||||||
|
To move backward, press \key {Alt+Left} (\key {Cmd+Opt+Left} on \macos).
|
||||||
|
For example, if you use the \uicontrol Locator
|
||||||
to jump to a symbol in the same file, you can jump back to your original
|
to jump to a symbol in the same file, you can jump back to your original
|
||||||
location in that file by pressing \key {Alt+Left}.
|
location in that file by pressing \key {Alt+Left}.
|
||||||
*/
|
*/
|
||||||
@@ -125,38 +129,6 @@
|
|||||||
\image qtcreator-preferences.webp {Filtering preferences}
|
\image qtcreator-preferences.webp {Filtering preferences}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
|
||||||
\page creator-how-to-view-output.html
|
|
||||||
\previouspage creator-how-tos.html
|
|
||||||
\nextpage creator-known-issues.html
|
|
||||||
\ingroup creator-how-to-ui
|
|
||||||
|
|
||||||
\title View output
|
|
||||||
|
|
||||||
The \l{Viewing Output}{taskbar} shows 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.
|
|
||||||
|
|
||||||
\image qtcreator-output-panes-taskbar.webp "Output on the taskbar"
|
|
||||||
|
|
||||||
To view different types of output, use the following shortcuts:
|
|
||||||
|
|
||||||
\list
|
|
||||||
|
|
||||||
\li \uicontrol{Issues} - \key Alt+1 (\key Cmd+1 on \macos)
|
|
||||||
|
|
||||||
\li \uicontrol{Search Results} - \key Alt+2 (\key Cmd+2 on \macos)
|
|
||||||
|
|
||||||
\li \uicontrol{Application Output} - \key Alt+3 (\key Cmd+3 on \macos)
|
|
||||||
|
|
||||||
\li \uicontrol{Compile Output} - \key Alt+4 (\key Cmd+4 on \macos)
|
|
||||||
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
For additional ways to view other types of output, see \l{Viewing Output}.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\page creator-how-to-run-from-cli.html
|
\page creator-how-to-run-from-cli.html
|
||||||
\previouspage creator-how-tos.html
|
\previouspage creator-how-tos.html
|
||||||
@@ -399,11 +371,16 @@
|
|||||||
|
|
||||||
\title Set the number of recent files shown
|
\title Set the number of recent files shown
|
||||||
|
|
||||||
Set the value of \uicontrol Edit > \uicontrol Preferences >
|
To set the number of files to list in \uicontrol File >
|
||||||
\uicontrol Environment > \uicontrol System
|
\uicontrol {Recent Files}:
|
||||||
> \uicontrol {Maximum number of entries in "Recent Files"}.
|
|
||||||
|
|
||||||
\image qtcreator-options-environment-system.png "System preferences"
|
\list 1
|
||||||
|
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||||
|
\uicontrol Environment > \uicontrol System.
|
||||||
|
\image qtcreator-options-environment-system.png {System preferences}
|
||||||
|
\li In \uicontrol {Maximum number of entries in "Recent Files"}, set
|
||||||
|
the number of files to show.
|
||||||
|
\endlist
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
\li Record test cases (in a very limited way compared to what you can do
|
\li Record test cases (in a very limited way compared to what you can do
|
||||||
inside the Squish IDE).
|
inside the Squish IDE).
|
||||||
\li Use Squish Runner and Server to run test suites or cases and view
|
\li Use Squish Runner and Server to run test suites or cases and view
|
||||||
the results in the \uicontrol Squish \l{Viewing Output}{output}.
|
the results in the \uicontrol Squish \l{View output}{output}.
|
||||||
\li Set breakpoints before running tests to stop at certain locations and
|
\li Set breakpoints before running tests to stop at certain locations and
|
||||||
inspect the local variables, similarly to when debugging a test.
|
inspect the local variables, similarly to when debugging a test.
|
||||||
\endlist
|
\endlist
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
// **********************************************************************
|
// **********************************************************************
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\previouspage creator-output-panes.html
|
\previouspage creator-quick-tour.html
|
||||||
\page creator-configuring.html
|
\page creator-configuring.html
|
||||||
\nextpage creator-build-example-application.html
|
\nextpage creator-build-example-application.html
|
||||||
|
|
||||||
|
|||||||
@@ -8,8 +8,6 @@
|
|||||||
|
|
||||||
\title Tutorials
|
\title Tutorials
|
||||||
|
|
||||||
\image front-help.png
|
|
||||||
|
|
||||||
You can use \QC to create applications for several \l{Supported Platforms}
|
You can use \QC to create applications for several \l{Supported Platforms}
|
||||||
{platforms} by using several \l{User Interfaces}{UI technologies}. Follow
|
{platforms} by using several \l{User Interfaces}{UI technologies}. Follow
|
||||||
the tutorials to learn how to create some basic Qt applications.
|
the tutorials to learn how to create some basic Qt applications.
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
// Copyright (C) 2023 The Qt Company Ltd.
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\page qtcreator-toc.html
|
\page qtcreator-toc.html
|
||||||
|
|
||||||
@@ -18,9 +17,6 @@
|
|||||||
\list
|
\list
|
||||||
\li \l{IDE Overview}
|
\li \l{IDE Overview}
|
||||||
\li \l{User Interface}
|
\li \l{User Interface}
|
||||||
\list
|
|
||||||
\li \l{Viewing Output}
|
|
||||||
\endlist
|
|
||||||
\li \l{Configuring Qt Creator}
|
\li \l{Configuring Qt Creator}
|
||||||
\li \l{Building and Running an Example}
|
\li \l{Building and Running an Example}
|
||||||
\li \l{Tutorials}
|
\li \l{Tutorials}
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
\nextpage creator-open-documents-view.html
|
\nextpage creator-open-documents-view.html
|
||||||
\else
|
\else
|
||||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||||
\nextpage creator-output-panes.html
|
|
||||||
\endif
|
\endif
|
||||||
|
|
||||||
\ingroup creator-reference-sidebar-views
|
\ingroup creator-reference-sidebar-views
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page creator-how-to-view-output.html
|
||||||
|
\if defined(qtdesignstudio)
|
||||||
|
\previouspage creator-quick-tour.html
|
||||||
|
\else
|
||||||
|
\previouspage creator-how-tos.html
|
||||||
|
\endif
|
||||||
|
|
||||||
|
\ingroup creator-how-to-ui
|
||||||
|
|
||||||
|
\title View output
|
||||||
|
|
||||||
|
The \e {output views} show 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.
|
||||||
|
|
||||||
|
\image qtcreator-output-panes-taskbar.webp {Output views}
|
||||||
|
|
||||||
|
You can open output views in all
|
||||||
|
\if defined (qtcreator)
|
||||||
|
\l{Switch between modes}{modes}
|
||||||
|
\else
|
||||||
|
modes
|
||||||
|
\endif in the following ways:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\if defined(qtcreator)
|
||||||
|
\li Select the output view.
|
||||||
|
\endif
|
||||||
|
\li Select \uicontrol View > \uicontrol Output.
|
||||||
|
The menu items also display the \l{Keyboard Shortcuts}
|
||||||
|
{keyboard shortcuts} that you can use.
|
||||||
|
\li Select \key Alt (\key Cmd on \macos) and the number of the view.
|
||||||
|
\li Select \inlineimage icons/output-pane-menu.png
|
||||||
|
, and then select the view to open.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
To maximize an open output view, select the \inlineimage icons/arrowup.png
|
||||||
|
(\uicontrol Maximize) button or press \key {Alt+Shift+9}.
|
||||||
|
|
||||||
|
To increase or decrease the output text size, select \inlineimage icons/plus.png
|
||||||
|
(\uicontrol {Zoom In}) or \inlineimage icons/minus.png
|
||||||
|
(\uicontrol {Zoom Out}), or press \key Ctrl++ or \key Ctrl+-. Zooming is
|
||||||
|
not supported in all output views.
|
||||||
|
|
||||||
|
\section1 Change text encoding
|
||||||
|
|
||||||
|
If the text in the output is not displayed correctly, \QC might
|
||||||
|
be using a different codec from the one used by the tools that generate
|
||||||
|
the output. To specify the codec to use, select \uicontrol Edit >
|
||||||
|
\uicontrol Preferences > \uicontrol Environment > \uicontrol Interface, and
|
||||||
|
then select the codec in the \uicontrol {Text codec for tools} field.
|
||||||
|
|
||||||
|
\image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
|
||||||
|
|
||||||
|
\section1 Find and filter output
|
||||||
|
|
||||||
|
To search from output, press \key {Ctrl+F} when the view is active. Enter
|
||||||
|
search criteria in the \uicontrol Find field. For more information, see
|
||||||
|
\l{Finding and Replacing}.
|
||||||
|
|
||||||
|
To filter output, enter a string in the \uicontrol Filter field.
|
||||||
|
|
||||||
|
To specify filtering options,
|
||||||
|
select the \inlineimage icons/magnifier.png {Filtering options menu}
|
||||||
|
button. You can filter output by using regular expressions or
|
||||||
|
case-sensitivity. Select \uicontrol {Show Non-matching Lines} to
|
||||||
|
hide the lines that match the filter.
|
||||||
|
|
||||||
|
Some output views do not support finding and filtering.
|
||||||
|
|
||||||
|
\section1 Output views
|
||||||
|
|
||||||
|
The following views show output:
|
||||||
|
|
||||||
|
\if defined(qtcreator)
|
||||||
|
\annotatedlist creator-reference-output-views
|
||||||
|
\else
|
||||||
|
\annotatedlist studio-reference-output-views
|
||||||
|
\endif
|
||||||
|
*/
|
||||||
@@ -4,7 +4,6 @@
|
|||||||
/*!
|
/*!
|
||||||
\page creator-outline-view.html
|
\page creator-outline-view.html
|
||||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||||
\nextpage creator-output-panes.html
|
|
||||||
\ingroup creator-reference-sidebar-views
|
\ingroup creator-reference-sidebar-views
|
||||||
|
|
||||||
\title Outline
|
\title Outline
|
||||||
@@ -33,7 +32,6 @@
|
|||||||
/*!
|
/*!
|
||||||
\page creator-class-view.html
|
\page creator-class-view.html
|
||||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||||
\nextpage creator-output-panes.html
|
|
||||||
\ingroup creator-reference-sidebar-views
|
\ingroup creator-reference-sidebar-views
|
||||||
|
|
||||||
\title Class View
|
\title Class View
|
||||||
@@ -54,7 +52,6 @@
|
|||||||
/*!
|
/*!
|
||||||
\page creator-call-hierarchy-view.html
|
\page creator-call-hierarchy-view.html
|
||||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||||
\nextpage creator-output-panes.html
|
|
||||||
\ingroup creator-reference-sidebar-views
|
\ingroup creator-reference-sidebar-views
|
||||||
|
|
||||||
\title Call Hierarchy
|
\title Call Hierarchy
|
||||||
@@ -77,7 +74,6 @@
|
|||||||
/*!
|
/*!
|
||||||
\page creator-type-hierarchy.html
|
\page creator-type-hierarchy.html
|
||||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||||
\nextpage creator-output-panes.html
|
|
||||||
\ingroup creator-reference-sidebar-views
|
\ingroup creator-reference-sidebar-views
|
||||||
|
|
||||||
\title Type Hierarchy
|
\title Type Hierarchy
|
||||||
@@ -110,7 +106,6 @@
|
|||||||
/*!
|
/*!
|
||||||
\page creator-include-hierarchy-view.html
|
\page creator-include-hierarchy-view.html
|
||||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||||
\nextpage creator-output-panes.html
|
|
||||||
\ingroup creator-reference-sidebar-views
|
\ingroup creator-reference-sidebar-views
|
||||||
|
|
||||||
\title Include Hierarchy
|
\title Include Hierarchy
|
||||||
|
|||||||
@@ -0,0 +1,111 @@
|
|||||||
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page creator-reference-terminal-view.html
|
||||||
|
\previouspage creator-how-to-view-output.html
|
||||||
|
|
||||||
|
\ingroup creator-reference-output-views
|
||||||
|
|
||||||
|
\title Terminal
|
||||||
|
|
||||||
|
\brief Opens a terminal.
|
||||||
|
|
||||||
|
When you select the \uicontrol {Run in Terminal} check box and run an
|
||||||
|
application or the \uicontrol {Open Terminal} button to open a terminal,
|
||||||
|
it opens as an output view.
|
||||||
|
|
||||||
|
To open the terminal in a separate window, select \uicontrol Edit >
|
||||||
|
\uicontrol Preferences > \uicontrol Terminal, and deselet the
|
||||||
|
\uicontrol {Use internal terminal} check box.
|
||||||
|
|
||||||
|
On Linux and \macos, you can set the terminal to open by selecting
|
||||||
|
\uicontrol Edit > \uicontrol Preferences >
|
||||||
|
\uicontrol Environment > \uicontrol System.
|
||||||
|
|
||||||
|
\image qtcreator-output-terminal.webp {Terminal pane}
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li To clear the terminal, select \inlineimage icons/clean_pane_small.png
|
||||||
|
(\uicontrol Clear).
|
||||||
|
|
||||||
|
\li To close the current terminal, select \inlineimage icons/terminal-close.png
|
||||||
|
.
|
||||||
|
|
||||||
|
\li To open new terminals as tabs, select \inlineimage icons/terminal-create.png
|
||||||
|
.
|
||||||
|
|
||||||
|
\li To move between terminals, select the tabs or \inlineimage icons/arrowup.png
|
||||||
|
and \inlineimage icons/arrowdown.png
|
||||||
|
.
|
||||||
|
|
||||||
|
\li To select a word in a terminal, double-click it. To select the whole line,
|
||||||
|
triple-click it.
|
||||||
|
|
||||||
|
\li To open links in a browser, files in the editor, or folders in the
|
||||||
|
\l Projects view, hover the mouse over them, and press \key Ctrl.
|
||||||
|
|
||||||
|
\li To \l{Finding and Replacing}{search} through the output, press \key {Ctrl+F}.
|
||||||
|
|
||||||
|
\li To make the font larger or smaller, select the \inlineimage icons/plus.png
|
||||||
|
and \inlineimage icons/minus.png
|
||||||
|
buttons. You can also change the font size in terminal preferences.
|
||||||
|
|
||||||
|
\li To open terminal preferences, select \inlineimage icons/settings.png
|
||||||
|
(\uicontrol Configure).
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
Most of the \QC keyboard shortcuts are disabled in the terminal, except the
|
||||||
|
ones for opening terminal preferences or the locator and quitting \QC. To
|
||||||
|
send the escape key to the terminal instead of closing the terminal, select
|
||||||
|
\uicontrol {Shift+Esc}. You can also specify that the escape key is sent to
|
||||||
|
the terminal in terminal preferences.
|
||||||
|
|
||||||
|
\section1 Terminal Preferences
|
||||||
|
|
||||||
|
To set preferences for the internal terminal, select \uicontrol Edit >
|
||||||
|
\uicontrol Preferences > \uicontrol Terminal, or select the
|
||||||
|
\uicontrol Configure button in the \uicontrol Terminal pane.
|
||||||
|
|
||||||
|
\image qtcreator-preferences-terminal.webp {Terminal tab in Preferences}
|
||||||
|
|
||||||
|
\table
|
||||||
|
\header
|
||||||
|
\li Option
|
||||||
|
\li Value
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Use internal terminal}
|
||||||
|
\li Open the \uicontrol Terminal pane when you select
|
||||||
|
\uicontrol {Run in Terminal} or \uicontrol {Open Terminal}.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Send escape key to terminal}
|
||||||
|
\li Send the escape key to the terminal instead of closing the terminal.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Audible bell}
|
||||||
|
\li Play an audible bell when the a bell character is received.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Allow blinking cursor}
|
||||||
|
\li Allow the cursor to blink.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Font}
|
||||||
|
\li Select the \uicontrol {Font family} and \uicontrol Size for the text
|
||||||
|
in the terminal. You can also use the \inlineimage icons/plus.png
|
||||||
|
and \inlineimage icons/minus.png buttons in the \uicontrol Terminal
|
||||||
|
pane to change the font size.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Colors}
|
||||||
|
\li Set colors for the \uicontrol Terminal pane \uicontrol Foreground,
|
||||||
|
\uicontrol Background, \uicontrol Selection, and
|
||||||
|
\uicontrol {Find match}.
|
||||||
|
\row
|
||||||
|
\li \uicontrol {Default shell}
|
||||||
|
\li Set the full path to the default terminal executable in
|
||||||
|
\uicontrol {Shell path} and the arguments to pass to the shell
|
||||||
|
in \uicontrol {Shell arguments}.
|
||||||
|
\endtable
|
||||||
|
|
||||||
|
To use an existing color scheme, select \uicontrol {Load Theme}. To revert
|
||||||
|
color changes, select \uicontrol {Reset Theme}.
|
||||||
|
|
||||||
|
\sa {View output}
|
||||||
|
*/
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page creator-reference-to-do-entries-view.html
|
||||||
|
\previouspage creator-how-to-view-output.html
|
||||||
|
|
||||||
|
\ingroup creator-reference-output-views
|
||||||
|
|
||||||
|
\title To-Do Entries
|
||||||
|
|
||||||
|
\brief Lists the BUG, FIXME, NOTE, TODO, and WARNING keywords from the
|
||||||
|
current file, from all project files, or from a subproject.
|
||||||
|
|
||||||
|
Click the icons on the toolbar to show only the selected
|
||||||
|
keywords.
|
||||||
|
|
||||||
|
\image qtcreator-to-do-entries.webp {To-Do Entries}
|
||||||
|
|
||||||
|
You can also open task list files generated by code scanning and
|
||||||
|
analysis tools in \l Issues. For more information, see
|
||||||
|
\l{Showing Task List Files in Issues}.
|
||||||
|
|
||||||
|
\section1 Enabling the To-Do Plugin
|
||||||
|
|
||||||
|
The Todo plugin is disabled by default. To enable it:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Select \uicontrol Help > \uicontrol {About Plugins} >
|
||||||
|
\uicontrol Utilities > \uicontrol Todo.
|
||||||
|
\li Select \uicontrol OK.
|
||||||
|
\li Select \uicontrol {Restart Now} to restart \QC and load the plugin.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 To-Do Preferences
|
||||||
|
|
||||||
|
To add keywords, select \uicontrol Edit > \uicontrol Preferences >
|
||||||
|
\uicontrol {To-Do} > \uicontrol Add. Set an icon and a line background color
|
||||||
|
for the keyword.
|
||||||
|
|
||||||
|
\image qtcreator-todo-options.png {To-Do preferences}
|
||||||
|
|
||||||
|
\list
|
||||||
|
|
||||||
|
\li To change the icon and line background color of the selected keyword,
|
||||||
|
select \uicontrol Edit.
|
||||||
|
|
||||||
|
\li To remove the selected keyword, select \uicontrol Remove.
|
||||||
|
|
||||||
|
\li To reset the list to predefined keywords, select \uicontrol Reset.
|
||||||
|
All your changes will be permanently lost.
|
||||||
|
|
||||||
|
\li To determine whether the keywords in the whole project, in the
|
||||||
|
current file, or in a subproject are displayed by default, select
|
||||||
|
the appropriate option in the \uicontrol {Scanning scope} group.
|
||||||
|
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Excluding Files from Scanning
|
||||||
|
|
||||||
|
To exclude files from scanning, select \uicontrol {Project Settings} >
|
||||||
|
\uicontrol {To-Do} in the \uicontrol Projects mode.
|
||||||
|
|
||||||
|
\image qtcreator-todo-excluded-files.png {Excluded Files in To-Do preferences}
|
||||||
|
|
||||||
|
Select \uicontrol Add and double-click the placeholder text in
|
||||||
|
\uicontrol {Exclude Files} to enter a regular expression that
|
||||||
|
matches the path to files to exclude. Use a forward slash (/)
|
||||||
|
as a separator in the path also on Windows.
|
||||||
|
|
||||||
|
Select the link in \uicontrol {Use global settings} to open global
|
||||||
|
To-Do preferences.
|
||||||
|
|
||||||
|
\sa {Enable and disable plugins}
|
||||||
|
*/
|
||||||
@@ -9,7 +9,6 @@
|
|||||||
\nextpage studio-content-library.html
|
\nextpage studio-content-library.html
|
||||||
\else
|
\else
|
||||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||||
\nextpage creator-output-panes.html
|
|
||||||
\endif
|
\endif
|
||||||
|
|
||||||
\ingroup creator-reference-sidebar-views
|
\ingroup creator-reference-sidebar-views
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
\nextpage creator-file-system-view.html
|
\nextpage creator-file-system-view.html
|
||||||
\else
|
\else
|
||||||
\previouspage creator-how-to-show-and-hide-sidebars.html
|
\previouspage creator-how-to-show-and-hide-sidebars.html
|
||||||
\nextpage creator-output-panes.html
|
|
||||||
\endif
|
\endif
|
||||||
|
|
||||||
\ingroup creator-reference-sidebar-views
|
\ingroup creator-reference-sidebar-views
|
||||||
|
|||||||
@@ -0,0 +1,257 @@
|
|||||||
|
// 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.
|
||||||
|
// **********************************************************************
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page creator-reference-issues-view.html
|
||||||
|
\previouspage creator-how-to-view-output.html
|
||||||
|
|
||||||
|
\ingroup creator-reference-output-views
|
||||||
|
\ingroup studio-reference-output-views
|
||||||
|
|
||||||
|
\title Issues
|
||||||
|
|
||||||
|
\brief Lists issues from different sources.
|
||||||
|
|
||||||
|
The \uicontrol Issues view filters out irrelevant output from the build tools
|
||||||
|
and presents the issues in an organized way.
|
||||||
|
|
||||||
|
To further filter the output by type, select \inlineimage icons/filtericon.png
|
||||||
|
(\uicontrol {Filter Tree}) and then select a filter:
|
||||||
|
|
||||||
|
\list
|
||||||
|
|
||||||
|
\if defined(qtdesignstudio)
|
||||||
|
\li \uicontrol {Asset Export} - Errors and warnings encountered
|
||||||
|
while exporting assets.
|
||||||
|
|
||||||
|
\li \uicontrol {Asset Importer Error} - Errors and warnings encountered
|
||||||
|
while importing assets from a design tool.
|
||||||
|
\else
|
||||||
|
\li \uicontrol Autotests - Errors and warnings encountered while running
|
||||||
|
tests.
|
||||||
|
\endif
|
||||||
|
|
||||||
|
\li \uicontrol {Build System} - Errors and warnings encountered when
|
||||||
|
opening and managing projects.
|
||||||
|
|
||||||
|
\if defined(qtcreator)
|
||||||
|
\li \uicontrol {Clang Code Model} -
|
||||||
|
\l {Parsing C++ Files with the Clang Code Model}
|
||||||
|
{Errors and warnings from the current editor}.
|
||||||
|
\li \uicontrol {Clang Tools} - Errors and warnings from
|
||||||
|
\l {Using Clang Tools}{Clang-Tidy and Clazy}
|
||||||
|
\endif
|
||||||
|
|
||||||
|
\li \uicontrol Compile - Selected output from the compiler. Open
|
||||||
|
\uicontrol {Compile Output} for more detailed information.
|
||||||
|
|
||||||
|
\li \uicontrol{Debug Information} - Lists debug information packages that might
|
||||||
|
be missing.
|
||||||
|
|
||||||
|
\if defined(qtcreator)
|
||||||
|
\li \uicontrol Debugger - Errors encountered while running the
|
||||||
|
\l{Analyzing Code}{Valgrind code analysis tools}.
|
||||||
|
\endif
|
||||||
|
|
||||||
|
\li \uicontrol{Debugger Runtime} - Errors encountered when starting \QC. For
|
||||||
|
example, information about missing DLLs.
|
||||||
|
|
||||||
|
\li \uicontrol Deployment - Errors encountered between building an application
|
||||||
|
successfully and starting it on a \l{glossary-device}{device}.
|
||||||
|
|
||||||
|
\if defined(qtcreator)
|
||||||
|
\li \uicontrol {My Tasks} - Entries from a task list file (.tasks) generated
|
||||||
|
by \l{Showing Task List Files in Issues}
|
||||||
|
{code scanning and analysis tools}.
|
||||||
|
|
||||||
|
\li \uicontrol Python - Runtime errors and exceptions of Python scripts.
|
||||||
|
\endif
|
||||||
|
|
||||||
|
\li \uicontrol QML and \uicontrol {QML Analysis} -
|
||||||
|
\l{JavaScript and QML Error Codes}
|
||||||
|
{QML and JavaScript syntax errors}.
|
||||||
|
|
||||||
|
\if defined(qtcreator)
|
||||||
|
\li \uicontrol Sanitizer - Tasks created when you run an application if
|
||||||
|
you used an \e {address sanitizer} to detect memory handling issues.
|
||||||
|
\endif
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
To find output in the view, enter search criteria in the \uicontrol Filter
|
||||||
|
field.
|
||||||
|
|
||||||
|
\image qtcreator-issues.webp {Issues}
|
||||||
|
|
||||||
|
Select one or several lines to apply context-menu actions to their contents.
|
||||||
|
You can remove the selected lines or copy their contents to the clipboard.
|
||||||
|
For single lines, you can search the Internet for a solution using the
|
||||||
|
contents of the line as search criteria or open a version control
|
||||||
|
annotation view of the line that causes the error message.
|
||||||
|
|
||||||
|
To view detailed information about the selected line (where available), press
|
||||||
|
\key Space.
|
||||||
|
|
||||||
|
To navigate to the corresponding source code, click an issue or
|
||||||
|
select \uicontrol {Show in Editor} in the context menu. The entry must contain the
|
||||||
|
name of the file where the issue was found.
|
||||||
|
|
||||||
|
To view more information about an issue in \l {Compile Output},
|
||||||
|
select \uicontrol {Show Compile Output} in the context menu.
|
||||||
|
|
||||||
|
To jump from one issue to the next or previous
|
||||||
|
one, select \inlineimage icons/arrowup.png
|
||||||
|
and \inlineimage icons/arrowdown.png
|
||||||
|
or press \key F6 and \key Shift+F6.
|
||||||
|
|
||||||
|
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}.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page creator-reference-search-results-view.html
|
||||||
|
\previouspage creator-how-to-view-output.html
|
||||||
|
|
||||||
|
\ingroup creator-reference-output-views
|
||||||
|
\ingroup studio-reference-output-views
|
||||||
|
|
||||||
|
\title Search Results
|
||||||
|
|
||||||
|
\brief Lets you search through projects, files on a file system or the
|
||||||
|
currently open files.
|
||||||
|
|
||||||
|
The search history (1) stores the search results. You can select earlier
|
||||||
|
searches from the history.
|
||||||
|
|
||||||
|
\image qtcreator-search-results.webp {Search Results - criteria}
|
||||||
|
|
||||||
|
The figure below shows an example search result for all
|
||||||
|
occurrences of the search string in the specified directory.
|
||||||
|
|
||||||
|
\image qtcreator-search-results-matches.webp {Search Results - matches found}
|
||||||
|
|
||||||
|
For more information about the different search options, see
|
||||||
|
\l {Finding and Replacing}.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page creator-reference-application-output-view.html
|
||||||
|
\previouspage creator-how-to-view-output.html
|
||||||
|
|
||||||
|
\ingroup creator-reference-output-views
|
||||||
|
\ingroup studio-reference-output-views
|
||||||
|
|
||||||
|
\title Application Output
|
||||||
|
|
||||||
|
\brief Displays the status of a program when you execute it, and the debug
|
||||||
|
output.
|
||||||
|
|
||||||
|
\image qtcreator-application-output.webp {Application Output}
|
||||||
|
|
||||||
|
\if defined(qtcreator)
|
||||||
|
If you specify command line arguments in the run settings that are passed
|
||||||
|
to the application when running it, they are displayed as a part of the
|
||||||
|
application output. For more information, see
|
||||||
|
\l{Specifying Run Settings for Desktop Device Types}.
|
||||||
|
\endif
|
||||||
|
|
||||||
|
Select toolbar buttons to run applications, to attach the debugger to the
|
||||||
|
running application, and to stop running or debugging.
|
||||||
|
|
||||||
|
\section1 Application Output Preferences
|
||||||
|
|
||||||
|
To set preferences for displaying application output:
|
||||||
|
|
||||||
|
\list
|
||||||
|
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||||
|
\uicontrol {Build & Run} > \uicontrol {Application Output}.
|
||||||
|
\li Select the \inlineimage icons/settings.png
|
||||||
|
(\uicontrol {Open Settings Page}) button.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\image qtcreator-preferences-application-output.webp {Application Output tab in Preferences}
|
||||||
|
|
||||||
|
You can select whether to open \uicontrol{Application Output} on output when
|
||||||
|
running or debugging applications, to clear old output on a new run,
|
||||||
|
to word-wrap output, and to limit output to the specified number of lines.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*!
|
||||||
|
\page creator-reference-compile-output-view.html
|
||||||
|
\previouspage creator-how-to-view-output.html
|
||||||
|
|
||||||
|
\ingroup creator-reference-output-views
|
||||||
|
\ingroup studio-reference-output-views
|
||||||
|
|
||||||
|
\title Compile Output
|
||||||
|
|
||||||
|
\brief Shows all output from the compiler.
|
||||||
|
|
||||||
|
\uicontrol{Compile Output} shows a more detailed version of information
|
||||||
|
displayed in \l Issues.
|
||||||
|
|
||||||
|
\image qtcreator-compile-output.webp {Compile Output}
|
||||||
|
|
||||||
|
Double-click a file name in an error message to open the file in the
|
||||||
|
code editor.
|
||||||
|
|
||||||
|
To cancel the build, select the \uicontrol {Cancel Build} button.
|
||||||
|
|
||||||
|
To copy the output to the clipboard, select \uicontrol {Select All} in the
|
||||||
|
context menu, and then select \uicontrol Copy. Save the output as a file if
|
||||||
|
you want to examine it later without having to build the project again.
|
||||||
|
This is useful for large projects that take a long time to build.
|
||||||
|
|
||||||
|
\section1 Compile Output Preferences
|
||||||
|
|
||||||
|
To specify whether to open the \uicontrol {Compile Output} view on output
|
||||||
|
when building applications:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Open the preferences:
|
||||||
|
\list
|
||||||
|
\li In the \uicontrol {Compile Output} view,
|
||||||
|
select \inlineimage icons/settings.png
|
||||||
|
(\uicontrol {Open Settings Page}).
|
||||||
|
\li Select \uicontrol Edit > \uicontrol Preferences >
|
||||||
|
\uicontrol {Build & Run} > \uicontrol {Compile Output}.
|
||||||
|
\endlist
|
||||||
|
\image qtcreator-preferences-compile-output.webp {Compile Output tab in Preferences}
|
||||||
|
\li Select the \uicontrol {Open Compile Output when building} check box.
|
||||||
|
\li In the \uicontrol {Limit output to} field, you can specify the
|
||||||
|
maximum amount of build output lines to display.
|
||||||
|
\endlist
|
||||||
|
|
||||||
|
\section1 Parsing Existing Compile Output
|
||||||
|
|
||||||
|
You can use \QC's output parsers to parse output from builds done outside
|
||||||
|
of \QC or stored from previous build runs. By default, the parsers from the
|
||||||
|
kit selected for the active project are used, but you can select another
|
||||||
|
kit.
|
||||||
|
|
||||||
|
To parse compile output:
|
||||||
|
|
||||||
|
\list 1
|
||||||
|
\li Select \uicontrol Tools > \uicontrol {Parse Build Output}.
|
||||||
|
\image qtcreator-parse-build-output.png
|
||||||
|
\li Paste the build output in the \uicontrol {Build Output} field, or
|
||||||
|
select \uicontrol {Load from File} to load it from a file.
|
||||||
|
\li Deselect the \uicontrol {Output went to stderr} check box if the
|
||||||
|
parser expects issues on \c stdout.
|
||||||
|
\li In the \uicontrol {Use parsers from kit} field, select the kit to
|
||||||
|
use for parsing the output. Select \uicontrol Manage to view
|
||||||
|
and modify kit settings.
|
||||||
|
\li The parser displays the parsed output in \l Issues. By default, the
|
||||||
|
view is cleared before adding the new output.
|
||||||
|
Deselect the \uicontrol {Clear existing tasks} check box to append
|
||||||
|
the new output to the old output.
|
||||||
|
\li Select \uicontrol OK to start parsing.
|
||||||
|
\endlist
|
||||||
|
*/
|
||||||
@@ -1,12 +1,6 @@
|
|||||||
// Copyright (C) 2023 The Qt Company Ltd.
|
// Copyright (C) 2023 The Qt Company Ltd.
|
||||||
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
|
||||||
|
|
||||||
// **********************************************************************
|
|
||||||
// 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.
|
|
||||||
// **********************************************************************
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\page creator-quick-tour.html
|
\page creator-quick-tour.html
|
||||||
\if defined(qtdesignstudio)
|
\if defined(qtdesignstudio)
|
||||||
@@ -14,7 +8,7 @@
|
|||||||
\nextpage creator-using-qt-quick-designer.html
|
\nextpage creator-using-qt-quick-designer.html
|
||||||
\else
|
\else
|
||||||
\previouspage creator-overview.html
|
\previouspage creator-overview.html
|
||||||
\nextpage creator-views.html
|
\nextpage creator-configuring.html
|
||||||
\endif
|
\endif
|
||||||
|
|
||||||
\title User Interface
|
\title User Interface
|
||||||
@@ -66,7 +60,7 @@
|
|||||||
\li \inlineimage numbers/07.png
|
\li \inlineimage numbers/07.png
|
||||||
\li Output
|
\li Output
|
||||||
\li View output from building, running, and other actions.
|
\li View output from building, running, and other actions.
|
||||||
\li \l{Viewing Output}
|
\li \l{View output}
|
||||||
\endtable
|
\endtable
|
||||||
|
|
||||||
To see where the above controls are in the UI, select
|
To see where the above controls are in the UI, select
|
||||||
@@ -127,6 +121,7 @@
|
|||||||
\li \l {Find menu items on \macos}
|
\li \l {Find menu items on \macos}
|
||||||
\li \l {Set high DPI scaling}
|
\li \l {Set high DPI scaling}
|
||||||
\li \l {Switch UI themes}
|
\li \l {Switch UI themes}
|
||||||
|
\li \l {View output}
|
||||||
\endlist
|
\endlist
|
||||||
|
|
||||||
\section1 Viewing Images
|
\section1 Viewing Images
|
||||||
@@ -140,465 +135,3 @@
|
|||||||
|
|
||||||
\endif
|
\endif
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*!
|
|
||||||
\page creator-output-panes.html
|
|
||||||
\if defined(qtdesignstudio)
|
|
||||||
\previouspage creator-editor-functions.html
|
|
||||||
\nextpage creator-highlighting.html
|
|
||||||
\else
|
|
||||||
\previouspage creator-open-documents-view.html
|
|
||||||
\nextpage creator-configuring.html
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\title Viewing Output
|
|
||||||
|
|
||||||
\image qtcreator-general-messages.webp {General Messages}
|
|
||||||
|
|
||||||
You can view the following types of output:
|
|
||||||
|
|
||||||
\list
|
|
||||||
|
|
||||||
\li \l {Issues}
|
|
||||||
|
|
||||||
\li \l {Search Results}
|
|
||||||
|
|
||||||
\li \l {Application Output}
|
|
||||||
|
|
||||||
\li \l {Compile Output}
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\li \l {Terminal}
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\li \uicontrol {QML Debugger Console}
|
|
||||||
|
|
||||||
\li \uicontrol{General Messages}
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\li \l {Static Code Analysis}{Axivion}
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\li \uicontrol{Version Control}
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\li \l{Running Autotests}{Test Results}
|
|
||||||
|
|
||||||
\li \l{Using Squish}{Squish} test results and Squish Server and
|
|
||||||
Runner logs
|
|
||||||
|
|
||||||
\li \l {To-Do Entries}
|
|
||||||
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
Output is available on the taskbar in all
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\l{Switch between modes}{modes}.
|
|
||||||
\else
|
|
||||||
\l{Mode}{modes}.
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\image qtcreator-output-panes-taskbar.webp "Output on the taskbar"
|
|
||||||
|
|
||||||
You can view output in the following ways:
|
|
||||||
|
|
||||||
\list
|
|
||||||
\li Select the output view on the taskbar.
|
|
||||||
\li Select \key Alt (\key Cmd on \macos) and the number of the view on
|
|
||||||
the taskbar.
|
|
||||||
\li Select \inlineimage icons/output-pane-menu.png
|
|
||||||
, and then select the view to open.
|
|
||||||
\li Select \uicontrol View > \uicontrol Output.
|
|
||||||
The menu items also display the \l{Keyboard Shortcuts}
|
|
||||||
{keyboard shortcuts} that you can use.
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
To maximize an open output view, select the \inlineimage icons/arrowup.png
|
|
||||||
(\uicontrol Maximize) button or press \key {Alt+Shift+9}.
|
|
||||||
|
|
||||||
|
|
||||||
To increase or decrease the output text size, select \inlineimage icons/plus.png
|
|
||||||
(\uicontrol {Zoom In}) or \inlineimage icons/minus.png
|
|
||||||
(\uicontrol {Zoom Out}), or press \key Ctrl++ or \key Ctrl+-. Zooming is
|
|
||||||
not supported in all output views.
|
|
||||||
|
|
||||||
To open the \uicontrol{General Messages} and
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\l{Using Version Control Systems}{Version Control}
|
|
||||||
\else
|
|
||||||
\l{Using Git}{Version Control}
|
|
||||||
\endif
|
|
||||||
views, select \uicontrol View > \uicontrol Output.
|
|
||||||
\if defined(qtcreator)
|
|
||||||
To view \uicontrol {To-Do Entries}, enable the \uicontrol Todo plugin.
|
|
||||||
\endif
|
|
||||||
|
|
||||||
For more information about the \uicontrol {QML Debugger Console} view, see
|
|
||||||
\l{Executing JavaScript Expressions}.
|
|
||||||
|
|
||||||
If the text in the output is not displayed correctly, \QC might
|
|
||||||
be using a different codec from the one used by the tools that generate
|
|
||||||
the output. To specify the codec to use, select \uicontrol Edit >
|
|
||||||
\uicontrol Preferences > \uicontrol Environment > \uicontrol Interface, and
|
|
||||||
then select the codec in the \uicontrol {Text codec for tools} field.
|
|
||||||
|
|
||||||
\image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
|
|
||||||
|
|
||||||
\section1 Finding and Filtering Output
|
|
||||||
|
|
||||||
To search from output, press \key {Ctrl+F} when the view is active. Enter
|
|
||||||
search criteria in the \uicontrol Find field. For more information, see
|
|
||||||
\l{Finding and Replacing}.
|
|
||||||
|
|
||||||
Besides searching from the output, you can enter a string in the
|
|
||||||
\uicontrol Filter field to filter it. To specify filtering options,
|
|
||||||
select the \inlineimage icons/magnifier.png "Filtering options menu"
|
|
||||||
button. You can filter output by using regular expressions or
|
|
||||||
case-sensitivity. Select \uicontrol {Show Non-matching Lines} to
|
|
||||||
hide the lines that match the filter.
|
|
||||||
|
|
||||||
Finding and filtering are not supported in all output views.
|
|
||||||
|
|
||||||
\section1 Issues
|
|
||||||
|
|
||||||
\uicontrol{Issues} lists the following types of issues:
|
|
||||||
|
|
||||||
\list
|
|
||||||
|
|
||||||
\if defined(qtdesignstudio)
|
|
||||||
\li \uicontrol {Asset Export} - Errors and warnings encountered
|
|
||||||
while exporting assets.
|
|
||||||
|
|
||||||
\li \uicontrol {Asset Importer Error} - Errors and warnings encountered
|
|
||||||
while importing assets from a design tool.
|
|
||||||
\else
|
|
||||||
\li \uicontrol Autotests - Errors and warnings encountered while running
|
|
||||||
tests.
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\li \uicontrol {Build System} - Errors and warnings encountered during a
|
|
||||||
build.
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\li \uicontrol {Clang Code Model} -
|
|
||||||
\l {Parsing C++ Files with the Clang Code Model}
|
|
||||||
{Errors and warnings from the current editor}.
|
|
||||||
\li \uicontrol {Clang Tools} - Errors and warnings from
|
|
||||||
\l {Using Clang Tools}{Clang-Tidy and Clazy}
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\li \uicontrol Compile - Selected output from the compiler. Open
|
|
||||||
\uicontrol {Compile Output} for more detailed information.
|
|
||||||
|
|
||||||
\li \uicontrol{Debug Information} - Lists debug information packages that might
|
|
||||||
be missing.
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\li \uicontrol Debugger - Errors encountered while running the
|
|
||||||
\l{Analyzing Code}{Valgrind code analysis tools}.
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\li \uicontrol{Debugger Runtime} - Errors encountered when starting \QC. For
|
|
||||||
example, information about missing DLLs.
|
|
||||||
|
|
||||||
\li \uicontrol Deployment - Errors encountered between building an application
|
|
||||||
successfully and starting it on a \l{glossary-device}{device}.
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\li \uicontrol {My Tasks} - Entries from a task list file (.tasks) generated
|
|
||||||
by \l{Showing Task List Files in Issues}
|
|
||||||
{code scanning and analysis tools}.
|
|
||||||
|
|
||||||
\li \uicontrol Python - Runtime errors and exceptions of Python scripts.
|
|
||||||
\endif
|
|
||||||
|
|
||||||
\li \uicontrol QML and \uicontrol {QML Analysis} -
|
|
||||||
\l{JavaScript and QML Error Codes}
|
|
||||||
{QML and JavaScript syntax errors}.
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
\li \uicontrol Sanitizer - Tasks created when you run an application if
|
|
||||||
you used an \e {address sanitizer} to detect memory handling issues.
|
|
||||||
\endif
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
The view filters out irrelevant output from the build tools and presents the
|
|
||||||
issues in an organized way. To further filter the output by type, select
|
|
||||||
\inlineimage icons/filtericon.png
|
|
||||||
(\uicontrol {Filter Tree}) and then select a filter. To find output in the
|
|
||||||
view, enter search criteria in the \uicontrol Filter field.
|
|
||||||
|
|
||||||
\image qtcreator-issues.webp {Issues}
|
|
||||||
|
|
||||||
Select one or several lines to apply context-menu actions to their contents.
|
|
||||||
You can remove the selected lines or copy their contents to the clipboard.
|
|
||||||
For single lines, you can search the Internet for a solution using the
|
|
||||||
contents of the line as search criteria or open a version control
|
|
||||||
annotation view of the line that causes the error message.
|
|
||||||
|
|
||||||
To view detailed information about the selected line (where available), press
|
|
||||||
\key Space.
|
|
||||||
|
|
||||||
To navigate to the corresponding source code, click an issue or
|
|
||||||
select \uicontrol {Show in Editor} in the context menu. The entry must contain the
|
|
||||||
name of the file where the issue was found.
|
|
||||||
|
|
||||||
To view more information about an issue in \l {Compile Output},
|
|
||||||
select \uicontrol {Show Compile Output} in the context menu.
|
|
||||||
|
|
||||||
To jump from one issue to the next or previous
|
|
||||||
one, select \inlineimage icons/arrowup.png
|
|
||||||
and \inlineimage icons/arrowdown.png
|
|
||||||
or press \key F6 and \key Shift+F6.
|
|
||||||
|
|
||||||
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}.
|
|
||||||
|
|
||||||
\section1 Search Results
|
|
||||||
|
|
||||||
In \uicontrol{Search Results}, you can search through projects, files on
|
|
||||||
a file system or the currently open files:
|
|
||||||
|
|
||||||
\image qtcreator-search-results.webp {Search Results - criteria}
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
\image qtcreator-search-results-matches.webp {Search Results - matches found}
|
|
||||||
|
|
||||||
For more information about the different search options, see
|
|
||||||
\l {Finding and Replacing}.
|
|
||||||
|
|
||||||
\section1 Application Output
|
|
||||||
|
|
||||||
\uicontrol{Application Output} displays the status of a program when
|
|
||||||
you execute it, and the debug output.
|
|
||||||
|
|
||||||
\image qtcreator-application-output.webp {Application Output}
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
If you specify command line arguments in the run settings that are passed
|
|
||||||
to the application when running it, they are displayed as a part of the
|
|
||||||
application output. For more information, see
|
|
||||||
\l{Specifying Run Settings for Desktop Device Types}.
|
|
||||||
\endif
|
|
||||||
|
|
||||||
Select toolbar buttons to run applications, to attach the debugger to the
|
|
||||||
running application, and to stop running or debugging.
|
|
||||||
|
|
||||||
To specify settings for displaying application output, select
|
|
||||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Build & Run} >
|
|
||||||
\uicontrol {Application Output}, or click the \inlineimage icons/settings.png
|
|
||||||
(\uicontrol {Open Settings Page}) button. You can select whether to open
|
|
||||||
\uicontrol{Application Output} on output when running or debugging
|
|
||||||
applications, to clear old output on a new run,
|
|
||||||
to word-wrap output, and to limit output to the specified number of lines.
|
|
||||||
|
|
||||||
\section1 Compile Output
|
|
||||||
|
|
||||||
\uicontrol{Compile Output} shows all output from the compiler.
|
|
||||||
The \uicontrol{Compile Output} is a more detailed version of information
|
|
||||||
displayed in \l Issues.
|
|
||||||
|
|
||||||
\image qtcreator-compile-output.webp {Compile Output}
|
|
||||||
|
|
||||||
Double-click on a file name in an error message to open the file in the
|
|
||||||
code editor.
|
|
||||||
|
|
||||||
Select the \uicontrol {Cancel Build} button to cancel the build.
|
|
||||||
|
|
||||||
To specify whether to open the \uicontrol {Compile Output} view on output
|
|
||||||
when building applications, select \uicontrol Edit > \uicontrol Preferences >
|
|
||||||
\uicontrol {Build & Run} > \uicontrol {Compile Output}, and then select the
|
|
||||||
\uicontrol {Open Compile Output when building} check box.
|
|
||||||
In the \uicontrol {Limit output to} field, you can specify the maximum
|
|
||||||
amount of build output lines to display.
|
|
||||||
|
|
||||||
You can also open the preferences page by clicking \inlineimage icons/settings.png
|
|
||||||
(\uicontrol {Open Settings Page}).
|
|
||||||
|
|
||||||
To copy the output to the clipboard, select \uicontrol {Select All} in the
|
|
||||||
context menu, and then select \uicontrol Copy. Save the output as a file if
|
|
||||||
you want to examine it later without having to build the project again.
|
|
||||||
This is useful for large projects that take a long time to build.
|
|
||||||
|
|
||||||
\section2 Parsing Existing Compile Output
|
|
||||||
|
|
||||||
You can use \QC's output parsers to parse output from builds done outside
|
|
||||||
of \QC or stored from previous build runs. By default, the parsers from the
|
|
||||||
kit selected for the active project are used, but you can select another
|
|
||||||
kit.
|
|
||||||
|
|
||||||
To parse compile output:
|
|
||||||
|
|
||||||
\list 1
|
|
||||||
\li Select \uicontrol Tools > \uicontrol {Parse Build Output}.
|
|
||||||
\image qtcreator-parse-build-output.png
|
|
||||||
\li Paste the build output in the \uicontrol {Build Output} field, or
|
|
||||||
select \uicontrol {Load from File} to load it from a file.
|
|
||||||
\li Deselect the \uicontrol {Output went to stderr} check box if the
|
|
||||||
parser expects issues on \c stdout.
|
|
||||||
\li In the \uicontrol {Use parsers from kit} field, select the kit to
|
|
||||||
use for parsing the output. Select \uicontrol Manage to view
|
|
||||||
and modify kit settings.
|
|
||||||
\li The parser displays the parsed output in \l Issues. By default, the
|
|
||||||
view is cleared before adding the new output.
|
|
||||||
Deselect the \uicontrol {Clear existing tasks} check box to append
|
|
||||||
the new output to the old output.
|
|
||||||
\li Select \uicontrol OK to start parsing.
|
|
||||||
\endlist
|
|
||||||
|
|
||||||
\if defined(qtcreator)
|
|
||||||
|
|
||||||
\section1 Terminal
|
|
||||||
|
|
||||||
When you select the \uicontrol {Run in Terminal} check box and run an
|
|
||||||
application or the \uicontrol {Open Terminal} button to open a terminal,
|
|
||||||
the default terminal opens. On Linux and \macos, you can set the default
|
|
||||||
terminal by selecting \uicontrol Edit > \uicontrol Preferences >
|
|
||||||
\uicontrol Environment > \uicontrol System.
|
|
||||||
|
|
||||||
To open the terminal on the taskbar instead of in a separate window, select
|
|
||||||
\uicontrol Edit > \uicontrol Preferences > \uicontrol Terminal >
|
|
||||||
\uicontrol {Use internal terminal}.
|
|
||||||
|
|
||||||
\image qtcreator-output-terminal.webp {Terminal pane}
|
|
||||||
|
|
||||||
To clear the terminal, select \inlineimage icons/clean_pane_small.png
|
|
||||||
(\uicontrol Clear).
|
|
||||||
|
|
||||||
To close the current terminal, select \inlineimage icons/terminal-close.png
|
|
||||||
.
|
|
||||||
|
|
||||||
To open new terminals as tabs, select \inlineimage icons/terminal-create.png
|
|
||||||
.
|
|
||||||
|
|
||||||
To move between terminals, select the tabs or \inlineimage icons/arrowup.png
|
|
||||||
and \inlineimage icons/arrowdown.png
|
|
||||||
.
|
|
||||||
|
|
||||||
To select a word in a terminal, double-click it. To select the whole line,
|
|
||||||
triple-click it.
|
|
||||||
|
|
||||||
To open links in a browser, files in the editor, or folders in the
|
|
||||||
\l Projects view, hover the mouse over them, and press \key Ctrl.
|
|
||||||
|
|
||||||
To \l{Finding and Replacing}{search} through the output, press \key {Ctrl+F}.
|
|
||||||
|
|
||||||
To make the font larger or smaller, select the \inlineimage icons/plus.png
|
|
||||||
and \inlineimage icons/minus.png
|
|
||||||
buttons. You can also change the font size in terminal preferences.
|
|
||||||
|
|
||||||
To open terminal preferences, select \inlineimage icons/settings.png
|
|
||||||
(\uicontrol Configure).
|
|
||||||
|
|
||||||
Most of the \QC keyboard shortcuts are disabled in the terminal, except the
|
|
||||||
ones for opening terminal preferences or the locator and quitting \QC. To
|
|
||||||
send the escape key to the terminal instead of closing the terminal, select
|
|
||||||
\uicontrol {Shift+Esc}. You can also specify that the escape key is sent to
|
|
||||||
the terminal in terminal preferences.
|
|
||||||
|
|
||||||
\section2 Setting Terminal Preferences
|
|
||||||
|
|
||||||
To set preferences for the internal terminal, select \uicontrol Edit >
|
|
||||||
\uicontrol Preferences > \uicontrol Terminal, or select the
|
|
||||||
\uicontrol Configure button in the \uicontrol Terminal pane.
|
|
||||||
|
|
||||||
\image qtcreator-preferences-terminal.webp {Terminal tab in Preferences}
|
|
||||||
|
|
||||||
\table
|
|
||||||
\header
|
|
||||||
\li Option
|
|
||||||
\li Value
|
|
||||||
\row
|
|
||||||
\li \uicontrol {Use internal terminal}
|
|
||||||
\li Open the \uicontrol Terminal pane when you select
|
|
||||||
\uicontrol {Run in Terminal} or \uicontrol {Open Terminal}.
|
|
||||||
\row
|
|
||||||
\li \uicontrol {Send escape key to terminal}
|
|
||||||
\li Send the escape key to the terminal instead of closing the terminal.
|
|
||||||
\row
|
|
||||||
\li \uicontrol {Audible bell}
|
|
||||||
\li Play an audible bell when the a bell character is received.
|
|
||||||
\row
|
|
||||||
\li \uicontrol {Allow blinking cursor}
|
|
||||||
\li Allow the cursor to blink.
|
|
||||||
\row
|
|
||||||
\li \uicontrol {Font}
|
|
||||||
\li Select the \uicontrol {Font family} and \uicontrol Size for the text
|
|
||||||
in the terminal. You can also use the \inlineimage icons/plus.png
|
|
||||||
and \inlineimage icons/minus.png buttons in the \uicontrol Terminal
|
|
||||||
pane to change the font size.
|
|
||||||
\row
|
|
||||||
\li \uicontrol {Colors}
|
|
||||||
\li Set colors for the \uicontrol Terminal pane \uicontrol Foreground,
|
|
||||||
\uicontrol Background, \uicontrol Selection, and
|
|
||||||
\uicontrol {Find match}.
|
|
||||||
\row
|
|
||||||
\li \uicontrol {Default shell}
|
|
||||||
\li Set the full path to the default terminal executable in
|
|
||||||
\uicontrol {Shell path} and the arguments to pass to the shell
|
|
||||||
in \uicontrol {Shell arguments}.
|
|
||||||
\endtable
|
|
||||||
|
|
||||||
To use an existing color scheme, select \uicontrol {Load Theme}. To revert
|
|
||||||
color changes, select \uicontrol {Reset Theme}.
|
|
||||||
|
|
||||||
\section1 To-Do Entries
|
|
||||||
|
|
||||||
\uicontrol {To-Do Entries} lists the BUG, FIXME, NOTE, TODO, and
|
|
||||||
WARNING keywords from the current file, from all project files, or from a
|
|
||||||
subproject. Click the icons on the toolbar to show only the selected
|
|
||||||
keywords.
|
|
||||||
|
|
||||||
\image qtcreator-to-do-entries.webp {To-Do Entries}
|
|
||||||
|
|
||||||
To add keywords, select \uicontrol Edit > \uicontrol Preferences >
|
|
||||||
\uicontrol {To-Do} > \uicontrol Add. Set an icon and a line background color
|
|
||||||
for the keyword.
|
|
||||||
|
|
||||||
\image qtcreator-todo-options.png {To-Do preferences}
|
|
||||||
|
|
||||||
To change the icon and line background color of the selected keyword, select
|
|
||||||
\uicontrol Edit.
|
|
||||||
|
|
||||||
To remove the selected keyword, select \uicontrol Remove.
|
|
||||||
|
|
||||||
To reset the list to predefined keywords, select \uicontrol Reset. All your
|
|
||||||
changes will be permanently lost.
|
|
||||||
|
|
||||||
To determine whether the keywords in the whole project, in the current file,
|
|
||||||
or in a subproject are displayed by default, select the appropriate option
|
|
||||||
in the \uicontrol {Scanning scope} group.
|
|
||||||
|
|
||||||
To exclude files from scanning, select \uicontrol {Project Settings} >
|
|
||||||
\uicontrol {To-Do} in the \uicontrol Projects mode.
|
|
||||||
|
|
||||||
\image qtcreator-todo-excluded-files.png {Excluded Files in To-Do preferences}
|
|
||||||
|
|
||||||
Select \uicontrol Add and double-click the placeholder text in
|
|
||||||
\uicontrol {Exclude Files} to enter a regular expression that
|
|
||||||
matches the path to files to exclude. Use a forward slash (/)
|
|
||||||
as a separator in the path also on Windows.
|
|
||||||
|
|
||||||
Select the link in \uicontrol {Use global settings} to open global
|
|
||||||
To-Do preferences.
|
|
||||||
|
|
||||||
The Todo plugin is disabled by default. To enable the plugin, select
|
|
||||||
\uicontrol Help > \uicontrol {About Plugins} > \uicontrol Utilities >
|
|
||||||
\uicontrol Todo. Then select \uicontrol {Restart Now} to restart \QC
|
|
||||||
and load the plugin.
|
|
||||||
|
|
||||||
In addition, you can open task list files generated by code scanning and
|
|
||||||
analysis tools in \l Issues. For more information, see
|
|
||||||
\l{Showing Task List Files in Issues}.
|
|
||||||
\endif
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
To use GitLab, you must create a connection to the GitLab server and clone
|
To use GitLab, you must create a connection to the GitLab server and clone
|
||||||
the projects you want to work on. You can also link previously cloned
|
the projects you want to work on. You can also link previously cloned
|
||||||
projects to GitLab in the project settings. This enables you to receive
|
projects to GitLab in the project settings. This enables you to receive
|
||||||
event notifications in the \l {Viewing Output}{Version Control} pane.
|
event notifications in the \l {View output}{Version Control} pane.
|
||||||
|
|
||||||
\section1 Connecting to GitLab Servers
|
\section1 Connecting to GitLab Servers
|
||||||
|
|
||||||
|
|||||||
@@ -200,7 +200,6 @@
|
|||||||
\list
|
\list
|
||||||
\li \l{Writing Code}
|
\li \l{Writing Code}
|
||||||
\list
|
\list
|
||||||
\li \l{Viewing Output}
|
|
||||||
\li \l{Semantic Highlighting}
|
\li \l{Semantic Highlighting}
|
||||||
\li \l{Checking Code Syntax}
|
\li \l{Checking Code Syntax}
|
||||||
\li \l{Completing Code}
|
\li \l{Completing Code}
|
||||||
|
|||||||
@@ -36253,7 +36253,7 @@ Weitere Erklärungen sind möglicherweise in "Ausgabe der Anwendung" z
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The build device failed to prepare for the build of %1 (%2).</source>
|
<source>The build device failed to prepare for the build of %1 (%2).</source>
|
||||||
<translation>Das Build-Gerät konnte nicht für das Erstellen von %1 (%2) vorbereitet werden.</translation>
|
<translation>Das Gerät konnte nicht für das Erstellen von %1 (%2) vorbereitet werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Compile</source>
|
<source>Compile</source>
|
||||||
@@ -36395,7 +36395,7 @@ Weitere Erklärungen sind möglicherweise in "Ausgabe der Anwendung" z
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Locates 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.</source>
|
<source>Locates 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.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Findet Dateien in 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.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>All Projects</source>
|
<source>All Projects</source>
|
||||||
@@ -36495,7 +36495,7 @@ Außer: %2
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Locates 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.</source>
|
<source>Locates 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.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Findet Dateien im 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.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Project "%1"</source>
|
<source>Project "%1"</source>
|
||||||
@@ -37215,23 +37215,23 @@ Bitte versuchen Sie es erneut.</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Locates 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.</source>
|
<source>Locates 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.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Findet Dateien in 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.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Run Run Configuration</source>
|
<source>Run Run Configuration</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ausführungskonfiguration ausführen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Runs a run configuration of the active project.</source>
|
<source>Runs a run configuration of the active project.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Führt eine Ausführungskonfiguration des aktiven Projekts aus.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Switch Run Configuration</source>
|
<source>Switch Run Configuration</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ausführungskonfiguration auswählen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Switches the active run configuration of the active project.</source>
|
<source>Switches the active run configuration of the active project.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Wechselt die aktive Ausführungskonfiguration des aktiven Projekts.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Run %1</source>
|
<source>Run %1</source>
|
||||||
@@ -37869,7 +37869,7 @@ The name of the build configuration created by default for a generic project.</e
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Environment:</source>
|
<source>Environment:</source>
|
||||||
<translation type="unfinished">Umgebung:</translation>
|
<translation>Umgebung:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No executable specified.</source>
|
<source>No executable specified.</source>
|
||||||
@@ -38167,12 +38167,12 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>&Start Wizard to Add Device...</source>
|
<source>&Start Wizard to Add Device...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Gerät mit &Assistent hinzufügen...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Add %1</source>
|
<source>Add %1</source>
|
||||||
<extracomment>Add <Device Type Name></extracomment>
|
<extracomment>Add <Device Type Name></extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation>%1 hinzufügen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Yes (id is "%1")</source>
|
<source>Yes (id is "%1")</source>
|
||||||
@@ -38475,7 +38475,7 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Show in Application Output when running</source>
|
<source>Show in Application Output when running</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Beim Start in "Ausgabe der Anwendung" anzeigen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No device configured.</source>
|
<source>No device configured.</source>
|
||||||
@@ -38756,7 +38756,7 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen.
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Ignoring invalid task (no text).</source>
|
<source>Ignoring invalid task (no text).</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ignoriere ungültige Aufgabe (kein Text).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>File Error</source>
|
<source>File Error</source>
|
||||||
@@ -39036,47 +39036,57 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen.
|
|||||||
<source>Creates a widget-based Qt application that contains a Qt Designer-based main window and C++ source and header files to implement the application logic.
|
<source>Creates a widget-based Qt application that contains a Qt Designer-based main window and C++ source and header files to implement the application logic.
|
||||||
|
|
||||||
Preselects a desktop Qt for building the application if available.</source>
|
Preselects a desktop Qt for building the application if available.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstellt eine Widget-basierte Qt-Anwendung mit einem Qt Designer-basierten Hauptfenster und C++-Quell- und Headerdateien zur Implementierung der Applikationslogik.
|
||||||
|
|
||||||
|
Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern verfügbar.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a C++ library. You can create:<ul><li>a shared C++ library for use with <tt>QPluginLoader</tt> and runtime (Plugins)</li><li>a shared or static C++ library for use with another project at linktime</li></ul></source>
|
<source>Creates a C++ library. You can create:<ul><li>a shared C++ library for use with <tt>QPluginLoader</tt> and runtime (Plugins)</li><li>a shared or static C++ library for use with another project at linktime</li></ul></source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstellt eine C++-Bibliothek. Sie können folgendes erstellen:<ul><li>eine dynamisch gebundene C++-Bibliothek zur Verwendung mit <tt>QPluginLoader</tt> zur Laufzeit (Plugins)</li><li>eine statisch oder dynamisch gebundene C++-Bibliothek zur Verwendung in einem anderen Projekt zur Linkzeit</li></ul></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a project containing a single main.cpp file with a stub implementation and no graphical UI.
|
<source>Creates a project containing a single main.cpp file with a stub implementation and no graphical UI.
|
||||||
|
|
||||||
Preselects a desktop Qt for building the application if available.</source>
|
Preselects a desktop Qt for building the application if available.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstellt ein Projekt, das aus einer main.cpp-Datei mit einem Implementationsrumpf ohne grafische Benutzeroberfläche besteht.
|
||||||
|
|
||||||
|
Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern verfügbar.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>PySide 2</source>
|
<source>PySide 2</source>
|
||||||
<translation type="unfinished">PySide 2</translation>
|
<translation>PySide 2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Define Python Interpreter</source>
|
<source>Define Python Interpreter</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Python-Interpreter festlegen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a Qt Quick application that contains an empty window.
|
<source>Creates a Qt Quick application that contains an empty window.
|
||||||
|
|
||||||
Use this "compat" version if you want to use other build systems than CMake or Qt versions lower than 6.</source>
|
Use this "compat" version if you want to use other build systems than CMake or Qt versions lower than 6.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstellt eine Qt Quick-Anwendung, die ein leeres Fenster enthält.
|
||||||
|
|
||||||
|
Nutzen Sie diese "Kompatibilitätsversion", falls Sie andere Buildsysteme als CMake oder frühere Qt-Versionen als Qt 6 benutzen wollen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Qt Quick Application (compat)</source>
|
<source>Qt Quick Application (compat)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Qt Quick-Anwendung (compat)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a Qt Quick UI project for previewing and prototyping designs.
|
<source>Creates a Qt Quick UI project for previewing and prototyping designs.
|
||||||
|
|
||||||
To develop a full application, create a Qt Quick Application project instead.</source>
|
To develop a full application, create a Qt Quick Application project instead.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstellt ein Qt Quick UI-Projekt für Vorschauen und Design-Prototypen.
|
||||||
|
|
||||||
|
Für vollständige Anwendungen erstellen Sie stattdessen eine Qt Quick-Anwendung.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a Qt Quick application that can have both QML and C++ code. You can build the application and deploy it to desktop, embedded, and mobile target platforms.
|
<source>Creates a Qt Quick application that can have both QML and C++ code. You can build the application and deploy it to desktop, embedded, and mobile target platforms.
|
||||||
|
|
||||||
You can select an option to create a project that you can open in Qt Design Studio, which has a visual editor for Qt Quick UIs.</source>
|
You can select an option to create a project that you can open in Qt Design Studio, which has a visual editor for Qt Quick UIs.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstellt eine Qt Quick-Anwendung, die aus QML- und C++-Code bestehen kann. Unterstützt das Erstellen und Deployment der Anwendung für Desktop, Embedded und Mobile Zielplattformen.
|
||||||
|
|
||||||
|
Wahlweise können Sie ein Projekt erstellen, das in Qt Design Studio geöffnet werden kann, welches einen visuellen Editor für Qt Quick-Benutzeroberflächen enthält.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Qt Quick Application</source>
|
<source>Qt Quick Application</source>
|
||||||
@@ -39088,11 +39098,11 @@ You can select an option to create a project that you can open in Qt Design Stud
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Boost Test (header only)</source>
|
<source>Boost Test (header only)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Boost Test (nur Header)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Boost Test (shared libraries)</source>
|
<source>Boost Test (shared libraries)</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Boost Test (dynamisch gebundene Bibliotheken)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Test framework:</source>
|
<source>Test framework:</source>
|
||||||
@@ -39108,7 +39118,7 @@ You can select an option to create a project that you can open in Qt Design Stud
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Boost install directory (optional):</source>
|
<source>Boost install directory (optional):</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Boost-Installationsverzeichnis (optional):</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>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.</source>
|
<source>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.</source>
|
||||||
@@ -39136,11 +39146,11 @@ You can select an option to create a project that you can open in Qt Design Stud
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a markdown file.</source>
|
<source>Creates a markdown file.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erzeugt eine Markdown-Datei.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Markdown File</source>
|
<source>Markdown File</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Markdown-Datei</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a Java file with boilerplate code.</source>
|
<source>Creates a Java file with boilerplate code.</source>
|
||||||
@@ -39198,27 +39208,29 @@ You can select an option to create a project that you can open in Qt Design Stud
|
|||||||
<source>You must tell Qt Creator which test framework is used inside the project.
|
<source>You must tell Qt Creator which test framework is used inside the project.
|
||||||
|
|
||||||
You should not mix multiple test frameworks in a project.</source>
|
You should not mix multiple test frameworks in a project.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sie müssen Qt Creator mitteilen, welches Test-Framework im Projekt benutzt wird.
|
||||||
|
|
||||||
|
Sie sollten nicht mehrere Test-Frameworks im selben Projekt mischen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.' + Util.preferredSuffix('text/x-c++src')}</source>
|
<source>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.' + Util.preferredSuffix('text/x-c++src')}</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.' + Util.preferredSuffix('text/x-c++src')}</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.qml'}</source>
|
<source>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.qml'}</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.qml'}</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Test Information</source>
|
<source>Test Information</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Testinformation</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a source file that you can add to an existing test project.</source>
|
<source>Creates a source file that you can add to an existing test project.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstellt eine Quelldatei, die zu einem existierenden Testprojekt hinzugefügt werden kann.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Test Case</source>
|
<source>Test Case</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Testfall</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates an empty Nim script file using UTF-8 charset.</source>
|
<source>Creates an empty Nim script file using UTF-8 charset.</source>
|
||||||
@@ -39836,11 +39848,11 @@ You should not mix multiple test frameworks in a project.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Qt 6.4</source>
|
<source>Qt 6.4</source>
|
||||||
<translation type="unfinished">Qt 6.4</translation>
|
<translation>Qt 6.4</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Qt 6.5</source>
|
<source>Qt 6.5</source>
|
||||||
<translation type="unfinished">Qt 6.5</translation>
|
<translation>Qt 6.5</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The minimum version of Qt you want to build the application for.</source>
|
<source>The minimum version of Qt you want to build the application for.</source>
|
||||||
@@ -39890,7 +39902,7 @@ You should not mix multiple test frameworks in a project.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Creates a CMake-based test project where you can enter a code snippet to compile and check it.</source>
|
<source>Creates a CMake-based test project where you can enter a code snippet to compile and check it.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstellt ein CMake-basiertes Testprojekt, für welches Sie einen Code-Ausschnitt angegeben können, der erstellt und geprüft wird.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Code Snippet</source>
|
<source>Code Snippet</source>
|
||||||
@@ -41019,7 +41031,7 @@ Was soll %1 tun?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Enter the path to the executable</source>
|
<source>Enter the path to the executable</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Geben Sie den Pfad zur ausführbaren Datei ein</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Executable:</source>
|
<source>Executable:</source>
|
||||||
@@ -41051,7 +41063,7 @@ Was soll %1 tun?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Interpreter:</source>
|
<source>Interpreter:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Interpreter:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>X11 Forwarding:</source>
|
<source>X11 Forwarding:</source>
|
||||||
@@ -41217,7 +41229,7 @@ Was soll %1 tun?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The build directory is not reachable from the build device.</source>
|
<source>The build directory is not reachable from the build device.</source>
|
||||||
<translation>Das Build-Verzeichnis kann auf dem Build-Gerät nicht erreicht werden.</translation>
|
<translation>Das Build-Verzeichnis kann auf dem Gerät nicht erreicht werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Shadow build:</source>
|
<source>Shadow build:</source>
|
||||||
@@ -41333,7 +41345,7 @@ Was soll %1 tun?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Run device type</source>
|
<source>Run device type</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Gerätetyp (Ausführung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unknown device type</source>
|
<source>Unknown device type</source>
|
||||||
@@ -41341,7 +41353,7 @@ Was soll %1 tun?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Run device</source>
|
<source>Run device</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Gerät (Ausführung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The device to run the applications on.</source>
|
<source>The device to run the applications on.</source>
|
||||||
@@ -41377,11 +41389,11 @@ Was soll %1 tun?</translation>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Device root directory</source>
|
<source>Device root directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Wurzelverzeichnis des Geräts</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build device root directory</source>
|
<source>Build device root directory</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Wurzelverzeichnis des Geräts (Erstellung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Change...</source>
|
<source>Change...</source>
|
||||||
@@ -41790,7 +41802,7 @@ fails because Clang does not understand the target architecture.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build device</source>
|
<source>Build device</source>
|
||||||
<translation>Build-Gerät</translation>
|
<translation>Gerät (Erstellung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The device used to build applications on.</source>
|
<source>The device used to build applications on.</source>
|
||||||
@@ -41798,27 +41810,27 @@ fails because Clang does not understand the target architecture.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No build device set.</source>
|
<source>No build device set.</source>
|
||||||
<translation>Kein Build-Gerät gesetzt.</translation>
|
<translation>Kein Gerät für die Erstellung gesetzt.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build host address</source>
|
<source>Build host address</source>
|
||||||
<translation>Hostadresse des Build-Geräts</translation>
|
<translation>Hostadresse des Geräts (Erstellung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build SSH port</source>
|
<source>Build SSH port</source>
|
||||||
<translation>SSH-Port des Build-Geräts</translation>
|
<translation>SSH-Port des Geräts (Erstellung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build user name</source>
|
<source>Build user name</source>
|
||||||
<translation>Benutzername des Build-Geräts</translation>
|
<translation>Benutzername des Geräts (Erstellung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build private key file</source>
|
<source>Build private key file</source>
|
||||||
<translation>Private Schlüsseldatei des Build-Geräts</translation>
|
<translation>Private Schlüsseldatei des Geräts (Erstellung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Build device name</source>
|
<source>Build device name</source>
|
||||||
<translation>Build-Gerätename</translation>
|
<translation>Gerätename (Erstellung)</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Run as root user</source>
|
<source>Run as root user</source>
|
||||||
@@ -41879,29 +41891,29 @@ fails because Clang does not understand the target architecture.</source>
|
|||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Source:</source>
|
<source>Source:</source>
|
||||||
<translation type="unfinished">Quelle:</translation>
|
<translation>Quelle:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Target:</source>
|
<source>Target:</source>
|
||||||
<translation type="unfinished">Ziel:</translation>
|
<translation>Ziel:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copying failed.</source>
|
<source>Copying failed.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Fehler beim Kopieren.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copying finished.</source>
|
<source>Copying finished.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Kopieren beendet.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copy file</source>
|
<source>Copy file</source>
|
||||||
<extracomment>Default CopyStep display name</extracomment>
|
<extracomment>Default CopyStep display name</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Datei kopieren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copy directory recursively</source>
|
<source>Copy directory recursively</source>
|
||||||
<extracomment>Default CopyStep display name</extracomment>
|
<extracomment>Default CopyStep display name</extracomment>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Verzeichnis rekursiv kopieren</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
@@ -49641,211 +49653,211 @@ Failed to open file "%1"</source>
|
|||||||
<name>QtC::Terminal</name>
|
<name>QtC::Terminal</name>
|
||||||
<message>
|
<message>
|
||||||
<source>Configure...</source>
|
<source>Configure...</source>
|
||||||
<translation type="unfinished">Einstellungen...</translation>
|
<translation>Einstellungen...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sends Esc to terminal instead of Qt Creator.</source>
|
<source>Sends Esc to terminal instead of Qt Creator.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sendet Escape zum Terminal statt zu Qt Creator.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Press %1 to send Esc to terminal.</source>
|
<source>Press %1 to send Esc to terminal.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Drücken Sie %1, um Escape zum Terminal zu senden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Terminal</source>
|
<source>Terminal</source>
|
||||||
<translation type="unfinished">Terminal</translation>
|
<translation>Terminal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sends keyboard shortcuts to Terminal.</source>
|
<source>Sends keyboard shortcuts to Terminal.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sendet Tastenkombinationen zum Terminal.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sends keyboard shortcuts to Qt Creator.</source>
|
<source>Sends keyboard shortcuts to Qt Creator.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sendet Tastenkombinationen zu Qt Creator.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>New Terminal</source>
|
<source>New Terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Neues Terminal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Create a new Terminal.</source>
|
<source>Create a new Terminal.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erstelle ein neues Terminal.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Next Terminal</source>
|
<source>Next Terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Nächstes Terminal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Previous Terminal</source>
|
<source>Previous Terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Vorangehendes Terminal</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Close the current Terminal.</source>
|
<source>Close the current Terminal.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Das aktuelle Terminal schließen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Devices</source>
|
<source>Devices</source>
|
||||||
<translation type="unfinished">Geräte</translation>
|
<translation>Geräte</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The color used for %1.</source>
|
<source>The color used for %1.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Die für "%1" benutzte Farbe.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Failed to open file.</source>
|
<source>Failed to open file.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Datei konnte nicht geöffnet werden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>JSON parsing error: "%1", at offset: %2</source>
|
<source>JSON parsing error: "%1", at offset: %2</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Fehler beim Auswerten von JSON: "%1", an Position: %2</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>No colors found.</source>
|
<source>No colors found.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Es wurden keine Farben gefunden.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Invalid color format.</source>
|
<source>Invalid color format.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Ungültiges Farbformat.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Unknown color scheme format.</source>
|
<source>Unknown color scheme format.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Unbekanntes Farbschema-Format.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Use internal terminal</source>
|
<source>Use internal terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Integriertes Terminal benutzen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Uses the internal terminal when "Run In Terminal" is enabled and for "Open Terminal here".</source>
|
<source>Uses the internal terminal when "Run In Terminal" is enabled and for "Open Terminal here".</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Benutzt das integrierte Terminal, wenn "Im Terminal ausführen" aktiviert ist und für "Terminalfenster hier öffnen".</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Family:</source>
|
<source>Family:</source>
|
||||||
<translation type="unfinished">Name:</translation>
|
<translation>Name:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The font family used in the terminal.</source>
|
<source>The font family used in the terminal.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Der Name der Zeichensatz-Familie, die im Terminal benutzt wird.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Size:</source>
|
<source>Size:</source>
|
||||||
<translation type="unfinished">Größe:</translation>
|
<translation>Größe:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The font size used in the terminal (in points).</source>
|
<source>The font size used in the terminal (in points).</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Die Größe des Zeichensatzes, der im Terminal benutzt wird (in Punkten).</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Allow blinking cursor</source>
|
<source>Allow blinking cursor</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Blinkenden Cursor erlauben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Allow the cursor to blink.</source>
|
<source>Allow the cursor to blink.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Erlaubt dem Cursor zu blinken.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Shell path:</source>
|
<source>Shell path:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Shell-Pfad:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The shell executable to be started.</source>
|
<source>The shell executable to be started.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Die ausführbare Datei der Shell, die gestartet werden soll.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Shell arguments:</source>
|
<source>Shell arguments:</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Shell-Argumente:</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>The arguments to be passed to the shell.</source>
|
<source>The arguments to be passed to the shell.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Die Argumente, die an die Shell übergeben werden sollen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Send escape key to terminal</source>
|
<source>Send escape key to terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Escape-Taste zum Terminal senden</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Sends the escape key to the terminal when pressedinstead of closing the terminal.</source>
|
<source>Sends the escape key to the terminal when pressedinstead of closing the terminal.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Sendet die Escape-Taste zum Terminal, anstatt das Terminal zu schliessen.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Audible bell</source>
|
<source>Audible bell</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Akustische Glocke</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Makes the terminal beep when a bell character is received.</source>
|
<source>Makes the terminal beep when a bell character is received.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Lässt das Terminal piepen, wenn ein Glockenzeichen empfangen wird.</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Load Theme...</source>
|
<source>Load Theme...</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Thema laden...</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Reset Theme</source>
|
<source>Reset Theme</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Thema zurücksetzen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Error</source>
|
<source>Error</source>
|
||||||
<translation type="unfinished">Fehler</translation>
|
<translation>Fehler</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>General</source>
|
<source>General</source>
|
||||||
<translation type="unfinished">Allgemein</translation>
|
<translation>Allgemein</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Font</source>
|
<source>Font</source>
|
||||||
<translation type="unfinished">Zeichensatz</translation>
|
<translation>Zeichensatz</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Colors</source>
|
<source>Colors</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Farben</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Foreground</source>
|
<source>Foreground</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Zeichen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Background</source>
|
<source>Background</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Hintergrund</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Selection</source>
|
<source>Selection</source>
|
||||||
<translation type="unfinished">Auswahl</translation>
|
<translation>Auswahl</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Find match</source>
|
<source>Find match</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Fundstelle</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Default Shell</source>
|
<source>Default Shell</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Vorgabe-Shell</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Copy</source>
|
<source>Copy</source>
|
||||||
<translation type="unfinished">Kopieren</translation>
|
<translation>Kopieren</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Paste</source>
|
<source>Paste</source>
|
||||||
<translation type="unfinished">Einfügen</translation>
|
<translation>Einfügen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Clear Selection</source>
|
<source>Clear Selection</source>
|
||||||
<translation type="unfinished">Auswahl löschen</translation>
|
<translation>Auswahl löschen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Clear Terminal</source>
|
<source>Clear Terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Terminal-Inhalt löschen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Move Cursor Word Left</source>
|
<source>Move Cursor Word Left</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Cursor ein Wort nach links bewegen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Move Cursor Word Right</source>
|
<source>Move Cursor Word Right</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Cursor ein Wort nach rechts bewegen</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Close Terminal</source>
|
<source>Close Terminal</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation>Terminal schließen</translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
|
|||||||
@@ -218,14 +218,6 @@ OutputContainer setUnionMerge(InputContainer1 &&input1,
|
|||||||
template<class OutputContainer, class InputContainer1, class InputContainer2, class Merge>
|
template<class OutputContainer, class InputContainer1, class InputContainer2, class Merge>
|
||||||
OutputContainer setUnionMerge(InputContainer1 &&input1, InputContainer2 &&input2, Merge merge);
|
OutputContainer setUnionMerge(InputContainer1 &&input1, InputContainer2 &&input2, Merge merge);
|
||||||
|
|
||||||
/////////////////////////
|
|
||||||
// usize / ssize
|
|
||||||
/////////////////////////
|
|
||||||
template<typename Container>
|
|
||||||
std::make_unsigned_t<typename Container::size_type> usize(Container container);
|
|
||||||
template<typename Container>
|
|
||||||
std::make_signed_t<typename Container::size_type> ssize(Container container);
|
|
||||||
|
|
||||||
/////////////////////////
|
/////////////////////////
|
||||||
// setUnion
|
// setUnion
|
||||||
/////////////////////////
|
/////////////////////////
|
||||||
@@ -1340,15 +1332,15 @@ OutputContainer setUnionMerge(InputContainer1 &&input1,
|
|||||||
}
|
}
|
||||||
|
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
std::make_unsigned_t<typename Container::size_type> usize(Container container)
|
auto usize(const Container &container)
|
||||||
{
|
{
|
||||||
return static_cast<std::make_unsigned_t<typename Container::size_type>>(container.size());
|
return static_cast<std::make_unsigned_t<decltype(std::size(container))>>(std::size(container));
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Container>
|
template<typename Container>
|
||||||
std::make_signed_t<typename Container::size_type> ssize(Container container)
|
auto ssize(const Container &container)
|
||||||
{
|
{
|
||||||
return static_cast<std::make_signed_t<typename Container::size_type>>(container.size());
|
return static_cast<std::make_signed_t<decltype(std::size(container))>>(std::size(container));
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename Compare>
|
template<typename Compare>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ ProcessStubCreator::ProcessStubCreator(TerminalInterface *interface)
|
|||||||
: m_interface(interface)
|
: m_interface(interface)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
static const QLatin1String TerminalAppScript{R"(
|
static const QLatin1String TerminalAppScriptAttached{R"(
|
||||||
tell application "Terminal"
|
tell application "Terminal"
|
||||||
activate
|
activate
|
||||||
set newTab to do script "%1 && exit"
|
set newTab to do script "%1 && exit"
|
||||||
@@ -33,14 +33,27 @@ static const QLatin1String TerminalAppScript{R"(
|
|||||||
end tell
|
end tell
|
||||||
)"};
|
)"};
|
||||||
|
|
||||||
|
static const QLatin1String TerminalAppScriptDetached{R"(
|
||||||
|
tell application "Terminal"
|
||||||
|
activate
|
||||||
|
do script "%1 && exit"
|
||||||
|
end tell
|
||||||
|
)"};
|
||||||
|
|
||||||
|
struct AppScript
|
||||||
|
{
|
||||||
|
QString attached;
|
||||||
|
QString detached;
|
||||||
|
};
|
||||||
|
|
||||||
expected_str<qint64> ProcessStubCreator::startStubProcess(const ProcessSetupData &setupData)
|
expected_str<qint64> ProcessStubCreator::startStubProcess(const ProcessSetupData &setupData)
|
||||||
{
|
{
|
||||||
const TerminalCommand terminal = TerminalCommand::terminalEmulator();
|
const TerminalCommand terminal = TerminalCommand::terminalEmulator();
|
||||||
bool detached = setupData.m_terminalMode == TerminalMode::Detached;
|
bool detached = setupData.m_terminalMode == TerminalMode::Detached;
|
||||||
|
|
||||||
if (HostOsInfo::isMacHost()) {
|
if (HostOsInfo::isMacHost()) {
|
||||||
static const QMap<QString, QString> terminalMap = {
|
static const QMap<QString, AppScript> terminalMap = {
|
||||||
{"Terminal.app", TerminalAppScript},
|
{"Terminal.app", {TerminalAppScriptAttached, TerminalAppScriptDetached}},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (terminalMap.contains(terminal.command.toString())) {
|
if (terminalMap.contains(terminal.command.toString())) {
|
||||||
@@ -48,29 +61,36 @@ expected_str<qint64> ProcessStubCreator::startStubProcess(const ProcessSetupData
|
|||||||
= Utils::transform(setupData.m_environment.toStringList(), [](const QString &env) {
|
= Utils::transform(setupData.m_environment.toStringList(), [](const QString &env) {
|
||||||
return CommandLine{"export", {env}}.toUserOutput();
|
return CommandLine{"export", {env}}.toUserOutput();
|
||||||
}).join('\n');
|
}).join('\n');
|
||||||
const QString shScript = QString("cd '%1'\n%2\nclear\n'%3' %4\n")
|
|
||||||
|
Process *process = new Process(detached ? nullptr : this);
|
||||||
|
if (detached) {
|
||||||
|
QObject::connect(process, &Process::done, process, &Process::deleteLater);
|
||||||
|
}
|
||||||
|
|
||||||
|
QTemporaryFile shFile;
|
||||||
|
shFile.setAutoRemove(false);
|
||||||
|
QTC_ASSERT(shFile.open(),
|
||||||
|
return make_unexpected(Tr::tr("Failed to open temporary script file.")));
|
||||||
|
|
||||||
|
const QString shScript = QString("cd '%1'\n%2\nclear\n'%3' %4\nrm '%5'\n")
|
||||||
.arg(setupData.m_workingDirectory.nativePath())
|
.arg(setupData.m_workingDirectory.nativePath())
|
||||||
.arg(env)
|
.arg(env)
|
||||||
.arg(setupData.m_commandLine.executable().nativePath())
|
.arg(setupData.m_commandLine.executable().nativePath())
|
||||||
.arg(setupData.m_commandLine.arguments());
|
.arg(setupData.m_commandLine.arguments())
|
||||||
|
.arg(shFile.fileName());
|
||||||
|
|
||||||
Process *process = new Process(detached ? nullptr : this);
|
shFile.write(shScript.toUtf8());
|
||||||
if (detached)
|
shFile.close();
|
||||||
QObject::connect(process, &Process::done, process, &Process::deleteLater);
|
|
||||||
|
|
||||||
QTemporaryFile *shFile = new QTemporaryFile(process);
|
FilePath::fromUserInput(shFile.fileName())
|
||||||
QTC_ASSERT(shFile->open(),
|
|
||||||
return make_unexpected(Tr::tr("Failed to open temporary script file.")));
|
|
||||||
shFile->write(shScript.toUtf8());
|
|
||||||
shFile->close();
|
|
||||||
|
|
||||||
FilePath::fromUserInput(shFile->fileName())
|
|
||||||
.setPermissions(QFile::ExeUser | QFile::ExeGroup | QFile::ExeOther | QFile::ReadUser
|
.setPermissions(QFile::ExeUser | QFile::ExeGroup | QFile::ExeOther | QFile::ReadUser
|
||||||
| QFile::ReadGroup | QFile::ReadOther | QFile::WriteUser
|
| QFile::ReadGroup | QFile::ReadOther | QFile::WriteUser
|
||||||
| QFile::WriteGroup | QFile::WriteOther);
|
| QFile::WriteGroup | QFile::WriteOther);
|
||||||
|
|
||||||
const QString script
|
const QString script = (detached
|
||||||
= terminalMap.value(terminal.command.toString()).arg(shFile->fileName());
|
? terminalMap.value(terminal.command.toString()).detached
|
||||||
|
: terminalMap.value(terminal.command.toString()).attached)
|
||||||
|
.arg(shFile.fileName());
|
||||||
|
|
||||||
process->setCommand({"osascript", {"-"}});
|
process->setCommand({"osascript", {"-"}});
|
||||||
process->setWriteData(script.toUtf8());
|
process->setWriteData(script.toUtf8());
|
||||||
|
|||||||
@@ -181,8 +181,9 @@ QList<Document::Ptr> QuickTestParser::scanDirectoryForQuickTestQmlFiles(const Fi
|
|||||||
|
|
||||||
QList<Document::Ptr> foundDocs;
|
QList<Document::Ptr> foundDocs;
|
||||||
|
|
||||||
|
const Snapshot snapshot = QmlJSTools::Internal::ModelManager::instance()->snapshot();
|
||||||
for (const FilePath &path : std::as_const(dirs)) {
|
for (const FilePath &path : std::as_const(dirs)) {
|
||||||
const QList<Document::Ptr> docs = m_qmlSnapshot.documentsInDirectory(path);
|
const QList<Document::Ptr> docs = snapshot.documentsInDirectory(path);
|
||||||
for (const Document::Ptr &doc : docs) {
|
for (const Document::Ptr &doc : docs) {
|
||||||
const FilePath fi = doc->fileName();
|
const FilePath fi = doc->fileName();
|
||||||
//const QFileInfo fi(doc->fileName());
|
//const QFileInfo fi(doc->fileName());
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ ClangFormatSettings::ClangFormatSettings()
|
|||||||
|
|
||||||
usePredefinedStyle.setSettingsKey("usePredefinedStyle");
|
usePredefinedStyle.setSettingsKey("usePredefinedStyle");
|
||||||
usePredefinedStyle.setLabelText(Tr::tr("Use predefined style:"));
|
usePredefinedStyle.setLabelText(Tr::tr("Use predefined style:"));
|
||||||
|
usePredefinedStyle.setLabelPlacement(BoolAspect::LabelPlacement::AtCheckBoxWithoutDummyLabel);
|
||||||
usePredefinedStyle.setDefaultValue(true);
|
usePredefinedStyle.setDefaultValue(true);
|
||||||
|
|
||||||
predefinedStyle.setSettingsKey("predefinedStyle");
|
predefinedStyle.setSettingsKey("predefinedStyle");
|
||||||
|
|||||||
@@ -59,26 +59,6 @@ void ClangEditorDocumentProcessor::semanticRehighlight()
|
|||||||
BuiltinEditorDocumentProcessor::semanticRehighlight();
|
BuiltinEditorDocumentProcessor::semanticRehighlight();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool ClangEditorDocumentProcessor::hasProjectPart() const
|
|
||||||
{
|
|
||||||
return !m_projectPart.isNull();
|
|
||||||
}
|
|
||||||
|
|
||||||
CppEditor::ProjectPart::ConstPtr ClangEditorDocumentProcessor::projectPart() const
|
|
||||||
{
|
|
||||||
return m_projectPart;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClangEditorDocumentProcessor::clearProjectPart()
|
|
||||||
{
|
|
||||||
m_projectPart.clear();
|
|
||||||
}
|
|
||||||
|
|
||||||
::Utils::Id ClangEditorDocumentProcessor::diagnosticConfigId() const
|
|
||||||
{
|
|
||||||
return m_diagnosticConfigId;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClangEditorDocumentProcessor::setParserConfig(
|
void ClangEditorDocumentProcessor::setParserConfig(
|
||||||
const CppEditor::BaseEditorDocumentParser::Configuration &config)
|
const CppEditor::BaseEditorDocumentParser::Configuration &config)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -19,12 +19,6 @@ public:
|
|||||||
|
|
||||||
void semanticRehighlight() override;
|
void semanticRehighlight() override;
|
||||||
|
|
||||||
bool hasProjectPart() const;
|
|
||||||
CppEditor::ProjectPart::ConstPtr projectPart() const;
|
|
||||||
void clearProjectPart();
|
|
||||||
|
|
||||||
::Utils::Id diagnosticConfigId() const;
|
|
||||||
|
|
||||||
void setParserConfig(const CppEditor::BaseEditorDocumentParser::Configuration &config) override;
|
void setParserConfig(const CppEditor::BaseEditorDocumentParser::Configuration &config) override;
|
||||||
CppEditor::BaseEditorDocumentParser::Configuration parserConfig();
|
CppEditor::BaseEditorDocumentParser::Configuration parserConfig();
|
||||||
|
|
||||||
@@ -37,8 +31,6 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
TextEditor::TextDocument &m_document;
|
TextEditor::TextDocument &m_document;
|
||||||
CppEditor::ProjectPart::ConstPtr m_projectPart;
|
|
||||||
::Utils::Id m_diagnosticConfigId;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
@@ -232,9 +232,7 @@ ClangModelManagerSupport::ClangModelManagerSupport()
|
|||||||
connect(modelManager, &CppModelManager::abstractEditorSupportRemoved,
|
connect(modelManager, &CppModelManager::abstractEditorSupportRemoved,
|
||||||
this, &ClangModelManagerSupport::onAbstractEditorSupportRemoved);
|
this, &ClangModelManagerSupport::onAbstractEditorSupportRemoved);
|
||||||
connect(modelManager, &CppModelManager::projectPartsUpdated,
|
connect(modelManager, &CppModelManager::projectPartsUpdated,
|
||||||
this, &ClangModelManagerSupport::onProjectPartsUpdated);
|
this, &ClangModelManagerSupport::updateLanguageClient);
|
||||||
connect(modelManager, &CppModelManager::projectPartsRemoved,
|
|
||||||
this, &ClangModelManagerSupport::onProjectPartsRemoved);
|
|
||||||
connect(modelManager, &CppModelManager::fallbackProjectPartUpdated, this, [this] {
|
connect(modelManager, &CppModelManager::fallbackProjectPartUpdated, this, [this] {
|
||||||
if (sessionModeEnabled())
|
if (sessionModeEnabled())
|
||||||
return;
|
return;
|
||||||
@@ -861,37 +859,6 @@ void ClangModelManagerSupport::onTextMarkContextMenuRequested(TextEditor::TextEd
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
using ClangEditorDocumentProcessors = QVector<ClangEditorDocumentProcessor *>;
|
|
||||||
static ClangEditorDocumentProcessors clangProcessors()
|
|
||||||
{
|
|
||||||
ClangEditorDocumentProcessors result;
|
|
||||||
for (const CppEditorDocumentHandle *editorDocument : cppModelManager()->cppEditorDocuments())
|
|
||||||
result.append(qobject_cast<ClangEditorDocumentProcessor *>(editorDocument->processor()));
|
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClangModelManagerSupport::onProjectPartsUpdated(Project *project)
|
|
||||||
{
|
|
||||||
QTC_ASSERT(project, return);
|
|
||||||
|
|
||||||
updateLanguageClient(project);
|
|
||||||
|
|
||||||
QStringList projectPartIds;
|
|
||||||
const ProjectInfo::ConstPtr projectInfo = cppModelManager()->projectInfo(project);
|
|
||||||
QTC_ASSERT(projectInfo, return);
|
|
||||||
|
|
||||||
for (const ProjectPart::ConstPtr &projectPart : projectInfo->projectParts())
|
|
||||||
projectPartIds.append(projectPart->id());
|
|
||||||
onProjectPartsRemoved(projectPartIds);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClangModelManagerSupport::onProjectPartsRemoved(const QStringList &projectPartIds)
|
|
||||||
{
|
|
||||||
if (!projectPartIds.isEmpty())
|
|
||||||
reinitializeBackendDocuments(projectPartIds);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClangModelManagerSupport::onClangdSettingsChanged()
|
void ClangModelManagerSupport::onClangdSettingsChanged()
|
||||||
{
|
{
|
||||||
const bool sessionMode = sessionModeEnabled();
|
const bool sessionMode = sessionModeEnabled();
|
||||||
@@ -940,21 +907,4 @@ void ClangModelManagerSupport::onClangdSettingsChanged()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static ClangEditorDocumentProcessors
|
|
||||||
clangProcessorsWithProjectParts(const QStringList &projectPartIds)
|
|
||||||
{
|
|
||||||
return ::Utils::filtered(clangProcessors(), [projectPartIds](ClangEditorDocumentProcessor *p) {
|
|
||||||
return p->hasProjectPart() && projectPartIds.contains(p->projectPart()->id());
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClangModelManagerSupport::reinitializeBackendDocuments(const QStringList &projectPartIds)
|
|
||||||
{
|
|
||||||
const ClangEditorDocumentProcessors processors = clangProcessorsWithProjectParts(projectPartIds);
|
|
||||||
for (ClangEditorDocumentProcessor *processor : processors) {
|
|
||||||
processor->clearProjectPart();
|
|
||||||
processor->run();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} // ClangCodeModel::Internal
|
} // ClangCodeModel::Internal
|
||||||
|
|||||||
@@ -81,12 +81,8 @@ private:
|
|||||||
int lineNumber,
|
int lineNumber,
|
||||||
QMenu *menu);
|
QMenu *menu);
|
||||||
|
|
||||||
void onProjectPartsUpdated(ProjectExplorer::Project *project);
|
|
||||||
void onProjectPartsRemoved(const QStringList &projectPartIds);
|
|
||||||
void onClangdSettingsChanged();
|
void onClangdSettingsChanged();
|
||||||
|
|
||||||
void reinitializeBackendDocuments(const QStringList &projectPartIds);
|
|
||||||
|
|
||||||
void connectTextDocumentToTranslationUnit(TextEditor::TextDocument *textDocument);
|
void connectTextDocumentToTranslationUnit(TextEditor::TextDocument *textDocument);
|
||||||
void connectToWidgetsMarkContextMenuRequested(QWidget *editorWidget);
|
void connectToWidgetsMarkContextMenuRequested(QWidget *editorWidget);
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,6 @@
|
|||||||
#include "clangconstants.h"
|
#include "clangconstants.h"
|
||||||
#include "clangdclient.h"
|
#include "clangdclient.h"
|
||||||
#include "clangdiagnostictooltipwidget.h"
|
#include "clangdiagnostictooltipwidget.h"
|
||||||
#include "clangeditordocumentprocessor.h"
|
|
||||||
#include "clangutils.h"
|
#include "clangutils.h"
|
||||||
|
|
||||||
#include <coreplugin/icore.h>
|
#include <coreplugin/icore.h>
|
||||||
@@ -49,46 +48,15 @@ Project *projectForCurrentEditor()
|
|||||||
if (filePath.isEmpty())
|
if (filePath.isEmpty())
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
||||||
if (auto processor = ClangEditorDocumentProcessor::get(filePath)) {
|
if (ProjectPart::ConstPtr projectPart = projectPartForFile(filePath))
|
||||||
if (ProjectPart::ConstPtr projectPart = processor->projectPart())
|
return projectForProjectPart(*projectPart);
|
||||||
return projectForProjectPart(*projectPart);
|
|
||||||
}
|
|
||||||
|
|
||||||
return nullptr;
|
return nullptr;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum class DiagnosticType { Clang, Tidy, Clazy };
|
|
||||||
DiagnosticType diagnosticType(const ClangDiagnostic &diagnostic)
|
|
||||||
|
|
||||||
{
|
|
||||||
if (!diagnostic.disableOption.isEmpty())
|
|
||||||
return DiagnosticType::Clang;
|
|
||||||
|
|
||||||
const DiagnosticTextInfo textInfo(diagnostic.text);
|
|
||||||
if (DiagnosticTextInfo::isClazyOption(textInfo.option()))
|
|
||||||
return DiagnosticType::Clazy;
|
|
||||||
return DiagnosticType::Tidy;
|
|
||||||
}
|
|
||||||
|
|
||||||
void disableDiagnosticInConfig(ClangDiagnosticConfig &config, const ClangDiagnostic &diagnostic)
|
void disableDiagnosticInConfig(ClangDiagnosticConfig &config, const ClangDiagnostic &diagnostic)
|
||||||
{
|
{
|
||||||
switch (diagnosticType(diagnostic)) {
|
config.setClangOptions(config.clangOptions() + QStringList(diagnostic.disableOption));
|
||||||
case DiagnosticType::Clang:
|
|
||||||
config.setClangOptions(config.clangOptions() + QStringList(diagnostic.disableOption));
|
|
||||||
break;
|
|
||||||
case DiagnosticType::Tidy:
|
|
||||||
config.setChecks(ClangToolType::Tidy, config.checks(ClangToolType::Tidy) + QString(",-")
|
|
||||||
+ DiagnosticTextInfo(diagnostic.text).option());
|
|
||||||
break;
|
|
||||||
case DiagnosticType::Clazy: {
|
|
||||||
const DiagnosticTextInfo textInfo(diagnostic.text);
|
|
||||||
const QString checkName = DiagnosticTextInfo::clazyCheckName(textInfo.option());
|
|
||||||
QStringList newChecks = config.checks(ClangToolType::Clazy).split(',');
|
|
||||||
newChecks.removeOne(checkName);
|
|
||||||
config.setChecks(ClangToolType::Clazy, newChecks.join(','));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ClangDiagnosticConfig diagnosticConfig()
|
ClangDiagnosticConfig diagnosticConfig()
|
||||||
@@ -210,8 +178,10 @@ ClangDiagnostic convertDiagnostic(const ClangdDiagnostic &src,
|
|||||||
target.severity = convertSeverity(*src.severity());
|
target.severity = convertSeverity(*src.severity());
|
||||||
const Diagnostic::Code code = src.code().value_or(Diagnostic::Code());
|
const Diagnostic::Code code = src.code().value_or(Diagnostic::Code());
|
||||||
const QString * const codeString = std::get_if<QString>(&code);
|
const QString * const codeString = std::get_if<QString>(&code);
|
||||||
if (codeString && codeString->startsWith("-W"))
|
if (codeString && codeString->startsWith("-W")) {
|
||||||
target.enableOption = *codeString;
|
target.enableOption = *codeString;
|
||||||
|
target.disableOption = "-Wno-" + codeString->mid(2);
|
||||||
|
}
|
||||||
for (const CodeAction &codeAction : src.codeActions().value_or(QList<CodeAction>())) {
|
for (const CodeAction &codeAction : src.codeActions().value_or(QList<CodeAction>())) {
|
||||||
const std::optional<WorkspaceEdit> edit = codeAction.edit();
|
const std::optional<WorkspaceEdit> edit = codeAction.edit();
|
||||||
if (!edit)
|
if (!edit)
|
||||||
@@ -304,15 +274,17 @@ ClangdTextMark::ClangdTextMark(TextEditor::TextDocument *doc,
|
|||||||
actions << action;
|
actions << action;
|
||||||
|
|
||||||
// Remove diagnostic warning action
|
// Remove diagnostic warning action
|
||||||
Project *project = projectForCurrentEditor();
|
if (!diag.disableOption.isEmpty()) {
|
||||||
if (project && isDiagnosticConfigChangable(project)) {
|
if (Project * const project = projectForCurrentEditor();
|
||||||
action = new QAction();
|
project && isDiagnosticConfigChangable(project)) {
|
||||||
action->setIcon(Icons::BROKEN.icon());
|
action = new QAction();
|
||||||
action->setToolTip(Tr::tr("Disable Diagnostic in Current Project"));
|
action->setIcon(Icons::BROKEN.icon());
|
||||||
QObject::connect(action, &QAction::triggered, [diag] {
|
action->setToolTip(Tr::tr("Disable Diagnostic in Current Project"));
|
||||||
disableDiagnosticInCurrentProjectConfig(diag);
|
QObject::connect(action, &QAction::triggered, [diag] {
|
||||||
});
|
disableDiagnosticInCurrentProjectConfig(diag);
|
||||||
actions << action;
|
});
|
||||||
|
actions << action;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return actions;
|
return actions;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -754,6 +754,8 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
|||||||
// Update QT_QMAKE_EXECUTABLE and CMAKE_C|XX_COMPILER config values
|
// Update QT_QMAKE_EXECUTABLE and CMAKE_C|XX_COMPILER config values
|
||||||
updateConfigWithDirectoryData(config, data);
|
updateConfigWithDirectoryData(config, data);
|
||||||
|
|
||||||
|
data->hasQmlDebugging = CMakeBuildConfiguration::hasQmlDebugging(config);
|
||||||
|
|
||||||
QByteArrayList buildConfigurationTypes = {cache.valueOf("CMAKE_BUILD_TYPE")};
|
QByteArrayList buildConfigurationTypes = {cache.valueOf("CMAKE_BUILD_TYPE")};
|
||||||
if (buildConfigurationTypes.front().isEmpty()) {
|
if (buildConfigurationTypes.front().isEmpty()) {
|
||||||
buildConfigurationTypes.clear();
|
buildConfigurationTypes.clear();
|
||||||
@@ -774,6 +776,13 @@ QList<void *> CMakeProjectImporter::examineDirectory(const FilePath &importPath,
|
|||||||
DirectoryData *newData = new DirectoryData(*data);
|
DirectoryData *newData = new DirectoryData(*data);
|
||||||
newData->cmakeBuildType = buildType;
|
newData->cmakeBuildType = buildType;
|
||||||
|
|
||||||
|
// Handle QML Debugging
|
||||||
|
auto type = CMakeBuildConfigurationFactory::buildTypeFromByteArray(
|
||||||
|
newData->cmakeBuildType);
|
||||||
|
if (type == CMakeBuildConfigurationFactory::BuildTypeDebug
|
||||||
|
|| type == CMakeBuildConfigurationFactory::BuildTypeProfile)
|
||||||
|
newData->hasQmlDebugging = true;
|
||||||
|
|
||||||
result.emplace_back(newData);
|
result.emplace_back(newData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ void CopilotPlugin::initialize()
|
|||||||
|
|
||||||
connect(requestAction, &QAction::triggered, this, [this] {
|
connect(requestAction, &QAction::triggered, this, [this] {
|
||||||
if (auto editor = TextEditor::TextEditorWidget::currentTextEditorWidget()) {
|
if (auto editor = TextEditor::TextEditorWidget::currentTextEditorWidget()) {
|
||||||
if (m_client->reachable())
|
if (m_client && m_client->reachable())
|
||||||
m_client->requestCompletions(editor);
|
m_client->requestCompletions(editor);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -130,8 +130,8 @@ void ProgressView::mousePressEvent(QMouseEvent *ev)
|
|||||||
static QPoint boundedInParent(QWidget *widget, const QPoint &pos, QWidget *parent)
|
static QPoint boundedInParent(QWidget *widget, const QPoint &pos, QWidget *parent)
|
||||||
{
|
{
|
||||||
QPoint bounded = pos;
|
QPoint bounded = pos;
|
||||||
bounded.setX(qBound(widget->rect().width(), bounded.x(), parent->width()));
|
bounded.setX(std::max(widget->rect().width(), std::min(bounded.x(), parent->width())));
|
||||||
bounded.setY(qBound(widget->rect().height(), bounded.y(), parent->height()));
|
bounded.setY(std::max(widget->rect().height(), std::min(bounded.y(), parent->height())));
|
||||||
return bounded;
|
return bounded;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -609,6 +609,7 @@ bool SessionManager::loadSession(const QString &session, bool initial)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
} else if (loadImplicitDefault) {
|
} else if (loadImplicitDefault) {
|
||||||
|
emit SessionManager::instance()->sessionLoaded(DEFAULT_SESSION);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -492,6 +492,7 @@ void ClangdProjectSettings::setDiagnosticConfigId(Utils::Id configId)
|
|||||||
{
|
{
|
||||||
m_customSettings.diagnosticConfigId = configId;
|
m_customSettings.diagnosticConfigId = configId;
|
||||||
saveSettings();
|
saveSettings();
|
||||||
|
emit ClangdSettings::instance().changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClangdProjectSettings::blockIndexing()
|
void ClangdProjectSettings::blockIndexing()
|
||||||
|
|||||||
@@ -56,7 +56,8 @@ void CppHighlighter::highlightBlock(const QString &text)
|
|||||||
const Tokens tokens = tokenize(text, initialLexerState);
|
const Tokens tokens = tokenize(text, initialLexerState);
|
||||||
lexerState = tokenize.state(); // refresh lexer state
|
lexerState = tokenize.state(); // refresh lexer state
|
||||||
|
|
||||||
initialLexerState &= ~0x80; // discard newline expected bit
|
static const auto lexerStateWithoutNewLineExpectedBit = [](int state) { return state & ~0x80; };
|
||||||
|
initialLexerState = lexerStateWithoutNewLineExpectedBit(initialLexerState);
|
||||||
int foldingIndent = initialBraceDepth;
|
int foldingIndent = initialBraceDepth;
|
||||||
if (TextBlockUserData *userData = TextDocumentLayout::textUserData(currentBlock())) {
|
if (TextBlockUserData *userData = TextDocumentLayout::textUserData(currentBlock())) {
|
||||||
userData->setFoldingIndent(0);
|
userData->setFoldingIndent(0);
|
||||||
@@ -220,7 +221,8 @@ void CppHighlighter::highlightBlock(const QString &text)
|
|||||||
if (text.length() > lastTokenEnd)
|
if (text.length() > lastTokenEnd)
|
||||||
formatSpaces(text, lastTokenEnd, text.length() - lastTokenEnd);
|
formatSpaces(text, lastTokenEnd, text.length() - lastTokenEnd);
|
||||||
|
|
||||||
if (!initialLexerState && lexerState && !tokens.isEmpty()) {
|
if (!initialLexerState && lexerStateWithoutNewLineExpectedBit(lexerState)
|
||||||
|
&& !tokens.isEmpty()) {
|
||||||
const Token &lastToken = tokens.last();
|
const Token &lastToken = tokens.last();
|
||||||
if (lastToken.is(T_COMMENT) || lastToken.is(T_DOXY_COMMENT)) {
|
if (lastToken.is(T_COMMENT) || lastToken.is(T_DOXY_COMMENT)) {
|
||||||
insertParen({Parenthesis::Opened, QLatin1Char('+'), lastToken.utf16charsBegin()});
|
insertParen({Parenthesis::Opened, QLatin1Char('+'), lastToken.utf16charsBegin()});
|
||||||
@@ -636,6 +638,30 @@ void CppHighlighterTest::test()
|
|||||||
QCOMPARE(actualFormat, expectedFormat);
|
QCOMPARE(actualFormat, expectedFormat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void CppHighlighterTest::testParentheses_data()
|
||||||
|
{
|
||||||
|
QTest::addColumn<int>("line");
|
||||||
|
QTest::addColumn<int>("expectedParenCount");
|
||||||
|
|
||||||
|
QTest::newRow("function head") << 41 << 2;
|
||||||
|
QTest::newRow("function opening brace") << 42 << 1;
|
||||||
|
QTest::newRow("loop head") << 43 << 1;
|
||||||
|
QTest::newRow("comment") << 44 << 0;
|
||||||
|
QTest::newRow("loop end") << 45 << 3;
|
||||||
|
QTest::newRow("function closing brace") << 46 << 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CppHighlighterTest::testParentheses()
|
||||||
|
{
|
||||||
|
QFETCH(int, line);
|
||||||
|
QFETCH(int, expectedParenCount);
|
||||||
|
|
||||||
|
QTextBlock block = m_doc.findBlockByNumber(line - 1);
|
||||||
|
QVERIFY(block.isValid());
|
||||||
|
QCOMPARE(TextDocumentLayout::parentheses(block).count(), expectedParenCount);
|
||||||
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
#endif // WITH_TESTS
|
#endif // WITH_TESTS
|
||||||
|
|
||||||
|
|||||||
@@ -52,6 +52,8 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
void test_data();
|
void test_data();
|
||||||
void test();
|
void test();
|
||||||
|
void testParentheses_data();
|
||||||
|
void testParentheses();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QTextDocument m_doc;
|
QTextDocument m_doc;
|
||||||
|
|||||||
@@ -37,3 +37,10 @@ const auto s5 = uR"("o
|
|||||||
ne")"_w;
|
ne")"_w;
|
||||||
const auto s6 = u"o\
|
const auto s6 = u"o\
|
||||||
ne"_w;
|
ne"_w;
|
||||||
|
|
||||||
|
static void parenTest()
|
||||||
|
{
|
||||||
|
do {
|
||||||
|
/* comment */ \
|
||||||
|
} while (false);
|
||||||
|
}
|
||||||
|
|||||||
@@ -155,7 +155,8 @@ bool DebuggerRunConfigurationAspect::useCppDebugger() const
|
|||||||
static bool projectHasQmlDefines(ProjectExplorer::Project *project)
|
static bool projectHasQmlDefines(ProjectExplorer::Project *project)
|
||||||
{
|
{
|
||||||
auto projectInfo = CppEditor::CppModelManager::instance()->projectInfo(project);
|
auto projectInfo = CppEditor::CppModelManager::instance()->projectInfo(project);
|
||||||
QTC_ASSERT(projectInfo, return false);
|
if (!projectInfo) // we may have e.g. a Python project
|
||||||
|
return false;
|
||||||
return Utils::anyOf(projectInfo->projectParts(),
|
return Utils::anyOf(projectInfo->projectParts(),
|
||||||
[](const CppEditor::ProjectPart::ConstPtr &part){
|
[](const CppEditor::ProjectPart::ConstPtr &part){
|
||||||
return Utils::anyOf(part->projectMacros, [](const Macro ¯o){
|
return Utils::anyOf(part->projectMacros, [](const Macro ¯o){
|
||||||
|
|||||||
@@ -59,6 +59,7 @@ QWidget *NinjaBuildStep::createConfigWidget()
|
|||||||
buildTargetsList->setFrameShadow(QFrame::Raised);
|
buildTargetsList->setFrameShadow(QFrame::Raised);
|
||||||
|
|
||||||
auto toolArguments = new QLineEdit(widget);
|
auto toolArguments = new QLineEdit(widget);
|
||||||
|
toolArguments->setText(m_commandArgs);
|
||||||
|
|
||||||
auto wrapper = Core::ItemViewFind::createSearchableWrapper(buildTargetsList,
|
auto wrapper = Core::ItemViewFind::createSearchableWrapper(buildTargetsList,
|
||||||
Core::ItemViewFind::LightColored);
|
Core::ItemViewFind::LightColored);
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ QWidget *NimCompilerBuildStep::createConfigWidget()
|
|||||||
auto additionalArgumentsLineEdit = new QLineEdit(widget);
|
auto additionalArgumentsLineEdit = new QLineEdit(widget);
|
||||||
|
|
||||||
auto commandTextEdit = new QTextEdit(widget);
|
auto commandTextEdit = new QTextEdit(widget);
|
||||||
commandTextEdit->setEnabled(false);
|
commandTextEdit->setReadOnly(true);
|
||||||
commandTextEdit->setMinimumSize(QSize(0, 0));
|
commandTextEdit->setMinimumSize(QSize(0, 0));
|
||||||
|
|
||||||
auto defaultArgumentsComboBox = new QComboBox(widget);
|
auto defaultArgumentsComboBox = new QComboBox(widget);
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ NimToolChainConfigWidget::NimToolChainConfigWidget(NimToolChain *tc)
|
|||||||
fillUI();
|
fillUI();
|
||||||
|
|
||||||
// Connect
|
// Connect
|
||||||
connect(m_compilerCommand, &PathChooser::textChanged, this, [this] {
|
connect(m_compilerCommand, &PathChooser::validChanged, this, [this] {
|
||||||
const FilePath path = m_compilerCommand->rawFilePath();
|
const FilePath path = m_compilerCommand->rawFilePath();
|
||||||
auto tc = static_cast<NimToolChain *>(toolChain());
|
auto tc = static_cast<NimToolChain *>(toolChain());
|
||||||
QTC_ASSERT(tc, return);
|
QTC_ASSERT(tc, return);
|
||||||
|
|||||||
@@ -222,26 +222,18 @@ void DesignModeWidget::setup()
|
|||||||
// Connect opening of the 'workspaces' menu with creation of the workspaces menu
|
// Connect opening of the 'workspaces' menu with creation of the workspaces menu
|
||||||
connect(mworkspaces->menu(), &QMenu::aboutToShow, this, &DesignModeWidget::aboutToShowWorkspaces);
|
connect(mworkspaces->menu(), &QMenu::aboutToShow, this, &DesignModeWidget::aboutToShowWorkspaces);
|
||||||
|
|
||||||
Core::ActionContainer *mpanes = Core::ActionManager::actionContainer(Core::Constants::M_VIEW_PANES);
|
|
||||||
|
|
||||||
// Initially disable menus
|
// Initially disable menus
|
||||||
mviews->menu()->setEnabled(false);
|
|
||||||
mworkspaces->menu()->setEnabled(false);
|
mworkspaces->menu()->setEnabled(false);
|
||||||
mpanes->menu()->setEnabled(false);
|
|
||||||
|
|
||||||
// Enable/disable menus when mode is different to MODE_DESIGN
|
// Enable/disable menus when mode is different to MODE_DESIGN
|
||||||
connect(Core::ModeManager::instance(),
|
connect(Core::ModeManager::instance(),
|
||||||
&Core::ModeManager::currentModeChanged,
|
&Core::ModeManager::currentModeChanged,
|
||||||
this,
|
this,
|
||||||
[mviews, mworkspaces, mpanes](Utils::Id mode, Utils::Id) {
|
[mworkspaces](Utils::Id mode, Utils::Id) {
|
||||||
if (mode == Core::Constants::MODE_DESIGN) {
|
if (mode == Core::Constants::MODE_DESIGN) {
|
||||||
mviews->menu()->setEnabled(true);
|
|
||||||
mworkspaces->menu()->setEnabled(true);
|
mworkspaces->menu()->setEnabled(true);
|
||||||
mpanes->menu()->setEnabled(true);
|
|
||||||
} else {
|
} else {
|
||||||
mviews->menu()->setEnabled(false);
|
|
||||||
mworkspaces->menu()->setEnabled(false);
|
mworkspaces->menu()->setEnabled(false);
|
||||||
mpanes->menu()->setEnabled(false);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public:
|
|||||||
auto fetchButton = new QPushButton(Tr::tr("Fetch Device Environment"));
|
auto fetchButton = new QPushButton(Tr::tr("Fetch Device Environment"));
|
||||||
addWidget(fetchButton);
|
addWidget(fetchButton);
|
||||||
|
|
||||||
connect(target, &Target::kitChanged, [aspect] { aspect->setRemoteEnvironment({}); });
|
connect(target, &Target::kitChanged, aspect, [aspect] { aspect->setRemoteEnvironment({}); });
|
||||||
|
|
||||||
connect(fetchButton, &QPushButton::clicked, this, [aspect, target] {
|
connect(fetchButton, &QPushButton::clicked, this, [aspect, target] {
|
||||||
if (IDevice::ConstPtr device = DeviceKitAspect::device(target->kit())) {
|
if (IDevice::ConstPtr device = DeviceKitAspect::device(target->kit())) {
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import qbs
|
|||||||
StaticLibrary {
|
StaticLibrary {
|
||||||
name: "qtcjson"
|
name: "qtcjson"
|
||||||
Depends { name: "cpp" }
|
Depends { name: "cpp" }
|
||||||
cpp.cxxLanguageVersion: "c++11"
|
cpp.cxxLanguageVersion: "c++17"
|
||||||
cpp.minimumMacosVersion: project.minimumMacosVersion
|
cpp.minimumMacosVersion: project.minimumMacosVersion
|
||||||
files: [
|
files: [
|
||||||
"json.cpp",
|
"json.cpp",
|
||||||
|
|||||||
Submodule src/shared/qbs updated: 97769dfdac...2e6eb75c76
@@ -15,7 +15,7 @@
|
|||||||
# resolver:
|
# resolver:
|
||||||
# name: custom-snapshot
|
# name: custom-snapshot
|
||||||
# location: "./custom-snapshot.yaml"
|
# location: "./custom-snapshot.yaml"
|
||||||
resolver: lts-7.24
|
resolver: lts-21.1
|
||||||
|
|
||||||
# User packages to be built.
|
# User packages to be built.
|
||||||
# Various formats can be used as shown in the example below.
|
# Various formats can be used as shown in the example below.
|
||||||
|
|||||||
@@ -192,7 +192,7 @@
|
|||||||
:Send to Codepaster.protocolBox_QComboBox {name='protocolBox' type='QComboBox' visible='1' window=':Send to Codepaster_CodePaster::PasteView'}
|
:Send to Codepaster.protocolBox_QComboBox {name='protocolBox' type='QComboBox' visible='1' window=':Send to Codepaster_CodePaster::PasteView'}
|
||||||
:Send to Codepaster.qt_spinbox_lineedit_QLineEdit {name='qt_spinbox_lineedit' type='QLineEdit' visible='1' window=':Send to Codepaster_CodePaster::PasteView'}
|
:Send to Codepaster.qt_spinbox_lineedit_QLineEdit {name='qt_spinbox_lineedit' type='QLineEdit' visible='1' window=':Send to Codepaster_CodePaster::PasteView'}
|
||||||
:Send to Codepaster_CodePaster::PasteView {name='CodePaster.ViewDialog' type='QDialog' visible='1' windowTitle='Send to Codepaster'}
|
:Send to Codepaster_CodePaster::PasteView {name='CodePaster.ViewDialog' type='QDialog' visible='1' windowTitle='Send to Codepaster'}
|
||||||
:Session Manager_ProjectExplorer::Internal::SessionDialog {name='ProjectExplorer.SessionDialog' type='ProjectExplorer::Internal::SessionDialog' visible='1' windowTitle='Session Manager'}
|
:Session Manager_ProjectExplorer::Internal::SessionDialog {name='ProjectExplorer.SessionDialog' type='Core::Internal::SessionDialog' visible='1'}
|
||||||
:Startup.contextHelpComboBox_QComboBox {container=':Form.Startup_QGroupBox' name='contextHelpComboBox' type='QComboBox' visible='1'}
|
:Startup.contextHelpComboBox_QComboBox {container=':Form.Startup_QGroupBox' name='contextHelpComboBox' type='QComboBox' visible='1'}
|
||||||
:User Interface.languageBox_QComboBox {name='languageBox' type='QComboBox' visible='1'}
|
:User Interface.languageBox_QComboBox {name='languageBox' type='QComboBox' visible='1'}
|
||||||
:Utils::FakeToolTip {type='Utils::FakeToolTip' unnamed='1' visible='1'}
|
:Utils::FakeToolTip {type='Utils::FakeToolTip' unnamed='1' visible='1'}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ source("../../shared/suites_qtta.py")
|
|||||||
def main():
|
def main():
|
||||||
# expected error texts - for different compilers
|
# expected error texts - for different compilers
|
||||||
expectedErrorAlternatives = ["'SyntaxError' was not declared in this scope",
|
expectedErrorAlternatives = ["'SyntaxError' was not declared in this scope",
|
||||||
"\xe2\x80\x98SyntaxError\xe2\x80\x99 was not declared in this scope",
|
u"\u2018SyntaxError\u2019 was not declared in this scope",
|
||||||
"'SyntaxError' : undeclared identifier", # MSVC2013
|
"'SyntaxError' : undeclared identifier", # MSVC2013
|
||||||
"'SyntaxError': undeclared identifier", # MSVC2015
|
"'SyntaxError': undeclared identifier", # MSVC2015
|
||||||
"use of undeclared identifier 'SyntaxError'",
|
"use of undeclared identifier 'SyntaxError'",
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ def main():
|
|||||||
baseName = os.path.basename(currentFile)
|
baseName = os.path.basename(currentFile)
|
||||||
fileName = os.path.join(directory, baseName)
|
fileName = os.path.join(directory, baseName)
|
||||||
test.log("Testing file %s" % fileName)
|
test.log("Testing file %s" % fileName)
|
||||||
content = readFile(currentFile)
|
content = stringify(readFile(currentFile))
|
||||||
preparedContent, emptyLine, trailingWS = prepareFileExternal(fileName, content)
|
preparedContent, emptyLine, trailingWS = prepareFileExternal(fileName, content)
|
||||||
isIgnored = isIgnoredFile(baseName, ignoredFiles)
|
isIgnored = isIgnoredFile(baseName, ignoredFiles)
|
||||||
test.verify(preparedContent.find('\t') != -1, "Added at least one tab.")
|
test.verify(preparedContent.find('\t') != -1, "Added at least one tab.")
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ def main():
|
|||||||
return
|
return
|
||||||
for currentFile in files:
|
for currentFile in files:
|
||||||
test.log("Opening file %s" % currentFile)
|
test.log("Opening file %s" % currentFile)
|
||||||
size = len(readFile(currentFile))
|
size = len(stringify(readFile(currentFile)))
|
||||||
invokeMenuItem("File", "Open File or Project...")
|
invokeMenuItem("File", "Open File or Project...")
|
||||||
selectFromFileDialog(currentFile, True)
|
selectFromFileDialog(currentFile, True)
|
||||||
editor = getEditorForFileSuffix(currentFile)
|
editor = getEditorForFileSuffix(currentFile)
|
||||||
|
|||||||
@@ -4,6 +4,8 @@
|
|||||||
source("../../shared/qtcreator.py")
|
source("../../shared/qtcreator.py")
|
||||||
|
|
||||||
currentSelectedTreeItem = None
|
currentSelectedTreeItem = None
|
||||||
|
sectionInProgress = None
|
||||||
|
genericDebuggers = []
|
||||||
warningOrError = re.compile('<p><b>((Error|Warning).*?)</p>')
|
warningOrError = re.compile('<p><b>((Error|Warning).*?)</p>')
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
@@ -28,6 +30,7 @@ def __createMinimumIni__(emptyParent):
|
|||||||
iniFile.close()
|
iniFile.close()
|
||||||
|
|
||||||
def __checkKits__():
|
def __checkKits__():
|
||||||
|
global genericDebuggers
|
||||||
mouseClick(waitForObjectItem(":Options_QListView", "Kits"))
|
mouseClick(waitForObjectItem(":Options_QListView", "Kits"))
|
||||||
# check compilers
|
# check compilers
|
||||||
expectedCompilers = __getExpectedCompilers__()
|
expectedCompilers = __getExpectedCompilers__()
|
||||||
@@ -51,6 +54,8 @@ def __checkKits__():
|
|||||||
__iterateTree__(":BuildAndRun_QTreeView", __dbgFunc__, foundDebugger)
|
__iterateTree__(":BuildAndRun_QTreeView", __dbgFunc__, foundDebugger)
|
||||||
test.verify(__compareDebuggers__(foundDebugger, expectedDebuggers),
|
test.verify(__compareDebuggers__(foundDebugger, expectedDebuggers),
|
||||||
"Verifying found and expected debuggers are equal.")
|
"Verifying found and expected debuggers are equal.")
|
||||||
|
if not test.compare(len(genericDebuggers), 2, "Verifying generic debugger count."):
|
||||||
|
test.log(str(genericDebuggers))
|
||||||
# check Qt versions
|
# check Qt versions
|
||||||
qmakePath = which("qmake")
|
qmakePath = which("qmake")
|
||||||
foundQt = []
|
foundQt = []
|
||||||
@@ -87,14 +92,16 @@ def __processSubItems__(treeObjStr, section, parModelIndexStr, doneItems,
|
|||||||
additionalFunc, *additionalParameters)
|
additionalFunc, *additionalParameters)
|
||||||
|
|
||||||
def __iterateTree__(treeObjStr, additionalFunc, *additionalParameters):
|
def __iterateTree__(treeObjStr, additionalFunc, *additionalParameters):
|
||||||
global currentSelectedTreeItem
|
global currentSelectedTreeItem, sectionInProgress
|
||||||
model = waitForObject(treeObjStr).model()
|
model = waitForObject(treeObjStr).model()
|
||||||
# 1st row: Auto-detected, 2nd row: Manual
|
# 1st row: Auto-detected, 2nd row: Manual (Debugger has additional section Generic prepended)
|
||||||
for sect in dumpIndices(model):
|
for sect in dumpIndices(model):
|
||||||
|
sectionInProgress = str(sect.text)
|
||||||
doneItems = []
|
doneItems = []
|
||||||
parentModelIndex = "%s container='%s'}" % (objectMap.realName(sect)[:-1], treeObjStr)
|
parentModelIndex = "%s container='%s'}" % (objectMap.realName(sect)[:-1], treeObjStr)
|
||||||
__processSubItems__(treeObjStr, sect, parentModelIndex, doneItems,
|
__processSubItems__(treeObjStr, sect, parentModelIndex, doneItems,
|
||||||
additionalFunc, *additionalParameters)
|
additionalFunc, *additionalParameters)
|
||||||
|
sectionInProgress = None
|
||||||
|
|
||||||
def __compFunc__(it, foundComp, foundCompNames):
|
def __compFunc__(it, foundComp, foundCompNames):
|
||||||
# skip sub section items (will continue on its children)
|
# skip sub section items (will continue on its children)
|
||||||
@@ -118,9 +125,16 @@ def __compFunc__(it, foundComp, foundCompNames):
|
|||||||
foundCompNames.append(it)
|
foundCompNames.append(it)
|
||||||
|
|
||||||
def __dbgFunc__(it, foundDbg):
|
def __dbgFunc__(it, foundDbg):
|
||||||
|
global sectionInProgress, genericDebuggers
|
||||||
waitFor("object.exists(':Path.Utils_BaseValidatingLineEdit')", 2000)
|
waitFor("object.exists(':Path.Utils_BaseValidatingLineEdit')", 2000)
|
||||||
pathLineEdit = findObject(":Path.Utils_BaseValidatingLineEdit")
|
pathLineEdit = findObject(":Path.Utils_BaseValidatingLineEdit")
|
||||||
foundDbg.append(str(pathLineEdit.text))
|
if sectionInProgress == 'Generic':
|
||||||
|
debugger = str(pathLineEdit.text)
|
||||||
|
test.verify(debugger == 'gdb' or debugger == 'lldb',
|
||||||
|
'Verifying generic debugger is GDB or LLDB.')
|
||||||
|
genericDebuggers.append(debugger)
|
||||||
|
else:
|
||||||
|
foundDbg.append(str(pathLineEdit.text))
|
||||||
|
|
||||||
def __qtFunc__(it, foundQt, qmakePath):
|
def __qtFunc__(it, foundQt, qmakePath):
|
||||||
qtPath = str(waitForObject(":QtSupport__Internal__QtVersionManager.qmake_QLabel").text)
|
qtPath = str(waitForObject(":QtSupport__Internal__QtVersionManager.qmake_QLabel").text)
|
||||||
|
|||||||
@@ -22,10 +22,9 @@ kitNameTemplate = "Manual.%s"
|
|||||||
|
|
||||||
def __removeKit__(_, kitName):
|
def __removeKit__(_, kitName):
|
||||||
global kitNameTemplate
|
global kitNameTemplate
|
||||||
if kitName == Targets.getStringForTarget(Targets.getDefaultKit()):
|
|
||||||
# The following kits will be the default kit at that time
|
|
||||||
kitNameTemplate += " (default)"
|
|
||||||
item = kitNameTemplate % kitName.replace(".", "\\.")
|
item = kitNameTemplate % kitName.replace(".", "\\.")
|
||||||
|
if kitName == Targets.getStringForTarget(Targets.getDefaultKit()):
|
||||||
|
item += " (default)"
|
||||||
mouseClick(waitForObjectItem(":BuildAndRun_QTreeView", item))
|
mouseClick(waitForObjectItem(":BuildAndRun_QTreeView", item))
|
||||||
clickButton(waitForObject(":Remove_QPushButton"))
|
clickButton(waitForObject(":Remove_QPushButton"))
|
||||||
|
|
||||||
|
|||||||
@@ -63,18 +63,18 @@ def prepareTestExamples():
|
|||||||
def switchSession(toSession):
|
def switchSession(toSession):
|
||||||
test.log("Switching to session '%s'" % toSession)
|
test.log("Switching to session '%s'" % toSession)
|
||||||
invokeMenuItem("File", "Sessions", "Manage...")
|
invokeMenuItem("File", "Sessions", "Manage...")
|
||||||
sessionView = ("{name='sessionView' type='ProjectExplorer::Internal::SessionView' visible='1' "
|
sessionView = ("{name='sessionView' type='Core::Internal::SessionView' visible='1' "
|
||||||
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}")
|
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}")
|
||||||
mouseClick(waitForObjectItem(sessionView, toSession))
|
mouseClick(waitForObjectItem(sessionView, toSession))
|
||||||
clickButton(waitForObject("{name='btOpen' type='QPushButton' visible='1' "
|
clickButton(waitForObject("{name='btOpen' type='QPushButton' visible='1' "
|
||||||
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}"))
|
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}"))
|
||||||
|
|
||||||
def createAndSwitchToSession(toSession):
|
def createAndSwitchToSession(toSession):
|
||||||
sessionInputDialog = ("{type='ProjectExplorer::Internal::SessionNameInputDialog' unnamed='1' "
|
sessionInputDialog = ("{type='Core::Internal::SessionNameInputDialog' unnamed='1' "
|
||||||
"visible='1' windowTitle='New Session Name'}")
|
"visible='1' windowTitle='New Session Name'}")
|
||||||
test.log("Switching to session '%s' after creating it." % toSession)
|
test.log("Switching to session '%s' after creating it." % toSession)
|
||||||
invokeMenuItem("File", "Sessions", "Manage...")
|
invokeMenuItem("File", "Sessions", "Manage...")
|
||||||
clickButton(waitForObject("{name='btCreateNew' text='New' type='QPushButton' visible='1' "
|
clickButton(waitForObject("{name='btCreateNew' type='QPushButton' visible='1' "
|
||||||
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}"))
|
"window=':Session Manager_ProjectExplorer::Internal::SessionDialog'}"))
|
||||||
lineEdit = waitForObject("{type='QLineEdit' unnamed='1' visible='1' window=%s}"
|
lineEdit = waitForObject("{type='QLineEdit' unnamed='1' visible='1' window=%s}"
|
||||||
% sessionInputDialog)
|
% sessionInputDialog)
|
||||||
|
|||||||
Reference in New Issue
Block a user