diff --git a/doc/qtcreator/images/qtcreator-output-panes-taskbar.webp b/doc/qtcreator/images/qtcreator-output-panes-taskbar.webp
index 27b5517cb4a..7801e26ff8f 100644
Binary files a/doc/qtcreator/images/qtcreator-output-panes-taskbar.webp and b/doc/qtcreator/images/qtcreator-output-panes-taskbar.webp differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-application-output.webp b/doc/qtcreator/images/qtcreator-preferences-application-output.webp
new file mode 100644
index 00000000000..7b067e6f7d1
Binary files /dev/null and b/doc/qtcreator/images/qtcreator-preferences-application-output.webp differ
diff --git a/doc/qtcreator/images/qtcreator-preferences-compile-output.webp b/doc/qtcreator/images/qtcreator-preferences-compile-output.webp
new file mode 100644
index 00000000000..2dab7f7333c
Binary files /dev/null and b/doc/qtcreator/images/qtcreator-preferences-compile-output.webp differ
diff --git a/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc b/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
index abc780fe195..25cc5e944d1 100644
--- a/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
+++ b/doc/qtcreator/src/analyze/cpu-usage-analyzer.qdoc
@@ -500,9 +500,9 @@
\endlist
\endlist
- Output from the helper program that processes the data is displayed in
- \l{Viewing Output}{General Messages}.
+ The \uicontrol {General Messages} view shows \l{View output}{output} from the
+ 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.
*/
diff --git a/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc b/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc
index a5f5fc89c3f..133f0b7686d 100644
--- a/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc
+++ b/doc/qtcreator/src/editors/creator-editors-writing-code.qdoc
@@ -11,7 +11,7 @@
\page creator-editor-functions.html
\previouspage creator-coding.html
\if defined(qtdesignstudio)
- \nextpage creator-output-panes.html
+ \nextpage creator-highlighting.html
\else
\nextpage creator-coding-navigating.html
\endif
diff --git a/doc/qtcreator/src/editors/creator-only/creator-code-pasting.qdoc b/doc/qtcreator/src/editors/creator-only/creator-code-pasting.qdoc
index ce2b4ddd8cb..e12c5e29fdf 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-code-pasting.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-code-pasting.qdoc
@@ -35,7 +35,7 @@
copy the URL of the post on the code pasting service to the
clipboard when you paste 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.
\endlist
diff --git a/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc b/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc
index 4957e981d33..33a14ee3be2 100644
--- a/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc
+++ b/doc/qtcreator/src/editors/creator-only/creator-language-server.qdoc
@@ -92,7 +92,7 @@
patterns to extend the MIME types, separated by semicolons.
\li In the \uicontrol {Startup behavior} field, select whether the
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
language server.
\li In the \uicontrol {Initialization options} field, you can add
diff --git a/doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc b/doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc
index 37bb884664b..41e8c1ea961 100644
--- a/doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc
+++ b/doc/qtcreator/src/editors/creator-semantic-highlighting.qdoc
@@ -4,7 +4,7 @@
/*!
\page creator-highlighting.html
\if defined(qtdesignstudio)
- \previouspage creator-output-panes.html
+ \previouspage creator-editor-functions.html
\else
\previouspage creator-coding-navigating.html
\endif
@@ -55,8 +55,8 @@
If the editor cannot find the highlight definition for a file that you open
for editing, it prompts you to download additional highlight definition
files. Select \uicontrol {Download Definitions} to download the files.
- Information about the downloaded files is displayed in \l{Viewing Output}
- {General Messages}.
+ To view information about the downloaded files, open the \l{View output}
+ {General Messages} view.
To suppress the message for a particular file pattern, select
\uicontrol Edit > \uicontrol Preferences > \uicontrol {Text Editor}
diff --git a/doc/qtcreator/src/howto/creator-external-tools.qdoc b/doc/qtcreator/src/howto/creator-external-tools.qdoc
index 219856879c5..8e003556cf8 100644
--- a/doc/qtcreator/src/howto/creator-external-tools.qdoc
+++ b/doc/qtcreator/src/howto/creator-external-tools.qdoc
@@ -113,7 +113,7 @@
working directory.
\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
output in the code editor.
diff --git a/doc/qtcreator/src/howto/creator-how-to-set-high-dpi-scaling.qdoc b/doc/qtcreator/src/howto/creator-how-to-set-high-dpi-scaling.qdoc
index 681e6b421ad..849a4dbff52 100644
--- a/doc/qtcreator/src/howto/creator-how-to-set-high-dpi-scaling.qdoc
+++ b/doc/qtcreator/src/howto/creator-how-to-set-high-dpi-scaling.qdoc
@@ -32,6 +32,7 @@
\list 1
\li Select \uicontrol Edit > \uicontrol Preferences >
\uicontrol Environment > \uicontrol Interface.
+ \image qtcreator-preferences-environment-interface.webp {Interface tab in Environment preferences}
\li Select \uicontrol {Enable high DPI scaling}.
\li Restart \QC to have the change take effect.
\endlist
diff --git a/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc b/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc
index 46b8781c08a..dab584171bc 100644
--- a/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc
+++ b/doc/qtcreator/src/howto/creator-only/creator-autotest.qdoc
@@ -584,7 +584,7 @@
\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.
\section2 Qt Test Output
diff --git a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc
index 45336998465..c59902f3b04 100644
--- a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc
+++ b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc
@@ -19,9 +19,11 @@
\section1 Use the UI
\list
+ \li \l {Assign keyboard shortcuts}
\li \l {Find a particular preference}
\li \l {Find keyboard shortcuts}
\li \l {Find menu items on \macos}
+ \li \l {Import and export keyboard shortcuts}
\li \l {Set high DPI scaling}
\li \l {Set the number of recent files shown}
\li \l {Show and hide sidebars}
@@ -83,8 +85,10 @@
\key Ctrl+Tab.
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+Left} on \macos). For example, if you use the \uicontrol Locator
+ (\key {Cmd+Opt+Right} on \macos).
+
+ 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
location in that file by pressing \key {Alt+Left}.
*/
@@ -125,38 +129,6 @@
\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
\previouspage creator-how-tos.html
@@ -399,11 +371,16 @@
\title Set the number of recent files shown
- Set the value of \uicontrol Edit > \uicontrol Preferences >
- \uicontrol Environment > \uicontrol System
- > \uicontrol {Maximum number of entries in "Recent Files"}.
+ To set the number of files to list in \uicontrol File >
+ \uicontrol {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
*/
/*!
diff --git a/doc/qtcreator/src/howto/creator-only/creator-squish.qdoc b/doc/qtcreator/src/howto/creator-only/creator-squish.qdoc
index 874b4b389e4..25b2d54dad5 100644
--- a/doc/qtcreator/src/howto/creator-only/creator-squish.qdoc
+++ b/doc/qtcreator/src/howto/creator-only/creator-squish.qdoc
@@ -22,7 +22,7 @@
\li Record test cases (in a very limited way compared to what you can do
inside the Squish IDE).
\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
inspect the local variables, similarly to when debugging a test.
\endlist
diff --git a/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc b/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc
index 2e9330159f5..95906339121 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-configuring.qdoc
@@ -8,7 +8,7 @@
// **********************************************************************
/*!
- \previouspage creator-output-panes.html
+ \previouspage creator-quick-tour.html
\page creator-configuring.html
\nextpage creator-build-example-application.html
diff --git a/doc/qtcreator/src/overview/creator-only/creator-tutorials.qdoc b/doc/qtcreator/src/overview/creator-only/creator-tutorials.qdoc
index 40b0ffc1d0a..244310c17bf 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-tutorials.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-tutorials.qdoc
@@ -8,8 +8,6 @@
\title Tutorials
- \image front-help.png
-
You can use \QC to create applications for several \l{Supported Platforms}
{platforms} by using several \l{User Interfaces}{UI technologies}. Follow
the tutorials to learn how to create some basic Qt applications.
diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc
index 3a6e5c2ccc3..da6f5444c50 100644
--- a/doc/qtcreator/src/qtcreator-toc.qdoc
+++ b/doc/qtcreator/src/qtcreator-toc.qdoc
@@ -1,7 +1,6 @@
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
-
/*!
\page qtcreator-toc.html
@@ -18,9 +17,6 @@
\list
\li \l{IDE Overview}
\li \l{User Interface}
- \list
- \li \l{Viewing Output}
- \endlist
\li \l{Configuring Qt Creator}
\li \l{Building and Running an Example}
\li \l{Tutorials}
diff --git a/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc b/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc
index 793fa213daa..26a7472500c 100644
--- a/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-file-system-view.qdoc
@@ -8,7 +8,6 @@
\nextpage creator-open-documents-view.html
\else
\previouspage creator-how-to-show-and-hide-sidebars.html
- \nextpage creator-output-panes.html
\endif
\ingroup creator-reference-sidebar-views
diff --git a/doc/qtcreator/src/user-interface/creator-how-to-view-output.qdoc b/doc/qtcreator/src/user-interface/creator-how-to-view-output.qdoc
new file mode 100644
index 00000000000..2121bd247a2
--- /dev/null
+++ b/doc/qtcreator/src/user-interface/creator-how-to-view-output.qdoc
@@ -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
+*/
diff --git a/doc/qtcreator/src/user-interface/creator-only/creator-reference-sidebar-views.qdoc b/doc/qtcreator/src/user-interface/creator-only/creator-reference-sidebar-views.qdoc
index 90c26db8d2c..ca147e76dcf 100644
--- a/doc/qtcreator/src/user-interface/creator-only/creator-reference-sidebar-views.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-only/creator-reference-sidebar-views.qdoc
@@ -4,7 +4,6 @@
/*!
\page creator-outline-view.html
\previouspage creator-how-to-show-and-hide-sidebars.html
- \nextpage creator-output-panes.html
\ingroup creator-reference-sidebar-views
\title Outline
@@ -33,7 +32,6 @@
/*!
\page creator-class-view.html
\previouspage creator-how-to-show-and-hide-sidebars.html
- \nextpage creator-output-panes.html
\ingroup creator-reference-sidebar-views
\title Class View
@@ -54,7 +52,6 @@
/*!
\page creator-call-hierarchy-view.html
\previouspage creator-how-to-show-and-hide-sidebars.html
- \nextpage creator-output-panes.html
\ingroup creator-reference-sidebar-views
\title Call Hierarchy
@@ -77,7 +74,6 @@
/*!
\page creator-type-hierarchy.html
\previouspage creator-how-to-show-and-hide-sidebars.html
- \nextpage creator-output-panes.html
\ingroup creator-reference-sidebar-views
\title Type Hierarchy
@@ -110,7 +106,6 @@
/*!
\page creator-include-hierarchy-view.html
\previouspage creator-how-to-show-and-hide-sidebars.html
- \nextpage creator-output-panes.html
\ingroup creator-reference-sidebar-views
\title Include Hierarchy
diff --git a/doc/qtcreator/src/user-interface/creator-only/creator-reference-terminal-view.qdoc b/doc/qtcreator/src/user-interface/creator-only/creator-reference-terminal-view.qdoc
new file mode 100644
index 00000000000..a87ec969c80
--- /dev/null
+++ b/doc/qtcreator/src/user-interface/creator-only/creator-reference-terminal-view.qdoc
@@ -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}
+*/
diff --git a/doc/qtcreator/src/user-interface/creator-only/creator-reference-to-do-entries-view.qdoc b/doc/qtcreator/src/user-interface/creator-only/creator-reference-to-do-entries-view.qdoc
new file mode 100644
index 00000000000..f8547ac3e1f
--- /dev/null
+++ b/doc/qtcreator/src/user-interface/creator-only/creator-reference-to-do-entries-view.qdoc
@@ -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}
+*/
diff --git a/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc b/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc
index c4e3d9e5692..72ac21121ed 100644
--- a/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-open-documents-view.qdoc
@@ -9,7 +9,6 @@
\nextpage studio-content-library.html
\else
\previouspage creator-how-to-show-and-hide-sidebars.html
- \nextpage creator-output-panes.html
\endif
\ingroup creator-reference-sidebar-views
diff --git a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc
index 1c3534afd13..be07f7f1580 100644
--- a/doc/qtcreator/src/user-interface/creator-projects-view.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-projects-view.qdoc
@@ -8,7 +8,6 @@
\nextpage creator-file-system-view.html
\else
\previouspage creator-how-to-show-and-hide-sidebars.html
- \nextpage creator-output-panes.html
\endif
\ingroup creator-reference-sidebar-views
diff --git a/doc/qtcreator/src/user-interface/creator-reference-output-views.qdoc b/doc/qtcreator/src/user-interface/creator-reference-output-views.qdoc
new file mode 100644
index 00000000000..42df7eb4d18
--- /dev/null
+++ b/doc/qtcreator/src/user-interface/creator-reference-output-views.qdoc
@@ -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
+*/
diff --git a/doc/qtcreator/src/user-interface/creator-ui.qdoc b/doc/qtcreator/src/user-interface/creator-ui.qdoc
index a6fd8c45576..b37c1c4e0f7 100644
--- a/doc/qtcreator/src/user-interface/creator-ui.qdoc
+++ b/doc/qtcreator/src/user-interface/creator-ui.qdoc
@@ -1,12 +1,6 @@
// 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-quick-tour.html
\if defined(qtdesignstudio)
@@ -14,7 +8,7 @@
\nextpage creator-using-qt-quick-designer.html
\else
\previouspage creator-overview.html
- \nextpage creator-views.html
+ \nextpage creator-configuring.html
\endif
\title User Interface
@@ -66,7 +60,7 @@
\li \inlineimage numbers/07.png
\li Output
\li View output from building, running, and other actions.
- \li \l{Viewing Output}
+ \li \l{View output}
\endtable
To see where the above controls are in the UI, select
@@ -127,6 +121,7 @@
\li \l {Find menu items on \macos}
\li \l {Set high DPI scaling}
\li \l {Switch UI themes}
+ \li \l {View output}
\endlist
\section1 Viewing Images
@@ -140,465 +135,3 @@
\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
-
-*/
diff --git a/doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc b/doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc
index 52968f5b949..c458d5d0079 100644
--- a/doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc
+++ b/doc/qtcreator/src/vcs/creator-only/creator-vcs-gitlab.qdoc
@@ -20,7 +20,7 @@
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
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
diff --git a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
index 91762bc52b4..cee8f1fe7ad 100644
--- a/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
+++ b/doc/qtdesignstudio/src/qtdesignstudio-toc.qdoc
@@ -200,7 +200,6 @@
\list
\li \l{Writing Code}
\list
- \li \l{Viewing Output}
\li \l{Semantic Highlighting}
\li \l{Checking Code Syntax}
\li \l{Completing Code}
diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts
index b5877dc1af9..333f027b46a 100644
--- a/share/qtcreator/translations/qtcreator_de.ts
+++ b/share/qtcreator/translations/qtcreator_de.ts
@@ -36253,7 +36253,7 @@ Weitere Erklärungen sind möglicherweise in "Ausgabe der Anwendung" z
The build device failed to prepare for the build of %1 (%2).
- Das Build-Gerät konnte nicht für das Erstellen von %1 (%2) vorbereitet werden.
+ Das Gerät konnte nicht für das Erstellen von %1 (%2) vorbereitet werden.Compile
@@ -36395,7 +36395,7 @@ Weitere Erklärungen sind möglicherweise in "Ausgabe der Anwendung" z
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.
-
+ 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.All Projects
@@ -36495,7 +36495,7 @@ Außer: %2
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.
-
+ 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.Project "%1"
@@ -37215,23 +37215,23 @@ Bitte versuchen Sie es erneut.
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.
-
+ 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.Run Run Configuration
-
+ Ausführungskonfiguration ausführenRuns a run configuration of the active project.
-
+ Führt eine Ausführungskonfiguration des aktiven Projekts aus.Switch Run Configuration
-
+ Ausführungskonfiguration auswählenSwitches the active run configuration of the active project.
-
+ Wechselt die aktive Ausführungskonfiguration des aktiven Projekts.Run %1
@@ -37869,7 +37869,7 @@ The name of the build configuration created by default for a generic project.
Environment:
- Umgebung:
+ Umgebung:No executable specified.
@@ -38167,12 +38167,12 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein
&Start Wizard to Add Device...
-
+ Gerät mit &Assistent hinzufügen...Add %1Add <Device Type Name>
-
+ %1 hinzufügenYes (id is "%1")
@@ -38475,7 +38475,7 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein
Show in Application Output when running
-
+ Beim Start in "Ausgabe der Anwendung" anzeigenNo device configured.
@@ -38756,7 +38756,7 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen.
Ignoring invalid task (no text).
-
+ Ignoriere ungültige Aufgabe (kein Text).File Error
@@ -39036,47 +39036,57 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen.
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.
-
+ 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.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>
-
+ 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>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.
-
+ 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.PySide 2
- PySide 2
+ PySide 2Define Python Interpreter
-
+ Python-Interpreter festlegenCreates 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.
-
+ 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.Qt Quick Application (compat)
-
+ Qt Quick-Anwendung (compat)Creates a Qt Quick UI project for previewing and prototyping designs.
To develop a full application, create a Qt Quick Application project instead.
-
+ Erstellt ein Qt Quick UI-Projekt für Vorschauen und Design-Prototypen.
+
+Für vollständige Anwendungen erstellen Sie stattdessen eine Qt Quick-Anwendung.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.
-
+ 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.Qt Quick Application
@@ -39088,11 +39098,11 @@ You can select an option to create a project that you can open in Qt Design Stud
Boost Test (header only)
-
+ Boost Test (nur Header)Boost Test (shared libraries)
-
+ Boost Test (dynamisch gebundene Bibliotheken)Test framework:
@@ -39108,7 +39118,7 @@ You can select an option to create a project that you can open in Qt Design Stud
Boost install directory (optional):
-
+ Boost-Installationsverzeichnis (optional):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.
@@ -39136,11 +39146,11 @@ You can select an option to create a project that you can open in Qt Design Stud
Creates a markdown file.
-
+ Erzeugt eine Markdown-Datei.Markdown File
-
+ Markdown-DateiCreates a Java file with boilerplate code.
@@ -39198,27 +39208,29 @@ You can select an option to create a project that you can open in Qt Design Stud
You must tell Qt Creator which test framework is used inside the project.
You should not mix multiple test frameworks in a project.
-
+ Sie müssen Qt Creator mitteilen, welches Test-Framework im Projekt benutzt wird.
+
+Sie sollten nicht mehrere Test-Frameworks im selben Projekt mischen.%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.' + Util.preferredSuffix('text/x-c++src')}
-
+ %{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.' + Util.preferredSuffix('text/x-c++src')}%{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.qml'}
-
+ %{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.qml'}Test Information
-
+ TestinformationCreates a source file that you can add to an existing test project.
-
+ Erstellt eine Quelldatei, die zu einem existierenden Testprojekt hinzugefügt werden kann.Test Case
-
+ TestfallCreates an empty Nim script file using UTF-8 charset.
@@ -39836,11 +39848,11 @@ You should not mix multiple test frameworks in a project.
Qt 6.4
- Qt 6.4
+ Qt 6.4Qt 6.5
- Qt 6.5
+ Qt 6.5The minimum version of Qt you want to build the application for.
@@ -39890,7 +39902,7 @@ You should not mix multiple test frameworks in a project.
Creates a CMake-based test project where you can enter a code snippet to compile and check it.
-
+ Erstellt ein CMake-basiertes Testprojekt, für welches Sie einen Code-Ausschnitt angegeben können, der erstellt und geprüft wird.Code Snippet
@@ -41019,7 +41031,7 @@ Was soll %1 tun?
Enter the path to the executable
-
+ Geben Sie den Pfad zur ausführbaren Datei einExecutable:
@@ -41051,7 +41063,7 @@ Was soll %1 tun?
Interpreter:
-
+ Interpreter:X11 Forwarding:
@@ -41217,7 +41229,7 @@ Was soll %1 tun?
The build directory is not reachable from the build device.
- Das Build-Verzeichnis kann auf dem Build-Gerät nicht erreicht werden.
+ Das Build-Verzeichnis kann auf dem Gerät nicht erreicht werden.Shadow build:
@@ -41333,7 +41345,7 @@ Was soll %1 tun?
Run device type
-
+ Gerätetyp (Ausführung)Unknown device type
@@ -41341,7 +41353,7 @@ Was soll %1 tun?
Run device
-
+ Gerät (Ausführung)The device to run the applications on.
@@ -41377,11 +41389,11 @@ Was soll %1 tun?
Device root directory
-
+ Wurzelverzeichnis des GerätsBuild device root directory
-
+ Wurzelverzeichnis des Geräts (Erstellung)Change...
@@ -41790,7 +41802,7 @@ fails because Clang does not understand the target architecture.
Build device
- Build-Gerät
+ Gerät (Erstellung)The device used to build applications on.
@@ -41798,27 +41810,27 @@ fails because Clang does not understand the target architecture.
No build device set.
- Kein Build-Gerät gesetzt.
+ Kein Gerät für die Erstellung gesetzt.Build host address
- Hostadresse des Build-Geräts
+ Hostadresse des Geräts (Erstellung)Build SSH port
- SSH-Port des Build-Geräts
+ SSH-Port des Geräts (Erstellung)Build user name
- Benutzername des Build-Geräts
+ Benutzername des Geräts (Erstellung)Build private key file
- Private Schlüsseldatei des Build-Geräts
+ Private Schlüsseldatei des Geräts (Erstellung)Build device name
- Build-Gerätename
+ Gerätename (Erstellung)Run as root user
@@ -41879,29 +41891,29 @@ fails because Clang does not understand the target architecture.
Source:
- Quelle:
+ Quelle:Target:
- Ziel:
+ Ziel:Copying failed.
-
+ Fehler beim Kopieren.Copying finished.
-
+ Kopieren beendet.Copy fileDefault CopyStep display name
-
+ Datei kopierenCopy directory recursivelyDefault CopyStep display name
-
+ Verzeichnis rekursiv kopieren
@@ -49641,211 +49653,211 @@ Failed to open file "%1"
QtC::TerminalConfigure...
- Einstellungen...
+ Einstellungen...Sends Esc to terminal instead of Qt Creator.
-
+ Sendet Escape zum Terminal statt zu Qt Creator.Press %1 to send Esc to terminal.
-
+ Drücken Sie %1, um Escape zum Terminal zu senden.Terminal
- Terminal
+ TerminalSends keyboard shortcuts to Terminal.
-
+ Sendet Tastenkombinationen zum Terminal.Sends keyboard shortcuts to Qt Creator.
-
+ Sendet Tastenkombinationen zu Qt Creator.New Terminal
-
+ Neues TerminalCreate a new Terminal.
-
+ Erstelle ein neues Terminal.Next Terminal
-
+ Nächstes TerminalPrevious Terminal
-
+ Vorangehendes TerminalClose the current Terminal.
-
+ Das aktuelle Terminal schließen.Devices
- Geräte
+ GeräteThe color used for %1.
-
+ Die für "%1" benutzte Farbe.Failed to open file.
-
+ Datei konnte nicht geöffnet werden.JSON parsing error: "%1", at offset: %2
-
+ Fehler beim Auswerten von JSON: "%1", an Position: %2No colors found.
-
+ Es wurden keine Farben gefunden.Invalid color format.
-
+ Ungültiges Farbformat.Unknown color scheme format.
-
+ Unbekanntes Farbschema-Format.Use internal terminal
-
+ Integriertes Terminal benutzenUses the internal terminal when "Run In Terminal" is enabled and for "Open Terminal here".
-
+ Benutzt das integrierte Terminal, wenn "Im Terminal ausführen" aktiviert ist und für "Terminalfenster hier öffnen".Family:
- Name:
+ Name:The font family used in the terminal.
-
+ Der Name der Zeichensatz-Familie, die im Terminal benutzt wird.Size:
- Größe:
+ Größe:The font size used in the terminal (in points).
-
+ Die Größe des Zeichensatzes, der im Terminal benutzt wird (in Punkten).Allow blinking cursor
-
+ Blinkenden Cursor erlaubenAllow the cursor to blink.
-
+ Erlaubt dem Cursor zu blinken.Shell path:
-
+ Shell-Pfad:The shell executable to be started.
-
+ Die ausführbare Datei der Shell, die gestartet werden soll.Shell arguments:
-
+ Shell-Argumente:The arguments to be passed to the shell.
-
+ Die Argumente, die an die Shell übergeben werden sollen.Send escape key to terminal
-
+ Escape-Taste zum Terminal sendenSends the escape key to the terminal when pressedinstead of closing the terminal.
-
+ Sendet die Escape-Taste zum Terminal, anstatt das Terminal zu schliessen.Audible bell
-
+ Akustische GlockeMakes the terminal beep when a bell character is received.
-
+ Lässt das Terminal piepen, wenn ein Glockenzeichen empfangen wird.Load Theme...
-
+ Thema laden...Reset Theme
-
+ Thema zurücksetzenError
- Fehler
+ FehlerGeneral
- Allgemein
+ AllgemeinFont
- Zeichensatz
+ ZeichensatzColors
-
+ FarbenForeground
-
+ ZeichenBackground
-
+ HintergrundSelection
- Auswahl
+ AuswahlFind match
-
+ FundstelleDefault Shell
-
+ Vorgabe-ShellCopy
- Kopieren
+ KopierenPaste
- Einfügen
+ EinfügenClear Selection
- Auswahl löschen
+ Auswahl löschenClear Terminal
-
+ Terminal-Inhalt löschenMove Cursor Word Left
-
+ Cursor ein Wort nach links bewegenMove Cursor Word Right
-
+ Cursor ein Wort nach rechts bewegenClose Terminal
-
+ Terminal schließen
diff --git a/src/libs/utils/algorithm.h b/src/libs/utils/algorithm.h
index ee280def034..91eb2f54f1e 100644
--- a/src/libs/utils/algorithm.h
+++ b/src/libs/utils/algorithm.h
@@ -218,14 +218,6 @@ OutputContainer setUnionMerge(InputContainer1 &&input1,
template
OutputContainer setUnionMerge(InputContainer1 &&input1, InputContainer2 &&input2, Merge merge);
-/////////////////////////
-// usize / ssize
-/////////////////////////
-template
-std::make_unsigned_t usize(Container container);
-template
-std::make_signed_t ssize(Container container);
-
/////////////////////////
// setUnion
/////////////////////////
@@ -1340,15 +1332,15 @@ OutputContainer setUnionMerge(InputContainer1 &&input1,
}
template
-std::make_unsigned_t usize(Container container)
+auto usize(const Container &container)
{
- return static_cast>(container.size());
+ return static_cast>(std::size(container));
}
template
-std::make_signed_t ssize(Container container)
+auto ssize(const Container &container)
{
- return static_cast>(container.size());
+ return static_cast>(std::size(container));
}
template
diff --git a/src/libs/utils/externalterminalprocessimpl.cpp b/src/libs/utils/externalterminalprocessimpl.cpp
index b69cf798337..9ac01a7ee74 100644
--- a/src/libs/utils/externalterminalprocessimpl.cpp
+++ b/src/libs/utils/externalterminalprocessimpl.cpp
@@ -21,7 +21,7 @@ ProcessStubCreator::ProcessStubCreator(TerminalInterface *interface)
: m_interface(interface)
{}
-static const QLatin1String TerminalAppScript{R"(
+static const QLatin1String TerminalAppScriptAttached{R"(
tell application "Terminal"
activate
set newTab to do script "%1 && exit"
@@ -33,14 +33,27 @@ static const QLatin1String TerminalAppScript{R"(
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 ProcessStubCreator::startStubProcess(const ProcessSetupData &setupData)
{
const TerminalCommand terminal = TerminalCommand::terminalEmulator();
bool detached = setupData.m_terminalMode == TerminalMode::Detached;
if (HostOsInfo::isMacHost()) {
- static const QMap terminalMap = {
- {"Terminal.app", TerminalAppScript},
+ static const QMap terminalMap = {
+ {"Terminal.app", {TerminalAppScriptAttached, TerminalAppScriptDetached}},
};
if (terminalMap.contains(terminal.command.toString())) {
@@ -48,29 +61,36 @@ expected_str ProcessStubCreator::startStubProcess(const ProcessSetupData
= Utils::transform(setupData.m_environment.toStringList(), [](const QString &env) {
return CommandLine{"export", {env}}.toUserOutput();
}).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(env)
.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);
- if (detached)
- QObject::connect(process, &Process::done, process, &Process::deleteLater);
+ shFile.write(shScript.toUtf8());
+ shFile.close();
- QTemporaryFile *shFile = new QTemporaryFile(process);
- 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())
+ FilePath::fromUserInput(shFile.fileName())
.setPermissions(QFile::ExeUser | QFile::ExeGroup | QFile::ExeOther | QFile::ReadUser
| QFile::ReadGroup | QFile::ReadOther | QFile::WriteUser
| QFile::WriteGroup | QFile::WriteOther);
- const QString script
- = terminalMap.value(terminal.command.toString()).arg(shFile->fileName());
+ const QString script = (detached
+ ? terminalMap.value(terminal.command.toString()).detached
+ : terminalMap.value(terminal.command.toString()).attached)
+ .arg(shFile.fileName());
process->setCommand({"osascript", {"-"}});
process->setWriteData(script.toUtf8());
diff --git a/src/plugins/autotest/quick/quicktestparser.cpp b/src/plugins/autotest/quick/quicktestparser.cpp
index a5acf697feb..4fa8d4fb81d 100644
--- a/src/plugins/autotest/quick/quicktestparser.cpp
+++ b/src/plugins/autotest/quick/quicktestparser.cpp
@@ -181,8 +181,9 @@ QList QuickTestParser::scanDirectoryForQuickTestQmlFiles(const Fi
QList foundDocs;
+ const Snapshot snapshot = QmlJSTools::Internal::ModelManager::instance()->snapshot();
for (const FilePath &path : std::as_const(dirs)) {
- const QList docs = m_qmlSnapshot.documentsInDirectory(path);
+ const QList docs = snapshot.documentsInDirectory(path);
for (const Document::Ptr &doc : docs) {
const FilePath fi = doc->fileName();
//const QFileInfo fi(doc->fileName());
diff --git a/src/plugins/beautifier/clangformat/clangformatsettings.cpp b/src/plugins/beautifier/clangformat/clangformatsettings.cpp
index 92e175ac5fb..ab1363eea82 100644
--- a/src/plugins/beautifier/clangformat/clangformatsettings.cpp
+++ b/src/plugins/beautifier/clangformat/clangformatsettings.cpp
@@ -35,6 +35,7 @@ ClangFormatSettings::ClangFormatSettings()
usePredefinedStyle.setSettingsKey("usePredefinedStyle");
usePredefinedStyle.setLabelText(Tr::tr("Use predefined style:"));
+ usePredefinedStyle.setLabelPlacement(BoolAspect::LabelPlacement::AtCheckBoxWithoutDummyLabel);
usePredefinedStyle.setDefaultValue(true);
predefinedStyle.setSettingsKey("predefinedStyle");
diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
index 687758bb0ae..d7c94d81247 100644
--- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
+++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.cpp
@@ -59,26 +59,6 @@ void ClangEditorDocumentProcessor::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(
const CppEditor::BaseEditorDocumentParser::Configuration &config)
{
diff --git a/src/plugins/clangcodemodel/clangeditordocumentprocessor.h b/src/plugins/clangcodemodel/clangeditordocumentprocessor.h
index aefbaa9e0ff..bd151554003 100644
--- a/src/plugins/clangcodemodel/clangeditordocumentprocessor.h
+++ b/src/plugins/clangcodemodel/clangeditordocumentprocessor.h
@@ -19,12 +19,6 @@ public:
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;
CppEditor::BaseEditorDocumentParser::Configuration parserConfig();
@@ -37,8 +31,6 @@ signals:
private:
TextEditor::TextDocument &m_document;
- CppEditor::ProjectPart::ConstPtr m_projectPart;
- ::Utils::Id m_diagnosticConfigId;
};
} // namespace Internal
diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
index a14fb81b901..98e855b4195 100644
--- a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
+++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
@@ -232,9 +232,7 @@ ClangModelManagerSupport::ClangModelManagerSupport()
connect(modelManager, &CppModelManager::abstractEditorSupportRemoved,
this, &ClangModelManagerSupport::onAbstractEditorSupportRemoved);
connect(modelManager, &CppModelManager::projectPartsUpdated,
- this, &ClangModelManagerSupport::onProjectPartsUpdated);
- connect(modelManager, &CppModelManager::projectPartsRemoved,
- this, &ClangModelManagerSupport::onProjectPartsRemoved);
+ this, &ClangModelManagerSupport::updateLanguageClient);
connect(modelManager, &CppModelManager::fallbackProjectPartUpdated, this, [this] {
if (sessionModeEnabled())
return;
@@ -861,37 +859,6 @@ void ClangModelManagerSupport::onTextMarkContextMenuRequested(TextEditor::TextEd
}
}
-using ClangEditorDocumentProcessors = QVector;
-static ClangEditorDocumentProcessors clangProcessors()
-{
- ClangEditorDocumentProcessors result;
- for (const CppEditorDocumentHandle *editorDocument : cppModelManager()->cppEditorDocuments())
- result.append(qobject_cast(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()
{
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
diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.h b/src/plugins/clangcodemodel/clangmodelmanagersupport.h
index 140239550d8..8121b9967a9 100644
--- a/src/plugins/clangcodemodel/clangmodelmanagersupport.h
+++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.h
@@ -81,12 +81,8 @@ private:
int lineNumber,
QMenu *menu);
- void onProjectPartsUpdated(ProjectExplorer::Project *project);
- void onProjectPartsRemoved(const QStringList &projectPartIds);
void onClangdSettingsChanged();
- void reinitializeBackendDocuments(const QStringList &projectPartIds);
-
void connectTextDocumentToTranslationUnit(TextEditor::TextDocument *textDocument);
void connectToWidgetsMarkContextMenuRequested(QWidget *editorWidget);
diff --git a/src/plugins/clangcodemodel/clangtextmark.cpp b/src/plugins/clangcodemodel/clangtextmark.cpp
index 1a886c248ed..166a55e4f31 100644
--- a/src/plugins/clangcodemodel/clangtextmark.cpp
+++ b/src/plugins/clangcodemodel/clangtextmark.cpp
@@ -7,7 +7,6 @@
#include "clangconstants.h"
#include "clangdclient.h"
#include "clangdiagnostictooltipwidget.h"
-#include "clangeditordocumentprocessor.h"
#include "clangutils.h"
#include
@@ -49,46 +48,15 @@ Project *projectForCurrentEditor()
if (filePath.isEmpty())
return nullptr;
- if (auto processor = ClangEditorDocumentProcessor::get(filePath)) {
- if (ProjectPart::ConstPtr projectPart = processor->projectPart())
- return projectForProjectPart(*projectPart);
- }
+ if (ProjectPart::ConstPtr projectPart = projectPartForFile(filePath))
+ return projectForProjectPart(*projectPart);
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)
{
- switch (diagnosticType(diagnostic)) {
- 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;
- }
- }
+ config.setClangOptions(config.clangOptions() + QStringList(diagnostic.disableOption));
}
ClangDiagnosticConfig diagnosticConfig()
@@ -210,8 +178,10 @@ ClangDiagnostic convertDiagnostic(const ClangdDiagnostic &src,
target.severity = convertSeverity(*src.severity());
const Diagnostic::Code code = src.code().value_or(Diagnostic::Code());
const QString * const codeString = std::get_if(&code);
- if (codeString && codeString->startsWith("-W"))
+ if (codeString && codeString->startsWith("-W")) {
target.enableOption = *codeString;
+ target.disableOption = "-Wno-" + codeString->mid(2);
+ }
for (const CodeAction &codeAction : src.codeActions().value_or(QList())) {
const std::optional edit = codeAction.edit();
if (!edit)
@@ -304,15 +274,17 @@ ClangdTextMark::ClangdTextMark(TextEditor::TextDocument *doc,
actions << action;
// Remove diagnostic warning action
- Project *project = projectForCurrentEditor();
- if (project && isDiagnosticConfigChangable(project)) {
- action = new QAction();
- action->setIcon(Icons::BROKEN.icon());
- action->setToolTip(Tr::tr("Disable Diagnostic in Current Project"));
- QObject::connect(action, &QAction::triggered, [diag] {
- disableDiagnosticInCurrentProjectConfig(diag);
- });
- actions << action;
+ if (!diag.disableOption.isEmpty()) {
+ if (Project * const project = projectForCurrentEditor();
+ project && isDiagnosticConfigChangable(project)) {
+ action = new QAction();
+ action->setIcon(Icons::BROKEN.icon());
+ action->setToolTip(Tr::tr("Disable Diagnostic in Current Project"));
+ QObject::connect(action, &QAction::triggered, [diag] {
+ disableDiagnosticInCurrentProjectConfig(diag);
+ });
+ actions << action;
+ }
}
return actions;
});
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp
index 00948899f1e..a005bd79fa7 100644
--- a/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeprojectimporter.cpp
@@ -754,6 +754,8 @@ QList CMakeProjectImporter::examineDirectory(const FilePath &importPath,
// Update QT_QMAKE_EXECUTABLE and CMAKE_C|XX_COMPILER config values
updateConfigWithDirectoryData(config, data);
+ data->hasQmlDebugging = CMakeBuildConfiguration::hasQmlDebugging(config);
+
QByteArrayList buildConfigurationTypes = {cache.valueOf("CMAKE_BUILD_TYPE")};
if (buildConfigurationTypes.front().isEmpty()) {
buildConfigurationTypes.clear();
@@ -774,6 +776,13 @@ QList CMakeProjectImporter::examineDirectory(const FilePath &importPath,
DirectoryData *newData = new DirectoryData(*data);
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);
}
diff --git a/src/plugins/copilot/copilotplugin.cpp b/src/plugins/copilot/copilotplugin.cpp
index be8f4420162..4ecb1fdf40a 100644
--- a/src/plugins/copilot/copilotplugin.cpp
+++ b/src/plugins/copilot/copilotplugin.cpp
@@ -73,7 +73,7 @@ void CopilotPlugin::initialize()
connect(requestAction, &QAction::triggered, this, [this] {
if (auto editor = TextEditor::TextEditorWidget::currentTextEditorWidget()) {
- if (m_client->reachable())
+ if (m_client && m_client->reachable())
m_client->requestCompletions(editor);
}
});
diff --git a/src/plugins/coreplugin/progressmanager/progressview.cpp b/src/plugins/coreplugin/progressmanager/progressview.cpp
index 45b10286dc4..333df54a518 100644
--- a/src/plugins/coreplugin/progressmanager/progressview.cpp
+++ b/src/plugins/coreplugin/progressmanager/progressview.cpp
@@ -130,8 +130,8 @@ void ProgressView::mousePressEvent(QMouseEvent *ev)
static QPoint boundedInParent(QWidget *widget, const QPoint &pos, QWidget *parent)
{
QPoint bounded = pos;
- bounded.setX(qBound(widget->rect().width(), bounded.x(), parent->width()));
- bounded.setY(qBound(widget->rect().height(), bounded.y(), parent->height()));
+ bounded.setX(std::max(widget->rect().width(), std::min(bounded.x(), parent->width())));
+ bounded.setY(std::max(widget->rect().height(), std::min(bounded.y(), parent->height())));
return bounded;
}
diff --git a/src/plugins/coreplugin/session.cpp b/src/plugins/coreplugin/session.cpp
index 7238a09a2ee..6b1723cf1e1 100644
--- a/src/plugins/coreplugin/session.cpp
+++ b/src/plugins/coreplugin/session.cpp
@@ -609,6 +609,7 @@ bool SessionManager::loadSession(const QString &session, bool initial)
return true;
}
} else if (loadImplicitDefault) {
+ emit SessionManager::instance()->sessionLoaded(DEFAULT_SESSION);
return true;
}
diff --git a/src/plugins/cppeditor/cppcodemodelsettings.cpp b/src/plugins/cppeditor/cppcodemodelsettings.cpp
index d0976b8128d..7a32011cf54 100644
--- a/src/plugins/cppeditor/cppcodemodelsettings.cpp
+++ b/src/plugins/cppeditor/cppcodemodelsettings.cpp
@@ -492,6 +492,7 @@ void ClangdProjectSettings::setDiagnosticConfigId(Utils::Id configId)
{
m_customSettings.diagnosticConfigId = configId;
saveSettings();
+ emit ClangdSettings::instance().changed();
}
void ClangdProjectSettings::blockIndexing()
diff --git a/src/plugins/cppeditor/cpphighlighter.cpp b/src/plugins/cppeditor/cpphighlighter.cpp
index 656173feee2..f562d9afece 100644
--- a/src/plugins/cppeditor/cpphighlighter.cpp
+++ b/src/plugins/cppeditor/cpphighlighter.cpp
@@ -56,7 +56,8 @@ void CppHighlighter::highlightBlock(const QString &text)
const Tokens tokens = tokenize(text, initialLexerState);
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;
if (TextBlockUserData *userData = TextDocumentLayout::textUserData(currentBlock())) {
userData->setFoldingIndent(0);
@@ -220,7 +221,8 @@ void CppHighlighter::highlightBlock(const QString &text)
if (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();
if (lastToken.is(T_COMMENT) || lastToken.is(T_DOXY_COMMENT)) {
insertParen({Parenthesis::Opened, QLatin1Char('+'), lastToken.utf16charsBegin()});
@@ -636,6 +638,30 @@ void CppHighlighterTest::test()
QCOMPARE(actualFormat, expectedFormat);
}
}
+
+void CppHighlighterTest::testParentheses_data()
+{
+ QTest::addColumn("line");
+ QTest::addColumn("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
#endif // WITH_TESTS
diff --git a/src/plugins/cppeditor/cpphighlighter.h b/src/plugins/cppeditor/cpphighlighter.h
index 1728ffeb777..e2fac20bba6 100644
--- a/src/plugins/cppeditor/cpphighlighter.h
+++ b/src/plugins/cppeditor/cpphighlighter.h
@@ -52,6 +52,8 @@ public:
private slots:
void test_data();
void test();
+ void testParentheses_data();
+ void testParentheses();
private:
QTextDocument m_doc;
diff --git a/src/plugins/cppeditor/testcases/highlightingtestcase.cpp b/src/plugins/cppeditor/testcases/highlightingtestcase.cpp
index 53ffcc1b55e..d1ec061aa29 100644
--- a/src/plugins/cppeditor/testcases/highlightingtestcase.cpp
+++ b/src/plugins/cppeditor/testcases/highlightingtestcase.cpp
@@ -37,3 +37,10 @@ const auto s5 = uR"("o
ne")"_w;
const auto s6 = u"o\
ne"_w;
+
+static void parenTest()
+{
+ do {
+ /* comment */ \
+ } while (false);
+}
diff --git a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp
index 8cf92fe1da8..8811934aee4 100644
--- a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp
+++ b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp
@@ -155,7 +155,8 @@ bool DebuggerRunConfigurationAspect::useCppDebugger() const
static bool projectHasQmlDefines(ProjectExplorer::Project *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(),
[](const CppEditor::ProjectPart::ConstPtr &part){
return Utils::anyOf(part->projectMacros, [](const Macro ¯o){
diff --git a/src/plugins/mesonprojectmanager/ninjabuildstep.cpp b/src/plugins/mesonprojectmanager/ninjabuildstep.cpp
index ac41aeecfaa..0cb71186bdd 100644
--- a/src/plugins/mesonprojectmanager/ninjabuildstep.cpp
+++ b/src/plugins/mesonprojectmanager/ninjabuildstep.cpp
@@ -59,6 +59,7 @@ QWidget *NinjaBuildStep::createConfigWidget()
buildTargetsList->setFrameShadow(QFrame::Raised);
auto toolArguments = new QLineEdit(widget);
+ toolArguments->setText(m_commandArgs);
auto wrapper = Core::ItemViewFind::createSearchableWrapper(buildTargetsList,
Core::ItemViewFind::LightColored);
diff --git a/src/plugins/nim/project/nimcompilerbuildstep.cpp b/src/plugins/nim/project/nimcompilerbuildstep.cpp
index 588098619a2..76802a85df8 100644
--- a/src/plugins/nim/project/nimcompilerbuildstep.cpp
+++ b/src/plugins/nim/project/nimcompilerbuildstep.cpp
@@ -60,7 +60,7 @@ QWidget *NimCompilerBuildStep::createConfigWidget()
auto additionalArgumentsLineEdit = new QLineEdit(widget);
auto commandTextEdit = new QTextEdit(widget);
- commandTextEdit->setEnabled(false);
+ commandTextEdit->setReadOnly(true);
commandTextEdit->setMinimumSize(QSize(0, 0));
auto defaultArgumentsComboBox = new QComboBox(widget);
diff --git a/src/plugins/nim/project/nimtoolchainfactory.cpp b/src/plugins/nim/project/nimtoolchainfactory.cpp
index 01ec5373b55..415e7e76962 100644
--- a/src/plugins/nim/project/nimtoolchainfactory.cpp
+++ b/src/plugins/nim/project/nimtoolchainfactory.cpp
@@ -83,7 +83,7 @@ NimToolChainConfigWidget::NimToolChainConfigWidget(NimToolChain *tc)
fillUI();
// Connect
- connect(m_compilerCommand, &PathChooser::textChanged, this, [this] {
+ connect(m_compilerCommand, &PathChooser::validChanged, this, [this] {
const FilePath path = m_compilerCommand->rawFilePath();
auto tc = static_cast(toolChain());
QTC_ASSERT(tc, return);
diff --git a/src/plugins/qmldesigner/designmodewidget.cpp b/src/plugins/qmldesigner/designmodewidget.cpp
index 1bb427bd055..c4e3128d3f4 100644
--- a/src/plugins/qmldesigner/designmodewidget.cpp
+++ b/src/plugins/qmldesigner/designmodewidget.cpp
@@ -222,26 +222,18 @@ void DesignModeWidget::setup()
// Connect opening of the 'workspaces' menu with creation of the workspaces menu
connect(mworkspaces->menu(), &QMenu::aboutToShow, this, &DesignModeWidget::aboutToShowWorkspaces);
- Core::ActionContainer *mpanes = Core::ActionManager::actionContainer(Core::Constants::M_VIEW_PANES);
-
// Initially disable menus
- mviews->menu()->setEnabled(false);
mworkspaces->menu()->setEnabled(false);
- mpanes->menu()->setEnabled(false);
// Enable/disable menus when mode is different to MODE_DESIGN
connect(Core::ModeManager::instance(),
&Core::ModeManager::currentModeChanged,
this,
- [mviews, mworkspaces, mpanes](Utils::Id mode, Utils::Id) {
+ [mworkspaces](Utils::Id mode, Utils::Id) {
if (mode == Core::Constants::MODE_DESIGN) {
- mviews->menu()->setEnabled(true);
mworkspaces->menu()->setEnabled(true);
- mpanes->menu()->setEnabled(true);
} else {
- mviews->menu()->setEnabled(false);
mworkspaces->menu()->setEnabled(false);
- mpanes->menu()->setEnabled(false);
}
});
diff --git a/src/plugins/remotelinux/remotelinuxenvironmentaspect.cpp b/src/plugins/remotelinux/remotelinuxenvironmentaspect.cpp
index 1be0624490f..07880089de2 100644
--- a/src/plugins/remotelinux/remotelinuxenvironmentaspect.cpp
+++ b/src/plugins/remotelinux/remotelinuxenvironmentaspect.cpp
@@ -38,7 +38,7 @@ public:
auto fetchButton = new QPushButton(Tr::tr("Fetch Device Environment"));
addWidget(fetchButton);
- connect(target, &Target::kitChanged, [aspect] { aspect->setRemoteEnvironment({}); });
+ connect(target, &Target::kitChanged, aspect, [aspect] { aspect->setRemoteEnvironment({}); });
connect(fetchButton, &QPushButton::clicked, this, [aspect, target] {
if (IDevice::ConstPtr device = DeviceKitAspect::device(target->kit())) {
diff --git a/src/shared/json/json.qbs b/src/shared/json/json.qbs
index 99726f7d68d..060e1bda9db 100644
--- a/src/shared/json/json.qbs
+++ b/src/shared/json/json.qbs
@@ -3,7 +3,7 @@ import qbs
StaticLibrary {
name: "qtcjson"
Depends { name: "cpp" }
- cpp.cxxLanguageVersion: "c++11"
+ cpp.cxxLanguageVersion: "c++17"
cpp.minimumMacosVersion: project.minimumMacosVersion
files: [
"json.cpp",
diff --git a/src/shared/qbs b/src/shared/qbs
index 97769dfdacd..2e6eb75c76c 160000
--- a/src/shared/qbs
+++ b/src/shared/qbs
@@ -1 +1 @@
-Subproject commit 97769dfdacd006f4d82b240371e3ca79d445ab7a
+Subproject commit 2e6eb75c76c2d042eb07a8e6bcb4aa03b8843205
diff --git a/tests/manual/haskell/simple/stack.yaml b/tests/manual/haskell/simple/stack.yaml
index 9f5c8c628b2..4b8c90d83d1 100644
--- a/tests/manual/haskell/simple/stack.yaml
+++ b/tests/manual/haskell/simple/stack.yaml
@@ -15,7 +15,7 @@
# resolver:
# name: custom-snapshot
# location: "./custom-snapshot.yaml"
-resolver: lts-7.24
+resolver: lts-21.1
# User packages to be built.
# Various formats can be used as shown in the example below.
diff --git a/tests/system/objects.map b/tests/system/objects.map
index 97d44b7ed26..e69bd12677e 100644
--- a/tests/system/objects.map
+++ b/tests/system/objects.map
@@ -192,7 +192,7 @@
: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_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'}
:User Interface.languageBox_QComboBox {name='languageBox' type='QComboBox' visible='1'}
:Utils::FakeToolTip {type='Utils::FakeToolTip' unnamed='1' visible='1'}
diff --git a/tests/system/suite_SCOM/tst_SCOM04/test.py b/tests/system/suite_SCOM/tst_SCOM04/test.py
index 038c8a7a2e6..6351f4216e6 100644
--- a/tests/system/suite_SCOM/tst_SCOM04/test.py
+++ b/tests/system/suite_SCOM/tst_SCOM04/test.py
@@ -8,7 +8,7 @@ source("../../shared/suites_qtta.py")
def main():
# expected error texts - for different compilers
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", # MSVC2015
"use of undeclared identifier 'SyntaxError'",
diff --git a/tests/system/suite_editors/tst_clean_whitespaces/test.py b/tests/system/suite_editors/tst_clean_whitespaces/test.py
index 6dab4720f9e..5c9e7aa6a65 100644
--- a/tests/system/suite_editors/tst_clean_whitespaces/test.py
+++ b/tests/system/suite_editors/tst_clean_whitespaces/test.py
@@ -28,7 +28,7 @@ def main():
baseName = os.path.basename(currentFile)
fileName = os.path.join(directory, baseName)
test.log("Testing file %s" % fileName)
- content = readFile(currentFile)
+ content = stringify(readFile(currentFile))
preparedContent, emptyLine, trailingWS = prepareFileExternal(fileName, content)
isIgnored = isIgnoredFile(baseName, ignoredFiles)
test.verify(preparedContent.find('\t') != -1, "Added at least one tab.")
diff --git a/tests/system/suite_editors/tst_select_all/test.py b/tests/system/suite_editors/tst_select_all/test.py
index bf95250cf77..5a3814aae9d 100644
--- a/tests/system/suite_editors/tst_select_all/test.py
+++ b/tests/system/suite_editors/tst_select_all/test.py
@@ -18,7 +18,7 @@ def main():
return
for currentFile in files:
test.log("Opening file %s" % currentFile)
- size = len(readFile(currentFile))
+ size = len(stringify(readFile(currentFile)))
invokeMenuItem("File", "Open File or Project...")
selectFromFileDialog(currentFile, True)
editor = getEditorForFileSuffix(currentFile)
diff --git a/tests/system/suite_general/tst_default_settings/test.py b/tests/system/suite_general/tst_default_settings/test.py
index f710dd1375a..b1bf0b36d55 100644
--- a/tests/system/suite_general/tst_default_settings/test.py
+++ b/tests/system/suite_general/tst_default_settings/test.py
@@ -4,6 +4,8 @@
source("../../shared/qtcreator.py")
currentSelectedTreeItem = None
+sectionInProgress = None
+genericDebuggers = []
warningOrError = re.compile('