diff --git a/doc/qtcreator/images/extraimages/images/EhJ1eV_6RH8.jpg b/doc/qtcreator/images/extraimages/images/EhJ1eV_6RH8.jpg new file mode 100644 index 00000000000..04f3f03e2b0 Binary files /dev/null and b/doc/qtcreator/images/extraimages/images/EhJ1eV_6RH8.jpg differ diff --git a/doc/qtcreator/images/extraimages/images/FTSvDmcAgPI.jpg b/doc/qtcreator/images/extraimages/images/FTSvDmcAgPI.jpg new file mode 100644 index 00000000000..ff4798dd033 Binary files /dev/null and b/doc/qtcreator/images/extraimages/images/FTSvDmcAgPI.jpg differ diff --git a/doc/qtcreator/images/extraimages/images/LnVjI0I7cKs.jpg b/doc/qtcreator/images/extraimages/images/LnVjI0I7cKs.jpg new file mode 100644 index 00000000000..68fc982a2e5 Binary files /dev/null and b/doc/qtcreator/images/extraimages/images/LnVjI0I7cKs.jpg differ diff --git a/doc/qtcreator/images/extraimages/images/hOx3dod5-1A.jpg b/doc/qtcreator/images/extraimages/images/hOx3dod5-1A.jpg new file mode 100644 index 00000000000..a75657f81cd Binary files /dev/null and b/doc/qtcreator/images/extraimages/images/hOx3dod5-1A.jpg differ diff --git a/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf b/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf index 200058d4a48..dcaf3a6bf9a 100644 --- a/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf +++ b/doc/qtcreator/images/extraimages/qtcreator-extraimages.qdocconf @@ -1,3 +1,7 @@ {HTML.extraimages,qhp.QtCreator.extraFiles} += \ images/commercial.png \ - images/5OiIqFTjUZI.jpg + images/5OiIqFTjUZI.jpg \ + images/EhJ1eV_6RH8.jpg \ + images/FTSvDmcAgPI.jpg \ + images/hOx3dod5-1A.jpg \ + images/LnVjI0I7cKs.jpg diff --git a/doc/qtcreator/images/qtcreator-preferences.webp b/doc/qtcreator/images/qtcreator-preferences.webp new file mode 100644 index 00000000000..ed41980390b Binary files /dev/null and b/doc/qtcreator/images/qtcreator-preferences.webp differ diff --git a/doc/qtcreator/images/qtcreator-scratch-buffer.webp b/doc/qtcreator/images/qtcreator-scratch-buffer.webp new file mode 100644 index 00000000000..a9556e193b7 Binary files /dev/null and b/doc/qtcreator/images/qtcreator-scratch-buffer.webp differ diff --git a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc index 391618cc698..5b3e0797f71 100644 --- a/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc +++ b/doc/qtcreator/src/debugger/creator-only/creator-debugger.qdoc @@ -781,6 +781,10 @@ the display text might do something wrong. You can step through the code and examine changes to the variable to find out where the error occurs. + The following video shows how to examine variable values: + + \youtube EhJ1eV_6RH8 + \section1 Showing Tooltips for Simple Values To display the value of a simple variable, hover the mouse pointer over its diff --git a/doc/qtcreator/src/howto/creator-how-to-macos.qdoc b/doc/qtcreator/src/howto/creator-how-to-macos.qdoc new file mode 100644 index 00000000000..166fb4517af --- /dev/null +++ b/doc/qtcreator/src/howto/creator-how-to-macos.qdoc @@ -0,0 +1,36 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! + \page creator-how-to-macos.html + \if defined(qtcreator) + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \endif + \ingroup creator-how-to-ui + \ingroup studio-how-to + + \title Find menu items on \macos + + \QC uses standard names and locations for standard features, such as + \e preferences. In this manual, the names and locations on + Windows and Linux are usually used to keep the instructions short. Here are + some places to check if you cannot find a function, dialog, or keyboard + shortcut on \macos when following the instructions: + + \table + \header + \li For + \li Look In + \row + \li \uicontrol Edit > \uicontrol Preferences + \li \uicontrol {\QC} > \uicontrol Preferences + \row + \li \uicontrol Help > \uicontrol {About Plugins} + \li \uicontrol {\QC} > \uicontrol {About Plugins} + \row + \li Keyboard shortcuts + \li \uicontrol {\QC} > \uicontrol Preferences > \uicontrol Environment > + \uicontrol Keyboard + \endtable +*/ 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 new file mode 100644 index 00000000000..681e6b421ad --- /dev/null +++ b/doc/qtcreator/src/howto/creator-how-to-set-high-dpi-scaling.qdoc @@ -0,0 +1,38 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! + \page creator-how-to-set-high-dpi-scaling.html + \if defined(qtcreator) + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \endif + \ingroup creator-how-to-ui + \ingroup studio-how-to + + \title Set high DPI scaling + + The operating systems that \QC supports implement high dots-per-inch (DPI) + scaling at varying levels. Therefore, \QC handles high DPI scaling + differently on different operating systems: + + \list + \li On \macos, \QC forces high DPI scaling, which means that it allows + Qt to use the system scaling factor as the \QC scaling factor. + \li On Windows, if you do not set \l{High DPI} + {scaling environment variables}, \QC instructs Qt to detect the + scaling factor and use it as the \QC scaling factor. + \li On Linux, \QC leaves it to the user to enable high DPI scaling + because the process varies so much on different distributions + and windowing systems that it cannot be reliably done automatically. + \endlist + + To override the default approach and always enable high DPI scaling: + + \list 1 + \li Select \uicontrol Edit > \uicontrol Preferences > + \uicontrol Environment > \uicontrol Interface. + \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-how-to-switch-ui-themes.qdoc b/doc/qtcreator/src/howto/creator-how-to-switch-ui-themes.qdoc new file mode 100644 index 00000000000..c03a50cf930 --- /dev/null +++ b/doc/qtcreator/src/howto/creator-how-to-switch-ui-themes.qdoc @@ -0,0 +1,26 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! + \page creator-how-to-switch-ui-themes.html + \if defined(qtcreator) + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \endif + \ingroup creator-how-to-ui + \ingroup studio-how-to + + \title Switch UI themes + + Themes enable you to change the appearance of the UI from dark to light, + for example. + + To switch themes: + + \list 1 + \li Select \uicontrol Edit > \uicontrol Preferences > + \uicontrol Environment > \uicontrol Interface. + \image qtcreator-preferences-environment-interface.webp {Interface preferences} + \li In \uicontrol Theme, select a theme. + \endlist +*/ diff --git a/doc/qtcreator/src/howto/creator-how-to-view-images.qdoc b/doc/qtcreator/src/howto/creator-how-to-view-images.qdoc new file mode 100644 index 00000000000..0671ed9980c --- /dev/null +++ b/doc/qtcreator/src/howto/creator-how-to-view-images.qdoc @@ -0,0 +1,66 @@ +// 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-images.html + \if defined(qtcreator) + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \endif + \ingroup creator-how-to-design + \ingroup studio-how-to-image-viewer + + \title View images + + \QC opens image files in the image viewer. + + \image qtcreator-image-viewer.png {Image viewer} + + Use the toolbar buttons or \l{Keyboard Shortcuts}{keyboard shortcuts} to: + + \list + \li \inlineimage icons/export.png + - Export SVG images to pixmaps or copy an image as a data URL, which + enables you to include it in web pages as if it were an external + resource + \li \inlineimage icons/original-size.png + - Return images to their original size + \li \inlineimage icons/zoom-in.png + - Zoom in and out (\inlineimage icons/zoom-out.png + ) + \li \inlineimage icons/run_small.png + - Play and pause animated GIF and MNG images + \li \inlineimage icons/qtcreator-desktopdevice-button.png + - Show and hide the image background + \li \inlineimage icons/switch-outline.png + - Show and hide the image outline + \li \inlineimage icons/fittoview.png + - Fit images to screen + \endlist + + Select \uicontrol {Set as Default} to use the current settings for the + background and outline modes and fitting images to screen as default + values for the image viewer. +*/ + +/*! + \page creator-how-to-export-svg-images.html + \if defined(qtcreator) + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \endif + \ingroup creator-how-to-design + \ingroup studio-how-to-image-viewer + + \title Export SVG images + + If you have a freely scalable icon in the SVG format, you can open it in the + \l{View images}{image viewer} to export it to several images of different + sizes to create a set of pixmaps. + + Select \inlineimage icons/export.png + on the toolbar. + + You can then use QIcon::addPixmap() to add the pixmaps to icons in + different modes and states. +*/ diff --git a/doc/qtcreator/src/howto/creator-only/creator-how-to-find-settings-files.qdoc b/doc/qtcreator/src/howto/creator-only/creator-how-to-find-settings-files.qdoc new file mode 100644 index 00000000000..42cb4759648 --- /dev/null +++ b/doc/qtcreator/src/howto/creator-only/creator-how-to-find-settings-files.qdoc @@ -0,0 +1,32 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! + \page creator-how-to-find-settings-files.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-use + + \title Find settings files + + \QC creates the following files and directories: + + \list + \li QtCreator.db + \li QtCreator.ini + \li qtversion.xml + \li qtcreator + \endlist + + The location of the above files and directories depends on the platform: + + \list + \li On Linux and other Unix platforms, look in + \c {~/.config/QtProject} and + \c {~/.local/share/data/QtProject/qtcreator}. + \li On \macos, look in \c {~/.config/QtProject} and + \c {~/Library/Application Support/QtProject/Qt Creator}. + \li On Windows, look in + \c {%appdata%\QtProject} and \c {%localappdata%\QtProject}. + \endlist +*/ 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 afc1450be8b..e4fb87f7c10 100644 --- a/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc +++ b/doc/qtcreator/src/howto/creator-only/creator-how-tos.qdoc @@ -12,35 +12,70 @@ \page creator-how-tos.html \nextpage creator-known-issues.html - \title How-tos + \title How-to - How do I: + The following topics describe how to use \QC to perform a particular task. + + \section1 Use the UI \list - \li \l {Switch between modes} - \li \l {Move between open files} - \li \l {Switch to Edit mode} - \li \l {Find a specific setting} - \li \l {View output} - \li \l {Find keyboard shortcuts} - \li \l {Run \QC from the command line} - \li \l {Show and hide sidebars} - \li \l {Move to symbols} - \li \l {Quickly locate files using the keyboard} - \li \l {Perform calculations} - \li \l {Jump to a function in QML code} - \li \l {Add a license header template for C++ code} - \li \l {Paste text from my clipboard history} - \li \l {Sort lines alphabetically} - \li \l {Enclose selected code in curly braces, parentheses, or double quotes} - \li \l {Select the enclosing block in C++} - \li \l {Add my own code snippets to the auto-complete menu} - \li \l {Quickly write down notes somewhere} - \li \l {Configure the amount of recent files shown} - \li \l {Search and replace across files using a regular expression} + \li \l {Find a particular preference} + \li \l {Find keyboard shortcuts} + \li \l {Find menu items on \macos} + \li \l {Set high DPI scaling} + \li \l {Set the number of recent files shown} + \li \l {Show and hide sidebars} + \li \l {Switch between modes} + \li \l {Switch UI themes} + \li \l {View output} \endlist - \section1 Switch between modes + \section1 Edit Code + + \list + \li \l {Add code snippets to the auto-complete menu} + \li \l {Enclose selected code in curly braces, parentheses, or double quotes} + \li \l {Jump to a function in QML code} + \li \l {Locate files using the keyboard} + \li \l {Move between open files} + \li \l {Move to symbols} + \li \l {Paste text from clipboard history} + \li \l {Perform calculations} + \li \l {Search and replace across files using a regular expression} + \li \l {Select the enclosing block in C++} + \li \l {Sort lines alphabetically} + \li \l {Switch to Edit mode} + \li \l {Write down notes} + \endlist + + \section1 Design UIs + + \list + \li \l {Export SVG images} + \li \l {View images} + \endlist + + \section1 Manage Projects + + \list + \li \l {Add a license header template for C++ code} + \endlist + + \section1 Use \QC + + \list + \li \l {Find settings files} + \li \l {Run \QC from the command line} + \endlist +*/ + +/*! + \page creator-how-to-switch-between-modes.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-ui + + \title Switch between modes \QC uses different modes for different purposes. You can quickly switch between these modes with the following keyboard shortcuts: @@ -57,8 +92,15 @@ \endlist For more information about \QC modes, see \l {Selecting Modes}. +*/ - \section1 Move between open files +/*! + \page creator-how-to-move-between-open-files.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Move between open files To quickly move between currently open files, press \key Ctrl+Tab. @@ -68,8 +110,15 @@ (\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}. +*/ - \section1 Switch to Edit mode +/*! + \page creator-how-to-switch-to-edit-mode.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Switch to Edit mode To move to the \uicontrol Edit mode and currently active file, press \key Esc. @@ -83,13 +132,29 @@ \li The second press closes secondary windows \endlist +*/ - \section1 Find a specific setting +/*! + \page creator-how-to-find-preferences.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-ui - To find specific settings in \uicontrol Edit > \uicontrol Preferences, + \title Find a particular preference + + To find a particular preference in \uicontrol Edit > \uicontrol Preferences, use the filter located at the top left of the \uicontrol Preferences dialog. - \section1 View output + \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 @@ -113,8 +178,15 @@ \endlist For additional ways to view other types of output, see \l{Viewing Output}. +*/ - \section1 Find keyboard shortcuts +/*! + \page creator-how-to-find-keyboard-shortcuts.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-ui + + \title Find keyboard shortcuts \QC has \l{Keyboard Shortcuts}{many useful keyboard shortcuts}. You can see the keyboard shortcut for a menu command in the menu @@ -124,8 +196,15 @@ \uicontrol Preferences > \uicontrol Environment > \uicontrol Keyboard. \image qtcreator-keyboard-shortcuts.png "Keyboard preferences" +*/ - \section1 Run \QC from the command line +/*! + \page creator-how-to-run-from-cli.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-use + + \title Run \QC from the command line You can launch \QC from the command line using the name of an existing \l{Managing Sessions}{session} or project file by entering @@ -135,8 +214,15 @@ loads the session called \e somesession. For more information, see \l{Using Command Line Options}. +*/ - \section1 Show and hide sidebars +/*! + \page creator-how-to-show-and-hide-sidebars.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-ui + + \title Show and hide sidebars You can toggle the left and right sidebar in some \QC modes. @@ -150,8 +236,15 @@ For more information on using the sidebars, see \l {Browsing Project Contents}. +*/ - \section1 Move to symbols +/*! + \page creator-how-to-move-to-symbols.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Move to symbols To move straight to a symbol used in a project, select the symbol in the \uicontrol Editor toolbar drop-down menu. For more information on the editor @@ -166,8 +259,15 @@ the definition or the declaration of the symbol. You can also move the cursor on the symbol and press \key {F2}. For more information, see \l{Moving to Symbol Definition or Declaration}. +*/ - \section1 Quickly locate files using the keyboard +/*! + \page creator-how-to-locate-files-using-keyboard.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Locate files using the keyboard Use the \uicontrol Locator to browse through projects, files, classes, functions, documentation, and file systems. @@ -184,8 +284,15 @@ \image qtcreator-locator-customize.webp "Locator preferences" For more information, see \l{Creating Locator Filters}. +*/ - \section1 Perform calculations +/*! + \page creator-how-to-perform-calculations.html + \previouspage creator-how-to-move-between-open-files.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Perform calculations Open the \uicontrol Locator with \key {Ctrl+K} and type =, followed by a space. You can now do basic calculations, with options to copy the results to the clipboard @@ -194,13 +301,27 @@ \image qtcreator-locator.webp "List of locator filters" For more information, see \l{Executing JavaScript}. +*/ - \section1 Jump to a function in QML code +/*! + \page creator-how-to-jump-to-functions-in-qml-code.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Jump to a function in QML code Open the \uicontrol Locator with \key {Ctrl+K} and type m, followed by a space. You can now go directly to any QML method in the file. +*/ - \section1 Add a license header template for C++ code +/*! + \page creator-how-to-add-license-header-templates.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-projects + + \title Add a license header template for C++ code Specify a file that has a license header for C++ in \uicontrol Edit > \uicontrol Preferences > \uicontrol C++ > \uicontrol {File Naming} > @@ -223,20 +344,41 @@ \li \c %$VARIABLE%: Contents of environment variable \c{VARIABLE}. \endlist +*/ - \section1 Paste text from my clipboard history +/*! + \page creator-how-to-paste-text-from-clipboard-history.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Paste text from clipboard history \QC stores copied text in clipboard history. To retrieve clips from the history, press \key {Ctrl+Shift+V} until the clip appears. The number of clips in the history is fixed to 10. +*/ - \section1 Sort lines alphabetically +/*! + \page creator-how-to-sort-lines-alphabetically.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Sort lines alphabetically To sort selected lines alphabetically, select \uicontrol Edit > \uicontrol Advanced > \uicontrol {Sort Selected Lines} or press \key {Alt+Shift+S} (or \key Ctrl+Shift+S on \macos). +*/ - \section1 Enclose selected code in curly braces, parentheses, or double quotes +/*! + \page creator-enclose-code-in-characters.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Enclose selected code in curly braces, parentheses, or double quotes When you have selected code and enter one of the following opening characters, the matching closing character is added automatically @@ -253,45 +395,87 @@ \uicontrol {Text Editor} > \uicontrol Completion. \image qtcreator-options-texteditor-completion.png "Completion preferences" +*/ - \section1 Select the enclosing block in C++ +/*! + \page creator-how-to-select-enclosing-block.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Select the enclosing block in C++ Press \key {Ctrl+U}. +*/ - \section1 Add my own code snippets to the auto-complete menu +/*! + \page creator-how-to-add-code-snippets.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit - You can add, modify, and remove snippets in the snippet editor. + \title Add code snippets to the auto-complete menu + + Add, modify, and remove snippets in the snippet editor. To open the editor, select \uicontrol Edit > \uicontrol Preferences > \uicontrol {Text Editor} > \uicontrol Snippets. \image qtcreator-snippet-modifiers.png "Snippets preferences" For more information, see \l {Adding and Editing Snippets}. +*/ - \section1 Quickly write down notes somewhere +/*! + \page creator-how-to-write-notes.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit - Select \uicontrol File > \uicontrol {New File} > - \uicontrol General > \uicontrol {Scratch Buffer}. - Alternatively, \key {Ctrl+N} can be used to open this dialog, which is - fully navigable via keyboard by using the up and down arrow keys and the - tab key. + \title Write down notes - This creates a new empty text file and saves it to the temporary directory - on your machine. You can use it to write down notes without having to worry - about deleting the file afterwards. The operating system will eventually - remove the file automatically. If you want to keep the file, you can easily - save it as a new file somewhere else. If you accidentally close the file, - you can find it in the \uicontrol File > \uicontrol {Recent Files} menu. + To write down notes without having to worry about deleting the file + later, create a new empty text file and save it to a temporary directory + on your machine. - \section1 Configure the amount of recent files shown + \image qtcreator-scratch-buffer.webp {Scratch file open in the text editor} + + To create a scratch file and open it in the text editor: + + \list + \li Select \uicontrol File > \uicontrol {New File} > \uicontrol General > + \uicontrol {Scratch Buffer}. + \li Press \key {Ctrl+N}. + \endlist + + Use the up and down arrow keys and the tab key to navigate in the editor. + + The operating system will eventually remove the file automatically. To keep + the file, save it as a new file somewhere else. If you accidentally close the + file, find it in \uicontrol File > \uicontrol {Recent Files}. +*/ + +/*! + \page creator-how-to-set-recent-files.html + \previouspage creator-how-tos.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-ui + + \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"}. \image qtcreator-options-environment-system.png "System preferences" +*/ - \section1 Search and replace across files using a regular expression +/*! + \page creator-how-to-search-and-replace-using-regexp.html + \previouspage creator-how-to-move-between-open-files.html + \nextpage creator-known-issues.html + \ingroup creator-how-to-edit + + \title Search and replace across files using a regular expression As an example, say you want to replace equality checks (\c {foo == bar}) with a function (\c {foo.equals(bar)}): diff --git a/doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc b/doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc index a782558ebd4..28c431d397a 100644 --- a/doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc +++ b/doc/qtcreator/src/howto/creator-only/qtcreator-faq.qdoc @@ -10,7 +10,7 @@ This section has answers to some frequently asked questions about \QC. You might also find answers to your questions in the - \l{Known Issues} and \l{How-tos} sections, or the Troubleshooting + \l{Known Issues} and \l{How-to} sections, or the Troubleshooting sections for a special area, such as \l{Troubleshooting Debugger}{debugging}. @@ -22,7 +22,7 @@ Remove the settings files created by \QC. For more information about where the files are located on each supported - platform, see \l {Location of Settings Files}. + platform, see \l {Find settings files}. \b {\QC comes with \MinGW, should I use this version with Qt?} diff --git a/doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc b/doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc index a5df9187a42..4b7db858d43 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-help-overview.qdoc @@ -30,7 +30,7 @@ Has answers to some frequently asked questions about \QC. - \li \l{How-tos} + \li \l{How-to} Lists useful \QC features. diff --git a/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc b/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc index befd689d089..3ebbedaba2d 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-overview.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2021 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only // ********************************************************************** @@ -80,21 +80,18 @@ For more information, see \l{Building and Running}. \li \b {\l{Testing}} - \QC integrates several external native debuggers: GNU - Symbolic Debugger (GDB), Microsoft Console Debugger (CDB), and - internal JavaScript debugger. In the \uicontrol Debug mode, you - can inspect the state of your application while debugging. + \QC integrates several external native debuggers that you can use + to inspect the state of your application while debugging. - Devices have limited memory and CPU power, so - you should use them carefully. \QC integrates Valgrind code - analysis tools for detecting memory leaks and profiling function - execution. In addition, the QML Profiler enables you to profile - Qt Quick applications. + Devices have limited memory and CPU power, so you should use them + carefully. \QC integrates code analysis tools for detecting + memory leaks, profiling function execution, analyzing CPU use, + and eliminating unnecessary complexity of code. Other tools + provide code coverage and visualize trace events. - \QC integrates the \l{Qt Test}, Boost.Test, Catch 2 test, - and Google C++ Testing frameworks for unit testing applications - and libraries. You can use \QC to create, build, and run - autotests. + \QC integrates several testing frameworks for unit testing + applications and libraries. You can use \QC to create, build, + and run autotests. For more information, see \l{Testing}. \li \b {Publishing} diff --git a/doc/qtcreator/src/overview/creator-only/creator-testing.qdoc b/doc/qtcreator/src/overview/creator-only/creator-testing.qdoc index 0f704f59bcf..ec77c0c54aa 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-testing.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-testing.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2019 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only // ********************************************************************** @@ -29,11 +29,11 @@ \li \l{Analyzing Code} - \QC integrates Valgrind code analysis tools for detecting memory - leaks and profiling function execution. You must download and - install them separately to use them from \QC. The QML Profiler is - installed as part of \QC. It enables you to profile your Qt Quick - applications. + Use tools for analyzing C++ and QML code to identify issues in + memory management, CPU usage, coding constructs, and so on. You + must install and configure the tools on your system to use them + from \QC. However, the QML Profiler is installed as part of \QC + for profiling Qt Quick applications. \li \l{Running Autotests} diff --git a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc index 7fb958592de..77164799119 100644 --- a/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc +++ b/doc/qtcreator/src/projects/creator-only/creator-projects-creating.qdoc @@ -123,6 +123,10 @@ \endtable + The following video shows how to create a Qt Widgets application project: + + \youtube FTSvDmcAgPI + For examples of creating different types of projects, see \l{Tutorials}. diff --git a/doc/qtcreator/src/qtcreator-toc.qdoc b/doc/qtcreator/src/qtcreator-toc.qdoc index 9b0cd51c993..acf3ca83a7c 100644 --- a/doc/qtcreator/src/qtcreator-toc.qdoc +++ b/doc/qtcreator/src/qtcreator-toc.qdoc @@ -255,7 +255,7 @@ \list \li \l{Using the Help Mode} \li \l{FAQ} - \li \l{How-tos} + \li \l{How-to} \li \l{Known Issues} \li \l{Glossary} \li \l{Technical Support} diff --git a/doc/qtcreator/src/qtcreator.qdoc b/doc/qtcreator/src/qtcreator.qdoc index 280a65ab19b..60f61a9561c 100644 --- a/doc/qtcreator/src/qtcreator.qdoc +++ b/doc/qtcreator/src/qtcreator.qdoc @@ -103,7 +103,7 @@ \list \li \l{Using the Help Mode} \li \l{FAQ} - \li \l{How-tos} + \li \l{How-to} \li \l{Known Issues} \li \l{Glossary} \endlist diff --git a/doc/qtcreator/src/user-interface/creator-ui.qdoc b/doc/qtcreator/src/user-interface/creator-ui.qdoc index f5e59218f46..f2261381d55 100644 --- a/doc/qtcreator/src/user-interface/creator-ui.qdoc +++ b/doc/qtcreator/src/user-interface/creator-ui.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2022 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only // ********************************************************************** @@ -18,102 +18,85 @@ \title User Interface - When you start \QC, it opens to the \uicontrol Welcome mode, where you can: - - \list - \if defined(qtcreator) - \li Open recent sessions - \endif - - \li Open recent projects - - \li Create and open projects - - \li Open tutorials and example projects - - \if defined(qtcreator) - \li Browse Qt extensions in the \l{https://marketplace.qt.io/} - {Qt Marketplace} - \li Download the Qt Installer - \endif - - \li Read news from the online community and Qt blogs - - \li Create or manage a Qt Account - - \endlist - \if defined(qtcreator) - \image qtcreator-breakdown.png - \else - \image studio-welcome-mode.png - \endif + When you start \QC, it opens to the \uicontrol Welcome mode. - \if defined(qtcreator) - Do you want to perform a particular task, such as designing the UI, - writing code, or debugging the application? Select the appropriate mode in - the \l{Selecting Modes}{mode selector} (1). + \image qtcreator-breakdown.png {Welcome mode} - Are you ready to build the application for particular hardware or (5) - run (3) or debug (4) it on a device? Use the kit selector (2) to select - the appropriate \l{glossary-buildandrun-kit}{kit}. The task bar (7) - displays output from these actions. + \table + \header + \li Number + \li UI Control + \li Purpose + \li Read More + \row + \li \inlineimage numbers/01.png + \li Mode selector + \li Perform a particular task, such as designing the UI, writing code, or + debugging the application. + \li \l{Selecting Modes} + \row + \li \inlineimage numbers/02.png + \li Kit selector + \li Select the appropriate \l{glossary-buildandrun-kit}{kit} for building + the project and running it on particular hardware. + \li \l{Activating Kits for a Project} + \row + \li \inlineimage numbers/03.png + \li Run button + \li Run the application on the selected target platform. + \li \l{Running on Multiple Platforms} + \row + \li \inlineimage numbers/04.png + \li Debug button + \li Debug the application on the selected target platform. + \li \l{Debugging} + \row + \li \inlineimage numbers/05.png + \li Build button + \li Build the application using the selected kit. + \li \l{Building for Multiple Platforms} + \row + \li \inlineimage numbers/06.png + \li Locator + \li Find a particular project, file, class, or function. + \li \l{Searching with the Locator} + \row + \li \inlineimage numbers/07.png + \li Output + \li View output from building, running, and other actions. + \li \l{Viewing Output} + \endtable - Are you looking for a particular project, file, class, or function? - Start typing its name in the \l{Searching with the Locator}{locator} (6). - - To see where the above controls are in the user interface, select + To see where the above controls are in the UI, select \uicontrol Help > \uicontrol {UI Tour}. - The following sections describe some \QC controls in more detail: + The following video shows the parts of the UI and the \uicontrol Welcome + mode: - \list - \li \l{Selecting Modes}{Mode selector} - \li \l{Working with Sidebars}{Sidebars} - \li \l{Browsing Project Contents}{Views} - \li \l{Viewing Output}{Output} - \endlist - - \else - You can use the \l{Selecting Modes}{mode selector} to switch to the - \l{Design Views}{Design mode} (1), where you will do - most of your work and the \l{Using the Help Mode}{Help} (2) mode, where - you can read the product documentation. The other modes are for more - advanced use, and you are likely to need them less often. - - Below the mode selector, you can find shortcuts to some more advanced - functions, such as running the application or finding problems in the - QML code by debugging or profiling it. - \endif + \youtube hOx3dod5-1A \section1 What's New? For information about new features and bug fixes in each \QC release, select \uicontrol Help > \uicontrol {Change Log}. - \section1 For \macos Users + \sa {Working with Sidebars}, {Browsing Project Contents} + \sa {Use the UI}{How-to: Use the UI} + \else + When you start \QC, it opens to the \uicontrol Welcome mode, where you can: - \QC uses standard names and locations for standard features, such as - \e preferences. In this manual, the names and locations on - Windows and Linux are usually used to keep the instructions short. Here are - some places to check if you cannot find a function, dialog, or keyboard - shortcut on \macos when following the instructions: + \list + \li Open recent projects + \li Create and open projects + \li Open tutorials and example projects + \li Read news from the online community and Qt blogs + \li Create or manage a Qt Account + \endlist - \table - \header - \li For - \li Look In - \row - \li \uicontrol Edit > \uicontrol Preferences - \li \uicontrol {\QC} > \uicontrol Preferences - \row - \li \uicontrol Help > \uicontrol {About Plugins} - \li \uicontrol {\QC} > \uicontrol {About Plugins} - \row - \li Keyboard shortcuts - \li \uicontrol {\QC} > \uicontrol Preferences > \uicontrol Environment > - \uicontrol Keyboard - \endtable + \image studio-welcome-mode.webp {Welcome mode} + + \endif \if defined(qtdesignstudio) \section1 Customizing the Menu @@ -134,143 +117,26 @@ You need to restart \QDS to apply changes made to these settings. - \endif + \section1 Customizing the UI - \section1 Switching UI Themes - - Themes enable you to change the appearance of the UI from dark to light, - for example. To switch themes, select \uicontrol Edit > \uicontrol Preferences - > \uicontrol Environment, and then select a theme in the \uicontrol Theme - field. - - \image qtcreator-preferences-environment-interface.webp {Interface preferences} - - \section1 Changing Languages - - \QC has several language versions. If the system language - is one of the supported languages, \QC selects it automatically. To - change the language, select \uicontrol Edit > \uicontrol Preferences > - \uicontrol Environment and select a language in the \uicontrol Language - field. Select \uicontrol {Restart Now} to restart \QC and have the change - take effect. - - \section1 High DPI Scaling - - The operating systems that \QC supports implement high dots-per-inch (DPI) - scaling at varying levels. Therefore, \QC handles high DPI scaling - differently on different operating systems: + The following topics describe how to customize the UI: \list - \li On \macos, \QC forces high DPI scaling, which means that it allows - Qt to use the system scaling factor as the \QC scaling factor. - \li On Windows, if you do not set \l{High DPI} - {scaling environment variables}, \QC instructs Qt to detect the - scaling factor and use it as the \QC scaling factor. - \li On Linux, \QC leaves it to the user to enable high DPI scaling - because the process varies so much on different distributions - and windowing systems that it cannot be reliably done automatically. + \li \l {Find menu items on \macos} + \li \l {Set high DPI scaling} + \li \l {Switch UI themes} \endlist - To override the default approach and always enable high-DPI scaling, select - \uicontrol Edit > \uicontrol Preferences > \uicontrol Environment > - \uicontrol {Enable high DPI scaling}. The changes will take effect after you - restart \QC. - - \section1 Navigating with Keyboard - - \QC caters not only to those users who like to use the mouse, but also - to those who are more comfortable with the keyboard. A wide range of - \l{keyboard-shortcuts}{keyboard} and \l{Searching with the Locator} - {navigation} shortcuts are available to help you work faster. - - \if defined(qtcreator) - \section1 Useful Features - - For a list of useful \QC features described in other parts of the - documentation, see \l{How-tos}. - \endif - \section1 Viewing Images - \QC opens image files in the image viewer. + The following topics describe how to use the image viewer: - \image qtcreator-image-viewer.png "Image viewer" - - Use the toolbar buttons or \l{Keyboard Shortcuts}{keyboard shortcuts} to: - - \list - \li \inlineimage icons/export.png - - Export SVG images to pixmaps or copy an image as a data URL, which - enables you to include it in web pages as if it were an external - resource - \li \inlineimage icons/original-size.png - - Return images to their original size - \li \inlineimage icons/zoom-in.png - - Zoom in and out (\inlineimage icons/zoom-out.png - ) - \li \inlineimage icons/run_small.png - - Play and pause animated GIF and MNG images - \li \inlineimage icons/qtcreator-desktopdevice-button.png - - Show and hide the image background - \li \inlineimage icons/switch-outline.png - - Show and hide the image outline - \li \inlineimage icons/fittoview.png - - Fit images to screen + \list + \li \l {Export SVG images} + \li \l {View images} \endlist - Select \uicontrol {Set as Default} to use the current settings for the - background and outline modes and fitting images to screen as default - values for the image viewer. - - \section2 Exporting SVG Images - - If you have a freely scalable icon in the SVG format, - you can export it to several images of different sizes to create a set of - pixmaps. - \if defined(qtcreator) - You can then use QIcon::addPixmap() to add the pixmaps to icons in - different modes and states. \endif - - \if defined(qtcreator) - \section1 Location of Settings Files - - \QC creates the following files and directories: - - \list - - \li QtCreator.db - - \li QtCreator.ini - - \li qtversion.xml - - \li toolChains.xml - - \li qtcreator - - \li qtc-qmldump - - \endlist - - The location of the above files and directories depends on the platform: - - \list - - \li On Linux and other Unix platforms, look in - \c {~/.config/QtProject} and - \c {~/.local/share/data/QtProject/qtcreator}. - - \li On \macos, look in \c {~/.config/QtProject} and - \c {~/Library/Application Support/QtProject/Qt Creator}. - - \li On Windows, look in - \c {%appdata%\QtProject} and \c {%localappdata%\QtProject}. - - \endlist - \endif - - */ /*! diff --git a/doc/qtcreator/src/widgets/qtdesigner-overview.qdoc b/doc/qtcreator/src/widgets/qtdesigner-overview.qdoc index b19bdede094..390db7f2b89 100644 --- a/doc/qtcreator/src/widgets/qtdesigner-overview.qdoc +++ b/doc/qtcreator/src/widgets/qtdesigner-overview.qdoc @@ -24,6 +24,11 @@ Generally, the integrated \QD has the same functions as the standalone \QD. The following sections describe the differences. + The following video shows how to use the integrated \QD to create a small Qt + Widgets-based application: + + \youtube LnVjI0I7cKs + \section1 Code Editor Integration To switch between forms (\uicontrol Design mode) and code (\uicontrol Edit mode), diff --git a/doc/qtcreatordev/src/qtcreator-ui-text.qdoc b/doc/qtcreatordev/src/qtcreator-ui-text.qdoc index 42d5d9466c2..f42c80671af 100644 --- a/doc/qtcreatordev/src/qtcreator-ui-text.qdoc +++ b/doc/qtcreatordev/src/qtcreator-ui-text.qdoc @@ -87,19 +87,75 @@ element. You can also add descriptive text to the UI that is always visible. + Consider adding tooltips for all UI elements that are not obvious from + the context. The tooltips should help users understand what the UI controls + do, so try to make them as clear as possible, even if they get a bit long. + + \section3 Tooltips for Icons + For an icon, you can use the command name as a tool tip. In that case, use book style capitalization and do not add a period after the tool tip. \image qtcreator-tooltip.png {Tooltip} - Tooltips can also contain full sentences. Try to make them as short and - concise as possible, while still making them grammatically correct. Use - sentence style capitalization and punctuation as you would for any - sentence. + \section3 Other Tooltips + + Tooltips can also contain full sentences. \image qtcreator-tooltip-long.png {Sentence as a tooltip} + Follow these guidelines: + + \list + \li Write useful tooltips, but keep them as short and concise as + possible. + \li To help people who localize and people for whom English is a second + language, make tooltips as grammatically clear as possible. Use the + articles a, an, and the, prepositions, such as of, and demonstrative + pronouns, such as this and that, wherever possible. + \li Use sentence style capitalization and punctuation as you would for + any sentence. + \li For input fields, describe the value of the field. Tell users what + they can enter in the field, such as a name or a path, unless it is + obvious from the context. Use a noun phrase, such as \e {The name of + the user account.} Describe limitations and special requirements. + \li For actions, such as most check boxes, radio buttons, push buttons, + and menu items, describe what happens when users select them. Use a + verb phrase, such as \e {Removes trailing whitespace upon saving.} + \li For combo boxes, describe when to pick each option. + \li Describe what the UI control does, not how to use it. If the control + does not work as users would expect it to, check your design, as you + most likely chose the wrong type of control. + \li Do not describe the default value or the minimum and maximum values, + as users can see them in the field. + \endlist + + \section3 Examples + + \table + \header + \li Control + \li Do + \li Don't + \row + \li Button - \uicontrol {Download Definitions} + \li Download missing and update existing syntax definition files. + \li You can select this button to download syntax definition files. + \row + \li Check box - \uicontrol {Clean whitespace} + \li Removes trailing whitespace upon saving. + \li Enable this check box to remove trailing whitespace upon saving. + \row + \li Combo box - \uicontrol Size + \li The font size used in the terminal (in points). + \li Use the up and down arrows to set the font size between 1 and 100. + \row + \li Field - \uicontrol {Shell arguments} + \li The arguments to be passed to the shell. + \li Sets the arguments to be passed to the shell. + \endtable + \section3 Writing Tooltips in Design Mode In Qt Designer, use plain text for tooltips. For extra formatting, write @@ -166,9 +222,11 @@ \section3 Checking Book Style Capitalization - You can use the to-title-case.js script in the \c{\doc\titlecase} - folder to check book style capitalization of UI text or headings in - documentation: + If necessary, use an online \l{https://titlecaseconverter.com/} + {Title Case Converter} to check book style capitalization + of UI text or headings in documentation. + + Or, use the to-title-case.js script in the \c{\doc\titlecase} folder: \list 1 diff --git a/doc/qtdesignstudio/images/studio-welcome-mode.png b/doc/qtdesignstudio/images/studio-welcome-mode.png deleted file mode 100644 index a9be0b021c7..00000000000 Binary files a/doc/qtdesignstudio/images/studio-welcome-mode.png and /dev/null differ diff --git a/doc/qtdesignstudio/images/studio-welcome-mode.webp b/doc/qtdesignstudio/images/studio-welcome-mode.webp new file mode 100644 index 00000000000..ab0528a8280 Binary files /dev/null and b/doc/qtdesignstudio/images/studio-welcome-mode.webp differ diff --git a/share/qtcreator/debugger/dumper.py b/share/qtcreator/debugger/dumper.py index 50dabd217fd..1fd42848d4e 100644 --- a/share/qtcreator/debugger/dumper.py +++ b/share/qtcreator/debugger/dumper.py @@ -1386,7 +1386,7 @@ class DumperBase(): self.putExpandable() return - if DisplayFormat.Array10 <= displayFormat and displayFormat <= DisplayFormat.Array1000: + if DisplayFormat.Array10 <= displayFormat and displayFormat <= DisplayFormat.Array10000: n = (10, 100, 1000, 10000)[displayFormat - DisplayFormat.Array10] self.putType(typeName) self.putItemCount(n) diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index f4886dc760d..0930f3c8475 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -28,49 +28,49 @@ Umschaltbar - Whether the button is checkable. + Toggles if the button is checkable. + + + + Toggles if the button is checked. + + + + Toggles if the button is exclusive. Non-exclusive checkable buttons that belong to the same parent behave as if they are part of the same button group; only one button can be checked at any time. + + + + Toggles if pressed, released, and clicked actions are repeated while the button is pressed and held down. + + + + Sets the initial delay of auto-repetition in milliseconds. + + + + Sets the interval between auto-repetitions in milliseconds. Checked Eingeschaltet - - Whether the button is checked. - - Exclusive - - Whether the button is exclusive. - - Auto-repeat - - Whether the button repeats pressed(), released() and clicked() signals while the button is pressed and held down. - - Repeat delay - - Initial delay of auto-repetition in milliseconds. - - Repeat interval - - Interval of auto-repetition in milliseconds. - - AccountImage @@ -158,22 +158,30 @@ Adds the component to the tab focus chain. - - Position of the component's baseline in local coordinates. - - Enabled Aktiviert + + Toggles if the component is enabled to receive mouse and keyboard input. + + Smooth Glatt + + Uses smooth filtering when the image is scaled or transformed. + + Antialiasing Kantenglättung + + Refines the edges of the image. + + Focus Fokus @@ -182,6 +190,10 @@ Baseline offset Abstand der Basislinie + + Sets the position of the component's baseline in local coordinates. + + AlignCamerasToViewAction @@ -309,6 +321,47 @@ + + AmbientSoundSection + + Ambient Sound + + + + Source + + + + The source file for the sound to be played. + + + + Volume + + + + Set the overall volume for this sound source. +Values between 0 and 1 will attenuate the sound, while values above 1 provide an additional gain boost. + + + + Loops + + + + Sets how often the sound is played before the player stops. +Bind to AmbientSound.Infinite to loop the current sound forever. + + + + Auto Play + + + + Sets whether the sound should automatically start playing when a source gets specified. + + + AnchorButtons @@ -397,12 +450,16 @@ Speed Geschwindigkeit + + Sets the speed of the animation. + + Playing - Whether the animation is playing or paused. + Toggles if the animation is playing. @@ -584,6 +641,137 @@ + + AudioEngineSection + + Audio Engine + + + + Master Volume + + + + Sets or returns overall volume being used to render the sound field. +Values between 0 and 1 will attenuate the sound, while values above 1 provide an additional gain boost. + + + + Output Mode + + + + Sets the current output mode of the engine. + + + + Output Device + + + + Sets the device that is being used for outputting the sound field. + + + + + AudioRoomSection + + Audio Room + + + + Dimensions + + + + Sets the dimensions of the room in 3D space. + + + + Reflection Gain + + + + Sets the gain factor for reflections generated in this room. +A value from 0 to 1 will dampen reflections, while a value larger than 1 will apply a gain to reflections, making them louder. + + + + Reverb Gain + + + + Sets the gain factor for reverb generated in this room. +A value from 0 to 1 will dampen reverb, while a value larger than 1 will apply a gain to the reverb, making it louder. + + + + Reverb Time + + + + Sets the factor to be applies to all reverb timings generated for this room. +Larger values will lead to longer reverb timings, making the room sound larger. + + + + Reverb Brightness + + + + Sets the brightness factor to be applied to the generated reverb. +A positive value will increase reverb for higher frequencies and dampen lower frequencies, a negative value does the reverse. + + + + Left Material + + + + Sets the material to use for the left (negative x) side of the room. + + + + Right Material + + + + Sets the material to use for the right (positive x) side of the room. + + + + Floor Material + + + + Sets the material to use for the floor (negative y) side of the room. + + + + Ceiling Material + + + + Sets the material to use for the ceiling (positive y) side of the room. + + + + Back Material + + + + Sets the material to use for the back (negative z) side of the room. + + + + Front Material + + + + Sets the material to use for the front (positive z) side of the room. + + + AudioSection @@ -599,6 +787,117 @@ + + Axivion + + Project: + + + + Lines of code: + + + + Analysis timestamp: + + + + unknown + unbekannt + + + Total: + + + + Show dashboard + + + + Axivion + + + + Show rule details + + + + Certificate Error + Zertifikatsfehler + + + Server certificate for %1 cannot be authenticated. +Do you want to disable SSL verification for this server? +Note: This can expose you to man-in-the-middle attack. + Server-Zertifikat für %1 kann nicht authentifiziert werden. +Möchten Sie die SSL-Verifikation für diesen Server abschalten? +Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. + + + Dashboard projects: + + + + Fetch Projects + + + + Link Project + + + + Unlink Project + + + + This project is not linked to a dashboard project. + + + + This project is linked to "%1". + + + + Incomplete or misconfigured settings. + + + + curl: + + + + Dashboard URL: + + + + Description: + Beschreibung: + + + Non-empty description + + + + Access token: + + + + IDE Access Token + + + + Edit... + Bearbeiten... + + + Edit Dashboard Configuration + + + + General + Allgemein + + BackgroundColorMenuActions @@ -606,6 +905,143 @@ + + BakeLights + + Bake Lights + + + + Bake lights for the current 3D scene. + + + + + BakeLightsProgressDialog + + Close + Schließen + + + Baking lights for 3D view: %1 + + + + Bake Again + + + + Cancel + Abbrechen + + + + BakeLightsSetupDialog + + Lights baking setup for 3D view: %1 + + + + Expose models and lights + + + + Baking Disabled + + + + Bake Indirect + + + + Bake All + + + + The baking mode applied to this light. + + + + In Use + + + + If checked, this model contributes to baked lighting, +for example in form of casting shadows or indirect light. + + + + Enabled + Aktiviert + + + If checked, baked lightmap texture is generated and rendered for this model. + + + + Resolution: + + + + Generated lightmap resolution for this model. + + + + Setup baking manually + + + + If checked, baking settings above are not applied on close or bake. +Instead, user is expected to set baking properties manually. + + + + Cancel + Abbrechen + + + Apply & Close + + + + Bake + + + + + BakedLightmapSection + + Baked Lightmap + + + + Enabled + Aktiviert + + + When false, the lightmap generated for the model is not stored during lightmap baking, +even if the key is set to a non-empty value. + + + + Key + + + + Sets the filename base for baked lightmap files for the model. +No other Model in the scene can use the same key. + + + + Load Prefix + + + + Sets the folder where baked lightmap files are generated. +It should be a relative path. + + + BorderImageSpecifics @@ -616,74 +1052,114 @@ Border Image Border Image + + Sets the source image for the border. + + + + Sets the dimension of the border image. + + W width The width of the object + + Width + Breite + H height The height of the object H + + Height + Höhe + Tile mode H + + Sets the horizontal tiling mode. + + Tile mode V + + Sets the vertical tiling mode. + + Border left + + Sets the left border. + + Border right + + Sets the right border. + + Border top + + Sets the top border. + + Border bottom + + Sets the bottom border. + + Mirror Spiegeln - Specifies whether the image should be horizontally inverted. - Legt fest, ob das Bild horizontal gespiegelt werden soll. + Toggles if the image should be inverted horizontally. + + + + Toggles if the image should be filtered smoothly when transformed. + + + + Toggles if the image is saved to the cache memory. + + + + Toggles if the image is loaded after all the components in the design. + Smooth Glatt - - Specifies whether the image is smoothly filtered when scaled or transformed. - Legt fest, ob das Bild beim Skalieren oder Umwandeln geglättet wird. - Cache Cache - - Specifies whether the image should be cached. - Legt fest, ob das Bild zwischengespeichert werden soll. - Asynchronous Asynchron - - Specifies that images on the local filesystem should be loaded asynchronously in a separate thread. - Legt fest, dass Bilder aus dem lokalen Dateisystem asynchron in einem eigenen Thread geladen werden. - Source size Größe der Bildquelle @@ -700,7 +1176,7 @@ Läuft - Whether the busy indicator is currently indicating activity. + Toggles if the busy indicator indicates activity. @@ -719,7 +1195,7 @@ - Whether the button is flat and/or highlighted. + Toggles if the button is flat or highlighted. @@ -830,70 +1306,98 @@ Text Text + + Sets the text to display. + + Font Zeichensatz + + Sets the font of the text. + + Style name Stilname - Font's style. + Sets the style of the selected font. This is prioritized over <b>Weight</b> and <b>Emphasis</b>. + + + + Sets the overall thickness of the font. + + + + Sets the letter spacing for the text. + + + + Sets the word spacing for the text. + + + + Sets the line height for the text. Size Größe + + Sets the font size in pixels or points. + + Text color + + Sets the text color. + + Weight - Font's weight. + Emphasis - Emphasis + Sets the text to bold, italic, underlined, or strikethrough. Alignment H + + Sets the horizontal alignment position. + + Alignment V + + Sets the vertical alignment position. + + Letter spacing - - Letter spacing for the font. - - Word spacing - - Word spacing for the font. - - Line height Zeilenhöhe - - Line height for the text. - - CheckBoxSpecifics @@ -937,17 +1441,17 @@ - The current check state. + Sets the state of the check box. + + + + Toggles if the check box can have an intermediate state. Tri-state - - Whether the checkbox has three states. - - ChooseMaterialProperty @@ -1122,6 +1626,10 @@ Spacing Abstand + + Sets the spacing between column items. + + ComboBoxSpecifics @@ -1134,41 +1642,41 @@ - The model role used for displaying text. + Sets the model role for populating the combo box. + + + + Sets the initial display text for the combo box. + + + + Sets the current item. + + + + Toggles if the combo box button is flat. + + + + Toggles if the combo box is editable. Display text - - Holds the text that is displayed on the combo box button. - - Current index Aktueller Index - - The index of the current item. - - Flat Flach - - Whether the combo box button is flat. - - Editable - - Whether the combo box is editable. - - Focus on press Fokussieren durch Betätigen @@ -1192,7 +1700,7 @@ - Edit Base Component + Edit Component @@ -1227,8 +1735,8 @@ - Name - Name + Annotation + Annotation Adds a note with a title to explain the component. @@ -1347,7 +1855,7 @@ Aktueller Index - The index of the current item. + Sets the index of the current item. @@ -1376,6 +1884,10 @@ Add an instance to project + + Click to download material + + ContentLibraryMaterialContextMenu @@ -1399,7 +1911,7 @@ ContentLibraryMaterialsView - <b>Content Library</b> materials are not installed. + No materials available. Make sure you have internet connection. @@ -1419,6 +1931,48 @@ + + ContentLibraryTabButton + + Materials + + + + + ContentLibraryTexture + + Texture was already downloaded. + + + + Network/Texture unavailable or broken Link. + + + + Could not download texture. + + + + Click to download the texture. + + + + Progress: + + + + % + % + + + Downloading... + + + + Extracting... + + + ContentLibraryTextureContextMenu @@ -1437,7 +1991,7 @@ ContentLibraryTexturesView - <b>Content Library</b> textures are not installed. + No textures available. Make sure you have internet connection. @@ -1445,6 +1999,41 @@ + + ContextMenu + + Undo + Rückgängig + + + Redo + Wiederholen + + + Copy + Kopieren + + + Cut + Ausschneiden + + + Paste + Einfügen + + + Delete + + + + Clear + Löschen + + + Select All + + + ControlSection @@ -1456,7 +2045,19 @@ Aktivieren - Whether the control is enabled and hover events are received. + Toggles if the component can receive hover events. + + + + Sets focus method. + + + + Sets the spacing between internal elements of the component. + + + + Toggles if the component supports mouse wheel events. @@ -1467,26 +2068,14 @@ Focus policy - - Focus policy of the control. - - Spacing Abstand - - Spacing between internal elements of the control. - Der Abstand zwischen inneren Elementen des Controls. - Wheel - - Whether control accepts wheel events. - - DelayButtonSpecifics @@ -1499,7 +2088,11 @@ - The delay in milliseconds. + Sets the delay before the button activates. + + + + Milliseconds. @@ -1580,7 +2173,32 @@ Wert - The current value of the dial and whether it provides live value updates. + Sets the value of the dial. + + + + Sets the minimum value of the dial. + + + + Sets the maximum value of the dial. + + + + Sets the number by which the dial value changes. + + + + Sets how the dial's handle snaps to the steps +defined in <b>Step size</b>. + + + + Sets how the user can interact with the dial. + + + + Toggles if the dial wraps around when it reaches the start or end. @@ -1591,50 +2209,26 @@ From Von - - The starting value of the dial range. - - To Bis - - The ending value of the dial range. - - Step size Schrittweite - - The step size of the dial. - - Snap mode Einrasten - - The snap mode of the dial. - - Input mode - - How the dial tracks movement. - - Wrap - - Whether the dial wraps when dragged. - - DialogSpecifics @@ -1647,6 +2241,21 @@ Titel + + DownloadPane + + Downloading... + + + + Progress: + + + + % + % + + DrawerSpecifics @@ -1670,17 +2279,6 @@ Bestimmt die Entfernung vom Rand des Bildschirms, innerhalb derer "Drag"-Aktionen den Drawer öffnen. - - DynamicPropertiesProxyModel - - Property Already Exists - - - - Property "%1" already exists. - - - DynamicPropertiesSection @@ -1745,13 +2343,6 @@ - - EnterTabDesignerAction - - Step into: %1 - Einzelschritt hinein in: %1 - - ErrorDialog @@ -1778,13 +2369,6 @@ Keyframe einfügen - - FileExtractor - - Choose Directory - Verzeichnis wählen - - FileResourcesModel @@ -1809,6 +2393,10 @@ Content size Größe des Inhalts + + Sets the size of the content (the surface controlled by the flickable). + + W width @@ -1833,26 +2421,58 @@ Content Inhalt + + Sets the current position of the component. + + + + Horizontal position. + + + + Vertical position. + + Origin Ursprung + + Sets the origin point of the content. + + Left margin + + Sets an additional left margin in the flickable area. + + Right margin + + Sets an additional right margin in the flickable area. + + Top margin + + Sets an additional top margin in the flickable area. + + Bottom margin + + Sets an additional bottom margin in the flickable area. + + FlickableSection @@ -1860,78 +2480,78 @@ Flickable Flickable - - Allows users to drag or flick a flickable component. - - - - Whether the surface may be dragged beyond the Flickable's boundaries, or overshoot the Flickable's boundaries when flicked. - - - - Whether the Flickable will give a feeling that the edges of the view are soft, rather than a hard physical boundary. - - Press delay Druckverzögerung - - Time to delay delivering a press to children of the Flickable in milliseconds. - - Pixel aligned An Pixeln ausgerichtet - - Sets the alignment of contentX and contentY to pixels (true) or subpixels (false). - Richtet contentX und contentY an Pixeln (wahr) oder Subpixeln (falsch) aus. - Synchronous drag Synchrones Ziehen - - If set to true, then when the mouse or touchpoint moves far enough to begin dragging -the content, the content will jump, such that the content pixel which was under the -cursor or touchpoint when pressed remains under that point. - Wenn dies wahr ist und die Maus oder der Berührungspunkt sich weit genug bewegt, um -ein Ziehen des Inhalts zu beginnen, wird der Inhalt springen. Dadurch bleibt das Inhaltspixel, -das beim Drücken unter dem Zeiger oder Berührungspunkt war, unter diesem Punkt. - Flick direction Richtung der Flickable-Interaktion + + Sets which directions the view can be flicked. + + Behavior Verhalten + + Sets how the flickable behaves when it is dragged beyond its boundaries. + + Movement Bewegung + + Sets how fast an item can be flicked. + + + + Sets the rate by which a flick should slow down. + + + + Sets the time to delay delivering a press to children of the flickable in milliseconds. + + + + Toggles if the component is being moved by complete pixel length. + + + + Toggles if the content should move instantly or not when the mouse or touchpoint is dragged to a new position. + + Interactive Interaktiv + + Toggles if the flickable supports drag and flick actions. + + + + Sets if the edges of the flickable should be soft or hard. + + Max. velocity Maximale Geschwindigkeit - - Maximum flick velocity - Maximale Geschwindigkeit der Flick-Interaktion - Deceleration Verzögerung - - Flick deceleration - Verzögerung der Flick-Interaktion - FlipableSpecifics @@ -1950,10 +2570,22 @@ das beim Drücken unter dem Zeiger oder Berührungspunkt war, unter diesem Punkt Spacing Abstand + + Sets the spacing between flow items. + + + + Sets the direction of flow items. + + Layout direction + + Sets in which direction items in the flow are placed. + + FontExtrasSection @@ -1966,47 +2598,49 @@ das beim Drücken unter dem Zeiger oder Berührungspunkt war, unter diesem Punkt - Capitalization for the text. + Sets capitalization rules for the text. Style Stil + + Sets the font style. + + Style color + + Sets the color for the font style. + + Hinting - Preferred hinting on the text. + Sets how to interpolate the text to render it more clearly when scaled. + + + + Resolves the gap between texts if turned true. + + + + Toggles the font-specific special features. Auto kerning - - Enables or disables the kerning OpenType feature when shaping the text. Disabling this may improve performance when creating or changing the text, at the expense of some cosmetic features. - - Prefer shaping Shaping bevorzugen - - Sometimes, a font will apply complex rules to a set of characters in order to display them correctly. -In some writing systems, such as Brahmic scripts, this is required in order for the text to be legible, whereas in Latin script, - it is merely a cosmetic feature. Setting the preferShaping property to false will disable all such features -when they are not required, which will improve performance in most cases. - Manchmal wendet ein Font komplexe Regeln auf Zeichen an, um sie korrekt anzuzeigen. -In manchen Schriftsystemem, beispielsweise Brahmi, wäre Text sonst nicht lesbar, während es in Latin-Schriften nur der -Verschönerung dient. Die preferShaping-Eigenschaft auf "false" zu setzen deaktiviert diese Funktionalität, wenn sie nicht -benötigt wird, was meist die Geschwindigkeit erhöht. - FontSection @@ -2014,87 +2648,101 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Font Zeichensatz + + Sets the font of the text. + + Size Größe + + Sets the font size in pixels or points. + + Emphasis + + Sets the text to bold, italic, underlined, or strikethrough. + + Capitalization - Capitalization for the text. + Sets capitalization rules for the text. + + + + Sets the overall thickness of the font. + + + + Sets the font style. + + + + Sets how to interpolate the text to render it more clearly when scaled. + + + + Sets the letter spacing for the text. + + + + Sets the word spacing for the text. + + + + Resolves the gap between texts if turned true. + + + + Toggles the disables font-specific special features. Weight - - Font's weight. - - - - Font's style. - - Style color + + Sets the color for the font style. + + Hinting - - Preferred hinting on the text. - - Letter spacing - - Letter spacing for the font. - - Word spacing - - Word spacing for the font. - - Auto kerning - - Enables or disables the kerning OpenType feature when shaping the text. Disabling this may improve performance when creating or changing the text, at the expense of some cosmetic features. - - Style name Stilname - Style - Stil + Sets the style of the selected font. This is prioritized over <b>Weight</b> and <b>Emphasis</b>. + - Sometimes, a font will apply complex rules to a set of characters in order to display them correctly. -In some writing systems, such as Brahmic scripts, this is required in order for the text to be legible, whereas in Latin script, - it is merely a cosmetic feature. Setting the preferShaping property to false will disable all such features -when they are not required, which will improve performance in most cases. - Manchmal wendet ein Font komplexe Regeln auf Zeichen an, um sie korrekt anzuzeigen. -In manchen Schriftsystemem, beispielsweise Brahmi, wäre Text sonst nicht lesbar, während es in Latin-Schriften nur der -Verschönerung dient. Die preferShaping-Eigenschaft auf "false" zu setzen deaktiviert diese Funktionalität, wenn sie nicht -benötigt wird, was meist die Geschwindigkeit erhöht. + Style + Stil Prefer shaping @@ -2275,14 +2923,30 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Columns Spalten + + Sets the number of columns in the grid. + + Rows Zeilen + + Sets the number of rows in the grid. + + + + Sets the space between grid items. The same space is applied for both rows and columns. + + Flow Anordnung + + Sets in which direction items in the grid are placed. + + Layout direction @@ -2291,10 +2955,18 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Alignment H + + Sets the horizontal alignment of items in the grid. + + Alignment V + + Sets the vertical alignment of items in the grid. + + Spacing Abstand @@ -2310,34 +2982,82 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Cell size + + Sets the dimensions of cells in the grid. + + W width The width of the object + + Width + Breite + H height The height of the object H + + Height + Höhe + + + Sets the directions of the cells. + + Layout direction + + Sets in which direction items in the grid view are placed. + + + + Sets how the view scrolling will settle following a drag or flick. + + Cache Cache - Cache buffer - Cache-Puffer + Sets the highlight range mode. + + + + Sets the animation duration of the highlight delegate. + + + + Sets the preferred highlight beginning. It must be smaller than +the <b>Preferred end</b>. Note that the user has to add a +highlight component. + + + + Sets the preferred highlight end. It must be larger than +the <b>Preferred begin</b>. Note that the user has to add +a highlight component. + + + + Toggles if the view manages the highlight. + Flow Anordnung + + Sets in pixels how far the components are kept loaded outside the view's visible area. + + Navigation wraps Tastennavigation bricht um @@ -2346,10 +3066,6 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Snap mode Einrasten - - Determines how the view scrolling will settle following a drag or flick. - Bestimmt, wie die Anzeige nach einer Drag- oder -Flick-Operation zum Stehen kommt. - Whether the grid wraps key navigation. @@ -2362,38 +3078,18 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Range Bereich - - Highlight range - Bereich hervorheben - Move duration Dauer der Bewegung - - Move animation duration of the highlight delegate. - Dauer der Bewegungsanimation des hervorgehobenen Delegates. - - - Whether the highlight is managed by the view. - - Preferred begin Anfang - - Preferred highlight begin - must be smaller than Preferred end. - Beginn der Hervorhebung - muss kleiner sein als der Endwert. - Preferred end Ende - - Preferred highlight end - must be larger than Preferred begin. - Ende der Hervorhebung - muss größer sein als der Anfangswert. - Follows current Aktuellem Element folgen @@ -2410,7 +3106,7 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Titel - The title of the group box. + Sets the title for the group box. @@ -2424,14 +3120,26 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Source + + Sets a background image for the icon. + + Color Farbe + + Sets the color for the icon. + + Size Größe + + Sets the height and width of the icon. + + W width @@ -2457,7 +3165,7 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Cache - Whether the icon should be cached. + Toggles if the icon is saved to the cache memory. @@ -2471,34 +3179,62 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Source + + Adds an image from the local file system. + + Fill mode Füllmodus + + Sets how the image fits in the content box. + + Source size Größe der Bildquelle + + Sets the width and height of the image. + + W width The width of the object + + Width. + + H height The height of the object H + + Height. + + Alignment H + + Sets the horizontal alignment of the image. + + Alignment V + + Sets the vertical alignment of the image. + + Asynchronous Asynchron @@ -2544,7 +3280,7 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Glatt - Smoothly filters the image when it is scaled or transformed. + Uses smooth filtering when the image is scaled or transformed. @@ -2558,6 +3294,10 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Vertical Vertikal + + Sets the space from the top and bottom of the area to the background top and bottom. + + Top inset for the background. @@ -2570,6 +3310,10 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Horizontal Horizontal + + Sets the space from the left and right of the area to the background left and right. + + Left inset for the background. @@ -2582,7 +3326,7 @@ benötigt wird, was meist die Geschwindigkeit erhöht. InsightSection - Analytics + Insight @@ -2591,6 +3335,14 @@ benötigt wird, was meist die Geschwindigkeit erhöht. Category + Kategorie + + + Object name + + + + Sets the object name of the component. @@ -2624,7 +3376,7 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. - Whether the delegate is highlighted. + Toggles if the delegate is highlighted. @@ -2653,6 +3405,10 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. Opacity Deckkraft + + Sets the transparency of the component. + + Layout Layout @@ -2689,8 +3445,8 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. - Go into Component - In Komponente gehen + Edit Component + Add a module. @@ -2717,44 +3473,44 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. Enabled Aktiviert - - Whether the component is layered or not. - - Sampler name - - Name of the effect's source texture property. - - - - Allows requesting multisampled rendering in the layer. - - Effect - - Applies the effect to this layer. - - Format Format - - Internal OpenGL format of the texture. - - Texture size - Requested pixel size of the layer's texture. + Toggles if the component is layered. + + + + Sets the name of the effect's source texture property. + + + + Sets the number of multisample renderings in the layer. + + + + Sets which effect is applied. + + + + Sets the internal OpenGL format for the texture. + + + + Sets the requested pixel size of the layer's texture. @@ -2763,12 +3519,20 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. The width of the object + + Width. + + H height The height of the object H + + Height. + + Texture mirroring @@ -2778,25 +3542,30 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. - OpenGL wrap modes associated with the texture. + Sets the OpenGL wrap modes associated with the texture. + + + + Toggles if mipmaps are generated for the texture. + + + + Toggles if the layer transforms smoothly. + + + + Sets the rectangular area of the component that should +be rendered into the texture. Mipmap MIP Map - - Transforms the layer smoothly. - - Source rectangle - - Sets the rectangular area of the component that should be rendered into the texture. - - Samples Samples @@ -2805,10 +3574,6 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. Layer - - Generates mipmaps for the texture. - - Smooth Glatt @@ -2914,10 +3679,6 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. List View List View - - Spacing between components. - - Cache Cache @@ -2930,10 +3691,6 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. Orientation Ausrichtung - - Orientation of the list. - Ausrichtung der Liste. - Layout direction @@ -2943,13 +3700,33 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. Einrasten - Determines how the view scrolling will settle following a drag or flick. - Bestimmt, wie die Anzeige nach einer Drag- oder -Flick-Operation zum Stehen kommt. + Sets the orientation of the list. + + + + Sets the direction that the cells flow inside a list. + + + + Sets how the view scrolling settles following a drag or flick. + Spacing Abstand + + Sets the spacing between components. + + + + Sets in pixels how far the components are kept loaded outside the view's visible area. + + + + Toggles if the grid wraps key navigation. + + List View Highlight Hervorhebung im List View @@ -2958,74 +3735,74 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. Range Bereich + + Sets the highlight range mode. + + Move duration Dauer der Bewegung - Move animation duration of the highlight delegate. - Dauer der Bewegungsanimation des hervorgehobenen Delegates. - - - Cache buffer. + Sets the animation duration of the highlight delegate when +it is moved. - Whether the grid wraps key navigation. + Sets the animation velocity of the highlight delegate when +it is moved. - Highlight range. + Sets the animation duration of the highlight delegate when +it is resized. + + + + Sets the animation velocity of the highlight delegate when +it is resized. + + + + Sets the preferred highlight beginning. It must be smaller than +the <b>Preferred end</b>. Note that the user has to add +a highlight component. + + + + Sets the preferred highlight end. It must be larger than +the <b>Preferred begin</b>. Note that the user has to add +a highlight component. + + + + Toggles if the view manages the highlight. Move velocity - - Move animation velocity of the highlight delegate. - - Resize duration Dauer der Größenänderung - - Resize animation duration of the highlight delegate. - Dauer der Größenänderungsanimation des hervorgehobenen Delegates. - Resize velocity - - Resize animation velocity of the highlight delegate. - - Preferred begin Anfang - - Preferred highlight begin - must be smaller than Preferred end. - Beginn der Hervorhebung - muss kleiner sein als der Endwert. - Preferred end Ende - - Preferred highlight end - must be larger than Preferred begin. - Ende der Hervorhebung - muss größer sein als der Anfangswert. - Follows current Aktuellem Element folgen - - Whether the highlight is managed by the view. - - LoaderSpecifics @@ -3100,6 +3877,138 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. Show property changes + + Can't rename category, name already exists. + + + + Tracking + + + + With tracking turned on, the application tracks user interactions for all component types in the selected predefined categories. + + + + Enabled + Aktiviert + + + Disabled + Deaktiviert + + + Token + + + + Tokens are used to match the data your application sends to your Qt Insight Organization. + + + + Add token here + + + + Send Cadence + + + + minutes + + + + Predefined Categories + + + + Select the categories to track + + + + Select all + + + + Custom Categories + + + + Manage your own categories + + + + Add new Category + + + + Set runtime configuration for the project. + + + + Kit + Kit + + + Choose a predefined kit for the runtime configuration of the project. + + + + Style + Stil + + + Choose a style for the Qt Quick Controls of the project. + + + + Switch to Design Mode. + + + + Switch to Welcome Mode. + + + + Return to Design + + + + Run Project + + + + Live Preview + + + + Go Back + Vorheriges + + + Go Forward + Nächstes + + + Close + Schließen + + + Workspace + + + + Edit Annotations + + + + Share + + + + More Items + + MainWindow @@ -3150,7 +4059,11 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. MaterialBrowser - Add a material. + Add a Material. + + + + Add a Texture. @@ -3181,10 +4094,6 @@ IDs müssen außerdem mit einem Kleinbuchstaben beginnen. There are no textures in this project. - - Add a texture. - - MaterialBrowserContextMenu @@ -3397,21 +4306,41 @@ Error: Accepted buttons Akzeptierte Tasten + + Sets how the mouse can interact with the area. + + + + Sets which mouse buttons the area reacts to. + + Cursor shape Mauszeiger-Form + + Sets which mouse cursor to display on this area. + + + + Sets the time before the pressAndHold signal is registered when you press the area. + + + + Toggles if scroll gestures from non-mouse devices are supported. + + Prevent stealing Stealing verhindern - Enable - Aktivieren + Toggles if the move is smoothly animated. + - Accepts mouse events. - + Enable + Aktivieren Area @@ -3421,42 +4350,18 @@ Error: Hover - - Mouse buttons that the mouse area reacts to. - - - - Cursor shape for this mouse area. - - Hold interval - - Overrides the elapsed time in milliseconds before pressAndHold signal is emitted. - - Scroll gesture - - Responds to scroll gestures from non-mouse devices. - - - - Stops mouse events from being stolen from this mouse area. - - Propagate events - - Automatically propagates composed mouse events to other mouse areas. - - Drag Ziehen @@ -3465,27 +4370,6 @@ Error: Target Ziel - - ID of the component to drag. - - - - Whether dragging can be done horizontally, vertically, or both. - - - - Threshold in pixels of when the drag operation should start. - - - - Whether dragging overrides descendant mouse areas. - - - - Moves targets only after the drag operation has started. -When disabled, moves targets straight to the current mouse position. - - Axis Achse @@ -3498,6 +4382,30 @@ When disabled, moves targets straight to the current mouse position. Threshold Grenze + + Toggles if mouse events can be stolen from this area. + + + + Toggles if composed mouse events should be propagated to other mouse areas overlapping this area. + + + + Sets the component to have drag functionalities. + + + + Sets in which directions the dragging work. + + + + Sets a threshold after which the drag starts to work. + + + + Toggles if the dragging overrides descendant mouse areas. + + Smoothed Glatt @@ -3551,6 +4459,10 @@ When disabled, moves targets straight to the current mouse position. Effect path is too long. + + The name must start with a capital letter, contain at least three characters, and cannot have any special characters. + + Create @@ -3626,6 +4538,65 @@ When disabled, moves targets straight to the current mouse position. + + NodeSection + + Visibility + Sichtbarkeit + + + Sets the local visibility of the node. + + + + Visible + Sichtbar + + + Opacity + Deckkraft + + + Sets the local opacity value of the node. + + + + Transform + + + + Translation + Übersetzung + + + Sets the translation of the node. + + + + Rotation + Drehung + + + Sets the rotation of the node in degrees. + + + + Scale + Skalieren + + + Sets the scale of the node. + + + + Pivot + + + + Sets the pivot of the node. + + + NumberAnimationSpecifics @@ -3666,6 +4637,10 @@ When disabled, moves targets straight to the current mouse position. Vertical Vertikal + + Sets the padding on top and bottom of the item. + + Padding between the content and the top edge of the item. Der Abstand zwischen dem Inhalt und dem oberen Ende des Elements. @@ -3678,6 +4653,10 @@ When disabled, moves targets straight to the current mouse position. Horizontal Horizontal + + Sets the paddding on the left and right sides of the item. + + Padding between the content and the left edge of the item. Der Abstand zwischen dem Inhalt und dem linken Ende des Elements. @@ -3691,8 +4670,8 @@ When disabled, moves targets straight to the current mouse position. Global - Padding between the content and the edges of the items. - Der Abstand zwischen dem Inhalt und den äußeren Enden des Elements. + Sets the padding for all sides of the item. + @@ -3706,25 +4685,25 @@ When disabled, moves targets straight to the current mouse position. Anzahl - The number of pages. + Sets the number of pages. + + + + Sets the current page. + + + + Toggles if the user can interact with the page indicator. Current - - The index of the current page. - - Interactive Interaktiv - - Whether the control is interactive. - - PageSpecifics @@ -3736,16 +4715,17 @@ When disabled, moves targets straight to the current mouse position. Title Titel - - Title of the page. - - Content size Größe des Inhalts - Content width and height used for calculating the total implicit size. + Sets the title of the page. + + + + Sets the size of the page. This is used to +calculate the total implicit size. @@ -3780,7 +4760,8 @@ When disabled, moves targets straight to the current mouse position. Größe des Inhalts - Content width and height used for calculating the total implicit size. + Sets the size of the %1. This is used to calculate +the total implicit size. @@ -3853,57 +4834,74 @@ When disabled, moves targets straight to the current mouse position. Path View - Allows users to drag or flick a path view. + Toggles if the path view allows drag or flick. Drag margin Rand bei Drag-Operation + + Sets a margin within which the drag function also works even without clicking the item itself. + + Flick deceleration Abbremsung der Flick-Interaktion + + Sets the rate by which a flick action slows down after performing. + + Offset Abstand - Specifies how far along the path the items are from their initial positions. This is a real number that ranges from 0.0 to the count of items in the model. - Gibt an, wie weit die Elemente des Pfades von ihren initialen Positionen entfernt sind. Es ist ein Fließkommawert im Bereich von 0 bis zur Anzahl der Elemente im Modell. + Sets how far along the path the items are from their initial position. + + + + Sets the highlight range mode. + + + + Sets the animation duration of the highlight delegate when +it is moved. + + + + Sets the preferred highlight beginning. It must be smaller than +the <b>Preferred end</b>. Note that the user has to add +a highlight component. + + + + Sets the preferred highlight end. It must be larger than +the <b>Preferred begin</b>. Note that the user has to add +a highlight component. + Item count Anzahl der Elemente - Path View Highlight - Hervorhebung im Path View + Sets the number of items visible at once along the path. + - Highlight range - Bereich hervorheben + Path View Highlight + Hervorhebung im Path View Move duration Dauer der Bewegung - - Move animation duration of the highlight delegate. - Dauer der Bewegungsanimation des hervorgehobenen Delegates. - Preferred begin Anfang - - Preferred highlight begin - must be smaller than Preferred end. Note that the user has to add a highlight component. - Beginn der Hervorhebung - muss kleiner sein als der Endwert. Beachten Sie, dass der Benutzer eine Hervorhebungs-Komponente hinzufügen muss. - - - Preferred highlight end - must be larger than Preferred begin. Note that the user has to add a highlight component. - Ende der Hervorhebung - muss größer sein als der Anfangswert. Beachten Sie, dass der Benutzer eine Hervorhebungs-Komponente hinzufügen muss. - Preferred end Ende @@ -3912,10 +4910,6 @@ When disabled, moves targets straight to the current mouse position. Interactive Interaktiv - - Number of items visible on the path at any one time. - - Range Bereich @@ -4017,33 +5011,35 @@ When disabled, moves targets straight to the current mouse position. Wert - The current value of the progress. + Sets the value of the progress bar. + + + + Sets the minimum value of the progress bar. + + + + Sets the maximum value of the progress bar. + + + + Toggles if the progress bar is in indeterminate mode. +A progress bar in indeterminate mode displays that an +operation is in progress. From Von - - The starting value for the progress. - - To Bis - - The ending value for the progress. - - Indeterminate - - Whether the progress is indeterminate. - - PropertyActionSpecifics @@ -4194,14 +5190,6 @@ When disabled, moves targets straight to the current mouse position. File path suggestion for a new project. If you choose to translate it, make sure it is a valid path name without blanks and using only ascii chars. - - Effect %1 not complete - - - - Do you want to edit %1? - - Failed to Add Texture @@ -4210,6 +5198,15 @@ When disabled, moves targets straight to the current mouse position. Could not add %1 to project. %1 konnte nicht zum Projekt hinzugefügt werden. + + Effect %1 is not complete. + + + + Ensure that you have saved it in Qt Quick Effect Maker. +Do you want to edit this effect? + + QmlDesigner::AbstractEditorDialog @@ -4248,28 +5245,6 @@ When disabled, moves targets straight to the current mouse position. Wählen Sie einen Typ, der mit qmlRegisterType oder qmlRegisterSingletonType registriert wurde. Der Typ wird als Eigenschaft in der aktuellen .qml-Datei verfügbar sein. - - QmlDesigner::AddTabDesignerAction - - Naming Error - Fehlerhafter Name - - - Component already exists. - Komponente existiert bereits. - - - - QmlDesigner::AddTabToTabViewDialog - - Dialog - Dialog - - - Add tab: - Tab hinzufügen: - - QmlDesigner::AlignDistribute @@ -4421,14 +5396,6 @@ When disabled, moves targets straight to the current mouse position. Export Export - - Export Components - - - - Export path: - - QmlDesigner::AssetExporter @@ -4604,6 +5571,25 @@ Exporting assets: %2 + + QmlDesigner::BackendModel + + Type + Typ + + + Name + Name + + + Singleton + Singleton + + + Local + + + QmlDesigner::BackgroundAction @@ -4611,6 +5597,40 @@ Exporting assets: %2 Die Farbe der Leinwand einstellen + + QmlDesigner::BakeLights + + Invalid root node, baking aborted. + + + + Baking process crashed, baking aborted. + + + + Lights Baking Setup + + + + Lights Baking Progress + + + + + QmlDesigner::BakeLightsDataModel + + Lights + + + + Models + Modelle + + + Components with unexposed models and/or lights + + + QmlDesigner::BindingEditorDialog @@ -4641,6 +5661,29 @@ Exporting assets: %2 Ctrl+Space + + QmlDesigner::BindingModel + + Item + + + + Property + Eigenschaft + + + Source Item + Quell-Item + + + Source Property + Quell-Eigenschaft + + + Error + Fehler + + QmlDesigner::CapturingConnectionManager @@ -4681,12 +5724,98 @@ Exporting assets: %2 In dieser Datei definierte Subkomponenten bearbeiten. + + QmlDesigner::ConnectionDelegate + + Change to default state + In Grundzustand ändern + + + Change state to %1 + In Zustand %1 ändern + + + Activate FlowAction %1 + FlowAction %1 aktivieren + + + + QmlDesigner::ConnectionModel + + Target + Ziel + + + Signal Handler + Signal-Handler + + + Action + Aktion + + + Error + Fehler + + + + QmlDesigner::ConnectionView + + Connections + Verbindungen + + QmlDesigner::ConnectionViewWidget Connections Verbindungen + + Connections + Title of connections window + Verbindungen + + + Connections + Title of connection tab + Verbindungen + + + Bindings + Title of connection tab + Datenbindungen + + + Properties + Title of dynamic properties tab + Eigenschaften + + + Backends + Title of dynamic properties view + Back-Ends + + + Open Connection Editor + Verbindungseditor öffnen + + + Open Binding Editor + Binding-Editor öffnen + + + Reset Property + Eigenschaft zurücksetzen + + + Add binding or connection. + Datenbindung oder Verbindung hinzufügen. + + + Remove selected binding or connection. + Ausgewählte Datenbindung oder Verbindung entfernen. + QmlDesigner::ContentLibraryView @@ -4739,6 +5868,14 @@ Exporting assets: %2 Current Frame + + Zoom Out + Verkleinern + + + Zoom In + Vergrößern + QmlDesigner::CurveEditorView @@ -4855,12 +5992,50 @@ Exporting assets: %2 Zur Warnung gehen + + QmlDesigner::DynamicPropertiesModel + + Item + + + + Property + Eigenschaft + + + Property Type + Eigenschaftstyp + + + Property Value + Eigenschaftswert + + + Error + Fehler + + + + QmlDesigner::DynamicPropertiesProxyModel + + Property Already Exists + + + + Property "%1" already exists. + + + QmlDesigner::Edit3DView 3D 3D + + 3D view + + Cameras @@ -4928,6 +6103,10 @@ Exporting assets: %2 Align View to Camera + + Bake Lights + + Select Parent @@ -5064,6 +6243,13 @@ Exporting assets: %2 + + QmlDesigner::FileExtractor + + Choose Directory + Verzeichnis wählen + + QmlDesigner::FilePathModel @@ -5104,6 +6290,10 @@ Exporting assets: %2 2D 2D + + 2D view + + %1 is not supported as the root element by the 2D view. @@ -5168,8 +6358,8 @@ Exporting assets: %2 - Reset View - Ansicht zurücksetzen + Reload View + Export Current QML File as Image @@ -5288,6 +6478,29 @@ Exporting assets: %2 Anker + + QmlDesigner::InsightView + + Qt Insight + + + + + QmlDesigner::InsightWidget + + Qt Insight + Title of the widget + + + + Cannot Create QtQuick View + QtQuick View konnte nicht erzeugt werden + + + InsightWidget: %1 cannot be created.%2 + + + QmlDesigner::InteractiveConnectionManager @@ -5314,137 +6527,6 @@ Exporting assets: %2 Alle einklappen - - QmlDesigner::Internal::BackendModel - - Type - Typ - - - Name - Name - - - Singleton - Singleton - - - Local - Lokal - - - - QmlDesigner::Internal::BindingModel - - Item - Item - - - Property - Eigenschaft - - - Source Item - Quell-Item - - - Source Property - Quell-Eigenschaft - - - Error - Fehler - - - - QmlDesigner::Internal::ConnectionDelegate - - Change to default state - In Grundzustand ändern - - - Change state to %1 - In Zustand %1 ändern - - - Activate FlowAction %1 - FlowAction %1 aktivieren - - - - QmlDesigner::Internal::ConnectionModel - - Target - Ziel - - - Signal Handler - Signal-Handler - - - Action - Aktion - - - Error - Fehler - - - - QmlDesigner::Internal::ConnectionView - - Connections - Verbindungen - - - - QmlDesigner::Internal::ConnectionViewWidget - - Connections - Title of connections window - Verbindungen - - - Connections - Title of connection tab - Verbindungen - - - Bindings - Title of connection tab - Datenbindungen - - - Properties - Title of dynamic properties tab - Eigenschaften - - - Backends - Title of dynamic properties view - Back-Ends - - - Open Connection Editor - Verbindungseditor öffnen - - - Open Binding Editor - Binding-Editor öffnen - - - Reset Property - Eigenschaft zurücksetzen - - - Add binding or connection. - Datenbindung oder Verbindung hinzufügen. - - - Remove selected binding or connection. - Ausgewählte Datenbindung oder Verbindung entfernen. - - QmlDesigner::Internal::DebugView @@ -5474,10 +6556,6 @@ Exporting assets: %2 Output Ausgaben - - Switch the active workspace. - Den aktiven Arbeitsbereich wechseln. - Edit global annotation for current file. Globale Annotation der aktuellen Datei bearbeiten. @@ -5491,29 +6569,6 @@ Exporting assets: %2 - - QmlDesigner::Internal::DynamicPropertiesModel - - Item - Item - - - Property - Eigenschaft - - - Property Type - Eigenschaftstyp - - - Property Value - Eigenschaftswert - - - Error - Fehler - - QmlDesigner::Internal::MetaInfoPrivate @@ -5973,6 +7028,10 @@ Exporting assets: %2 Components Komponenten + + Components view + + QmlDesigner::ItemLibraryWidget @@ -6038,6 +7097,10 @@ Exporting assets: %2 Material Browser + + Material Browser view + + Select a material property @@ -6084,6 +7147,10 @@ Exporting assets: %2 Material Editor + + Material Editor view + + QmlDesigner::NavigatorSearchWidget @@ -6103,7 +7170,7 @@ Exporting assets: %2 - Toggles the visibility of this component in the 2D view. + Toggles the visibility of this component in the 2D and 3D views. This is independent of the visibility property. @@ -6134,6 +7201,10 @@ Locked components cannot be modified or selected. Navigator Navigator + + Navigator view + + QmlDesigner::NavigatorWidget @@ -6158,10 +7229,6 @@ Locked components cannot be modified or selected. Move up (CTRL + Up). Nach oben (CTRL + Up). - - Filter Tree - Baum filtern - Show Only Visible Components @@ -6298,35 +7365,9 @@ Locked components cannot be modified or selected. Property %1 does already exist for root component. - - - QmlDesigner::PuppetBuildProgressDialog - Build Progress - Erstellungsfortschritt - - - Open error output file - Fehlerausgabedatei öffnen - - - Use Fallback QML Emulation Layer - Fallback QML-Emulationsschicht benutzen - - - OK - OK - - - Building Adapter for the current Qt. Happens only once for every Qt installation. - Erstelle Adapter für das aktuelle Qt. Dies geschieht nur einmal für jede Qt-Installation. - - - - QmlDesigner::PuppetDialog - - Dialog - Dialog + Property Editor view + @@ -6339,6 +7380,10 @@ Locked components cannot be modified or selected. The QML file is not currently opened in a QML Editor. Die QML-Datei ist in keinem QML-Editor geöffnet. + + Give Feedback... + + License: Enterprise @@ -6351,6 +7396,10 @@ Locked components cannot be modified or selected. Licensee: %1 + + Enjoying the %1? + + QmlDesigner::QmlModelNodeProxy @@ -6490,6 +7539,10 @@ Locked components cannot be modified or selected. Export as &Image... Als &Bild exportieren... + + Take Screenshot + + &Undo &Rückgängig @@ -6522,6 +7575,10 @@ Locked components cannot be modified or selected. Select &All &Alles auswählen + + Edit Global Annotations... + + Save %1 As... Speichere %1 unter... @@ -6637,6 +7694,10 @@ Locked components cannot be modified or selected. Der Plural von "Status" ist "Status": https://de.wiktionary.org/wiki/Status States + + States view + + Remove State @@ -6678,6 +7739,68 @@ Locked components cannot be modified or selected. + + QmlDesigner::StudioConfigSettingsPage + + Qt Design Studio Configuration + + + + + QmlDesigner::StudioSettingsPage + + Build + + + + Debug + Debug + + + Analyze + Analysieren + + + Tools + Werkzeuge + + + Hide top-level menus with advanced functionality to simplify the UI. <b>Build</b> is generally not required in the context of Qt Design Studio. <b>Debug</b> and <b>Analyze</b> are only required for debugging and profiling. <b>Tools</b> can be useful for bookmarks and git integration. + + + + Hide Menu + + + + Examples + Beispiele + + + Examples path: + + + + Reset Path + Pfad zurücksetzen + + + Bundles + + + + Bundles path: + + + + The menu visibility change will take effect after restart. + + + + Changing bundle path will take effect after restart. + + + QmlDesigner::SubComponentManager @@ -6714,6 +7837,10 @@ Locked components cannot be modified or selected. Code Code + + Code view + + QmlDesigner::TextToModelMerger @@ -6752,6 +7879,10 @@ Locked components cannot be modified or selected. Texture Editor + + Texture Editor view + + QmlDesigner::TimelineAnimationForm @@ -7085,6 +8216,10 @@ Locked components cannot be modified or selected. Timeline Timeline + + Timeline view + + QmlDesigner::TimelineWidget @@ -7170,6 +8305,10 @@ Locked components cannot be modified or selected. Transitions + + Transitions view + + QmlDesigner::TransitionEditorWidget @@ -7402,13 +8541,17 @@ Locked components cannot be modified or selected. Reset Position Position zurücksetzen + + Edit Component + + Go to Implementation Zu Implementierung gehen - Add New Signal Handler - Neuen Signal-Handler hinzufügen + Create Component + Edit Annotations @@ -7550,18 +8693,10 @@ Locked components cannot be modified or selected. Apply Formatting - - Enter Component - - Merge with Template - - Make Component - - Edit Material @@ -7827,6 +8962,14 @@ Locked components cannot be modified or selected. Export Export + + Move Up + Nach oben + + + Move Down + Nach unten + Workspace Manager @@ -7859,6 +9002,10 @@ Locked components cannot be modified or selected. Workspace + + File Name + Dateiname + Last Modified Zuletzt geändert @@ -7875,6 +9022,10 @@ Locked components cannot be modified or selected. Create and &Open Erstellen und ö&ffnen + + Cannot Create Workspace + + &Clone &Klonen @@ -7883,6 +9034,14 @@ Locked components cannot be modified or selected. Clone and &Open Klonen und ö&ffnen + + %1 Copy + + + + Cannot Clone Workspace + + Rename Workspace @@ -7891,6 +9050,34 @@ Locked components cannot be modified or selected. Rename and &Open Umbenennen und ö&ffnen + + Cannot Rename Workspace + + + + Cannot Switch Workspace + + + + Cannot Export Workspace + + + + Delete Workspace + Arbeitsbereich löschen + + + Delete Workspaces + Arbeitsbereiche löschen + + + Delete workspace "%1"? + Arbeitsbereich "%1" löschen? + + + Delete these workspaces? + Diese Arbeitsbereiche löschen? + List All Tabs Alle Reiter auflisten @@ -7927,10 +9114,70 @@ Locked components cannot be modified or selected. Import Workspace + + Cannot Import Workspace + + Export Workspace + + Workspace "%1" does not exist. + + + + Cannot restore "%1". + + + + Cannot reload "%1". It is not in the list of workspaces. + + + + Could not clone "%1" due to: %2 + + + + Workspace "%1" is not a preset. + + + + Cannot remove "%1". + + + + Cannot save workspace while in mode change state. + + + + File "%1" does not exist. + Datei "%1" existiert nicht. + + + Could not copy "%1" to "%2" due to: %3 + + + + Could not remove "%1". + + + + Directory does not exist"%1". + + + + Workspace does not exist "%1" + + + + Cannot write to "%1". + + + + Cannot write to "%1" due to: %2 + + QtC::Android @@ -8924,6 +10171,10 @@ Der vom Kit mindestens benötigte API-Level ist %1. Android deploy settings file not found, not building an APK. Keine Einstellungsdatei für Android-Deployment gefunden, APK wird nicht erstellt. + + Product type is not an application, not building an APK. + + Failed to run keytool. keytool konnte nicht ausgeführt werden. @@ -8962,6 +10213,10 @@ Der vom Kit mindestens benötigte API-Level ist %1. Cannot create AVD. Invalid input. AVD kann nicht erstellt werden. Ungültige Eingabe. + + Could not start process "%1". + + Cannot create AVD. Command timed out. AVD kann nicht erstellt werden. Zeitüberschreitung des Kommandos. @@ -9314,6 +10569,10 @@ Breche ausstehende Operationen ab... "%1" step has an invalid C++ toolchain. + + Product type is not an application, not running the Make install step. + + Removing directory %1 Lösche Verzeichnis %1 @@ -9335,10 +10594,6 @@ Breche ausstehende Operationen ab... Emulator Tool Is Missing Fehlender Emulator - - Could not start process "%1" - Der Prozess "%1 %2" konnte nicht gestartet werden {1"?} - Install the missing emulator tool (%1) to the installed Android SDK. Installieren Sie den fehlenden Emulator (%1) im installierten Android-SDK. @@ -9644,15 +10899,15 @@ Die Dateien aus dem Quellverzeichnis des Android-Pakets werden in das Verzeichni - Could not create file for %1 "%2" + Could not create file for %1 "%2". - A timeout occurred running "%1" - Zeitüberschreitung bei Ausführung von "%1" + A timeout occurred running "%1". + - Crash while creating file for %1 "%2" + Crash while creating file for %1 "%2". @@ -10800,6 +12055,10 @@ Warnung: Reinem Text fehlen manche Informationen, etwa die Dauer. Run &All Tests Starte &alle Tests + + Run All Tests + + Ctrl+Meta+T, Ctrl+Meta+A Ctrl+Meta+T, Ctrl+Meta+A @@ -10812,10 +12071,6 @@ Warnung: Reinem Text fehlen manche Informationen, etwa die Dauer. Run All Tests Without Deployment - - Run all tests without deployment - - Ctrl+Meta+T, Ctrl+Meta+E @@ -10828,6 +12083,10 @@ Warnung: Reinem Text fehlen manche Informationen, etwa die Dauer. &Run Selected Tests Sta&rte ausgewählte Tests + + Run Selected Tests + + Ctrl+Meta+T, Ctrl+Meta+R Ctrl+Meta+T, Ctrl+Meta+R @@ -10836,22 +12095,26 @@ Warnung: Reinem Text fehlen manche Informationen, etwa die Dauer. Alt+Shift+T,Alt+R Alt+Shift+T,Alt+R + + Run Selected Tests Without Deployment + + + + Run Failed Tests + + Ctrl+Meta+T, Ctrl+Meta+F Ctrl+Meta+T, Ctrl+Meta+F + + Run Tests for Current File + + &Run Selected Tests Without Deployment - - Run all tests - - - - Run selected tests - - Ctrl+Meta+T, Ctrl+Meta+W @@ -10864,10 +12127,6 @@ Warnung: Reinem Text fehlen manche Informationen, etwa die Dauer. Run &Failed Tests - - Run failed tests - - Alt+Shift+T,Alt+F Alt+Shift+T,Alt+F @@ -10876,10 +12135,6 @@ Warnung: Reinem Text fehlen manche Informationen, etwa die Dauer. Run Tests for &Current File - - Run tests for current file - - Ctrl+Meta+T, Ctrl+Meta+C @@ -10924,20 +12179,20 @@ Warnung: Reinem Text fehlen manche Informationen, etwa die Dauer. Executing test suite %1 Führe Test-Suite %1 aus - - Test execution took %1 - Testausführung benötigte %1 - - - Test suite execution took %1 - - Executing test module %1 - Test module execution took %1 + Test execution took %1. + Testausführung benötigte %1. + + + Test suite execution took %1. + + + + Test module execution took %1. @@ -10953,7 +12208,7 @@ Warnung: Reinem Text fehlen manche Informationen, etwa die Dauer. - Running tests exited with %1 + Running tests exited with %1. @@ -10995,29 +12250,25 @@ Executable: %2 - Executing %1 "%2" + Executing %1 "%2"... - %1 "%2" passed + %1 "%2" passed. - Expression passed + Expression passed. + + + + Finished executing %1 "%2". Expression failed: %1 - - Finished executing %1 "%2" - - - - Running tests for %1 - - Google Test Google Test @@ -11080,6 +12331,10 @@ Siehe auch die Einstellungen für Google Test. Auto Test + + Running tests for "%1". + + QtC::AutotoolsProjectManager @@ -12660,8 +13915,8 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Lesezeichen - Matches all bookmarks. Filter by file name, by the text on the line of the bookmark, or by the bookmark's note text. - Filtert alle Lesezeichen nach dem Dateinamen, dem Text in der Zeile des Lesezeichens oder seinem Anmerkungstext. + Locates bookmarks. Filter by file name, by the text on the line of the bookmark, or by the bookmark's note text. + Bookmark @@ -12946,10 +14201,6 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Clear CMake configuration and configure with initial parameters? Die CMake-Konfiguration löschen und mit initialen Parametern konfigurieren? - - Do not ask again - Nicht noch einmal nachfragen - Kit CMake Configuration CMake-Konfiguration des Kits @@ -13002,6 +14253,10 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Rescan Project Projekt neu auswerten + + Reload CMake Presets + + Build Erstellen @@ -13018,6 +14273,14 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Ctrl+Alt+B Ctrl+Alt+B + + Re-generates the kits that were created for CMake presets. All manual modifications to the CMake project settings will be lost. + + + + Reload + Neu laden + Build File is not supported for generator "%1" Der Generator "%1" unterstützt das Erstellen einer Datei nicht @@ -13174,6 +14437,14 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Target: %1 Ziel: %1 + + Stage for installation + + + + Staging directory: + + Enable automatic provisioning updates: Automatische Provisionierungsaktualisierungen aktivieren: @@ -13210,6 +14481,11 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Project did not parse successfully, cannot build. Das Projekt konnte nicht erfolgreich ausgewertet werden. Es kann nicht erstellt werden. + + Stage at %2 for %3 + Stage (for installation) at <staging_dir> for <installation_dir> + + CMake Build Display name for CMakeProjectManager::CMakeBuildStep id. @@ -13297,10 +14573,6 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Select a directory for %1 Wählen Sie ein Verzeichnis für %1 - - Determines whether file paths are copied to the clipboard for pasting to the CMakeLists.txt file when you add new files to CMake projects. - Legt fest, ob beim Hinzufügen von neuen Dateien zu CMake-Projekten deren Dateipfade in die Zwischenablage kopiert werden, um sie in die CMakeLists.txt-Datei einzufügen. - Package manager auto setup Automatisches Aufsetzen von Paketmanagern @@ -13313,6 +14585,10 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev Ask before re-configuring with initial parameters Vor dem Neukonfigurieren mit initialen Parametern nachfragen + + Ask before reloading CMake Presets + + Show subfolders inside source group folders Unterverzeichnisse in Sourcegruppen anzeigen @@ -13325,22 +14601,6 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev General Allgemein - - Adding Files - Dateien hinzufügen - - - Ask about copying file paths - Fragen, ob Dateipfade kopiert werden sollen - - - Do not copy file paths - Dateipfade nicht kopieren - - - Copy file paths - Dateipfade kopieren - Scan "%1" project tree Durchsuche "%1"-Projektbaum @@ -13349,16 +14609,6 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev The kit needs to define a CMake tool to parse this project. Das Kit muss ein CMake-Werkzeug festlegen, um dieses Projekt auszuwerten. - - Copy to Clipboard? - In die Zwischenablage kopieren? - - - Files are not automatically added to the CMakeLists.txt file of the CMake project. -Copy the path to the source files to the clipboard? - Dateien werden nicht automatisch zur Datei CMakeLists.txt des CMake-Projekts hinzugefügt. -Möchten Sie den Pfad zu den Quelldateien in die Zwischenablage kopieren? - Apply configuration changes? Konfigurationsänderungen anwenden? @@ -13408,8 +14658,8 @@ Möchten Sie den Pfad zu den Quelldateien in die Zwischenablage kopieren?Keine gültige ausführbare CMake-Datei. - Running in "%1": %2. - Führe in "%1" aus: %2. + Running in %1: %2. + <No CMake Tool available> @@ -13572,20 +14822,20 @@ Möchten Sie den Pfad zu den Quelldateien in die Zwischenablage kopieren?Die CMake-Konfiguration hat einen C++-Compiler gesetzt, der nicht mit dem Compiler der Toolchain übereinstimmt, die vom Kit verwendet wird. - Build CMake target - CMake-Ziel erstellen + Build CMake Target + Builds a target of any open CMake project. Erstellt ein Ziel eines geöffneten CMake-Projekts. - Open CMake target - CMake-Ziel öffnen + Open CMake Target + - Jumps to the definition of a target of any open CMake project. - Springt zur Definition eines Ziels eines geöffneten CMake-Projekts. + Locates the definition of a target of any open CMake project. + The source directory %1 is not reachable by the CMake executable %2. @@ -13635,6 +14885,10 @@ Möchten Sie den Pfad zu den Quelldateien in die Zwischenablage kopieren?<Other Locations> <Andere Orte> + + <Generated Files> + + Unexpected source directory "%1", expected "%2". This can be correct in some situations, for example when importing a standalone Qt test, but usually this is an error. Import the build anyway? Unerwartetes Quellverzeichnis "%1", erwartet wurde "%2". Dies kann in einigen Situationen korrekt sein, zum Beispiel beim Importieren eines eigenständigen Qt-Tests, aber normalerweise ist es ein Fehler. Soll der Build trotzdem importiert werden? @@ -13643,6 +14897,10 @@ Möchten Sie den Pfad zu den Quelldateien in die Zwischenablage kopieren?CMake Modules CMake-Module + + CMake Presets + + Target type: Zieltyp: @@ -13819,10 +15077,6 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der Restrict to files contained in the current project Auf Dateien des aktuellen Projekts beschränken - - %1 Command - Ausführbare Datei für %1 - Formatter Formatter @@ -14332,8 +15586,8 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der Bearbeiteten Quelltext beim Speichern der Datei formatieren - Override Clang Format configuration file - Clang-Format-Konfigurationsdatei überschreiben + Override .clang-format file + Use global settings @@ -14360,8 +15614,8 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der Das aktuelle Projekt hat ihre eigene .clang-format-Datei, die in den untenstehenden Einstellungen überschrieben werden kann. - Override Clang Format configuration file with the chosen configuration. - Die Clang-Format-Konfigurationsdatei mit der gewählten Konfiguration überschreiben. + When this option is enabled, ClangFormat will use a user-specified configuration from the widget below, instead of the project .clang-format file. You can customize the formatting options for your code by adjusting the settings in the widget. Note that any changes made there will only affect the current configuration, and will not modify the project .clang-format file. + ClangFormat @@ -14472,10 +15726,6 @@ Ausgabe: Disable This Check Diesen Check deaktivieren - - File "%1" does not exist or is not readable. - Die Datei "%1" fehlt oder ist nicht lesbar. - Error: Failed to parse YAML file "%1": %2. Fehler: Die YAML-Datei "%1" konnte nicht ausgewertet werden: %2. @@ -14546,6 +15796,10 @@ Setzen Sie erst eine gültige ausführbare Datei. Select the diagnostics to display. Wählen Sie die anzuzeigenden Meldungen. + + Prefer .clang-tidy file, if present + + Build the project before analysis Projekt vor der Analyse erstellen @@ -14562,14 +15816,6 @@ Setzen Sie erst eine gültige ausführbare Datei. Parallel jobs: Parallele Jobs: - - Select Checks - Prüfungen auswählen - - - Use .clang-tidy config file - Konfigurationsdatei .clang-tidy verwenden - Edit Checks as String... Prüfungen als Zeichenkette bearbeiten... @@ -14620,10 +15866,6 @@ Setzen Sie erst eine gültige ausführbare Datei. Clang-Tidy and Clazy use a customized Clang executable from the Clang project to search for diagnostics. Clang-Tidy und Clazy benutzen eine angepasste Version der Anwendung Clang vom Clang-Projekt, um nach Problemen zu suchen. - - Clang-Tidy and Clazy - Clang-Tidy und Clazy - Release Release @@ -14673,12 +15915,8 @@ Setzen Sie erst eine gültige ausführbare Datei. Fehler beim Laden der Meldungen - Set a valid Clang-Tidy executable. - Wählen Sie eine gültige ausführbare Datei für Clang-Tidy. - - - Set a valid Clazy-Standalone executable. - Wählen Sie eine gültige ausführbare Datei für Clazy-Standalone. + Set a valid %1 executable. + Project "%1" is not a C/C++ project. @@ -15346,8 +16584,25 @@ Setzen Sie erst eine gültige ausführbare Datei. Check In + Name of the "commit" action of the VCS Einchecken + + Close Check In Editor + + + + Closing this editor will abort the check in. + + + + Cannot check in. + + + + Cannot check in: %1. + + Do you want to undo the check out of "%1"? Möchten Sie das Auschecken von "%1" rückgängig machen? @@ -15689,6 +16944,149 @@ Setzen Sie erst eine gültige ausführbare Datei. + + QtC::Copilot + + Sign In + + + + A browser window will open. Enter the code %1 when asked. +The code has been copied to your clipboard. + + + + Login Failed + + + + The login request failed: + + + + Select Previous Copilot Suggestion + + + + Select Next Copilot Suggestion + + + + Apply (%1) + + + + Apply Word (%1) + + + + %1 of %2 + %1 von %2 + + + Enabling %1 is subject to your agreement and abidance with your applicable %1 terms. It is your responsibility to know and accept the requirements and parameters of using tools like %1. This may include, but is not limited to, ensuring you have the rights to allow %1 access to your code, as well as understanding any implications of your use of %1 and suggestions produced (like copyright, accuracy, etc.). + + + + The Copilot plugin requires node.js and the Copilot neovim plugin. If you install the neovim plugin as described in %1, the plugin will find the agent.js file automatically. + +Otherwise you need to specify the path to the %2 file from the Copilot neovim plugin. + Markdown text for the copilot instruction label + + + + Note: + Hinweis: + + + Request Copilot Suggestion + + + + Request Copilot suggestion at the current editor's cursor position. + + + + Show next Copilot Suggestion + + + + Cycles through the received Copilot Suggestions showing the next available Suggestion. + + + + Show previos Copilot Suggestion + + + + Cycles through the received Copilot Suggestions showing the previous available Suggestion. + + + + Disable Copilot + + + + Disable Copilot. + + + + Enable Copilot + + + + Enable Copilot. + + + + Toggle Copilot + + + + Copilot + + + + Enables the Copilot integration. + + + + Node.js path: + + + + Node.js Path + + + + Select path to node.js executable. See https://nodejs.org/en/download/for installation instructions. + + + + Path to agent.js: + + + + Agent.js path + + + + Select path to agent.js in Copilot Neovim plugin. See https://github.com/github/copilot.vim#getting-started for installation instructions. + + + + Auto Complete + Automatische Vervollständigung + + + Request completions automatically + + + + Automatically request suggestions for the current text cursor position after changes to the document. + + + QtC::Core @@ -15839,6 +17237,10 @@ Trotzdem fortfahren? The high DPI settings will take effect after restart. Die Einstellung für hohe Auflösungen wird nach einem Neustart wirksam. + + Toolbar style: + + Text codec for tools: Zeichenkodierung für Werkzeuge: @@ -15847,6 +17249,14 @@ Trotzdem fortfahren? The language change will take effect after restart. Die Änderung der Sprache wird nach einem Neustart wirksam. + + Compact + + + + Relaxed + + Interface Oberfläche @@ -17153,6 +18563,10 @@ konnte nicht unter Versionsverwaltung (%2) gestellt werden Priority Priorität + + Locates files from a custom set of 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. + + Add... Hinzufügen... @@ -17284,6 +18698,18 @@ Um es abzurufen, tippen Sie das Kürzel im Locator, gefolgt von einem Leerzeiche Directories: Verzeichnisse: + + Create Directory + + + + Create and Open File "%1" + + + + Create Directory "%1" + + Include hidden files Versteckte Dateien zeigen @@ -17568,10 +18994,6 @@ Möchten Sie es beenden? Opens a file given by a relative path to the current document, or absolute path. "~" refers to your home directory. You have the option to create a file if it does not exist yet. Öffnet eine Datei mit einem Pfad relativ zum aktuellen Dokument oder einem absoluten Pfad. "~" bezieht sich auf Ihr Benutzerverzeichnis. Sie haben die Option eine Datei zu erstellen, wenn diese noch nicht existiert. - - Create and Open "%1" - Erzeuge und öffne "%1" - Create File Datei erzeugen @@ -17616,6 +19038,14 @@ Möchten Sie es beenden? Locate... Finden... + + Triggers a web search with the selected search engine. + + + + Triggers a search in the Qt bug tracker. + + <html><body style="color:#909090; font-size:14px"><div align='center'><div style="font-size:20px">Open a document</div><table><tr><td><hr/><div style="margin-top: 5px">&bull; File > Open File or Project (%1)</div><div style="margin-top: 5px">&bull; File > Recent Files</div><div style="margin-top: 5px">&bull; Tools > Locate (%2) and</div><div style="margin-left: 1em">- type to open file from any open project</div>%4%5<div style="margin-left: 1em">- type <code>%3&lt;space&gt;&lt;filename&gt;</code> to open file from file system</div><div style="margin-left: 1em">- select one of the other filters for jumping to a location</div><div style="margin-top: 5px">&bull; Drag and drop files here</div></td></tr></table></div></body></html> <html><body style="color:#909090; font-size:14px"><div align='center'><div style="font-size:20px">Ein Dokument öffnen</div><table><tr><td><hr/><div style="margin-top: 5px">&bull; Datei > Neu (%1)</div><div style="margin-top: 5px">&bull; Datei > Zuletzt bearbeitete Dateien</div><div style="margin-top: 5px">&bull; Extras > Finden (%2) und</div><div style="margin-left: 1em">- tippen um eine Datei aus einem offenen Projekt zu öffnen</div>%4%5<div style="margin-left: 1em">- <code>%3&lt;Leerzeichen&gt;&lt;Dateiname&gt;</code> eingeben um eine Datei aus dem Dateisystem zu öffnen</div><div style="margin-left: 1em">- einen der anderen Filter auswählen um Inhalte aufzurufen</div><div style="margin-top: 5px">&bull; Dateien mit der Maus hierher ziehen</div></td></tr></table></div></body></html> @@ -18210,6 +19640,10 @@ Möchten Sie sie jetzt auschecken? TiB TiB + + MiB + + Enable crash reporting Absturzberichte aktivieren @@ -18444,8 +19878,8 @@ provided they were unmodified before the refactoring. Dateinamensindex - Matches files from a global file system index (Spotlight, Locate, Everything). Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - Filtert Dateien aus einem globalen Dateisystemindex (Spotlight, Locate, Everything). 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. + Locates files from a global file system index (Spotlight, Locate, Everything). Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. + Case sensitive: @@ -18483,6 +19917,18 @@ provided they were unmodified before the refactoring. Engine aborted after timeout. Engine brach nach Zeitüberschreitung ab. + + The evaluation was interrupted. + + + + Engine reinitialized properly. + + + + Engine did not reinitialize properly. + + Copy to clipboard: %1 In die Zwischenablage kopieren: %1 @@ -18525,18 +19971,10 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern. Generic Directory Filter Allgemeiner Verzeichnisfilter - - Matches all files from a custom set of directories. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - Filtert alle Dateien aus vom Benutzer gewählten Pfaden. 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. - Select Directory Verzeichnis auswählen - - %1 filter update: 0 files - %1-Filterstatus: Keine Dateien - %1 filter update: %n files @@ -18568,6 +20006,14 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern. Tags: Schlüsselworte: + + Show All + + + + Back + Zurück + Text Encoding Text-Zeichenkodierung @@ -19020,6 +20466,14 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern. Binding Editor Binding-Editor + + Switches to an open document. + + + + Markdown Editor + + QtC::CppEditor @@ -19231,6 +20685,10 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern. Complete Switch Statement Switch-Anweisung vervollständigen + + Add Member Function "%1" + + Extract Constant as Function Parameter Konstante als Funktionsparameter extrahieren @@ -20241,14 +21699,26 @@ z.B. name = "m_test_foo_": C++ Symbols in Current Document C++-Symbole im aktuellen Dokument + + Locates C++ symbols in the current document. + + C++ Classes C++-Klassen + + Locates C++ classes in any open project. + + C++ Functions C++-Funktionen + + Locates C++ functions in any open project. + + All Included C/C++ Files Alle eingebundenen C/C++-Dateien @@ -20258,6 +21728,10 @@ z.B. name = "m_test_foo_": https://learn.microsoft.com/de-de/cpp/cpp/aliases-and-typedefs-cpp C++-Klassen, -Aufzählungen, -Funktionen und -Typaliase + + Locates C++ classes, enums, functions and type aliases in any open project. + + C++ Symbols C++-Symbole @@ -20322,6 +21796,18 @@ z.B. name = "m_test_foo_": Off Aus + + Use Built-in Only + + + + Use Clangd Only + + + + Try Both + + Interpret ambiguous headers as C headers Mehrdeutige Header als C-Header behandeln @@ -20366,6 +21852,10 @@ z.B. name = "m_test_foo_": <p>If background indexing is enabled, global symbol searches will yield more accurate results, at the cost of additional CPU load when the project is first opened. The indexing result is persisted in the project's build directory. If you disable background indexing, a faster, but less accurate, built-in indexer is used instead. The thread priority for building the background index can be adjusted since clangd 15.</p><p>Background Priority: Minimum priority, runs on idle CPUs. May leave 'performance' cores unused.</p><p>Normal Priority: Reduced priority compared to interactive work.</p>Low Priority: Same priority as other clangd work. <p>Wenn sie das globale Indizieren aktivieren, liefert die globale Symbolsuche genauere Resultate, es erhöht aber die CPU-Last beim ersten Öffnen von Projekten. Das Resultat der Indizierung wird im Build-Verzeichnis des Projekts gespeichert. Wenn sie das globale Indizieren deaktivieren, wird stattdessen ein schnellerer, aber weniger genauer, integrierter Indexer benutzt. Seit Clangd 15 können Sie die Priorität für die Indizierungs-Threads anpassen.</p><p>Hintergrund-Priorität: Niedrigste Priorität, läuft nur auf leerlaufenden CPUs. Kann "Performance"-Kerne ungenutzt lassen.</p><p>Normale Priorität: Geringere Priorität im Vergleich zu interaktiven Aktivitäten.</p>Niedrige Priorität: Dieselbe Priorität wie andere Clangd-Aktivitäten. + + <p>Which C/C++ backend to use when switching between header and source file.<p>The clangd implementation has more capabilities, but also has some bugs not present in the built-in variant.<p>When "Try Both" is selected, clangd will be employed only if the built-in variant does not find anything. + + Number of worker threads used by clangd. Background indexing also uses this many worker threads. Anzahl der Threads, die von Clangd benutzt werden. Die globale Indizierung nutzt auch diese Anzahl Threads. @@ -20418,6 +21908,10 @@ Das integrierte Codemodell übernimmt Syntaxhervorhebung, Code-Vervollständigun Background indexing: Indizierung: + + Header/source switch mode: + + Worker thread count: Thread-Anzahl: @@ -20538,10 +22032,6 @@ Dies ist normalerweise nicht empfehlenswert, da die Datei wahrscheinlich währen C++ Macro Usages: C++ Macro-Referenzen: - - Matches all files that are included by all C++ files in all projects. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - Filtert alle Dateien die von allen C++-Dateien aller Projekte eingebunden werden. 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. - <Select Symbol> <Symbol auswählen> @@ -20722,10 +22212,6 @@ Ziehen Sie Eintrage mit der Maus, um die Reihenfolge der Parameter zu ändern.GNU GNU - - Old Creator - Veraltete Creator-Konvention - Open in Editor In Editor öffnen @@ -20774,6 +22260,10 @@ Flags: %3 All files Alle Dateien + + Locates files that are included by C++ files of any open 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. + + QtC::Cppcheck @@ -23078,10 +24568,34 @@ markers in the source code editor. Feld aus %n Elementen + + The DAP process failed to start. Either the invoked program "%1" is missing, or you may have insufficient permissions to invoke the program. + + + + The DAP process crashed some time after starting successfully. + + + + An error occurred when attempting to write to the DAP process. For example, the process may not be running, or it may have closed its input channel. + + + + An error occurred when attempting to read from the DAP process. For example, the process may not be running. + + + + An unknown error in the DAP process occurred. + + Adapter start failed Der Start des Adapters schlug fehl + + DAP I/O Error + + Python Error Python-Fehler @@ -23122,6 +24636,10 @@ markers in the source code editor. Debugger encountered an exception: %1 Der Debugger stellte einen Ausnahmefehler fest: %1 + + The system prevents loading of "%1", which is required for debugging. Make sure that your antivirus solution is up to date and if that does not work consider adding an exception for "%1". + + Module loaded: %1 Modul geladen: %1 @@ -23169,8 +24687,8 @@ Installieren Sie das Paket "Qt Debug Information Files" für diese Qt- Start des Debuggers schlug fehl - The system prevents loading of %1 which is required for debugging. Make sure that your antivirus solution is up to date and if that does not work consider to add an exception for %1. - Das System verhindert das Laden von %1, welches für das Debuggen erforderlich ist. Stellen Sie sicher, dass Ihr Virenschutzprogramm aktuell ist. Falls dies nicht hilft, ziehen Sie in Betracht, eine Ausnahme für %1 hinzuzufügen. + Cannot read "%1": %2 + "%1" kann nicht gelesen werden: %2 Value %1 obtained from evaluating the condition of breakpoint %2, stopping. @@ -24073,18 +25591,42 @@ Sie können hier eine andere Verbindung wählen, beispielsweise eine serielle Ve Debugger settings Debuggereinstellungen - - Enable C++ - C++ aktivieren - - - Enable QML - QML aktivieren - <a href="qthelp://org.qt-project.qtcreator/doc/creator-debugging-qml.html">What are the prerequisites?</a> <a href="qthelp://org.qt-project.qtcreator/doc/creator-debugging-qml.html">Was sind die Voraussetzungen?</a> + + Enable C++ debugger. + + + + Try to determine need for C++ debugger. + + + + Enable QML debugger. + + + + Try to determine need for QML debugger. + + + + Without additional startup commands. + + + + With additional startup commands. + + + + C++ debugger: + + + + QML debugger: + + Enable Debugging of Subprocesses Debuggen von Unterprozessen zulassen @@ -24202,6 +25744,18 @@ Sie können hier eine andere Verbindung wählen, beispielsweise eine serielle Ve ABIs: ABIs: + + Generic + + + + GDB from PATH on Build Device + + + + LLDB from PATH on Build Device + + Version: Version: @@ -24983,10 +26537,6 @@ Das Setzen von Haltepunkten anhand von Dateinamen und Zeilennummern könnte fehl QML debugging needs to be enabled both in the Build and the Run settings. QML-Debuggen muss in den Einstellungen sowohl für das Erstellen als auch für das Ausführen aktiviert sein. - - &Show this message again. - Diese Nachricht erneut an&zeigen. - Debugging %1 ... Debugge %1 ... @@ -25167,6 +26717,14 @@ Das Setzen von Haltepunkten anhand von Dateinamen und Zeilennummern könnte fehl Enables tooltips in the stack view during debugging. Aktiviert Tooltips für die Anzeige &quot;Stack&quot; beim Debuggen. + + Default array size: + + + + The number of array elements requested when expanding entries in the Locals and Expressions views. + + Shows QML object tree in Locals and Expressions when connected and not stepping. QML-Objektbaum in Fenster "Lokale Variablen" anzeigen, wenn eine Verbindung besteht und kein Einzelschrittbetrieb vorliegt. @@ -26011,7 +27569,7 @@ Versuchen Sie, das Projekt neu zu erstellen. - Docker daemon appears to be not running. Verify daemon is up and running and reset the docker daemon on the docker device settings page or restart Qt Creator. + Docker daemon appears to be not running. Verify daemon is up and running and reset the Docker daemon in Docker device preferences or restart Qt Creator. @@ -26084,7 +27642,7 @@ Versuchen Sie, das Projekt neu zu erstellen. - Adds the following flags to the container: --cap-add=SYS_PTRACE --security-opt seccomp=unconfined, this is necessary to allow lldb to run + Adds the following flags to the container to allow LLDB to run: --cap-add=SYS_PTRACE --security-opt seccomp=unconfined @@ -26144,17 +27702,21 @@ Versuchen Sie, das Projekt neu zu erstellen. - Select the paths in the docker image that should be scanned for kit entries. + Select the paths in the Docker image that should be scanned for kit entries. - Docker daemon appears to be not running. + Docker daemon appears to be stopped. Docker daemon appears to be running. + + Detection complete. + + Search Locations: @@ -27055,6 +28617,10 @@ zu deaktivieren, deaktiviert auch die folgenden Plugins: Execute User Action #%1 Benutzerdefinierte Aktion #%1 ausführen + + Invalid regular expression. + + "%1" %2 %3L, %4C written "%1" %2 %3 Zeilen mit %4 Zeichen geschrieben @@ -27241,6 +28807,10 @@ zu deaktivieren, deaktiviert auch die folgenden Plugins: Annotate &Parent Revision %1 Annotation der über&geordneten Revision %1 + + Triggers a Fossil version control operation. + + &Fossil &Fossil @@ -27546,8 +29116,8 @@ zu deaktivieren, deaktiviert auch die folgenden Plugins: URL: - For example: https://[user[:pass]@]host[:port]/[path] - Zum Beispiel: https://[user[:pass]@]host[:port]/[path] + For example: "https://[user[:pass]@]host[:port]/[path]". + Remember specified location as default @@ -27909,6 +29479,13 @@ Jetzt Commit ausführen? Commit "%1" geändert (%n Dateien). + + Cannot commit %n file(s). + + + + + Only graphical merge tools are supported. Please configure merge.tool. Nur grafische Merge-Tools werden unterstützt. Bitte konfigurieren Sie ein Merge-Tool. @@ -28127,13 +29704,6 @@ Jetzt Commit ausführen? Amended "%1". Commit "%1" geändert. - - Cannot commit %n files - - Commit schlug für eine Datei fehl - Commit schlug für %n Dateien fehl - - Revert Rückgängig machen @@ -28266,6 +29836,10 @@ Jetzt Commit ausführen? Note that huge amount of commits might take some time. Beachten Sie, dass eine hohe Anzahl Commits lange Wartezeiten hervorrufen kann. + + Annotate the current line in the editor with Git "blame" output. + + Miscellaneous Sonstige Einstellungen @@ -28406,10 +29980,6 @@ wenn es außerhalb von git bash aufgerufen wird. Add instant blame annotations to editor Annotationen für "Blame" im Editor anzeigen - - Directly annotate each line in the editor when scrolling through the document. - Annotationen für Zeilen im Editor direkt beim Scrollen durch das Dokument anzeigen. - Git Git @@ -29028,6 +30598,10 @@ Partially checked - Do not change current state. Nicht markiert - Markierung entfernen. Teilmarkiert - Zustand nicht verändern. + + Pushes the selected commit and all commits it depends on. + + Supported on Gerrit 2.15 and later. Unterstützt von Gerrit 2.15 und höher. @@ -29761,10 +31335,6 @@ Leer lassen, um das Dateisystem zu durchsuchen. &Work-in-progress &In Arbeit - - Pushes the selected commit and all dependent commits. - Push des ausgewählten Commit und aller abhängigen Commits. - &Topic: &Topic: @@ -30107,10 +31677,6 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. GHCi - - Failed to run GHCi: "%1". - - Run GHCi @@ -30320,6 +31886,10 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe. Help Index Hilfe - Index + + Locates help topics, for example in the Qt documentation. + + Help Hilfe @@ -31708,18 +33278,34 @@ Ablaufdatum: %3 Symbols in Current Document Symbole im aktuellen Dokument + + Locates symbols in the current document, based on a language server. + + Symbols in Workspace Symbole im Arbeitsbereich + + Locates symbols in the language server workspace. + + Classes and Structs in Workspace Klassen und Strukturen im Arbeitsbereich + + Locates classes and structs in the language server workspace. + + Functions and Methods in Workspace Funktionen und Methoden im Arbeitsbereich + + Locates functions and methods in the language server workspace. + + Unexpectedly finished. Restarting in %1 seconds. Unerwartet beendet. Neustart in %1 Sekunden. @@ -31816,30 +33402,45 @@ Beispiel: *.cpp%1*.h %1 for %2 + <language client> for <project> %1 für %2 uninitialized + language client state nicht initialisiert initialize requested + language client state Initialisierung angefordert initialized + language client state initialisiert shutdown requested + language client state Abschaltung angefordert - shutdown - abgeschaltet + shut down + language client state + + + + Language Server "%1" Initialization Error + + + + Initialization error: %1. + error + language client state Fehler @@ -31860,14 +33461,6 @@ Beispiel: *.cpp%1*.h Ungültiger Parameter in "%1": %2 - - Language Server "%1" Initialize Error - Fehler beim Initialisieren von Language Server "%1" - - - Initialize error: - Fehler bei Initialisierung: - Initialize result is invalid. Ergebnis der Initialisierung ist ungültig. @@ -31930,8 +33523,8 @@ Beispiel: *.cpp%1*.h %1 ist nicht mehr erreichbar. - Matches all symbols from the current document, based on a language server. - Filtert alle Symbole im aktuellen Dokument, basierend auf einem Language Server. + Start typing to see replacements. + Expand All @@ -31977,6 +33570,14 @@ Beispiel: *.cpp%1*.h Language Client Inspector Language Client Inspektor + + <Select> + + + + Language Server: + + Log Log @@ -32001,6 +33602,10 @@ Beispiel: *.cpp%1*.h Call Hierarchy Aufrufhierarchie + + Reloads the call hierarchy for the symbol under cursor position. + + QtC::LanguageServerProtocol @@ -32189,10 +33794,42 @@ Beispiel: *.cpp%1*.h Error registering Kit for %1. + + Qt for MCUs Kit Creation + + + + Fix + + + + Help + Hilfe + + + Qt for MCUs path %1 + + + + Target + Ziel + Warning Warnung + + Error + Fehler + + + Package + Paket + + + Status + Status + Unable to apply changes in Devices > MCU. @@ -32486,6 +34123,14 @@ Beispiel: *.cpp%1*.h New version of Qt for MCUs detected. Upgrade existing kits? + + Errors while creating Qt for MCUs kits + + + + Details + Details + Qt for MCUs SDK @@ -32527,11 +34172,11 @@ Beispiel: *.cpp%1*.h - Provide the package paths in order to create a kit for your target. + Provide the package paths to create a kit for your target. - No CMake tool was detected. Add a CMake tool in the <a href="cmake">CMake options</a> and press Apply. + No CMake tool was detected. Add a CMake tool in the <a href="cmake">CMake options</a> and select Apply. @@ -32550,8 +34195,19 @@ Beispiel: *.cpp%1*.h Create Kits for Qt for MCUs + + Detected %n uninstalled MCU target(s). Remove corresponding kits? + + + + + - New version of Qt for MCUs detected. Upgrade existing Kits? + Keep + + + + Remove @@ -32910,7 +34566,7 @@ Useful if build directory is corrupted or when rebuilding with a newer version o - Parameters + Parameters: @@ -33973,7 +35629,7 @@ You might find further explanations in the Application Output view. Geschätzt - %n frames + %n frame(s) @@ -34060,6 +35716,7 @@ You might find further explanations in the Application Output view. Submit + Name of the "commit" action of the VCS Submit @@ -34342,6 +35999,22 @@ You might find further explanations in the Application Output view. The process terminated with exit code %1. Der Prozess wurde beendet, Rückgabewert %1. + + Close Submit Editor + + + + Closing this editor will abort the submit. + + + + Cannot submit. + + + + Cannot submit: %1. + + p4 submit failed: %1 Fehler beim Submit: %1 @@ -34721,8 +36394,8 @@ You might find further explanations in the Application Output view. Dateien aus allen Projekten - Matches all files of all open projects. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - Filtert alle Dateien aus allen geöffneten Projekten. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen. + 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. + All Projects @@ -34821,8 +36494,8 @@ Außer: %2 Dateien im aktuellen Projekt - Matches all files from the current document's project. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - Filtert alle Dateien aus dem Projekt des aktuellen Dokuments. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen. + 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. + Project "%1" @@ -35120,10 +36793,6 @@ Title of a the cloned RunConfiguration window, text of the window &Open &Öffnen - - File not found: %1 - Datei nicht gefunden: %1 - &Build &Erstellen @@ -35544,6 +37213,26 @@ Bitte versuchen Sie es erneut. A run action is already scheduled for the active project. Für das aktive Projekt ist bereits eine Ausführung geplant. + + 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. + + + + Run Run Configuration + + + + Runs a run configuration of the active project. + + + + Switch Run Configuration + + + + Switches the active run configuration of the active project. + + Run %1 %1 ausführen @@ -35597,26 +37286,6 @@ Bitte versuchen Sie es erneut. Cannot Rename File Die Datei konnte nicht umbenannt werden - - Matches all files from all project directories. Append "+<number>" or ":<number>" to jump to the given line number. Append another "+<number>" or ":<number>" to jump to the column number as well. - Filtert alle Dateien aus allen Projektverzeichnissen. Fügen Sie "+<Zahl>" oder ":<Zahl>" an, um zur angegebenen Zeile zu springen. Fügen Sie noch einmal "+<Zahl>" oder ":<Zahl>" an, um auch zur angegebenen Spalte zu springen. - - - Run run configuration - Ausführungskonfiguration ausführen - - - Run a run configuration of the current active project - Eine Ausführungskonfiguration des aktiven Projekts ausführen - - - Switch run configuration - Ausführungskonfiguration auswählen - - - Switch active run configuration - Aktive Ausführungskonfiguration auswählen - Switched run configuration to %1 @@ -36198,6 +37867,10 @@ The name of the build configuration created by default for a generic project.Starting %1... Starte %1... + + Environment: + Umgebung: + No executable specified. Es wurde keine ausführbare Datei angegeben. @@ -36492,6 +38165,15 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein Set As Default Als Vorgabe setzen + + &Start Wizard to Add Device... + + + + Add %1 + Add <Device Type Name> + + Yes (id is "%1") Ja (id ist "%1") @@ -36596,18 +38278,6 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein Remote Error Entfernter Fehler - - Process listing command failed with exit code %1. - Das Kommando zur Auflistung der Prozesse schlug mit Rückgabewert %1 fehl. - - - Error: Kill process failed: %1 - Fehlschlag beim Beenden des Prozesses: %1 - - - Remote stderr was: %1 - Fehlerausgabe: %1 - Name: Name: @@ -36803,6 +38473,10 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein Base environment for this run configuration: Basisumgebung für diese Ausführungskonfiguration: + + Show in Application Output when running + + No device configured. Es ist kein Gerät eingerichtet. @@ -37080,6 +38754,10 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen. Cannot open task file %1: %2 Die Aufgabendatei %1 kann nicht geöffnet werden: %2 + + Ignoring invalid task (no text). + + File Error Dateifehler @@ -37354,6 +39032,52 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen. Location Pfad + + 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. + + + + 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> + + + + 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. + + + + PySide 2 + PySide 2 + + + Define Python Interpreter + + + + Creates a Qt Quick application that contains an empty window. + +Use this "compat" version if you want to use other build systems than CMake or Qt versions lower than 6. + + + + Qt Quick Application (compat) + + + + Creates a Qt Quick UI project for previewing and prototyping designs. + +To develop a full application, create a Qt Quick Application project instead. + + + + 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. + + Qt Quick Application Qt Quick-Anwendung @@ -37362,6 +39086,14 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen. This wizard creates a simple unit test project. Dieser Assistent erstellt ein einfaches Unit-Test-Projekt. + + Boost Test (header only) + + + + Boost Test (shared libraries) + + Test framework: Test Framework: @@ -37374,6 +39106,10 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen. Generate setup code Setup-Code erzeugen + + Boost install directory (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. Erstellt ein neues Unit-Test-Projekt. Unit-Tests können sicherstellen, dass Quelltext seine Aufgabe erfüllt und keine Regressionen enthält. @@ -37398,6 +39134,14 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen. Qt Designer Form Qt-Designer-Formular + + Creates a markdown file. + + + + Markdown File + + Creates a Java file with boilerplate code. Erzeugt eine Java-Datei mit allgemeingültigem Quelltext. @@ -37450,6 +39194,32 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen. Model Modell + + You must tell Qt Creator which test framework is used inside the project. + +You should not mix multiple test frameworks in a project. + + + + %{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.' + Util.preferredSuffix('text/x-c++src')} + + + + %{JS: 'tst_' + value('TestCaseName').toLowerCase() + '.qml'} + + + + Test Information + + + + Creates a source file that you can add to an existing test project. + + + + Test Case + + Creates an empty Nim script file using UTF-8 charset. Erzeugt eine leere Nim-Datei, die den UTF-8 Zeichensatz verwendet. @@ -37852,14 +39622,6 @@ Bitte schließen Sie alle laufenden Instanzen Ihrer Anwendung vor dem Erstellen. Add QML_ELEMENT QML_ELEMENT einfügen - - Creates a widget-based Qt application that contains a Qt Designer-based main window. - -Preselects a desktop Qt for building the application if available. - Erstellt eine Widget-basierte Qt-Anwendung mit einem Qt Designer-basierten Hauptfenster. - -Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern sie verfügbar ist. - Shared Library Dynamisch gebundene Bibliothek @@ -37920,22 +39682,10 @@ Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern sie verfü Qt module: Qt-Modul: - - Creates a C++ library. This can be used to 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. Dies kann verwendet werden zum Erstellen von:<ul><li>einer dynamisch gebundenen C++-Bibliothek zur Verwendung mit <tt>QPluginLoader</tt> zur Laufzeit (Plugin)</li><li>einer statisch oder dynamisch gebundenen C++-Bibliothek zur Verwendung in einem anderen Projekt zur Linkzeit</li></ul> - C++ Library C++-Bibliothek - - Creates a project containing a single main.cpp file with a stub implementation. - -Preselects a desktop Qt for building the application if available. - Erstellt ein Projekt, das aus einer main.cpp-Datei mit einem Implementationsrumpf besteht. - -Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern sie verfügbar ist. - %{JS: value('BaseCB') ? value('BaseCB').slice(1) : 'MyClass'} %{JS: value('BaseCB') ? value('BaseCB').slice(1) : 'MyClass'} @@ -37976,14 +39726,6 @@ Wählt eine für Desktop-Entwicklung geeignete Qt-Version aus, sofern sie verfü Create example project Beispielprojekt erzeugen - - Creates a Qt Quick 2 UI project with a QML entry point. To use it, you need to have a QML runtime environment. - -Use this only if you are prototyping. You cannot create a full application with this. Consider using a Qt Quick Application project instead. - Erstellt ein Qt Quick 2 UI-Projekt mit QML-Einsprungpunkt. Um es zu verwenden, brauchen Sie eine QML-Laufzeitumgebung wie qmlscene. - -Benutzen Sie dies nur für Prototypen. Sie können damit keine vollständige Anwendung erstellen. Vielleicht ist ein Qt Quick-Anwendungsprojekt besser geeignet. - Binary Binärdatei @@ -38093,12 +39835,16 @@ Benutzen Sie dies nur für Prototypen. Sie können damit keine vollständige Anw Erstellt ein Projekt mit einer Struktur, die sowohl mit Qt Design Studio (via qmlproject) als auch mit Qt Creator (via CMakeLists.txt) kompatibel ist. Es enthält ein .ui.qml-Formular, das in Qt Design Studio visuell bearbeitet werden kann. - The minimum version of Qt you want to build the application for. - Die niedrigste Qt-Version, die Sie zum Bauen der Anwendung benutzen wollen. + Qt 6.4 + Qt 6.4 - Creates a Qt Quick application that contains an empty window. Optionally, you can create a Qt Design Studio project. - Erstellt eine Qt Quick-Anwendung, die ein leeres Fenster enthält. Optional kann ein Qt Design Studio-Projekt erstellt werden. + Qt 6.5 + Qt 6.5 + + + The minimum version of Qt you want to build the application for. + Die niedrigste Qt-Version, die Sie zum Bauen der Anwendung benutzen wollen. Creates a CMake-based test project for which a code snippet can be entered. @@ -38142,6 +39888,10 @@ Benutzen Sie dies nur für Prototypen. Sie können damit keine vollständige Anw Code snippet Code-Ausschnitt + + Creates a CMake-based test project where you can enter a code snippet to compile and check it. + + Code Snippet Code-Ausschnitt @@ -38254,10 +40004,6 @@ Benutzen Sie dies nur für Prototypen. Sie können damit keine vollständige Anw PySide 5.12 PySide 5.12 - - PySide version: - PySide-Version: - Creates a Qt Quick application that contains an empty window. Erstellt eine Qt Quick-Anwendung, die ein leeres Fenster enthält. @@ -39162,14 +40908,6 @@ Sie werden erhalten. None Keine - - Tool Chains - Toolchains - - - ABI - ABI - Build Displayed name for a normal build step @@ -39280,8 +41018,8 @@ Was soll %1 tun? Ausführbare Datei - <unknown> - <unbekannt> + Enter the path to the executable + Executable: @@ -39311,6 +41049,10 @@ Was soll %1 tun? Use debug version of frameworks (DYLD_IMAGE_SUFFIX=_debug) Debug-Version von Frameworks verwenden (DYLD_IMAGE_SUFFIX=_debug) + + Interpreter: + + X11 Forwarding: X11-Weiterleitung: @@ -39589,10 +41331,18 @@ Was soll %1 tun? The type of device to run applications on. Der Typ des Geräts, auf dem die Anwendung laufen soll. + + Run device type + + Unknown device type Unbekannter Gerätetyp + + Run device + + The device to run the applications on. Das Gerät, auf dem die Anwendungen laufen sollen. @@ -39625,6 +41375,14 @@ Was soll %1 tun? Device name Gerätename + + Device root directory + + + + Build device root directory + + Change... Ändern... @@ -40119,13 +41877,35 @@ fails because Clang does not understand the target architecture. Profiling Profiling + + Source: + Quelle: + + + Target: + Ziel: + + + Copying failed. + + + + Copying finished. + + + + Copy file + Default CopyStep display name + + + + Copy directory recursively + Default CopyStep display name + + QtC::Python - - Unable to open "%1" for reading: %2 - "%1" konnte nicht zum Lesen geöffnet werden: %2 - Unable to read "%1": The file is empty. "%1" konnte nicht gelesen werden: Die Datei ist leer. @@ -40219,8 +41999,25 @@ fails because Clang does not understand the target architecture. Language Server-Konfiguration - (Windowed) - (mit Fenster) + %1 (Windowed) + <python display name> (Windowed) + + + + Python interpreter: + + + + New Python Virtual Environment Directory + + + + Virtual environment directory: + + + + Create + Removing Python @@ -40243,32 +42040,24 @@ fails because Clang does not understand the target architecture. Installieren - Install %1 - This is the header of a progress bar - Installiere %1 + Install Python Packages + Running "%1" to install %2. Führe "%1" aus, um %2 zu installieren. - The %1 installation was canceled by %2. - %2 can be "user" or "time out" which doesn't work in non-english... so working around that. - Die Installation von %1 wurde abgebrochen: %2. + The installation of "%1" was canceled by timeout. + - user - Used as %2 in "Die Installation von %1 wurde abgebrochen: %2." - Der Nutzer hat den Prozess abgebrochen + The installation of "%1" was canceled by the user. + - time out - Used as %2 in "Die Installation von %1 wurde abgebrochen: %2." - Zeitüberschreitung - - - Installing the %1 failed with exit code %2 - Installation von %1 ist mit dem Rückgabewert %2 fehlgeschlagen + Installing "%1" failed with exit code %2. + Run PySide6 project tool @@ -40318,6 +42107,10 @@ fails because Clang does not understand the target architecture. No Python Selected Kein Python ausgewählt + + Create Virtual Environment + + Manage Python Interpreters Python-Interpreter verwalten @@ -40338,6 +42131,30 @@ fails because Clang does not understand the target architecture. Found "%1" (%2) "%1" (%2) gefunden + + Create Python venv + + + + "data" of a Python wizard page expects a map with "items" containing a list of objects. + + + + An item of Python wizard page data expects a "trKey" field containing the UI visible string for that Python version and a "value" field containing an object with a "PySideVersion" field used for import statements in the Python files. + + + + PySide version: + PySide-Version: + + + Create new virtual environment + + + + Path to virtual environment: + + QtC::QbsProjectManager @@ -40635,8 +42452,13 @@ fails because Clang does not understand the target architecture. Error retrieving run environment: %1 Fehler beim Abfragen der Ausführungsumgebung: %1 + + Reset + Zurücksetzen + Use %1 settings directory for Qbs + %1 == "Qt Creator" or "Qt Design Studio" @@ -40689,6 +42511,7 @@ fails because Clang does not understand the target architecture. The qbs API level is not compatible with what %1 expects. + %1 == "Qt Creator" or "Qt Design Studio" @@ -41768,6 +43591,22 @@ Bitte aktualisieren Sie Ihr Kit (%3) oder wählen Sie eine mkspec für qmake, di Error Fehler + + Export Components + + + + Export path: + + + + Baking aborted: %1 + + + + Baking finished! + + QtC::QmlEditorWidgets @@ -42757,6 +44596,26 @@ Sie können eine Annotation "// @uri My.Module.Uri" hinzufügen, um de Always use latest qmlls Stets das neueste qmlls benutzen + + Use customized static analyzer + + + + Enabled + Aktiviert + + + Disabled for non Qt Quick UI + + + + Message + + + + Enabled checks can be disabled for non Qt Quick UI files, but disabled checks cannot get explicitly enabled for non Qt Quick UI files. + + Automatic Formatting on File Save Automatische Formatierung beim Speichern einer Datei @@ -42769,6 +44628,14 @@ Sie können eine Annotation "// @uri My.Module.Uri" hinzufügen, um de Language Server Language Server + + Static Analyzer + + + + Reset to Default + Auf Vorgabe zurücksetzen + Enable auto format on file save Beim Speichern einer Datei automatisch formatieren @@ -42848,6 +44715,10 @@ Sie können eine Annotation "// @uri My.Module.Uri" hinzufügen, um de QML Functions QML-Funktionen + + Locates QML functions in any open project. + + Code Style Coding-Stil @@ -42860,10 +44731,6 @@ Sie können eine Annotation "// @uri My.Module.Uri" hinzufügen, um de Qt Qt - - Old Creator - Veraltete Creator-Konvention - &QML/JS &QML/JS @@ -42873,8 +44740,8 @@ Sie können eine Annotation "// @uri My.Module.Uri" hinzufügen, um de Codemodell zurücksetzen - Qml JS Code Style - QML JS Coding Style + Other + Andere &Line length: @@ -43865,18 +45732,10 @@ Speichern fehlgeschlagen. <Current File> <Aktuelle Datei> - - Invalid root element: %1 - Ungültiges Wurzelelement: %1 - Main QML file: QML-Hauptdatei: - - Error while loading project file %1. - Fehler beim Laden der Projektdatei %1. - Warning while loading project file %1. Warnung beim Laden der Projektdatei %1. @@ -44114,6 +45973,34 @@ Qt Design Studio requires a .qmlproject based project to open the .ui.qml file.< Are you sure? + + Failed to find valid build system + + + + Failed to create valid build directory + + + + Command: + + + + Arguments: + Argumente: + + + Build directory: + Build-Verzeichnis: + + + Failed to find valid Qt for MCUs kit + + + + Qt for MCUs Deploy Step + + QtC::Qnx @@ -44281,8 +46168,8 @@ Möchten Sie fortfahren? Qt-Deployment auf QNX-Gerät - Generate kits - Kits erzeugen + Create Kit for %1 + Configuration Information: @@ -44304,6 +46191,14 @@ Möchten Sie fortfahren? Target: Ziel: + + Compiler: + + + + Architectures: + + Remove Entfernen @@ -44317,8 +46212,12 @@ Möchten Sie fortfahren? Warnung - Configuration already exists or is invalid. - Die Konfiguration existiert bereits oder ist ungültig. + Configuration already exists. + + + + Configuration is not valid. + Remove QNX Configuration @@ -45146,10 +47045,6 @@ Zusätzlich wird die Verbindung zum Gerät getestet. echo failed. - - Device replied to echo with unexpected contents. - - Device replied to echo with expected contents. @@ -45174,10 +47069,19 @@ Zusätzlich wird die Verbindung zum Gerät getestet. All specified ports are available. Alle angegebenen Ports sind verfügbar. + + Device replied to echo with unexpected contents: "%1" + + The following specified ports are currently in use: %1 Die folgenden angegebenen Ports sind auf dem Gerät in Verwendung: %1 + + Some tools will not work out of the box. + + + Checking whether "%1" works... @@ -45199,6 +47103,11 @@ Zusätzlich wird die Verbindung zum Gerät getestet. "%1" is functional. + + + + + "%1" will be used for deployment, because "%2" and "%3" are not available. @@ -45210,11 +47119,6 @@ Zusätzlich wird die Verbindung zum Gerät getestet. %1... - - "%1" will be used for deployment, because "%2" is not available. - - - %1 found. %1 gefunden. @@ -45381,6 +47285,14 @@ Zusätzlich wird die Verbindung zum Gerät getestet. s s + + Source %1 and %2 + + + + Direct + + &Username: &Nutzername: @@ -45389,6 +47301,10 @@ Zusätzlich wird die Verbindung zum Gerät getestet. QML runtime executable: + + Access via: + + Physical Device Physisches Gerät @@ -45441,18 +47357,10 @@ Zusätzlich wird die Verbindung zum Gerät getestet. Deploy Public Key... Öffentlichen Schlüssel senden... - - Error running remote shell. - - Open Remote Shell Entfernte Shell starten - - Error running remote shell: %1 - Fehler bei der Ausführung der entfernten Shell: %1 - Cannot establish SSH connection: ssh binary "%1" does not exist. SSH-Verbindung kann nicht aufgebaut werden: Eine ausführbare SSH-Datei "%1" existiert nicht. @@ -45479,12 +47387,12 @@ Control process failed to start. - Remote Linux Device + Failed: %1 - Error starting remote shell. - Fehler beim Start der entfernten Shell. + Remote Linux Device + "%1" failed to start: %2 @@ -45498,10 +47406,6 @@ Control process failed to start. "sftp" binary "%1" does not exist. - - Failed to create local directory "%1". - Das lokale Verzeichnis "%1" konnte nicht erstellt werden. - Creating directory: %1 @@ -47118,6 +49022,10 @@ Refusing to record test case "%2". Step Out Einzelschritt heraus + + Inspect + + Type Typ @@ -47126,6 +49034,18 @@ Refusing to record test case "%2". Squish Locals + + Object + + + + Squish Objects + + + + Squish Object Properties + + Continue Fortsetzen @@ -47717,6 +49637,217 @@ Failed to open file "%1" Sonstige Einstellungen + + QtC::Terminal + + Configure... + Einstellungen... + + + Sends Esc to terminal instead of Qt Creator. + + + + Press %1 to send Esc to terminal. + + + + Terminal + Terminal + + + Sends keyboard shortcuts to Terminal. + + + + Sends keyboard shortcuts to Qt Creator. + + + + New Terminal + + + + Create a new Terminal. + + + + Next Terminal + + + + Previous Terminal + + + + Close the current Terminal. + + + + Devices + Geräte + + + The color used for %1. + + + + Failed to open file. + + + + JSON parsing error: "%1", at offset: %2 + + + + No colors found. + + + + Invalid color format. + + + + Unknown color scheme format. + + + + Use internal terminal + + + + Uses the internal terminal when "Run In Terminal" is enabled and for "Open Terminal here". + + + + Family: + Name: + + + The font family used in the terminal. + + + + Size: + Größe: + + + The font size used in the terminal (in points). + + + + Allow blinking cursor + + + + Allow the cursor to blink. + + + + Shell path: + + + + The shell executable to be started. + + + + Shell arguments: + + + + The arguments to be passed to the shell. + + + + Send escape key to terminal + + + + Sends the escape key to the terminal when pressedinstead of closing the terminal. + + + + Audible bell + + + + Makes the terminal beep when a bell character is received. + + + + Load Theme... + + + + Reset Theme + + + + Error + Fehler + + + General + Allgemein + + + Font + Zeichensatz + + + Colors + + + + Foreground + + + + Background + + + + Selection + Auswahl + + + Find match + + + + Default Shell + + + + Copy + Kopieren + + + Paste + Einfügen + + + Clear Selection + Auswahl löschen + + + Clear Terminal + + + + Move Cursor Word Left + + + + Move Cursor Word Right + + + + Close Terminal + + + QtC::TextEditor @@ -47993,6 +50124,10 @@ Werte kleiner als 100% können überlappende und falsch ausgerichtete Darstellun Cannot create temporary file "%1": %2. Die temporäre Datei "%1" konnte nicht erstellt werden: %2. + + Failed to format: %1. + + Cannot read file "%1": %2. Die Datei "%1" kann nicht gelesen werden: %2. @@ -48002,13 +50137,7 @@ Werte kleiner als 100% können überlappende und falsch ausgerichtete Darstellun %1 konnte nicht aufgerufen werden oder es trat ein anderer Fehler auf. Zeitüberschreitung während die Datei %2 formatiert wurde. - TextEditor - Failed to format: %1. - - - - TextEditor - Error in text formatting: %1 + Error in text formatting: %1 @@ -49028,6 +51157,10 @@ Bestimmt das Verhalten bezüglich der Einrückung von Fortsetzungszeilen. Jump to File Under Cursor in Next Split Gehe zu Datei unter Einfügemarke im nächsten geteilten Fenster + + Open Call Hierarchy + + Move the View a Page Up and Keep the Cursor Position Ansicht eine Bildschirmseite nach oben bewegen, ohne die Einfügemarke zu verändern @@ -49726,6 +51859,14 @@ Wird benutzt um die Funktion zu markieren, die ein gesuchtes Symbol benutzt.Name of a type. Typname. + + Concept + + + + Name of a concept. + + Namespace Namensraum @@ -50293,9 +52434,9 @@ Außer Leerzeichen innerhalb von Kommentaren und Zeichenketten. template - (type name READ name WRITE setName NOTIFY nameChanged) + (type name READ name WRITE setName NOTIFY nameChanged FINAL) group:'C++' trigger:'Q_PROPERTY' - (type name READ name WRITE setName NOTIFY nameChanged) + with targets @@ -50375,6 +52516,18 @@ Außer Leerzeichen innerhalb von Kommentaren und Zeichenketten. Show Commit %1 Commit %1 anzeigen + + Show Preview + + + + Show Editor + + + + Swap Views + + QtC::Todo @@ -50722,18 +52875,6 @@ Die Trace-Daten sind verloren. QtC::Utils - - Do not ask again - Nicht noch einmal nachfragen - - - Show Details... - Details anzeigen... - - - Hide Details... - Details ausblenden... - Do not &ask again Nicht noch einmal nach&fragen @@ -50781,8 +52922,16 @@ Die Trace-Daten sind verloren. Ausschl&ussmuster: - List of comma separated wildcard filters. Files with file name or full file path matching any filter are included. - Kommaseparierte Liste von Platzhalter-Filtern. Dateien werden eingeschlossen, wenn ihr Name oder vollständiger Pfad einem der Filter entspricht. + List of comma separated wildcard filters. + + + + Files with file name or full file path matching any filter are included. + + + + Files with file name or full file path matching any filter are excluded. + Local @@ -51017,6 +53166,10 @@ Die Trace-Daten sind verloren. The program "%1" does not exist or is not executable. Das Programm "%1" existiert nicht oder ist nicht ausführbar. + + The program "%1" could not be found. + + Process Not Responding Prozess antwortet nicht @@ -51094,41 +53247,13 @@ Die Trace-Daten sind verloren. Das Kommando "%1" konnte nicht ausgeführt werden: %2 - The process "%1" could not be started: %2 - Der Prozess "%1" konnte nicht gestartet werden: %2 - - - Quoting error in command. - Falsch gesetzte Anführungszeichen im Kommando. - - - Debugging complex shell commands in a terminal is currently not supported. - Das Debuggen komplexer Shell-Kommandos in einem Terminal wird aktuell nicht unterstützt. - - - Quoting error in terminal command. - Falsch gesetzte Anführungszeichen im Terminal-Kommando. - - - Terminal command may not be a shell command. - Shell-Kommandos sind als Terminal-Kommando nicht zulässig. - - - Cannot start the terminal emulator "%1", change the setting in the Environment preferences. (%2) - Der Terminal-Emulator "%1" konnte nicht gestartet werden, ändern Sie den Wert in den Einstellungen zur Umgebung (%2) + Cannot set permissions on temporary directory "%1": %2 + Cannot create socket "%1": %2 Der Socket "%1" konnte nicht erstellt werden: %2 - - Cannot obtain a handle to the inferior: %1 - Der Handle für den Prozess konnte nicht erhalten werden: %1 - - - Cannot obtain exit status from inferior: %1 - Der Rückgabewert des Prozesses konnte nicht erhalten werden: %1 - copyFile is not implemented for "%1". copyFile ist für "%1" nicht implementiert. @@ -51177,10 +53302,6 @@ Die Trace-Daten sind verloren. Failed to remove file "%1". Die Datei "%1" konnte nicht gelöscht werden. - - Failed to copy file "%1" to "%2". - Kopieren der Datei "%1" nach "%2" ist fehlgeschlagen. - File "%1" does not exist. Datei "%1" existiert nicht. @@ -51233,42 +53354,10 @@ Die Trace-Daten sind verloren. Could not copy file "%1" to "%2". Die Datei "%1" konnte nicht nach "%2" kopiert werden. - - Cannot Save Workspace - Arbeitsbereich kann nicht gespeichert werden - - - Could not save workspace to file %1 - Arbeitsbereich konnte nicht in der Datei %1 gespeichert werden - - - Delete Workspace - Arbeitsbereich löschen - - - Delete Workspaces - Arbeitsbereiche löschen - - - Delete workspace "%1"? - Arbeitsbereich "%1" löschen? - - - Delete these workspaces? - Diese Arbeitsbereiche löschen? - File Error Dateifehler - - Cannot Restore Workspace - Arbeitsbereich kann nicht wiederhergestellt werden - - - Could not restore workspace %1 - Der Arbeitsbereich %1 konnte nicht wiederhergestellt werden - Cannot write file %1: %2 In die Datei %1 konnte nicht geschrieben werden: %2 @@ -51788,6 +53877,10 @@ in "%2" aus. Variables Variablen + + No clangd executable specified. + + Failed to retrieve clangd version: Unexpected clangd output. Konnte Clangd-Version nicht bestimmen. Unerwartete Ausgabe. @@ -51796,6 +53889,26 @@ in "%2" aus. The clangd version is %1, but %2 or greater is required. Die Clangd-Version ist %1, aber %2 oder neuer wird benötigt. + + Failed to open temporary script file. + + + + Failed to start terminal process: "%1". + + + + Failed copying file. + + + + Failed reading file. + + + + Failed writing file. + + QtC::Valgrind @@ -51932,11 +54045,11 @@ in "%2" aus. - MemCheck Memory Analysis Options + Memcheck Memory Analysis Options - CallGrind Profiling Options + Callgrind Profiling Options @@ -51959,10 +54072,18 @@ in "%2" aus. Remove Entfernen + + Extra Memcheck arguments: + + Track origins of uninitialized memory Herkunft von nicht initialisiertem Speicher verfolgen + + Extra Callgrind arguments: + + Limits the amount of results the profiler gives you. A lower limit will likely increase performance. Diese Einstellung beschränkt die Anzahl der Ergebnisse des Profilers. Kleinere Werte steigern die Geschwindigkeit. @@ -51983,14 +54104,6 @@ in "%2" aus. Valgrind arguments: - - Extra MemCheck arguments: - - - - Extra CallGrind arguments: - - Enable cache simulation Cache-Simulation aktivieren @@ -52608,16 +54721,9 @@ Wird ein Problem gefunden, dann wird die Anwendung angehalten und kann untersuch Profiling von %1 - Valgrind options: %1 - Valgrind-Optionen: %1 - - - Working directory: %1 - Arbeitsverzeichnis: %1 - - - Command line arguments: %1 - Kommandozeilenargumente: %1 + Valgrind executable "%1" not found or not executable. +Check settings or ensure Valgrind is installed and available in PATH. + Analyzing finished. @@ -52900,19 +55006,6 @@ Wird ein Problem gefunden, dann wird die Anwendung angehalten und kann untersuch Insert Name... Namen einfügen... - - Cannot %1%2. - %2 is an optional error message with ': ' prefix. Don't add space in front. - - - - Close %1 %2 Editor - Editor für %1 %2 schließen - - - Closing this editor will abort the %1. - - &Close &Schließen @@ -53357,8 +55450,25 @@ Wird ein Problem gefunden, dann wird die Anwendung angehalten und kann untersuch Commit name of "commit" action of the VCS. + Name of the "commit" action of the VCS Commit + + Close Commit Editor + + + + Closing this editor will abort the commit. + + + + Cannot commit. + + + + Cannot commit: %1. + + Save before %1? Vor dem %1 speichern? @@ -54306,13 +56416,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Bestimmt, ob der Radioknopf bei Betätigung den Fokus bekommt. - - RadioDelegateSpecifics - - Radio Delegate - - - RangeSliderSpecifics @@ -54324,73 +56427,75 @@ should a repository require SSH-authentication (see documentation on SSH and the - The value of the first range slider handle. + Sets the value of the first range slider handle. + + + + Toggles if the range slider provides live value updates. + + + + Sets the value of the second range slider handle. + + + + Sets the minimum value of the range slider. + + + + Sets the maximum value of the range slider. + + + + Sets the interval between the steps. +This functions if <b>Snap mode</b> is selected. + + + + Sets the threshold at which a drag event begins. + + + + Sets how the slider handles snaps to the steps +defined in step size. + + + + Sets the orientation of the range slider. Live - - Whether the range slider provides live value updates. - - Value 2 - - The value of the second range slider handle. - - From Von - - The starting value of the range slider range. - - To Bis - - The ending value of the range slider range. - - Step size Schrittweite - - The step size of the range slider. - - Drag threshold - - The threshold (in logical pixels) at which a drag event will be initiated. - - Snap mode Einrasten - - The snap mode of the range slider. - - Orientation Ausrichtung - - The orientation of the range slider. - - RectangleSpecifics @@ -54402,18 +56507,34 @@ should a repository require SSH-authentication (see documentation on SSH and the Fill color + + Sets the color for the background. + + Border color + + Sets the color for the border. + + Border width + + Sets the border width. + + Radius Radius + + Sets the radius by which the corners get rounded. + + RenameFolderDialog @@ -54501,7 +56622,7 @@ should a repository require SSH-authentication (see documentation on SSH and the - Whether the button is flat and/or highlighted. + Toggles if the button is flat or highlighted. @@ -54517,7 +56638,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Radius - Radius of the button. + Sets the radius of the button. @@ -54546,10 +56667,18 @@ should a repository require SSH-authentication (see documentation on SSH and the Spacing Abstand + + Sets the spacing between items in the row. + + Layout direction + + Sets in which direction items in the row are placed. + + ScaleToolAction @@ -54568,6 +56697,11 @@ should a repository require SSH-authentication (see documentation on SSH and the Content size Größe des Inhalts + + Sets the width and height of the view. +This is used for calculating the total implicit size. + + W width @@ -54818,6 +56952,116 @@ should a repository require SSH-authentication (see documentation on SSH and the Legt fest, ob der aktuelle Wert aktualisiert werden soll, während der Benutzer den Slider verschiebt, oder nur aktualisiert wird, wenn er losgelassen wird. + + SpatialSoundSection + + Spatial Sound + + + + Source + + + + The source file for the sound to be played. + + + + Volume + + + + Set the overall volume for this sound source. +Values between 0 and 1 will attenuate the sound, while values above 1 provide an additional gain boost. + + + + Loops + + + + Sets how often the sound is played before the player stops. +Bind to SpatialSound.Infinite to loop the current sound forever. + + + + Auto Play + + + + Sets whether the sound should automatically start playing when a source gets specified. + + + + Distance Model + + + + Sets thow the volume of the sound scales with distance to the listener. + + + + Size + Größe + + + Set the size of the sound source. +If the listener is closer to the sound object than the size, volume will stay constant. + + + + Distance Cutoff + + + + Set the distance beyond which sound coming from the source will cutoff. + + + + Manual Attenuation + + + + Set the manual attenuation factor if distanceModel is set to ManualAttenuation. + + + + Occlusion Intensity + + + + Set how much the object is occluded. +0 implies the object is not occluded at all, while a large number implies a large occlusion. + + + + Directivity + + + + Set the directivity of the sound source. +A value of 0 implies that the sound is emitted equally in all directions, while a value of 1 implies that the source mainly emits sound in the forward direction. + + + + Directivity Order + + + + Set the order of the directivity of the sound source. +A higher order implies a sharper localization of the sound cone. + + + + Near Field Gain + + + + Set the near field gain for the sound source. +A near field gain of 1 will raise the volume of the sound signal by approx 20 dB for distances very close to the listener. + + + SpinBoxSpecifics @@ -54829,49 +57073,50 @@ should a repository require SSH-authentication (see documentation on SSH and the Wert - The current value of the spin box. + Sets the current value of the spin box. + + + + Sets the lowest value of the spin box range. + + + + Sets the highest value of the spin box range. + + + + Sets the number by which the spin box value changes. + + + + Toggles if the spin box is editable. + + + + Toggles if the spin box wraps around when +it reaches the start or end. From Von - - The starting value of the spin box range. - - To Bis - - The ending value of the spin box range. - - Step size Schrittweite - - The step size of the spin box. - - Editable - - Whether the spin box is editable. - - Wrap - - Whether the spin box values wrap. - - SplitViewSpecifics @@ -54920,16 +57165,28 @@ should a repository require SSH-authentication (see documentation on SSH and the Wrap mode Umbruch + + Sets how overflowing text is handled. + + Elide Auslassung + + Sets how to indicate that more text is available. + + Max line count - Limits the number of lines that the text component will show. + Sets the rendering type for this component. + + + + Sets how to calculate the line height based on the <b>Line height</b> value. @@ -54940,18 +57197,22 @@ should a repository require SSH-authentication (see documentation on SSH and the Alignment V - - Overrides the default rendering type for this component. - - Size mode + + Sets how the font size is determined. + + Min size + + Sets the minimum font size to use. This has no effect when <b>Size</b> mode is set to Fixed. + + Minimum font pixel size of scaled text. @@ -54969,12 +57230,16 @@ should a repository require SSH-authentication (see documentation on SSH and the Format - Render type - Rendering-Typ + Sets the max number of lines that the text component shows. + - Specifies how the font size of the displayed text is determined. - Legt fest wie die Schriftgröße des angezeigten Texts bestimmt wird. + Sets the formatting method of the text. + + + + Render type + Rendering-Typ Line height @@ -54984,10 +57249,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Line height mode Zeilenhöhen-Modus - - Determines how the line height is specified. - Bestimmt, wie die Zeilenhöhe festgelegt wird. - StateMenu @@ -55159,52 +57420,6 @@ should a repository require SSH-authentication (see documentation on SSH and the - - StudioWelcome::Internal::StudioSettingsPage - - Build - - - - Debug - Debug - - - Analyze - Analysieren - - - Hide top-level menus with advanced functionality to simplify the UI. <b>Build</b> is generally not required in the context of Qt Design Studio. <b>Debug</b> and <b>Analyze</b> are only required for debugging and profiling. - - - - Hide Menu - - - - Examples - Beispiele - - - Examples path: - - - - Reset Path - Pfad zurücksetzen - - - The menu visibility change will take effect after restart. - - - - - StudioWelcome::Internal::StudioWelcomeSettingsPage - - Qt Design Studio Configuration - - - StudioWelcome::Internal::UsageStatisticPluginModel @@ -55290,17 +57505,17 @@ should a repository require SSH-authentication (see documentation on SSH and the Interaktiv - Whether the view is interactive. + Toggles if the user can interact with the view. + + + + Sets the orientation of the view. Orientation Ausrichtung - - Orientation of the view. - - Font Inheritance @@ -55327,16 +57542,17 @@ should a repository require SSH-authentication (see documentation on SSH and the Position Position - - Position of the tab bar. - - Content size Größe des Inhalts - Content width and height used for calculating the total implicit size. + Sets the position of the tab bar. + + + + Sets the width and height of the tab bar. +This is used for calculating the total implicit size. @@ -55395,17 +57611,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Bestimmt die Position der Tabs. - - TabViewToolAction - - Add Tab... - Tab hinzufügen... - - - Step into Tab - In Tab hineingehen - - TemplateMerge @@ -55522,48 +57727,68 @@ should a repository require SSH-authentication (see documentation on SSH and the Wrap mode Umbruch + + Sets how overflowing text is handled. + + Elide Auslassung + + Sets how to indicate that more text is available. + + Format Format + + Sets the formatting method of the text. + + Render type Rendering-Typ - Overrides the default rendering type for this component. + Sets the rendering type for this component. + + + + Sets the quality of the render. This only has an effect when <b>Render type</b> is set to QtRendering. + + + + Sets how to calculate the line height based on the <b>Line height</b> value. + + + + Sets how the font size is determined. + + + + Sets the max number of lines that the text component shows. Render type quality - - Overrides the default rendering type quality for this component. - - Line height mode Zeilenhöhen-Modus - - Determines how the line height is specified. - Bestimmt, wie die Zeilenhöhe festgelegt wird. - Size mode - Specifies how the font size of the displayed text is determined. - Legt fest wie die Schriftgröße des angezeigten Texts bestimmt wird. + Min size + - Min size + Sets the minimum font size to use. This has no effect when <b>Size</b> mode is set to Fixed. @@ -55578,10 +57803,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Max line count - - Limits the number of lines that the text component will show. - - TextFieldSpecifics @@ -55644,10 +57865,6 @@ should a repository require SSH-authentication (see documentation on SSH and the Echo mode Echo-Modus - - Character displayed when users enter passwords. - Das Zeichen, das bei der Eingabe von Passwörtern angezeigt wird. - Tab stop distance Tabulatorbreite @@ -55660,10 +57877,18 @@ should a repository require SSH-authentication (see documentation on SSH and the Maximum length Maximale Länge + + Sets the maximum length of the text. + + Read only Schreibgeschützt + + Toggles if the text allows edits. + + Cursor visible Einfügemarke sichtbar @@ -55672,18 +57897,42 @@ should a repository require SSH-authentication (see documentation on SSH and the Selection color + + Sets the background color of selected text. + + Selected text color + + Sets the color of selected text. + + Selection mode + + Sets the way text is selected with the mouse. + + + + Sets the allowed characters. + + + + Sets the visibility mode. + + Password character + + Sets which character to display when passwords are entered. + + Default distance between tab stops in device units. @@ -55693,29 +57942,49 @@ should a repository require SSH-authentication (see documentation on SSH and the - Maximum permitted length of the text in the Text Input. + Toggles if the cursor is visible. Focus on press Fokussieren durch Betätigen + + Toggles if the text is focused on mouse click. + + Auto scroll Automatisch rollen + + Toggles if the text scrolls when it exceeds its boundary. + + Overwrite mode Überschreibmodus + + Toggles if overwriting text is allowed. + + Persistent selection Bleibende Auswahl + + Toggles if the text should remain selected after moving the focus elsewhere. + + Select by mouse Mit der Maus auswählen + + Toggles if the text can be selected with the mouse. + + Select by keyboard Mit der Tastatur auswählen @@ -55904,7 +58173,7 @@ should a repository require SSH-authentication (see documentation on SSH and the Ausrichtung - The orientation of the separator. + Sets the orientation of the separator. @@ -55919,25 +58188,26 @@ should a repository require SSH-authentication (see documentation on SSH and the - The count of visible items. + Sets the number of items in the model. + + + + Sets the index of the current item. + + + + Toggles if the tumbler wraps around when it reaches the +top or bottom. Current index Aktueller Index - - The index of the current item. - - Wrap - - Whether the tumbler values wrap. - - UnimportBundleMaterialDialog @@ -55967,6 +58237,41 @@ Are you sure you want to remove the material? + + Vcpkg + + Search package... + + + + Vcpkg Manifest Editor + + + + Name: + + + + Version: + Version: + + + License: + Lizenz: + + + Description: + Beschreibung: + + + Homepage: + + + + Vcpkg installation + + + VideoSection diff --git a/src/libs/utils/aspects.cpp b/src/libs/utils/aspects.cpp index 900e9f86866..456010c78d8 100644 --- a/src/libs/utils/aspects.cpp +++ b/src/libs/utils/aspects.cpp @@ -1518,7 +1518,15 @@ void BoolAspect::setLabelPlacement(BoolAspect::LabelPlacement labelPlacement) d->m_labelPlacement = labelPlacement; } -CheckableDecider BoolAspect::checkableDecider() +CheckableDecider BoolAspect::askAgainCheckableDecider() +{ + return CheckableDecider( + [this] { return value(); }, + [this] { setValue(true); } + ); +} + +CheckableDecider BoolAspect::doNotAskAgainCheckableDecider() { return CheckableDecider( [this] { return !value(); }, diff --git a/src/libs/utils/aspects.h b/src/libs/utils/aspects.h index f36a96cc196..eafceeddb32 100644 --- a/src/libs/utils/aspects.h +++ b/src/libs/utils/aspects.h @@ -325,7 +325,9 @@ public: void addToLayout(Layouting::LayoutItem &parent) override; std::function groupChecker(); - Utils::CheckableDecider checkableDecider(); + + Utils::CheckableDecider askAgainCheckableDecider(); + Utils::CheckableDecider doNotAskAgainCheckableDecider(); QAction *action() override; diff --git a/src/libs/utils/layoutbuilder.cpp b/src/libs/utils/layoutbuilder.cpp index 1fceaf11b87..fa2c6e369eb 100644 --- a/src/libs/utils/layoutbuilder.cpp +++ b/src/libs/utils/layoutbuilder.cpp @@ -305,6 +305,8 @@ static void addItemToFlowLayout(FlowLayout *layout, const ResultItem &item) // layout->addStretch(item.stretch); // } else if (item.space != -1) { // layout->addSpacing(item.space); + } else if (item.empty) { + // Nothing to do, but no reason to warn, either } else if (!item.text.isEmpty()) { layout->addWidget(createLabel(item.text)); } else { diff --git a/src/libs/utils/terminalinterface.cpp b/src/libs/utils/terminalinterface.cpp index fc69451c9c0..204cd79d7a1 100644 --- a/src/libs/utils/terminalinterface.cpp +++ b/src/libs/utils/terminalinterface.cpp @@ -280,8 +280,10 @@ void TerminalInterface::sendCommand(char c) void TerminalInterface::killInferiorProcess() { sendCommand('k'); - if (d->stubSocket) + if (d->stubSocket) { d->stubSocket->waitForReadyRead(); + emitFinished(-1, QProcess::CrashExit); + } } void TerminalInterface::killStubProcess() diff --git a/src/plugins/android/androidconstants.h b/src/plugins/android/androidconstants.h index f1ca33e3bbe..70c8c3a23f7 100644 --- a/src/plugins/android/androidconstants.h +++ b/src/plugins/android/androidconstants.h @@ -27,6 +27,7 @@ const char ANDROID_KIT_NDK[] = "Android.NDK"; const char ANDROID_KIT_SDK[] = "Android.SDK"; const char ANDROID_BUILD_DIRECTORY[] = "android-build"; +const char ANDROID_APP_PROCESS_DIRECTORY[] = "android-app-process"; const char JAVA_EDITOR_ID[] = "java.editor"; const char JLS_SETTINGS_ID[] = "Java::JLSSettingsID"; const char JAVA_MIMETYPE[] = "text/x-java"; diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp index bb4fc51b984..354b8a77fda 100644 --- a/src/plugins/android/androiddebugsupport.cpp +++ b/src/plugins/android/androiddebugsupport.cpp @@ -138,7 +138,7 @@ void AndroidDebugSupport::start() FilePath::removeDuplicates(solibSearchPath); setSolibSearchPath(solibSearchPath); qCDebug(androidDebugSupportLog).noquote() << "SoLibSearchPath: " << solibSearchPath; - setSymbolFile(buildDir.pathAppended("app_process")); + setSymbolFile(AndroidManager::androidAppProcessDir(target).pathAppended("app_process")); setSkipExecutableValidation(true); setUseExtendedRemote(true); QString devicePreferredAbi = AndroidManager::apkDevicePreferredAbi(target); diff --git a/src/plugins/android/androiddeployqtstep.cpp b/src/plugins/android/androiddeployqtstep.cpp index a9e9596e772..db877b4e972 100644 --- a/src/plugins/android/androiddeployqtstep.cpp +++ b/src/plugins/android/androiddeployqtstep.cpp @@ -512,6 +512,13 @@ void AndroidDeployQtStep::runImpl(QPromise &promise) itr.value().removeFile(); for (auto itr = m_filesToPull.constBegin(); itr != m_filesToPull.constEnd(); ++itr) { + const FilePath parentDir = itr.value().parentDir(); + if (!parentDir.ensureWritableDir()) { + const QString error = QString("Package deploy: Unable to create directory %1.") + .arg(parentDir.nativePath()); + reportWarningOrError(error, Task::Error); + } + runCommand({m_adbPath, AndroidDeviceInfo::adbSelector(m_serialNumber) << "pull" << itr.key() << itr.value().nativePath()}); @@ -528,7 +535,7 @@ void AndroidDeployQtStep::runImpl(QPromise &promise) void AndroidDeployQtStep::gatherFilesToPull() { m_filesToPull.clear(); - const FilePath buildDir = AndroidManager::buildDirectory(target()); + const FilePath appProcessDir = AndroidManager::androidAppProcessDir(target()); if (!m_deviceInfo.isValid()) return; @@ -538,16 +545,16 @@ void AndroidDeployQtStep::gatherFilesToPull() const QString preferredAbi = AndroidManager::apkDevicePreferredAbi(target()); if (preferredAbi == ProjectExplorer::Constants::ANDROID_ABI_ARM64_V8A || preferredAbi == ProjectExplorer::Constants::ANDROID_ABI_X86_64) { - m_filesToPull["/system/bin/app_process64"] = buildDir / "app_process"; + m_filesToPull["/system/bin/app_process64"] = appProcessDir / "app_process"; libDirName = "lib64"; linkerName = "linker64"; } else { - m_filesToPull["/system/bin/app_process32"] = buildDir / "app_process"; - m_filesToPull["/system/bin/app_process"] = buildDir / "app_process"; + m_filesToPull["/system/bin/app_process32"] = appProcessDir / "app_process"; + m_filesToPull["/system/bin/app_process"] = appProcessDir / "app_process"; } - m_filesToPull["/system/bin/" + linkerName] = buildDir / linkerName; - m_filesToPull["/system/" + libDirName + "/libc.so"] = buildDir / "libc.so"; + m_filesToPull["/system/bin/" + linkerName] = appProcessDir / linkerName; + m_filesToPull["/system/" + libDirName + "/libc.so"] = appProcessDir / "libc.so"; for (auto itr = m_filesToPull.constBegin(); itr != m_filesToPull.constEnd(); ++itr) qCDebug(deployStepLog).noquote() << "Pulling file from device:" << itr.key() diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 78b6202a65c..9458df2a3b9 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -229,6 +229,11 @@ FilePath AndroidManager::androidBuildDirectory(const Target *target) return buildDirectory(target) / Constants::ANDROID_BUILD_DIRECTORY; } +FilePath AndroidManager::androidAppProcessDir(const Target *target) +{ + return buildDirectory(target) / Constants::ANDROID_APP_PROCESS_DIRECTORY; +} + bool AndroidManager::isQt5CmakeProject(const ProjectExplorer::Target *target) { const QtSupport::QtVersion *qt = QtSupport::QtKitAspect::qtVersion(target->kit()); diff --git a/src/plugins/android/androidmanager.h b/src/plugins/android/androidmanager.h index ec6aff85bc6..ca8f9d0769f 100644 --- a/src/plugins/android/androidmanager.h +++ b/src/plugins/android/androidmanager.h @@ -74,6 +74,7 @@ public: static bool isQt5CmakeProject(const ProjectExplorer::Target *target); static Utils::FilePath androidBuildDirectory(const ProjectExplorer::Target *target); + static Utils::FilePath androidAppProcessDir(const ProjectExplorer::Target *target); static Utils::FilePath buildDirectory(const ProjectExplorer::Target *target); static Utils::FilePath manifestPath(const ProjectExplorer::Target *target); static void setManifestPath(ProjectExplorer::Target *target, const Utils::FilePath &path); diff --git a/src/plugins/autotest/testresultmodel.cpp b/src/plugins/autotest/testresultmodel.cpp index fcb02ec595b..05e3c979234 100644 --- a/src/plugins/autotest/testresultmodel.cpp +++ b/src/plugins/autotest/testresultmodel.cpp @@ -4,6 +4,7 @@ #include "testresultmodel.h" #include "autotesticons.h" +#include "testresultspane.h" #include "testrunner.h" #include "testsettings.h" #include "testtreeitem.h" @@ -15,6 +16,7 @@ #include #include +#include using namespace Utils; @@ -185,6 +187,17 @@ TestResultItem *TestResultItem::createAndAddIntermediateFor(const TestResultItem result.setResult(ResultType::TestStart); TestResultItem *intermediate = new TestResultItem(result); appendChild(intermediate); + // FIXME: make the expand button's state easier accessible + auto widgets = TestResultsPane::instance()->toolBarWidgets(); + if (!widgets.empty()) { + if (QToolButton *expand = qobject_cast(widgets.at(0))) { + if (expand->isChecked()) { + QMetaObject::invokeMethod(TestResultsPane::instance(), + [intermediate] { intermediate->expand(); }, + Qt::QueuedConnection); + } + } + } return intermediate; } diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index fc2fe2fedf4..40e0a947a44 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -978,6 +978,12 @@ MessageId ClangdClient::requestSymbolInfo(const Utils::FilePath &filePath, const return symReq.id(); } +#ifdef WITH_TESTS +ClangdFollowSymbol *ClangdClient::currentFollowSymbolOperation() +{ + return d->followSymbol; +} +#endif void ClangdClient::followSymbol(TextDocument *document, const QTextCursor &cursor, @@ -990,8 +996,8 @@ void ClangdClient::followSymbol(TextDocument *document, { QTC_ASSERT(documentOpen(document), openDocument(document)); - delete d->followSymbol; - d->followSymbol = nullptr; + if (d->followSymbol) + d->followSymbol->cancel(); const QTextCursor adjustedCursor = d->adjustedCursor(cursor, document); if (followTo == FollowTo::SymbolDef && !resolveTarget) { @@ -1001,12 +1007,14 @@ void ClangdClient::followSymbol(TextDocument *document, qCDebug(clangdLog) << "follow symbol requested" << document->filePath() << adjustedCursor.blockNumber() << adjustedCursor.positionInBlock(); - d->followSymbol = new ClangdFollowSymbol(this, adjustedCursor, editorWidget, document, callback, - followTo, openInSplit); - connect(d->followSymbol, &ClangdFollowSymbol::done, this, [this] { - d->followSymbol->deleteLater(); - d->followSymbol = nullptr; + auto clangdFollowSymbol = new ClangdFollowSymbol(this, adjustedCursor, editorWidget, document, + callback, followTo, openInSplit); + connect(clangdFollowSymbol, &ClangdFollowSymbol::done, this, [this, clangdFollowSymbol] { + clangdFollowSymbol->deleteLater(); + if (clangdFollowSymbol == d->followSymbol) + d->followSymbol = nullptr; }); + d->followSymbol = clangdFollowSymbol; } void ClangdClient::switchDeclDef(TextDocument *document, const QTextCursor &cursor, diff --git a/src/plugins/clangcodemodel/clangdclient.h b/src/plugins/clangcodemodel/clangdclient.h index 27ec66a3017..2b354eaa2cc 100644 --- a/src/plugins/clangcodemodel/clangdclient.h +++ b/src/plugins/clangcodemodel/clangdclient.h @@ -37,6 +37,8 @@ void setupClangdConfigFile(); enum class FollowTo { SymbolDef, SymbolType }; +class ClangdFollowSymbol; + class ClangdClient : public LanguageClient::Client { Q_OBJECT @@ -117,6 +119,10 @@ public: const LanguageServerProtocol::Position &position, const SymbolInfoHandler &handler); +#ifdef WITH_TESTS + ClangdFollowSymbol *currentFollowSymbolOperation(); +#endif + signals: void indexingFinished(); void foundReferences(const Utils::SearchResultItems &items); diff --git a/src/plugins/clangcodemodel/clangdfollowsymbol.cpp b/src/plugins/clangcodemodel/clangdfollowsymbol.cpp index 757ad4bf2e8..730a3fdd375 100644 --- a/src/plugins/clangcodemodel/clangdfollowsymbol.cpp +++ b/src/plugins/clangcodemodel/clangdfollowsymbol.cpp @@ -90,6 +90,7 @@ public: void closeTempDocuments(); bool addOpenFile(const FilePath &filePath); bool defLinkIsAmbiguous() const; + void cancel(); ClangdFollowSymbol * const q; ClangdClient * const client; @@ -169,18 +170,17 @@ ClangdFollowSymbol::ClangdFollowSymbol(ClangdClient *client, const QTextCursor & ClangdFollowSymbol::~ClangdFollowSymbol() { - d->closeTempDocuments(); - if (d->virtualFuncAssistProcessor) - d->virtualFuncAssistProcessor->resetData(false); - for (const MessageId &id : std::as_const(d->pendingSymbolInfoRequests)) - d->client->cancelRequest(id); - for (const MessageId &id : std::as_const(d->pendingGotoImplRequests)) - d->client->cancelRequest(id); - for (const MessageId &id : std::as_const(d->pendingGotoDefRequests)) - d->client->cancelRequest(id); + d->cancel(); delete d; } +void ClangdFollowSymbol::cancel() +{ + d->cancel(); + clear(); + emitDone(); +} + void ClangdFollowSymbol::clear() { d->openedFiles.clear(); @@ -221,6 +221,19 @@ bool ClangdFollowSymbol::Private::defLinkIsAmbiguous() const return true; } +void ClangdFollowSymbol::Private::cancel() +{ + closeTempDocuments(); + if (virtualFuncAssistProcessor) + virtualFuncAssistProcessor->resetData(false); + for (const MessageId &id : std::as_const(pendingSymbolInfoRequests)) + client->cancelRequest(id); + for (const MessageId &id : std::as_const(pendingGotoImplRequests)) + client->cancelRequest(id); + for (const MessageId &id : std::as_const(pendingGotoDefRequests)) + client->cancelRequest(id); +} + bool ClangdFollowSymbol::Private::addOpenFile(const FilePath &filePath) { return openedFiles.insert(filePath).second; diff --git a/src/plugins/clangcodemodel/clangdfollowsymbol.h b/src/plugins/clangcodemodel/clangdfollowsymbol.h index 791f2f1a99a..33cef520d88 100644 --- a/src/plugins/clangcodemodel/clangdfollowsymbol.h +++ b/src/plugins/clangcodemodel/clangdfollowsymbol.h @@ -28,6 +28,7 @@ public: TextEditor::TextDocument *document, const Utils::LinkHandler &callback, FollowTo followTo, bool openInSplit); ~ClangdFollowSymbol(); + void cancel(); void clear(); signals: diff --git a/src/plugins/clangcodemodel/test/clangdtests.cpp b/src/plugins/clangcodemodel/test/clangdtests.cpp index 5a52a207853..ceaf25787e8 100644 --- a/src/plugins/clangcodemodel/test/clangdtests.cpp +++ b/src/plugins/clangcodemodel/test/clangdtests.cpp @@ -4,6 +4,7 @@ #include "clangdtests.h" #include "../clangdclient.h" +#include "../clangdfollowsymbol.h" #include "../clangmodelmanagersupport.h" #include @@ -428,6 +429,37 @@ void ClangdTestFollowSymbol::test() QCOMPARE(actualLink.targetColumn + 1, targetColumn); } +// Make sure it is safe to call follow symbol in a follow symbol handler. Since follow symbol +// potentially opens a file that gets loaded in chunks which handles user events inbetween +// the chunks we can potentially call a follow symbol while currently handling another one. +void ClangdTestFollowSymbol::testFollowSymbolInHandler() +{ + TextEditor::TextDocument *const doc = document("header.h"); + QVERIFY(doc); + QTimer timer; + timer.setSingleShot(true); + QEventLoop loop; + QTextCursor cursor(doc->document()); + const int pos = Text::positionInText(doc->document(), 48, 9); + cursor.setPosition(pos); + QObject::connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit); + + bool deleted = false; + + const auto handler = [&](const Link &) { + client()->followSymbol(doc, cursor, nullptr, [&](const Link &) { loop.quit(); }, true, + FollowTo::SymbolDef, false); + QVERIFY(!deleted); + }; + + client()->followSymbol(doc, cursor, nullptr, handler, true, FollowTo::SymbolDef, false); + QVERIFY(client()->currentFollowSymbolOperation()); + connect(client()->currentFollowSymbolOperation(), &QObject::destroyed, [&] { deleted = true; }); + timer.start(10000); + loop.exec(); + QVERIFY(timer.isActive()); + timer.stop(); +} ClangdTestLocalReferences::ClangdTestLocalReferences() { diff --git a/src/plugins/clangcodemodel/test/clangdtests.h b/src/plugins/clangcodemodel/test/clangdtests.h index 90f4eca45af..92bf4efe90c 100644 --- a/src/plugins/clangcodemodel/test/clangdtests.h +++ b/src/plugins/clangcodemodel/test/clangdtests.h @@ -86,6 +86,7 @@ public: private slots: void test_data(); void test(); + void testFollowSymbolInHandler(); }; class ClangdTestLocalReferences : public ClangdTest diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index aa175406848..3bb546fc066 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -594,7 +594,7 @@ void CMakeBuildSettingsWidget::reconfigureWithInitialParameters() Core::ICore::dialogParent(), Tr::tr("Re-configure with Initial Parameters"), Tr::tr("Clear CMake configuration and configure with initial parameters?"), - settings->askBeforeReConfigureInitialParams.checkableDecider(), + settings->askBeforeReConfigureInitialParams.askAgainCheckableDecider(), QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes); diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp index 96d54518c33..88cb4e168a7 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp @@ -238,7 +238,7 @@ void CMakeManager::reloadCMakePresets() Tr::tr("Reload CMake Presets"), Tr::tr("Re-generates the kits that were created for CMake presets. All manual " "modifications to the CMake project settings will be lost."), - settings->askBeforePresetsReload.checkableDecider(), + settings->askBeforePresetsReload.askAgainCheckableDecider(), QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Yes, QMessageBox::Yes, diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp index 1ef71721686..16b2a5875bf 100644 --- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp +++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp @@ -5,7 +5,6 @@ #include "cmakeprojectconstants.h" #include "cmakeprojectmanagertr.h" -#include "cmakeprojectplugin.h" #include "cmakespecificsettings.h" #include "fileapiparser.h" #include "projecttreehelper.h" @@ -21,6 +20,7 @@ #include #include +#include using namespace ProjectExplorer; using namespace Utils; @@ -342,7 +342,6 @@ RawProjectParts generateRawProjectParts(const PreprocessedData &input, { RawProjectParts rpps; - int counter = 0; for (const TargetDetails &t : input.targetDetails) { QDir sourceDir(sourceDirectory.toString()); bool needPostfix = t.compileGroups.size() > 1; @@ -375,7 +374,6 @@ RawProjectParts generateRawProjectParts(const PreprocessedData &input, qtcPchFile = "qtc_cmake_pch.hxx"; } - ++counter; RawProjectPart rpp; rpp.setProjectFileLocation(t.sourceDir.pathAppended("CMakeLists.txt").toString()); rpp.setBuildSystemTarget(t.name); diff --git a/src/plugins/copilot/copilotsettings.cpp b/src/plugins/copilot/copilotsettings.cpp index 6fadfb109cd..11e31623da1 100644 --- a/src/plugins/copilot/copilotsettings.cpp +++ b/src/plugins/copilot/copilotsettings.cpp @@ -36,7 +36,9 @@ CopilotSettings::CopilotSettings() const FilePath nodeFromPath = FilePath("node").searchInPath(); const FilePaths searchDirs - = {FilePath::fromUserInput("~/.vim/pack/github/start/copilot.vim/copilot/dist/agent.js"), + + = {FilePath::fromUserInput("~/.vim/pack/github/start/copilot.vim/dist/agent.js"), + FilePath::fromUserInput("~/.vim/pack/github/start/copilot.vim/copilot/dist/agent.js"), FilePath::fromUserInput( "~/.config/nvim/pack/github/start/copilot.vim/copilot/dist/agent.js"), FilePath::fromUserInput( diff --git a/src/plugins/coreplugin/dialogs/ioptionspage.cpp b/src/plugins/coreplugin/dialogs/ioptionspage.cpp index 1e03ef2a582..9715c1c89f5 100644 --- a/src/plugins/coreplugin/dialogs/ioptionspage.cpp +++ b/src/plugins/coreplugin/dialogs/ioptionspage.cpp @@ -8,6 +8,7 @@ #include +#include #include #include #include @@ -100,23 +101,20 @@ void IOptionsPage::setWidgetCreator(const WidgetCreator &widgetCreator) QStringList IOptionsPage::keywords() const { - if (!m_keywordsInitialized) { - auto that = const_cast(this); - QWidget *widget = that->widget(); - if (!widget) - return {}; - // find common subwidgets - for (const QLabel *label : widget->findChildren()) - m_keywords << Utils::stripAccelerator(label->text()); - for (const QCheckBox *checkbox : widget->findChildren()) - m_keywords << Utils::stripAccelerator(checkbox->text()); - for (const QPushButton *pushButton : widget->findChildren()) - m_keywords << Utils::stripAccelerator(pushButton->text()); - for (const QGroupBox *groupBox : widget->findChildren()) - m_keywords << Utils::stripAccelerator(groupBox->title()); + auto that = const_cast(this); + QWidget *widget = that->widget(); + if (!widget) + return {}; + // find common subwidgets + for (const QLabel *label : widget->findChildren()) + m_keywords << label->text(); + for (const QCheckBox *checkbox : widget->findChildren()) + m_keywords << checkbox->text(); + for (const QPushButton *pushButton : widget->findChildren()) + m_keywords << pushButton->text(); + for (const QGroupBox *groupBox : widget->findChildren()) + m_keywords << groupBox->title(); - m_keywordsInitialized = true; - } return m_keywords; } @@ -271,7 +269,12 @@ const QList IOptionsPage::allOptionsPages() */ bool IOptionsPage::matches(const QRegularExpression ®exp) const { - for (const QString &keyword : keywords()) + if (!m_keywordsInitialized) { + m_keywords = Utils::transform(keywords(), Utils::stripAccelerator); + m_keywordsInitialized = true; + } + + for (const QString &keyword : m_keywords) if (keyword.contains(regexp)) return true; return false; diff --git a/src/plugins/coreplugin/dialogs/ioptionspage.h b/src/plugins/coreplugin/dialogs/ioptionspage.h index c25ed35becc..98275e76268 100644 --- a/src/plugins/coreplugin/dialogs/ioptionspage.h +++ b/src/plugins/coreplugin/dialogs/ioptionspage.h @@ -59,14 +59,15 @@ public: using WidgetCreator = std::function; void setWidgetCreator(const WidgetCreator &widgetCreator); - QStringList keywords() const; - - virtual bool matches(const QRegularExpression ®exp) const; virtual QWidget *widget(); virtual void apply(); virtual void finish(); + virtual bool matches(const QRegularExpression ®exp) const; + protected: + virtual QStringList keywords() const; + void setId(Utils::Id id) { m_id = id; } void setDisplayName(const QString &displayName) { m_displayName = displayName; } void setCategory(Utils::Id category) { m_category = category; } diff --git a/src/plugins/coreplugin/manhattanstyle.cpp b/src/plugins/coreplugin/manhattanstyle.cpp index 0f16100e11e..e3205dae6d8 100644 --- a/src/plugins/coreplugin/manhattanstyle.cpp +++ b/src/plugins/coreplugin/manhattanstyle.cpp @@ -214,7 +214,7 @@ int ManhattanStyle::pixelMetric(PixelMetric metric, const QStyleOption *option, switch (metric) { #ifdef Q_OS_MACOS case PM_MenuButtonIndicator: - if (widget && option->type == QStyleOption::SO_ToolButton) + if (widget && option && option->type == QStyleOption::SO_ToolButton) return 12; break; #endif diff --git a/src/plugins/coreplugin/mimetypesettings.cpp b/src/plugins/coreplugin/mimetypesettings.cpp index e3dac8ded96..7edba5625e9 100644 --- a/src/plugins/coreplugin/mimetypesettings.cpp +++ b/src/plugins/coreplugin/mimetypesettings.cpp @@ -775,6 +775,20 @@ MimeTypeSettings::~MimeTypeSettings() delete d; } +QStringList MimeTypeSettings::keywords() const +{ + return { + Tr::tr("Reset MIME Types"), + Tr::tr("Reset Handlers"), + Tr::tr("Registered MIME Types"), + Tr::tr("Patterns:"), + Tr::tr("Add..."), + Tr::tr("Edit..."), + Tr::tr("Remove"), + Tr::tr("Details") + }; +} + void MimeTypeSettings::restoreSettings() { MimeTypeSettingsPrivate::UserMimeTypeHash mimetypes diff --git a/src/plugins/coreplugin/mimetypesettings.h b/src/plugins/coreplugin/mimetypesettings.h index 0127e227685..fd4a69685e3 100644 --- a/src/plugins/coreplugin/mimetypesettings.h +++ b/src/plugins/coreplugin/mimetypesettings.h @@ -15,6 +15,8 @@ public: MimeTypeSettings(); ~MimeTypeSettings() override; + QStringList keywords() const override; + static void restoreSettings(); private: diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index 565fde8b51c..6059d77e309 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -753,6 +753,8 @@ bool DockerDevicePrivate::startContainer() "or restart Qt Creator.")); }); + QTC_ASSERT(m_shell, return false); + if (m_shell->start()) return true; diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index 6d5edb60c41..88efb966599 100644 --- a/src/plugins/projectexplorer/abi.cpp +++ b/src/plugins/projectexplorer/abi.cpp @@ -460,7 +460,6 @@ Abi Abi::abiFromTargetTriplet(const QString &triple) OSFlavor flavor = UnknownFlavor; BinaryFormat format = UnknownFormat; unsigned char width = 0; - int unknownCount = 0; for (const QString &p : parts) { if (p == "unknown" || p == "pc" @@ -623,8 +622,6 @@ Abi Abi::abiFromTargetTriplet(const QString &triple) os = BareMetalOS; flavor = GenericFlavor; format = ElfFormat; - } else { - ++unknownCount; } } diff --git a/src/plugins/projectexplorer/buildaspects.cpp b/src/plugins/projectexplorer/buildaspects.cpp index 071e8b5f586..3f161867ef9 100644 --- a/src/plugins/projectexplorer/buildaspects.cpp +++ b/src/plugins/projectexplorer/buildaspects.cpp @@ -112,7 +112,7 @@ void BuildDirectoryAspect::addToLayout(Layouting::LayoutItem &parent) StringAspect::addToLayout(parent); d->problemLabel = new InfoLabel({}, InfoLabel::Warning); d->problemLabel->setElideMode(Qt::ElideNone); - parent.addItems({{}, d->problemLabel.data()}); + parent.addItems({Layouting::br, Layouting::empty, d->problemLabel.data()}); updateProblemLabel(); if (!d->sourceDir.isEmpty()) { connect(this, &StringAspect::checkedChanged, this, [this] { diff --git a/src/plugins/projectexplorer/devicesupport/idevice.cpp b/src/plugins/projectexplorer/devicesupport/idevice.cpp index 65a7d11f815..cce7addd04c 100644 --- a/src/plugins/projectexplorer/devicesupport/idevice.cpp +++ b/src/plugins/projectexplorer/devicesupport/idevice.cpp @@ -141,8 +141,7 @@ public: PortList freePorts; FilePath debugServerPath; FilePath debugDumperPath = Core::ICore::resourcePath("debugger/"); - FilePath qmlRunCommand; - bool qmlRunCommandChecked = false; + std::optional qmlRunCommand; bool emptyCommandAllowed = false; QList deviceIcons; @@ -475,7 +474,9 @@ void IDevice::fromMap(const QVariantMap &map) d->version = map.value(QLatin1String(VersionKey), 0).toInt(); d->debugServerPath = FilePath::fromSettings(map.value(QLatin1String(DebugServerKey))); - d->qmlRunCommand = FilePath::fromSettings(map.value(QLatin1String(QmlRuntimeKey))); + const FilePath qmlRunCmd = FilePath::fromSettings(map.value(QLatin1String(QmlRuntimeKey))); + if (!qmlRunCmd.isEmpty()) + d->qmlRunCommand = qmlRunCmd; d->extraData = map.value(ExtraDataKey).toMap(); } @@ -508,7 +509,9 @@ QVariantMap IDevice::toMap() const map.insert(QLatin1String(VersionKey), d->version); map.insert(QLatin1String(DebugServerKey), d->debugServerPath.toSettings()); - map.insert(QLatin1String(QmlRuntimeKey), d->qmlRunCommand.toSettings()); + map.insert(QLatin1String(QmlRuntimeKey), + d->qmlRunCommand ? d->qmlRunCommand->toSettings() : FilePath().toSettings()); + map.insert(ExtraDataKey, d->extraData); return map; @@ -597,20 +600,23 @@ void IDevice::setDebugServerPath(const FilePath &path) FilePath IDevice::qmlRunCommand() const { - if (!d->qmlRunCommandChecked) { - d->qmlRunCommandChecked = true; - QString runtime = d->qmlRunCommand.path(); - if (runtime.isEmpty()) - runtime = "qml"; - d->qmlRunCommand = searchExecutableInPath(runtime); - } - return d->qmlRunCommand; + if (d->qmlRunCommand) + return *d->qmlRunCommand; + + const FilePath newPath = searchExecutableInPath("qml"); + if (newPath.isEmpty()) + return {}; + + d->qmlRunCommand = newPath; + return *d->qmlRunCommand; } void IDevice::setQmlRunCommand(const FilePath &path) { - d->qmlRunCommand = path; - d->qmlRunCommandChecked = false; + if (path.isEmpty()) + d->qmlRunCommand.reset(); + else + d->qmlRunCommand = path; } void IDevice::setExtraData(Id kind, const QVariant &data) diff --git a/src/plugins/python/pythonsettings.cpp b/src/plugins/python/pythonsettings.cpp index da3c6e647e7..020aad52259 100644 --- a/src/plugins/python/pythonsettings.cpp +++ b/src/plugins/python/pythonsettings.cpp @@ -350,6 +350,18 @@ public: return {}; } + QStringList keywords() const final + { + return { + Tr::tr("Name:"), + Tr::tr("Executable"), + Tr::tr("&Add"), + Tr::tr("&Delete"), + Tr::tr("&Clean Up"), + Tr::tr("&Make Default") + }; + } + private: InterpreterOptionsWidget *m_widget = nullptr; }; diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 4b4442ff13a..2a7c3069001 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -1059,6 +1059,20 @@ QtOptionsPage::QtOptionsPage() setWidgetCreator([] { return new QtOptionsPageWidget; }); } +QStringList QtOptionsPage::keywords() const +{ + return { + Tr::tr("Add..."), + Tr::tr("Remove"), + Tr::tr("Clean Up"), + Tr::tr("Link with Qt"), + Tr::tr("Remove Link"), + Tr::tr("Qt installation path:"), + Tr::tr("qmake path:"), + Tr::tr("Register documentation:") + }; +} + bool QtOptionsPage::canLinkWithQt() { return Internal::canLinkWithQt(nullptr); diff --git a/src/plugins/qtsupport/qtoptionspage.h b/src/plugins/qtsupport/qtoptionspage.h index d2e4c37e14b..8aa88ad5f3a 100644 --- a/src/plugins/qtsupport/qtoptionspage.h +++ b/src/plugins/qtsupport/qtoptionspage.h @@ -12,6 +12,8 @@ class QtOptionsPage final : public Core::IOptionsPage public: QtOptionsPage(); + QStringList keywords() const final; + static bool canLinkWithQt(); static bool isLinkedWithQt(); static void linkWithQt(); diff --git a/src/plugins/terminal/keys.cpp b/src/plugins/terminal/keys.cpp index f6a7a91b13d..ce14cbe5fbc 100644 --- a/src/plugins/terminal/keys.cpp +++ b/src/plugins/terminal/keys.cpp @@ -1,6 +1,8 @@ // Copyright (C) 2022 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 +#include + #include "keys.h" namespace Terminal::Internal { @@ -72,8 +74,14 @@ VTermKey qtKeyToVTerm(Qt::Key key, bool keypad) return keypad ? VTERM_KEY_KP_PERIOD : VTERM_KEY_NONE; case Qt::Key_Slash: return keypad ? VTERM_KEY_KP_DIVIDE : VTERM_KEY_NONE; - case Qt::Key_Enter: - return keypad ? VTERM_KEY_KP_ENTER : VTERM_KEY_NONE; + case Qt::Key_Enter: { + VTermKey enterKey = VTERM_KEY_KP_ENTER; + + if (Utils::HostOsInfo::isWindowsHost()) + enterKey = VTERM_KEY_ENTER; + + return keypad ? enterKey : VTERM_KEY_NONE; + } case Qt::Key_Equal: return keypad ? VTERM_KEY_KP_EQUAL : VTERM_KEY_NONE; default: diff --git a/src/plugins/terminal/shellmodel.cpp b/src/plugins/terminal/shellmodel.cpp index b4cf53a1e99..0b13b0f8863 100644 --- a/src/plugins/terminal/shellmodel.cpp +++ b/src/plugins/terminal/shellmodel.cpp @@ -14,41 +14,113 @@ namespace Terminal::Internal { using namespace Utils; -FilePaths availableShells() +struct ShellItemBuilder +{ + explicit ShellItemBuilder(const CommandLine &value) + { + m_item.openParameters.shellCommand = value; + } + explicit ShellItemBuilder(const FilePath &value) + { + m_item.openParameters.shellCommand = CommandLine(value); + } + ShellItemBuilder &name(const QString &value) + { + m_item.name = value; + return *this; + } + ShellItemBuilder &icon(const FilePath &value) + { + static QFileIconProvider iconProvider; + m_item.icon = iconProvider.icon(value.toFileInfo()); + return *this; + } + + inline operator ShellModelItem() { return item(); } + ShellModelItem item() + { + if (m_item.name.isEmpty()) + m_item.name = m_item.openParameters.shellCommand->executable().toUserOutput(); + if (m_item.icon.isNull()) + icon(m_item.openParameters.shellCommand->executable()); + return m_item; + } + +private: + ShellModelItem m_item; +}; + +static QSet msysPaths() +{ + QSet res; + FilePath msys2 = FilePath::fromUserInput(QStandardPaths::findExecutable("msys2.exe")); + if (msys2.exists()) + res.insert(msys2.parentDir()); + for (const QFileInfo &drive : QDir::drives()) { + for (const QString &name : QStringList{"msys2", "msys32", "msys64"}) { + msys2 = FilePath::fromString(drive.filePath()).pathAppended(name); + if (msys2.pathAppended("msys2.exe").exists()) + res.insert(msys2); + } + } + return res; +} + +struct ShellModelPrivate +{ + QList localShells; + ShellModelPrivate(); +}; + +ShellModelPrivate::ShellModelPrivate() { if (Utils::HostOsInfo::isWindowsHost()) { - FilePaths shells; - - FilePath comspec = FilePath::fromUserInput(qtcEnvironmentVariable("COMSPEC")); - shells << comspec; + const FilePath comspec = FilePath::fromUserInput(qtcEnvironmentVariable("COMSPEC")); + localShells << ShellItemBuilder(comspec); if (comspec.fileName() != "cmd.exe") { FilePath cmd = FilePath::fromUserInput(QStandardPaths::findExecutable("cmd.exe")); - shells << cmd; + localShells << ShellItemBuilder(cmd); } - FilePath powershell = FilePath::fromUserInput( + const FilePath powershell = FilePath::fromUserInput( QStandardPaths::findExecutable("powershell.exe")); + if (powershell.exists()) - shells << powershell; + localShells << ShellItemBuilder(powershell); - FilePath bash = FilePath::fromUserInput(QStandardPaths::findExecutable("bash.exe")); - if (bash.exists()) - shells << bash; + const FilePath sys_bash = + FilePath::fromUserInput(QStandardPaths::findExecutable("bash.exe")); + if (sys_bash.exists()) + localShells << ShellItemBuilder({sys_bash, {"--login"}}); - FilePath git_bash = FilePath::fromUserInput(QStandardPaths::findExecutable("git.exe")); - if (git_bash.exists()) - shells << git_bash.parentDir().parentDir().pathAppended("usr/bin/bash.exe"); + const FilePath git_exe = FilePath::fromUserInput(QStandardPaths::findExecutable("git.exe")); + if (git_exe.exists()) { + FilePath git_bash = git_exe.parentDir().parentDir().pathAppended("bin/bash.exe"); + if (git_bash.exists()) { + localShells << ShellItemBuilder({git_bash, {"--login"}}) + .icon(git_bash.parentDir().parentDir().pathAppended("git-bash.exe")); + } + } - FilePath msys2_bash = FilePath::fromUserInput(QStandardPaths::findExecutable("msys2.exe")); - if (msys2_bash.exists()) - shells << msys2_bash.parentDir().pathAppended("usr/bin/bash.exe"); - - return shells; + const QStringList msys2_args{"-defterm", "-no-start", "-here"}; + for (const FilePath &msys2_path : msysPaths()) { + const FilePath msys2_cmd = msys2_path.pathAppended("msys2_shell.cmd"); + for (const FilePath &type : msys2_path.dirEntries({{"*.ico"}})) { + // Only list this type if it has anything in /bin + QDirIterator it(type.path().replace(".ico", "/bin"), QDir::Files); + if (!it.hasNext()) + continue; + localShells << ShellItemBuilder( + {msys2_cmd, msys2_args + QStringList{"-" + type.baseName()}}) + .icon(type) + .name(type.toUserOutput().replace(".ico", ".exe")); + } + } } else { FilePath shellsFile = FilePath::fromString("/etc/shells"); const auto shellFileContent = shellsFile.fileContents(); - QTC_ASSERT_EXPECTED(shellFileContent, return {}); + QTC_ASSERT_EXPECTED(shellFileContent, return); QString shellFileContentString = QString::fromUtf8(*shellFileContent); @@ -63,29 +135,18 @@ FilePaths availableShells() }); // ... and filter out non-existing shells. - return Utils::filtered(shells, [](const FilePath &shell) { return shell.exists(); }); + localShells = Utils::transform( + Utils::filtered(shells, [](const FilePath &shell) {return shell.exists(); }), + [](const FilePath &shell) { + return ShellItemBuilder(shell).item(); + }); } } -struct ShellModelPrivate -{ - QList localShells; -}; - ShellModel::ShellModel(QObject *parent) : QObject(parent) , d(new ShellModelPrivate()) { - QFileIconProvider iconProvider; - - const FilePaths shells = availableShells(); - for (const FilePath &shell : shells) { - ShellModelItem item; - item.icon = iconProvider.icon(shell.toFileInfo()); - item.name = shell.toUserOutput(); - item.openParameters.shellCommand = {shell, {}}; - d->localShells << item; - } } ShellModel::~ShellModel() = default; diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index cbfc44d0355..e6160b3e547 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -538,8 +538,15 @@ public: void paintIfDefedOutBlocks(const PaintEventData &data, QPainter &painter) const; void paintFindScope(const PaintEventData &data, QPainter &painter) const; void paintCurrentLineHighlight(const PaintEventData &data, QPainter &painter) const; - void paintCursorAsBlock(const PaintEventData &data, QPainter &painter, - PaintEventBlockData &blockData, int cursorPosition) const; + QRectF cursorBlockRect(const QTextDocument *doc, + const QTextBlock &block, + int cursorPosition, + QRectF blockBoundingRect = {}, + bool *doSelection = nullptr) const; + void paintCursorAsBlock(const PaintEventData &data, + QPainter &painter, + PaintEventBlockData &blockData, + int cursorPosition) const; void paintAdditionalVisualWhitespaces(PaintEventData &data, QPainter &painter, qreal top) const; void paintIndentDepth(PaintEventData &data, QPainter &painter, const PaintEventBlockData &blockData); void paintReplacement(PaintEventData &data, QPainter &painter, qreal top) const; @@ -2778,6 +2785,14 @@ void TextEditorWidget::keyPressEvent(QKeyEvent *e) if (ro) break; if (e->modifiers() == Qt::NoModifier) { setOverwriteMode(!inOverwriteMode); + if (inOverwriteMode) { + for (const QTextCursor &cursor : multiTextCursor()) { + const QRectF oldBlockRect = d->cursorBlockRect(document(), + cursor.block(), + cursor.position()); + viewport()->update(oldBlockRect.toAlignedRect()); + } + } e->accept(); return; } @@ -4426,19 +4441,22 @@ void TextEditorWidgetPrivate::paintCurrentLineHighlight(const PaintEventData &da } } -void TextEditorWidgetPrivate::paintCursorAsBlock(const PaintEventData &data, QPainter &painter, - PaintEventBlockData &blockData, int cursorPosition) const +QRectF TextEditorWidgetPrivate::cursorBlockRect(const QTextDocument *doc, + const QTextBlock &block, + int cursorPosition, + QRectF blockBoundingRect, + bool *doSelection) const { const qreal space = charWidth(); - int relativePos = cursorPosition - blockData.position; - bool doSelection = true; - QTextLine line = blockData.layout->lineForTextPosition(relativePos); + int relativePos = cursorPosition - block.position(); + QTextLine line = block.layout()->lineForTextPosition(relativePos); qreal x = line.cursorToX(relativePos); qreal w = 0; if (relativePos < line.textLength() - line.textStart()) { w = line.cursorToX(relativePos + 1) - x; - if (data.doc->characterAt(cursorPosition) == QLatin1Char('\t')) { - doSelection = false; + if (doc->characterAt(cursorPosition) == QLatin1Char('\t')) { + if (doSelection) + *doSelection = false; if (w > space) { x += w - space; w = space; @@ -4448,12 +4466,30 @@ void TextEditorWidgetPrivate::paintCursorAsBlock(const PaintEventData &data, QPa w = space; // in sync with QTextLine::draw() } - QRectF lineRect = line.rect(); - lineRect.moveTop(lineRect.top() + blockData.boundingRect.top()); - lineRect.moveLeft(blockData.boundingRect.left() + x); - lineRect.setWidth(w); + if (blockBoundingRect.isEmpty()) + blockBoundingRect = q->blockBoundingGeometry(block).translated(q->contentOffset()); + + QRectF cursorRect = line.rect(); + cursorRect.moveTop(cursorRect.top() + blockBoundingRect.top()); + cursorRect.moveLeft(blockBoundingRect.left() + x); + cursorRect.setWidth(w); + return cursorRect; +} + +void TextEditorWidgetPrivate::paintCursorAsBlock(const PaintEventData &data, + QPainter &painter, + PaintEventBlockData &blockData, + int cursorPosition) const +{ + bool doSelection = true; + const QRectF cursorRect = cursorBlockRect(data.doc, + data.block, + cursorPosition, + blockData.boundingRect, + &doSelection); const QTextCharFormat textFormat = data.fontSettings.toTextCharFormat(C_TEXT); - painter.fillRect(lineRect, textFormat.foreground()); + painter.fillRect(cursorRect, textFormat.foreground()); + int relativePos = cursorPosition - blockData.position; if (doSelection) { blockData.selections.append( createBlockCursorCharFormatRange(relativePos, diff --git a/src/shared/json/json.cpp b/src/shared/json/json.cpp index 4f9c94ef376..759fea61f92 100644 --- a/src/shared/json/json.cpp +++ b/src/shared/json/json.cpp @@ -4806,7 +4806,7 @@ bool Value::isValid(const Base *b) const case JsonValue::Double: if (intValue) break; - // fall through + [[fallthrough]]; case JsonValue::String: case JsonValue::Array: case JsonValue::Object: @@ -4885,7 +4885,7 @@ uint32_t Value::valueToStore(const JsonValue &v, uint32_t offset) if (c != INT_MAX) return c; } - // fall through + [[fallthrough]]; case JsonValue::String: case JsonValue::Array: case JsonValue::Object: diff --git a/src/shared/proparser/qmakebuiltins.cpp b/src/shared/proparser/qmakebuiltins.cpp index 787d9effb9b..87707106e61 100644 --- a/src/shared/proparser/qmakebuiltins.cpp +++ b/src/shared/proparser/qmakebuiltins.cpp @@ -287,7 +287,7 @@ QMakeEvaluator::quoteValue(const ProString &val) break; case 32: quote = true; - // fallthrough + [[fallthrough]]; default: ret += c; break; diff --git a/src/shared/proparser/qmakeevaluator.cpp b/src/shared/proparser/qmakeevaluator.cpp index ced40f106d0..0ea6c7f1334 100644 --- a/src/shared/proparser/qmakeevaluator.cpp +++ b/src/shared/proparser/qmakeevaluator.cpp @@ -295,7 +295,8 @@ ProStringList QMakeEvaluator::split_value_list(QStringView vals, int source) --x; } } - // fallthrough + hadWord = true; + break; default: hadWord = true; break; @@ -1661,7 +1662,7 @@ QMakeEvaluator::VisitReturn QMakeEvaluator::expandVariableReferences( tokPtr++; continue; } - // fallthrough + [[fallthrough]]; default: Q_ASSERT_X(false, "expandVariableReferences", "Unrecognized token"); break; @@ -2137,7 +2138,7 @@ QString QMakeEvaluator::formatValue(const ProString &val, bool forceQuote) break; case 32: quote = true; - // fallthrough + [[fallthrough]]; default: ret += c; break; diff --git a/src/shared/proparser/qmakeparser.cpp b/src/shared/proparser/qmakeparser.cpp index 758a80ce4ac..0e8d888535e 100644 --- a/src/shared/proparser/qmakeparser.cpp +++ b/src/shared/proparser/qmakeparser.cpp @@ -1563,7 +1563,7 @@ static bool getBlock(const ushort *tokens, int limit, int &offset, QString *outS case TokRemove: case TokReplace: // The parameter is the sizehint for the output. - // fallthrough + [[fallthrough]]; case TokLine: { ushort dummy; ok = getUshort(tokens, limit, offset, &dummy, outStr); diff --git a/src/shared/qbs b/src/shared/qbs index 1af935aec68..97769dfdacd 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 1af935aec680a3e2df3919807f631a6ee2c21e35 +Subproject commit 97769dfdacd006f4d82b240371e3ca79d445ab7a diff --git a/src/tools/process_stub/main.cpp b/src/tools/process_stub/main.cpp index bfb6f6c3211..00312b833f6 100644 --- a/src/tools/process_stub/main.cpp +++ b/src/tools/process_stub/main.cpp @@ -185,7 +185,7 @@ void doExit(int exitCode) std::cout << commandLineParser.value("wait").toStdString() << std::endl; waitingForExitKeyPress = true; - onKeyPress([exitCode] { doExit(exitCode); }); + onKeyPress([] { doExit(0); }); } else { exit(exitCode); } @@ -206,9 +206,7 @@ void onInferiorFinished(int exitCode, QProcess::ExitStatus status) void onInferiorErrorOccurered(QProcess::ProcessError error) { - qCInfo(log) << "Inferior error: " << error << inferiorProcess.errorString(); - sendCrash(inferiorProcess.exitCode()); - doExit(1); + qCWarning(log) << "Inferior error: " << error << inferiorProcess.errorString(); } void onInferiorStarted() diff --git a/tests/manual/debugger/simple/CMakeLists.txt b/tests/manual/debugger/simple/CMakeLists.txt index 95e2169ae65..3701d58bbd7 100644 --- a/tests/manual/debugger/simple/CMakeLists.txt +++ b/tests/manual/debugger/simple/CMakeLists.txt @@ -8,6 +8,10 @@ set(CMAKE_AUTOMOC ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) +if (WINDOWS) + set(CMAKE_SHARED_LIBRARY_PREFIX "") +endif() + find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core Gui Network Widgets) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui Network Widgets) find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Script Webkit WebkitWidgets QUIET) @@ -67,5 +71,5 @@ if (Qt${QT_VERSION_MAJOR}WebkitWidgets_FOUND) endif() # and the plugin -add_library(simple_test_plugin simple_test_plugin.cpp) +add_library(simple_test_plugin SHARED simple_test_plugin.cpp) target_link_libraries(simple_test_plugin PRIVATE Qt${QT_VERSION_MAJOR}::Core) diff --git a/tests/system/README b/tests/system/README index 43d65ec70ad..4a6702f44b5 100644 --- a/tests/system/README +++ b/tests/system/README @@ -36,10 +36,8 @@ Qt 6.2.4 (MSVC2019, 64bit) Third - you'll have to provide some additional repositories. These additional repositories are located inside ~/squish-data or C:\Users\\squish-data (depending on the OS you're on). You can also just provide them inside a different folder and specify the folder with the environment variable SYSTEST_SRCPATH. -This folder must contain the following: - * a QtCreator repository (or source copy) of tag v4.7.0 named 'creator' including the submodule src/shared/qbs - * a subfolder called 'creator-test-data' - * a speedcrunch 0.11 repository (or source copy) inside 'creator-test-data' named 'speedcrunch' +This folder must contain a QtCreator repository (or source copy) of tag v4.7.0 named 'creator' +including the submodule src/shared/qbs Fourth - you'll have to make sure that some needed tools are available (no matter on which OS you're on). * cmake 3.14 or newer diff --git a/tests/system/shared/qtcreator.py b/tests/system/shared/qtcreator.py index 7b58247571a..8ad3a7eccf9 100644 --- a/tests/system/shared/qtcreator.py +++ b/tests/system/shared/qtcreator.py @@ -44,7 +44,9 @@ def __closeInfoBarEntry__(leftButtonText): doNotShowAgain = toolButton % "Do Not Show Again" leftWidget = "leftWidget={%s}" % (toolButton % leftButtonText) test.log("closing %s" % leftButtonText) - clickButton(waitForObject("{%s %s}" % (doNotShowAgain, leftWidget))) + buttonObjStr = "{%s %s}" % (doNotShowAgain, leftWidget) + clickButton(waitForObject(buttonObjStr)) + waitFor('object.exists(buttonObjStr) == False', 2000) # additionalParameters must be a list or tuple of strings or None def startQC(additionalParameters=None, withPreparedSettingsPath=True, closeLinkToQt=True, cancelTour=True): diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index 9b4f2dc95a3..6b99c8959da 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -606,3 +606,24 @@ def stringify(obj): if isinstance(obj, bytes): tmp = obj.decode('cp1252') if platform.system() in ('Microsoft','Windows') else obj.decode() return tmp + + +class GitClone: + + def __init__(self, url, revision): + self.localPath = os.path.join(tempDir(), + url.rsplit('/', 1)[1].rsplit('.')[0]) + self.url = url + self.revision = revision + + def __enter__(self): + try: + subprocess.check_call(["git", "clone", "-b", self.revision, + "--depth", "1", self.url, self.localPath]) + return self.localPath + except subprocess.CalledProcessError as e: + test.warning("Could not clone git repository %s" % self.url, str(e)) + return None + + def __exit__(self, exc_type, exc_value, traceback): + deleteDirIfExists(self.localPath) diff --git a/tests/system/suite_general/tst_build_speedcrunch/test.py b/tests/system/suite_general/tst_build_speedcrunch/test.py index 6efd18f779b..41326493e17 100644 --- a/tests/system/suite_general/tst_build_speedcrunch/test.py +++ b/tests/system/suite_general/tst_build_speedcrunch/test.py @@ -3,7 +3,6 @@ source("../../shared/qtcreator.py") -SpeedCrunchPath = "" def buildConfigFromFancyToolButton(fancyToolButton): beginOfBuildConfig = "Build: " @@ -14,44 +13,37 @@ def buildConfigFromFancyToolButton(fancyToolButton): return toolTipText[beginIndex:endIndex] def main(): - if not neededFilePresent(SpeedCrunchPath): - return - startQC() - if not startedWithoutPluginError(): - return - openQmakeProject(SpeedCrunchPath, [Targets.DESKTOP_5_14_1_DEFAULT]) - waitForProjectParsing() + with GitClone("https://bitbucket.org/heldercorreia/speedcrunch.git", + "release-0.12.0") as SpeedCrunchPath: + if not SpeedCrunchPath: + test.fatal("Could not clone SpeedCrunch") + return + startQC() + if not startedWithoutPluginError(): + return + openQmakeProject(os.path.join(SpeedCrunchPath, "src", "speedcrunch.pro"), + [Targets.DESKTOP_5_14_1_DEFAULT]) + waitForProjectParsing() - fancyToolButton = waitForObject(":*Qt Creator_Core::Internal::FancyToolButton") + fancyToolButton = waitForObject(":*Qt Creator_Core::Internal::FancyToolButton") - availableConfigs = iterateBuildConfigs("Release") - if not availableConfigs: - test.fatal("Haven't found a suitable Qt version (need Release build) - leaving without building.") - for kit, config in availableConfigs: - selectBuildConfig(kit, config) - buildConfig = buildConfigFromFancyToolButton(fancyToolButton) - if buildConfig != config: - test.fatal("Build configuration %s is selected instead of %s" % (buildConfig, config)) - continue - test.log("Testing build configuration: " + config) - invokeMenuItem("Build", "Run qmake") - waitForCompile() - selectFromLocator("t rebuild", "Rebuild All Projects") - waitForCompile(300000) - checkCompile() - checkLastBuild() + availableConfigs = iterateBuildConfigs("Release") + if not availableConfigs: + test.fatal("Haven't found a suitable Qt version (need Release build) - leaving without building.") + for kit, config in availableConfigs: + selectBuildConfig(kit, config) + buildConfig = buildConfigFromFancyToolButton(fancyToolButton) + if buildConfig != config: + test.fatal("Build configuration %s is selected instead of %s" % (buildConfig, config)) + continue + test.log("Testing build configuration: " + config) + invokeMenuItem("Build", "Run qmake") + waitForCompile() + selectFromLocator("t rebuild", "Rebuild All Projects") + waitForCompile(300000) + checkCompile() + checkLastBuild() - # Add a new run configuration + # Add a new run configuration - invokeMenuItem("File", "Exit") - -def init(): - global SpeedCrunchPath - SpeedCrunchPath = os.path.join(srcPath, "creator-test-data", "speedcrunch", "src", "speedcrunch.pro") - cleanup() - -def cleanup(): - # Make sure the .user files are gone - cleanUpUserFiles(SpeedCrunchPath) - for dir in glob.glob(os.path.join(srcPath, "creator-test-data", "speedcrunch", "speedcrunch-build-*")): - deleteDirIfExists(dir) + invokeMenuItem("File", "Exit") diff --git a/tests/system/suite_general/tst_cmake_speedcrunch/test.py b/tests/system/suite_general/tst_cmake_speedcrunch/test.py index bd706ba239d..64d8d877f0d 100644 --- a/tests/system/suite_general/tst_cmake_speedcrunch/test.py +++ b/tests/system/suite_general/tst_cmake_speedcrunch/test.py @@ -3,7 +3,6 @@ source("../../shared/qtcreator.py") -SpeedCrunchPath = "" BuildPath = tempDir() def cmakeSupported(): @@ -27,39 +26,36 @@ def main(): if not cmakeSupported(): test.warning("CMake version is no more supported for QC") return - if not neededFilePresent(SpeedCrunchPath): - return - startQC() - if not startedWithoutPluginError(): - return - result = openCmakeProject(SpeedCrunchPath, BuildPath) - if not result: - test.fatal("Could not open/create cmake project - leaving test") + with GitClone("https://bitbucket.org/heldercorreia/speedcrunch.git", + "release-0.12.0") as SpeedCrunchPath: + if not SpeedCrunchPath: + test.fatal("Could not clone SpeedCrunch") + return + startQC() + if not startedWithoutPluginError(): + return + result = openCmakeProject(os.path.join(SpeedCrunchPath, "src", "CMakeLists.txt"), + BuildPath) + if not result: + test.fatal("Could not open/create cmake project - leaving test") + invokeMenuItem("File", "Exit") + return + waitForProjectParsing() + naviTreeView = "{column='0' container=':Qt Creator_Utils::NavigationTreeView' text~='%s' type='QModelIndex'}" + treeFile = "projecttree_speedcrunch.tsv" + compareProjectTree(naviTreeView % "speedcrunch( \[\S+\])?", treeFile) + + # Invoke a rebuild of the application + selectFromLocator("t rebuild", "Rebuild All Projects") + + # Wait for, and test if the build succeeded + waitForCompile(300000) + checkCompile() + checkLastBuild() + invokeMenuItem("File", "Exit") - return - waitForProjectParsing() - naviTreeView = "{column='0' container=':Qt Creator_Utils::NavigationTreeView' text~='%s' type='QModelIndex'}" - treeFile = "projecttree_speedcrunch.tsv" - compareProjectTree(naviTreeView % "speedcrunch( \[\S+\])?", treeFile) - - # Invoke a rebuild of the application - selectFromLocator("t rebuild", "Rebuild All Projects") - - # Wait for, and test if the build succeeded - waitForCompile(300000) - checkCompile() - checkLastBuild() - - invokeMenuItem("File", "Exit") - -def init(): - global SpeedCrunchPath - SpeedCrunchPath = srcPath + "/creator-test-data/speedcrunch/src/CMakeLists.txt" - cleanup() def cleanup(): global BuildPath - # Make sure the .user files are gone - cleanUpUserFiles(SpeedCrunchPath) deleteDirIfExists(BuildPath) diff --git a/tests/system/suite_general/tst_openqt_creator/test.py b/tests/system/suite_general/tst_openqt_creator/test.py index 98c7f5c7b15..3e2d24a943b 100644 --- a/tests/system/suite_general/tst_openqt_creator/test.py +++ b/tests/system/suite_general/tst_openqt_creator/test.py @@ -5,51 +5,55 @@ source("../../shared/qtcreator.py") def main(): pathCreator = srcPath + "/creator/qtcreator.pro" - pathSpeedcrunch = srcPath + "/creator-test-data/speedcrunch/src/speedcrunch.pro" - if not neededFilePresent(pathCreator) or not neededFilePresent(pathSpeedcrunch): + if not neededFilePresent(pathCreator): return - startQC() - if not startedWithoutPluginError(): - return + with GitClone("https://bitbucket.org/heldercorreia/speedcrunch.git", + "0.11") as pathSpeedcrunch: + if not pathSpeedcrunch: + test.fatal("Could not clone SpeedCrunch") + return + startQC() + if not startedWithoutPluginError(): + return - runButton = findObject(':*Qt Creator.Run_Core::Internal::FancyToolButton') - openQmakeProject(pathSpeedcrunch, [Targets.DESKTOP_5_14_1_DEFAULT]) - # Wait for parsing to complete - waitFor("runButton.enabled", 30000) - # Starting before opening, because this is where Creator froze (QTCREATORBUG-10733) - startopening = datetime.utcnow() - openQmakeProject(pathCreator, [Targets.DESKTOP_5_10_1_DEFAULT]) - # Wait for parsing to complete - startreading = datetime.utcnow() - waitFor("runButton.enabled", 300000) - secondsOpening = (datetime.utcnow() - startopening).seconds - secondsReading = (datetime.utcnow() - startreading).seconds - timeoutOpen = 45 - timeoutRead = 22 - test.verify(secondsOpening <= timeoutOpen, "Opening and reading qtcreator.pro took %d seconds. " - "It should not take longer than %d seconds" % (secondsOpening, timeoutOpen)) - test.verify(secondsReading <= timeoutRead, "Just reading qtcreator.pro took %d seconds. " - "It should not take longer than %d seconds" % (secondsReading, timeoutRead)) + runButton = findObject(':*Qt Creator.Run_Core::Internal::FancyToolButton') + openQmakeProject(os.path.join(pathSpeedcrunch, "src", "speedcrunch.pro"), + [Targets.DESKTOP_5_14_1_DEFAULT]) + # Wait for parsing to complete + waitFor("runButton.enabled", 30000) + # Starting before opening, because this is where Creator froze (QTCREATORBUG-10733) + startopening = datetime.utcnow() + openQmakeProject(pathCreator, [Targets.DESKTOP_5_10_1_DEFAULT]) + # Wait for parsing to complete + startreading = datetime.utcnow() + waitFor("runButton.enabled", 300000) + secondsOpening = (datetime.utcnow() - startopening).seconds + secondsReading = (datetime.utcnow() - startreading).seconds + timeoutOpen = 45 + timeoutRead = 22 + test.verify(secondsOpening <= timeoutOpen, "Opening and reading qtcreator.pro took %d seconds. " + "It should not take longer than %d seconds" % (secondsOpening, timeoutOpen)) + test.verify(secondsReading <= timeoutRead, "Just reading qtcreator.pro took %d seconds. " + "It should not take longer than %d seconds" % (secondsReading, timeoutRead)) - naviTreeView = "{column='0' container=':Qt Creator_Utils::NavigationTreeView' text~='%s' type='QModelIndex'}" - compareProjectTree(naviTreeView % "speedcrunch( \[\S+\])?", "projecttree_speedcrunch.tsv") - compareProjectTree(naviTreeView % "qtcreator( \[\S+\])?", "projecttree_creator.tsv") + naviTreeView = "{column='0' container=':Qt Creator_Utils::NavigationTreeView' text~='%s' type='QModelIndex'}" + compareProjectTree(naviTreeView % "speedcrunch( \[\S+\])?", "projecttree_speedcrunch.tsv") + compareProjectTree(naviTreeView % "qtcreator( \[\S+\])?", "projecttree_creator.tsv") - openGeneralMessages() - # Verify that qmljs.g is in the project even when we don't know where (QTCREATORBUG-17609) - selectFromLocator("p qmljs.g", "qmljs.g") - # Now check some basic lookups in the search box - selectFromLocator(": qlist::qlist", "QList::QList") - test.compare(wordUnderCursor(waitForObject(":Qt Creator_CppEditor::Internal::CPPEditorWidget")), "QList") + openGeneralMessages() + # Verify that qmljs.g is in the project even when we don't know where (QTCREATORBUG-17609) + selectFromLocator("p qmljs.g", "qmljs.g") + # Now check some basic lookups in the search box + selectFromLocator(": qlist::qlist", "QList::QList") + test.compare(wordUnderCursor(waitForObject(":Qt Creator_CppEditor::Internal::CPPEditorWidget")), "QList") - invokeMenuItem("File", "Exit") + invokeMenuItem("File", "Exit") def init(): cleanup() def cleanup(): # Make sure the .user files are gone - cleanUpUserFiles([srcPath + "/creator-test-data/speedcrunch/src/speedcrunch.pro", - srcPath + "/creator/qtcreator.pro"]) + cleanUpUserFiles([srcPath + "/creator/qtcreator.pro"]) diff --git a/tests/unit/unittest/smallstring-test.cpp b/tests/unit/unittest/smallstring-test.cpp index a77e0bdc2d4..ab8ea7fae5d 100644 --- a/tests/unit/unittest/smallstring-test.cpp +++ b/tests/unit/unittest/smallstring-test.cpp @@ -1534,6 +1534,7 @@ TEST(SmallString, LongPathStringMoveConstuctor) } QT_WARNING_PUSH +QT_WARNING_DISABLE_GCC("-Wpragmas") QT_WARNING_DISABLE_GCC("-Wself-move") QT_WARNING_DISABLE_CLANG("-Wself-move")