forked from qt-creator/qt-creator
Merge remote-tracking branch 'origin/9.0'
Change-Id: I231d35f492713f317773b79478b5f7fb97a4fe50
This commit is contained in:
2
.github/workflows/build_cmake.yml
vendored
2
.github/workflows/build_cmake.yml
vendored
@@ -7,7 +7,7 @@ on:
|
||||
- 'doc/**'
|
||||
|
||||
env:
|
||||
QT_VERSION: 6.4.1
|
||||
QT_VERSION: 6.4.0
|
||||
CLANG_VERSION: 15.0.0
|
||||
ELFUTILS_VERSION: 0.175
|
||||
CMAKE_VERSION: 3.21.1
|
||||
|
@@ -64,6 +64,7 @@ function(create_python_xy PythonExe PythonZipFilePath)
|
||||
set(ENV{PYTHONOPTIMIZE} "2")
|
||||
execute_process(
|
||||
COMMAND "${PythonExe}" -OO -m compileall "${CMAKE_CURRENT_BINARY_DIR}/python-lib" -b
|
||||
${QTC_COMMAND_ERROR_IS_FATAL}
|
||||
)
|
||||
|
||||
file(GLOB_RECURSE python_lib_files "${CMAKE_CURRENT_BINARY_DIR}/python-lib/*.py")
|
||||
@@ -75,5 +76,6 @@ function(create_python_xy PythonExe PythonZipFilePath)
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E tar cf "${PythonZipFilePath}" . --format=zip
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/python-lib/"
|
||||
${QTC_COMMAND_ERROR_IS_FATAL}
|
||||
)
|
||||
endfunction()
|
||||
|
@@ -778,14 +778,14 @@ function(add_qtc_executable name)
|
||||
set(_code "${_code}
|
||||
execute_process(COMMAND \"${CMAKE_INSTALL_NAME_TOOL}\"
|
||||
-delete_rpath \"${_rpath}\"
|
||||
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${_EXECUTABLE_FILE_PATH}\")"
|
||||
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${_EXECUTABLE_FILE_PATH}\" ${QTC_COMMAND_ERROR_IS_FATAL})"
|
||||
)
|
||||
endforeach()
|
||||
foreach(_rpath ${install_rpath})
|
||||
set(_code "${_code}
|
||||
execute_process(COMMAND \"${CMAKE_INSTALL_NAME_TOOL}\"
|
||||
-add_rpath \"${_rpath}\"
|
||||
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${_EXECUTABLE_FILE_PATH}\")"
|
||||
\"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}/${_EXECUTABLE_FILE_PATH}\" ${QTC_COMMAND_ERROR_IS_FATAL})"
|
||||
)
|
||||
endforeach()
|
||||
install(CODE "${_code}")
|
||||
|
@@ -1,3 +1,7 @@
|
||||
if (CMAKE_VERSION GREATER_EQUAL 3.19)
|
||||
set(QTC_COMMAND_ERROR_IS_FATAL COMMAND_ERROR_IS_FATAL ANY)
|
||||
endif()
|
||||
|
||||
if (CMAKE_VERSION VERSION_LESS 3.18)
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL GNU)
|
||||
set(BUILD_WITH_PCH OFF CACHE BOOL "" FORCE)
|
||||
|
@@ -22,7 +22,8 @@ function(qt5_query_qmake)
|
||||
TIMEOUT 10
|
||||
RESULT_VARIABLE _qmake_result
|
||||
OUTPUT_VARIABLE _qmake_stdout
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
${QTC_COMMAND_ERROR_IS_FATAL})
|
||||
|
||||
if (NOT "${_qmake_result}" STREQUAL "0")
|
||||
message(FATAL_ERROR "Qmake did not execute successfully: ${_qmake_result}.")
|
||||
|
@@ -47,6 +47,7 @@ function(setup_dependencies_component)
|
||||
\"\${_ide_app_target}\"
|
||||
\"${_qmake_binary}\"
|
||||
COMMAND_ECHO STDOUT
|
||||
\${QTC_COMMAND_ERROR_IS_FATAL}
|
||||
)
|
||||
"
|
||||
COMPONENT Dependencies
|
||||
|
@@ -10,7 +10,7 @@ instructions:
|
||||
variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_15.0.0-based
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_BASE_URL
|
||||
variableValue: "http://ci-files02-hki.intra.qt.io/packages/jenkins/archive/qt/6.4/6.4.1-released/Qt"
|
||||
variableValue: "http://ci-files02-hki.intra.qt.io/packages/jenkins/archive/qt/6.4/6.4.0-released/Qt"
|
||||
- type: EnvironmentVariable
|
||||
variableName: QTC_QT_MODULES
|
||||
variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquickcontrols2 qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine"
|
||||
|
5
dist/changelog/changes-9.0.0.md
vendored
5
dist/changelog/changes-9.0.0.md
vendored
@@ -120,7 +120,8 @@ Projects
|
||||
* Turned `Package manager auto setup` off by default
|
||||
* Added support for CMake configure and build presets, including conditions and
|
||||
toolchain files (QTCREATORBUG-24555)
|
||||
([CMake Documentation](https://cmake.org/cmake/help/v3.21/manual/cmake-presets.7.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-build-settings-cmake.html#cmake-presets),
|
||||
[CMake Documentation](https://cmake.org/cmake/help/v3.21/manual/cmake-presets.7.html))
|
||||
* Added option for changing environment for configure step
|
||||
* Added option for hiding subfolders in source groups (QTCREATORBUG-27432)
|
||||
* Added support for `Build File` also from header files (QTCREATORBUG-26164)
|
||||
@@ -187,7 +188,7 @@ Test Integration
|
||||
----------------
|
||||
|
||||
* Added support for Squish
|
||||
([Documentation](https://doc-snapshots.qt.io/qtcreator-9.0/creator-squish.html))
|
||||
([Documentation](https://doc.qt.io/qtcreator/creator-squish.html))
|
||||
* Catch 2
|
||||
* Fixed handling of exceptions (QTCREATORBUG-28131)
|
||||
* Fixed crash (QTCREATORBUG-28269)
|
||||
|
@@ -65,7 +65,9 @@
|
||||
To visualize whitespace in the editor, select \uicontrol Edit >
|
||||
\uicontrol Preferences > \uicontrol {Text Editor} > \uicontrol Display >
|
||||
\uicontrol {Visualize whitespace}. To visualize indentation, select
|
||||
\uicontrol {Visualize Indent}.
|
||||
\uicontrol {Visualize Indent}. To adjust the color of the visualization,
|
||||
change the value of the Visual Whitespace setting of the editor color scheme
|
||||
in \uicontrol {Font & Colors}.
|
||||
|
||||
\image qtcreator-options-text-editor-display.png "Text Editor Display preferences"
|
||||
|
||||
|
@@ -81,7 +81,7 @@
|
||||
\uicontrol {File System} view is displayed in the \l{Working with Sidebars}
|
||||
{sidebar}. It has a toolbar with additional options.
|
||||
|
||||
\image qtcreator-filesystem-view.png "File System view in the sidebar"
|
||||
\image qtcreator-filesystem-view.webp "File System view in the sidebar"
|
||||
\else
|
||||
The toolbar in the \uicontrol {File System} view contains additional
|
||||
options.
|
||||
|
@@ -90,7 +90,8 @@
|
||||
|
||||
\image webinardemo-qb-fastblur.png "Settings for exporting blurEffect layer"
|
||||
|
||||
We want to apply the \l {FastBlur} effect to the \e smallPopup UI control.
|
||||
We want to apply the \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-fastblur.html}
|
||||
{Fast Blur} effect to the \e smallPopup UI control.
|
||||
In the artboard, we have a \e blurEffect layer that we want to export as a
|
||||
\e FastBlurItem component. In the \uicontrol Component field, we enter
|
||||
\e FastBlurItem.
|
||||
|
@@ -78,7 +78,7 @@
|
||||
\li Description
|
||||
\row
|
||||
\li \inlineimage icons/blend-mode-16px.png
|
||||
\li \l [QML] {Blend}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-blend.html}{Blend}
|
||||
\li
|
||||
\li Merges two source components by using a blend mode.
|
||||
|
||||
@@ -88,28 +88,34 @@
|
||||
is subtracted from the source and written over it.
|
||||
|
||||
For a list of possible \uicontrol Mode values and examples of their
|
||||
use, see \l{Blend::mode}{Blend.mode}.
|
||||
use, see
|
||||
\l{https://doc.qt.io/qt-5/qml-qtgraphicaleffects-blend.html#mode-prop}
|
||||
{Blend.mode}.
|
||||
\row
|
||||
\li \inlineimage icons/brightness-contrast-16px.png
|
||||
\li \l {BrightnessContrast}{Brightness Contrast}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-brightnesscontrast.html}
|
||||
{Brightness Contrast}
|
||||
\li \inlineimage ok.png
|
||||
\li Adjusts \uicontrol Brightness and \uicontrol Contrast.
|
||||
\row
|
||||
\li \inlineimage icons/colourize-16px.png
|
||||
\li \l {ColorOverlay}{Color Overlay}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-coloroverlay.html}
|
||||
{Color Overlay}
|
||||
\li \inlineimage ok.png
|
||||
\li Alters the colors of the source component by applying an
|
||||
\uicontrol {Overlay color}. You can use the color picker
|
||||
to \l{Picking Colors}{select the color}.
|
||||
\row
|
||||
\li \inlineimage icons/colourize-16px.png
|
||||
\li \l Colorize
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-colorize.html}
|
||||
{Colorize}
|
||||
\li \inlineimage ok.png
|
||||
\li Sets the color in the HSL color space by specifying \uicontrol Hue,
|
||||
\uicontrol Lightness, and \uicontrol Saturation values.
|
||||
\row
|
||||
\li \inlineimage icons/desaturation-16px.png
|
||||
\li \l {Desaturate}{Desaturation}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-desaturate.html}
|
||||
{Desaturation}
|
||||
\li \inlineimage ok.png
|
||||
\li Reduces the saturation of the colors by the value set in the
|
||||
\uicontrol Desaturation field. The value ranges from \c 0.0
|
||||
@@ -118,7 +124,8 @@
|
||||
of the source component.
|
||||
\row
|
||||
\li \inlineimage icons/directional-blur-16px.png
|
||||
\li \l {DirectionalBlur}{Directional Blur}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-directionalblur.html}
|
||||
{Directional Blur}
|
||||
\li \inlineimage ok.png
|
||||
\li Applies a blur effect to the specified direction. The value of the
|
||||
\uicontrol Angle field defines the direction of the blur. This
|
||||
@@ -135,7 +142,8 @@
|
||||
more samples are needed to preserve high visual quality.
|
||||
\row
|
||||
\li \inlineimage icons/displace-16px.png
|
||||
\li \l Displace
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-displace.html}
|
||||
{Displace}
|
||||
\li \inlineimage ok.png
|
||||
\li Moves the pixels of the source component according to the displacement
|
||||
map specified in the \uicontrol {Displacement source} field.
|
||||
@@ -148,7 +156,8 @@
|
||||
maximum shift.
|
||||
\row
|
||||
\li \inlineimage icons/drop-shadow-16px.png
|
||||
\li \l {DropShadow}{Drop Shadow}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-dropshadow.html}
|
||||
{Drop Shadow}
|
||||
\li \inlineimage ok.png
|
||||
\li Generates a soft shadow behind the source component using a
|
||||
gaussian blur. This effect blurs the alpha channel of the input and
|
||||
@@ -170,7 +179,8 @@
|
||||
FPS on high-end graphics hardware.
|
||||
\row
|
||||
\li \inlineimage icons/fast-blur-16px.png
|
||||
\li \l {FastBlur}{Fast Blur}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-fastblur.html}
|
||||
{Fast Blur}
|
||||
\li \inlineimage ok.png
|
||||
\li Applies a fast blur effect to one or more source components.
|
||||
\uicontrol {Fast Blur} offers lower blur quality than
|
||||
@@ -188,7 +198,8 @@
|
||||
to provide good rendering performance.
|
||||
\row
|
||||
\li \inlineimage icons/gamma-adjust-16px.png
|
||||
\li \l [QML] {GammaAdjust}{Gamma Adjust}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-gammaadjust.html}
|
||||
{Gamma Adjust}
|
||||
\li \inlineimage ok.png
|
||||
\li Alters the luminance of the source component. This effect is applied
|
||||
to each pixel according to the curve that is pre-defined as a
|
||||
@@ -196,7 +207,8 @@
|
||||
field is used as the reciprocal scaling exponent.
|
||||
\row
|
||||
\li \inlineimage icons/gaussian-blur-16px.png
|
||||
\li \l [QML] {GaussianBlur}{Gaussian Blur}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-gaussianblur.html}
|
||||
{Gaussian Blur}
|
||||
\li
|
||||
\li Applies a gaussian blur effect to one or more source components.
|
||||
The effect softens the image by blurring it with an algorithm that
|
||||
@@ -218,7 +230,7 @@
|
||||
the radius.
|
||||
\row
|
||||
\li \inlineimage icons/glow-16px.png
|
||||
\li \l [QML] {Glow}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-glow.html}{Glow}
|
||||
\li \inlineimage ok.png
|
||||
\li Generates a halo-like glow around the source component. This effect
|
||||
blurs the alpha channel of the source and colorizes it with
|
||||
@@ -229,7 +241,8 @@
|
||||
glow can be changed using the value of the \uicontrol Spread field.
|
||||
\row
|
||||
\li \inlineimage icons/hue-saturation-16px.png
|
||||
\li \l {HueSaturation}{Hue Saturation}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-huesaturation.html}
|
||||
{Hue Saturation}
|
||||
\li \inlineimage ok.png
|
||||
\li Alters the source component colors in the HSL color space.
|
||||
This effect is similar to the \uicontrol Colorize effect, but
|
||||
@@ -239,7 +252,8 @@
|
||||
setting them.
|
||||
\row
|
||||
\li \inlineimage icons/inner-shadow-16px.png
|
||||
\li \l {InnerShadow}{Inner Shadow}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-innershadow.html}
|
||||
{Inner Shadow}
|
||||
\li
|
||||
\li Generates a colorized and blurred shadow inside the source using
|
||||
the color that you specify in the \uicontrol {Inner shadow color}
|
||||
@@ -261,7 +275,8 @@
|
||||
check box.
|
||||
\row
|
||||
\li \inlineimage icons/levels-16px.png
|
||||
\li \l {LevelAdjust}{Level Adjust}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-leveladjust.html}
|
||||
{Level Adjust}
|
||||
\li \inlineimage ok.png
|
||||
\li Adjusts color levels in the RGBA color space. This effect adjusts
|
||||
the source component colors separately for each color channel. Source
|
||||
@@ -291,7 +306,8 @@
|
||||
value of the \uicontrol Minimum output field.
|
||||
\row
|
||||
\li \inlineimage icons/mask-blur-16px.png
|
||||
\li \l {MaskedBlur}{Masked Blur}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-maskedblur.html}
|
||||
{Masked Blur}
|
||||
\li
|
||||
\li Softens the image by blurring it. The intensity of the blur can be
|
||||
controlled for each pixel by specifying a \uicontrol {Mask source},
|
||||
@@ -306,7 +322,8 @@
|
||||
samples produce better quality, but are slower to render.
|
||||
\row
|
||||
\li \inlineimage icons/opacity-mask-16px.png
|
||||
\li \l {OpacityMask}{Opacity Mask}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-opacitymask.html}
|
||||
{Opacity Mask}
|
||||
\li \inlineimage ok.png
|
||||
\li Masks the source component with another component specified in the
|
||||
\uicontrol {Mask source} field. The mask component gets rendered into an
|
||||
@@ -321,7 +338,8 @@
|
||||
with the mask alpha: \c {As * Am}.
|
||||
\row
|
||||
\li \inlineimage icons/radial-blur-16px.png
|
||||
\li \l {RadialBlur}{Radial Blur}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-radialblur.html}
|
||||
{Radial Blur}
|
||||
\li
|
||||
\li Applies a directional blur effect in a circular direction around the
|
||||
component's center point. This effect makes the source component appear
|
||||
@@ -336,7 +354,8 @@
|
||||
samples are needed to preserve high visual quality.
|
||||
\row
|
||||
\li \inlineimage icons/recursive-blur-16px.png
|
||||
\li \l {RecursiveBlur}{Recursive Blur}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-recursiveblur.html}
|
||||
{Recursive Blur}
|
||||
\li
|
||||
\li Blurs repeatedly, providing a strong blur effect. This effect
|
||||
softens the image by blurring it with an algorithm that uses a
|
||||
@@ -352,7 +371,8 @@
|
||||
but the result is produced asynchronously and takes more time.
|
||||
\row
|
||||
\li \inlineimage icons/threshold-16px.png
|
||||
\li \l {ThresholdMask}{Threshold Mask}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-thresholdmask.html}
|
||||
{Threshold Mask}
|
||||
\li \inlineimage ok.png
|
||||
\li Masks the source component with another component specified by
|
||||
\uicontrol {Mask source}. The value of the \uicontrol Spread
|
||||
@@ -363,7 +383,8 @@
|
||||
opaque mask pixels by adding interpolated values between them.
|
||||
\row
|
||||
\li \inlineimage icons/zoom-blur-16px.png
|
||||
\li \l {ZoomBlur}{Zoom Blur}
|
||||
\li \l {https://doc.qt.io/qt-5/qml-qtgraphicaleffects-zoomblur.html}
|
||||
{Zoom Blur}
|
||||
\li
|
||||
\li Applies a directional blur effect towards source component's
|
||||
center point. This effect makes the source component appear to be
|
||||
|
@@ -392,7 +392,8 @@
|
||||
Typically, this component should be a shader effect with a source texture
|
||||
specified. You can use the effects in \uicontrol Components >
|
||||
\uicontrol {Qt Quick Studio Effects} that are based on the components in the
|
||||
\l {Qt Graphical Effects} module.
|
||||
\l {https://doc.qt.io/qt-5/qtgraphicaleffects-index.html}
|
||||
{Qt Graphical Effects} module.
|
||||
|
||||
To enable the component to pass the layer's offscreen surface to the effect
|
||||
correctly, the \uicontrol {Sampler name} field is set to the source
|
||||
|
@@ -42519,22 +42519,22 @@ Are you sure?</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>[Source: %1]</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>[Quelle: %1]</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangCodeModel</name>
|
||||
<message>
|
||||
<source>Component</source>
|
||||
<translation type="unfinished">Komponente</translation>
|
||||
<translation>Komponente</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Total Memory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Gesamtspeicher</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Update</source>
|
||||
<translation type="unfinished">Aktualisieren</translation>
|
||||
<translation>Aktualisieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -42590,7 +42590,7 @@ Ausgabe:
|
||||
</message>
|
||||
<message>
|
||||
<source>Documentation:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Dokumentation:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -42616,11 +42616,11 @@ Ausgabe:
|
||||
</message>
|
||||
<message>
|
||||
<source>Filter for This Diagnostic Kind</source>
|
||||
<translation>Nach dieser Art von Einträgen filtern</translation>
|
||||
<translation>Nach dieser Art von Meldungen filtern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Filter out This Diagnostic Kind</source>
|
||||
<translation>Diese Art von Einträgen herausfiltern</translation>
|
||||
<translation>Diese Art von Meldungen herausfiltern</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Web Page</source>
|
||||
@@ -42628,19 +42628,19 @@ Ausgabe:
|
||||
</message>
|
||||
<message>
|
||||
<source>Suppress Selected Diagnostics</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ausgewählte Meldungen unterdrücken</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Suppress This Diagnostic</source>
|
||||
<translation>Diese Art von Einträgen nicht anzeigen</translation>
|
||||
<translation>Diese Art von Meldungen nicht anzeigen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable These Checks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Diese Checks deaktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable This Check</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Diesen Check deaktivieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -43132,7 +43132,7 @@ Was soll %1 tun?</translation>
|
||||
<name>ClangFormat::ClangFormatConfigWidget</name>
|
||||
<message>
|
||||
<source>Clang-Format Style</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Clang-Format-Stil</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -43150,7 +43150,7 @@ Was soll %1 tun?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The ClangFormat plugin has been built against an unmodified Clang. You might experience formatting glitches in certain circumstances. See https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/README.md for more information.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das ClangFormat-Plugin wurde gegen ein unmodifiziertes Clang gebaut. Unter Umständen werden Sie Mängel beim Formatieren feststellen. Unter https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/README.md können Sie mehr erfahren.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -44729,11 +44729,11 @@ You might find further explanations in the Application Output view.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Filters</source>
|
||||
<translation type="unfinished">Filter</translation>
|
||||
<translation>Filter</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset Topic Filter</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Themenfilter zurücksetzen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Checks</source>
|
||||
@@ -44746,7 +44746,8 @@ You might find further explanations in the Application Output view.</source>
|
||||
<message>
|
||||
<source>Could not query the supported checks from the clazy-standalone executable.
|
||||
Set a valid executable first.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Konnte die von clazy-standalone unterstützten Überprüfungen nicht abfragen.
|
||||
Setzen Sie erst eine gültige ausführbare Datei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable lower levels automatically</source>
|
||||
@@ -44761,19 +44762,19 @@ Set a valid executable first.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select All</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Alle auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select All with Fixits</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Alle mit Korrekturen auswählen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear Selection</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Auswahl löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select the diagnostics to display.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wählen Sie die anzuzeigenden Meldungen.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -44784,11 +44785,11 @@ Set a valid executable first.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analyze open files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Offene Dateien analysieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run Options</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ausführungseinstellungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Parallel jobs:</source>
|
||||
@@ -44812,7 +44813,8 @@ Set a valid executable first.</source>
|
||||
<message>
|
||||
<source>Could not query the supported checks from the clang-tidy executable.
|
||||
Set a valid executable first.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Konnte die von clang-tidy unterstützten Überprüfungen nicht abfragen.
|
||||
Setzen Sie erst eine gültige ausführbare Datei.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@@ -45701,11 +45703,11 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
<name>ClangTools::Internal::ClangTool</name>
|
||||
<message>
|
||||
<source>Analyze Project...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Projekt analysieren...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analyze Current File</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Aktuelle Datei analysieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Go to previous diagnostic.</source>
|
||||
@@ -45717,7 +45719,7 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Load diagnostics from YAML files exported with "-export-fixes".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Meldungen, die mit "-export-fixes" exportiert wurden, aus YAML-Datei laden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clear</source>
|
||||
@@ -45725,11 +45727,11 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expand All</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Alle aufklappen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Collapse All</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Alle einklappen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Filter Diagnostics</source>
|
||||
@@ -45773,119 +45775,119 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot analyze current file: No files open.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kann aktuelle Datei nicht analysieren: Keine Dateien geöffnet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot analyze current file: "%1" is not a known source file.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kann aktuelle Datei nicht analysieren: "%1" ist keine bekannte Quelldatei.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select YAML Files with Diagnostics</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wählen Sie YAML-Datei mit Meldungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>YAML Files (*.yml *.yaml);;All Files (*)</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>YAML-Dateien (*.yml *.yaml);;Alle Dateien (*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error Loading Diagnostics</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Fehler beim Laden der Meldungen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set a valid Clang-Tidy executable.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wählen Sie eine gültige ausführbare Datei für Clang-Tidy.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Set a valid Clazy-Standalone executable.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wählen Sie eine gültige ausführbare Datei für Clazy-Standalone.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Project "%1" is not a C/C++ project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das Projekt "%1" ist kein C/C++-Projekt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open a C/C++ project to start analyzing.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Öffnen Sie ein C/C++-Projekt, um mit der Analyse zu beginnen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to build the project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das Projekt konnte nicht erstellt werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to start the analyzer.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das Analyse-Werkzeug konnte nicht gestartet werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>All Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Alle Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Opened Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Geöffnete Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edited Files</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Bearbeitete Dateien</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Failed to analyze %n file(s).</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
<numerusform></numerusform>
|
||||
<translation>
|
||||
<numerusform>Eine Datei konnte nicht analysiert werden.</numerusform>
|
||||
<numerusform>%n Dateien konnten nicht analysiert werden.</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analyzing...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Analysiere...</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Analyzing... %1 of %n file(s) processed.</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
<numerusform></numerusform>
|
||||
<translation>
|
||||
<numerusform>Analysiere... %1 von einer Datei verarbeitet.</numerusform>
|
||||
<numerusform>Analysiere... %1 von %n Dateien verarbeitet.</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analysis stopped by user.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Analyse durch den Benutzer gestoppt.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Finished processing %n file(s).</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
<numerusform></numerusform>
|
||||
<translation>
|
||||
<numerusform>Verarbeitung einer Datei abgeschlossen.</numerusform>
|
||||
<numerusform>Verarbeitung von %n Dateien abgeschlossen.</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Diagnostics imported.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Meldungen importiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 diagnostics. %2 fixits, %3 selected.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>%1 Meldung(en). %2 Korrektur(en), %3 ausgewählt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No diagnostics.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Keine Meldungen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In general, the project should be built before starting the analysis to ensure that the code to analyze is valid.<br/><br/>Building the project might also run code generators that update the source files as necessary.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Im Allgemeinen sollte das Projekt vor der Analyse gebaut werden, um sicherzustellen, dass der zu analysierende Code gültig ist.<br/><br/>Beim Erstellen des Projekts werden möglicherweise auch Code-Generatoren ausgeführt, die Quelldateien nach Bedarf aktualisieren.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Info About Build the Project Before Analysis</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Information über das Erstellen des Projekts vor der Analyse</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolRunWorker</name>
|
||||
<message>
|
||||
<source>Failed to build the project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das Projekt konnte nicht erstellt werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No code model data available for project.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Für das Projekt sind keine Codemodell-Daten vorhanden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The project configuration changed since the start of the %1. Please re-run with current configuration.</source>
|
||||
@@ -45893,11 +45895,11 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to create temporary directory: %1.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das temporäre Verzeichnis konnte nicht erstellt werden: %1.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Running %1 on %2 with configuration "%3".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Führe %1 auf %2 mit der Konfiguration "%3" aus.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analyzing</source>
|
||||
@@ -45905,11 +45907,11 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Analyzing "%1" [%2].</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Analysiere "%1" [%2].</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to start runner "%1".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das Werkzeug "%1" konnte nicht gestartet werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to analyze "%1": %2</source>
|
||||
@@ -45917,14 +45919,14 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Error: Failed to analyze %n files.</source>
|
||||
<translation type="unfinished">
|
||||
<numerusform></numerusform>
|
||||
<numerusform></numerusform>
|
||||
<translation>
|
||||
<numerusform>Fehler: Eine Datei konnte nicht analysiert werden.</numerusform>
|
||||
<numerusform>Fehler: %n Dateien konnten nicht analysiert werden.</numerusform>
|
||||
</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Note: You might need to build the project to generate or update source files. To build automatically, enable "Build the project before analysis".</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Hinweis: Möglicherweise müssen Sie das Projekt erstellen, um Quelldateien zu generieren oder aktualisieren. Aktivieren Sie "Projekt vor der Analyse erstellen", um das Projekt automatisch zu erstellen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 finished: Processed %2 files successfully, %3 failed.</source>
|
||||
@@ -45973,11 +45975,11 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy Checks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Clang-Tidy Checks</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clazy Checks</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Clazy Checks</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit Checks as String...</source>
|
||||
@@ -52413,43 +52415,43 @@ in "%2" aus.
|
||||
<name>ClangCodeModel::Internal::ClangdClient</name>
|
||||
<message>
|
||||
<source>clangd</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>clangd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing %1 with clangd</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Indiziere %1 mit clangd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indexing session with clangd</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Indiziere Sitzung mit clangd</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Memory Usage</source>
|
||||
<translation type="unfinished">Speicherverbrauch</translation>
|
||||
<translation>Speicherverbrauch</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Location: %1</source>
|
||||
<extracomment>Parent folder for proposed #include completion</extracomment>
|
||||
<translation type="unfinished">Pfad: %1</translation>
|
||||
<translation>Pfad: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>collecting overrides ...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Suche überschriebene Methoden ...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><base declaration></source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation><Basisdeklaration></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangCodeModel::Internal::ClangdFindReferences</name>
|
||||
<message>
|
||||
<source>C++ Usages:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>C++ Referenzen:</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<source>Re&name %n files</source>
|
||||
<translation type="unfinished">
|
||||
<translation>
|
||||
<numerusform>Eine Datei umbe&nennen</numerusform>
|
||||
<numerusform>%n Dateien umbe&nennen</numerusform>
|
||||
</translation>
|
||||
@@ -52457,7 +52459,7 @@ in "%2" aus.
|
||||
<message>
|
||||
<source>Files:
|
||||
%1</source>
|
||||
<translation type="unfinished">Dateien:
|
||||
<translation>Dateien:
|
||||
%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
@@ -52465,233 +52467,234 @@ in "%2" aus.
|
||||
<name>ClangCodeModel::Internal::ClangModelManagerSupport</name>
|
||||
<message>
|
||||
<source>The use of clangd for the C/C++ code model was disabled, because it is likely that its memory requirements would be higher than what your system can handle.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Clangd wurde für das C/C++-Codemodell deaktiviert, da dessen Speicheranforderung wahrscheinlich die Leistungsfähigkeit Ihres Systems übersteigt.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>With clangd enabled, Qt Creator fully supports modern C++ when highlighting code, completing symbols and so on.<br>This comes at a higher cost in terms of CPU load and memory usage compared to the built-in code model, which therefore might be the better choice on older machines and/or with legacy code.<br>You can enable/disable and fine-tune clangd <a href="dummy">here</a>.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Wenn Clangd aktiviert ist, unterstützt Qt Creator semantische Hervorhebung, Symbolvervollständigung und so weiter für Code, der modernes C++ nutzt.<br/>Das wirkt sich nachteilig auf CPU-Last und Speicherverbrauch im Vergleich zum eingebauten Codemodell aus, das deshalb eine bessere Wahl für ältere Maschinen und/oder für Legacy Code sein kann.<br/>Sie können Clangd <a href="dummy">hier</a> aktivieren/deaktivieren und anpassen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Anyway</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Trotzdem aktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot use clangd: Failed to generate compilation database:
|
||||
%1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Kann Clangd nicht nutzen: Erstellen der Kompilierungsdatenbank fehlgeschlagen:
|
||||
%1</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangdTextMark</name>
|
||||
<message>
|
||||
<source>Code Model Error</source>
|
||||
<translation type="unfinished">Codemodell-Fehler</translation>
|
||||
<translation>Codemodell-Fehler</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Code Model Warning</source>
|
||||
<translation type="unfinished">Codemodell-Warnung</translation>
|
||||
<translation>Codemodell-Warnung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<comment>Clang Code Model Marks</comment>
|
||||
<translation type="unfinished">In die Zwischenablage kopieren</translation>
|
||||
<translation>In die Zwischenablage kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Diagnostic in Current Project</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Meldung für aktuelles Projekt deaktivieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangUtils</name>
|
||||
<message>
|
||||
<source>Could not retrieve build directory.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Build-Verzeichnis konnte nicht abgefragt werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not create "%1": %2</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Konnte "%1" nicht erzeugen: %2</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangFormat::ClangFormatGlobalConfigWidget</name>
|
||||
<message>
|
||||
<source>Formatting mode:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Formatierungsart:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format while typing</source>
|
||||
<translation type="unfinished">Bei der Eingabe formatieren</translation>
|
||||
<translation>Bei der Eingabe formatieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Format edited code on file save</source>
|
||||
<translation type="unfinished">Bearbeiteten Quelltext beim Speichern der Datei formatieren</translation>
|
||||
<translation>Bearbeiteten Quelltext beim Speichern der Datei formatieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Override Clang Format configuration file</source>
|
||||
<translation type="unfinished">Clang-Format-Konfigurationsdatei überschreiben</translation>
|
||||
<translation>Clang-Format-Konfigurationsdatei überschreiben</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ClangFormat global setting:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Globale Einstellungen für ClangFormat:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indenting only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Nur Einrückung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Full formatting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Komplette Formatierung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable</source>
|
||||
<translation type="unfinished">Deaktivieren</translation>
|
||||
<translation>Deaktivieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The current project has its own .clang-format file which can be overridden by the settings below.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das aktuelle Projekt hat ihre eigene .clang-format-Datei, die in den untenstehenden Einstellungen überschrieben werden kann.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Override Clang Format configuration file with the chosen configuration.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Die Clang-Format-Konfigurationsdatei mit der gewählten Konfiguration überschreiben.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangFormatStyleFactory</name>
|
||||
<message>
|
||||
<source>ClangFormat</source>
|
||||
<translation type="unfinished">ClangFormat</translation>
|
||||
<translation>ClangFormat</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::ClangToolsProjectSettingsWidget</name>
|
||||
<message>
|
||||
<source>Restore Global Settings</source>
|
||||
<translation type="unfinished">Globale Einstellungen wiederherstellen</translation>
|
||||
<translation>Globale Einstellungen wiederherstellen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Go to Analyzer</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Zum Analyzer wechseln</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove Selected</source>
|
||||
<translation type="unfinished">Ausgewählte entfernen</translation>
|
||||
<translation>Ausgewählte entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove All</source>
|
||||
<translation type="unfinished">Alle entfernen</translation>
|
||||
<translation>Alle entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Suppressed diagnostics</source>
|
||||
<translation type="unfinished">Unterdrückte Diagnosemeldungen</translation>
|
||||
<translation>Unterdrückte Meldungen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangToolsDiagnosticModel</name>
|
||||
<message>
|
||||
<source>No Fixits</source>
|
||||
<translation type="unfinished">Keine Korrekturen</translation>
|
||||
<translation>Keine Korrekturen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Not Scheduled</source>
|
||||
<translation type="unfinished">nicht eingeplant</translation>
|
||||
<translation>Nicht eingeplant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Invalidated</source>
|
||||
<translation type="unfinished">Ungültig</translation>
|
||||
<translation>Ungültig</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Scheduled</source>
|
||||
<translation type="unfinished">eingeplant</translation>
|
||||
<translation>Eingeplant</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to Apply</source>
|
||||
<translation type="unfinished">Konnte nicht angewendet werden</translation>
|
||||
<translation>Konnte nicht angewendet werden</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Applied</source>
|
||||
<translation type="unfinished">Angewendet</translation>
|
||||
<translation>Angewendet</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyOptionsDialog</name>
|
||||
<message>
|
||||
<source>Options for %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Einstellungen für %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Option</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Einstellung</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Value</source>
|
||||
<translation type="unfinished">Wert</translation>
|
||||
<translation>Wert</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Option</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Einstellung hinzufügen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove Option</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Einstellung entfernen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><new option></source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation><Neue Einstellung></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::TidyChecksTreeModel</name>
|
||||
<message>
|
||||
<source>Options</source>
|
||||
<translation type="unfinished">Einstellungen</translation>
|
||||
<translation>Einstellungen</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>Clang Tools</name>
|
||||
<message>
|
||||
<source>Custom Configuration</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Benutzerdefinierte Konfiguration</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::DiagnosticMark</name>
|
||||
<message>
|
||||
<source>Copy to Clipboard</source>
|
||||
<translation type="unfinished">In die Zwischenablage kopieren</translation>
|
||||
<translation>In die Zwischenablage kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable Diagnostic</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Meldung deaktivieren</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::FilterChecksModel</name>
|
||||
<message>
|
||||
<source>Check</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Check</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ClangTools::Internal::SettingsWidget</name>
|
||||
<message>
|
||||
<source>Clang-Tidy Executable</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ausführbare Datei für Clang-Tidy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clazy Executable</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ausführbare Datei für Clazy</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Executables</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Ausführbare Dateien</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clang-Tidy:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Clang-Tidy:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Clazy-Standalone:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Clazy-Standalone:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@@ -933,8 +933,9 @@ QVariant FilePath::toVariant() const
|
||||
|
||||
bool FilePath::operator==(const FilePath &other) const
|
||||
{
|
||||
return pathView().compare(other.pathView(), caseSensitivity()) == 0 && host() == other.host()
|
||||
&& scheme() == other.scheme();
|
||||
return pathView().compare(other.pathView(), caseSensitivity()) == 0
|
||||
&& host() == other.host()
|
||||
&& scheme() == other.scheme();
|
||||
}
|
||||
|
||||
bool FilePath::operator!=(const FilePath &other) const
|
||||
@@ -1588,7 +1589,7 @@ static QString normalizePathSegmentHelper(const QString &name)
|
||||
{
|
||||
const int len = name.length();
|
||||
|
||||
if (len == 0)
|
||||
if (len == 0 || name.contains("%{"))
|
||||
return name;
|
||||
|
||||
int i = len - 1;
|
||||
|
@@ -60,8 +60,12 @@ QStringList GTestConfiguration::argumentsForTestRunner(QStringList *omitted) con
|
||||
}
|
||||
|
||||
const QStringList &testSets = testCases();
|
||||
if (!testSets.isEmpty())
|
||||
arguments << "--gtest_filter=\"" + testSets.join(':') + '"';
|
||||
if (!testSets.isEmpty()) {
|
||||
if (isDebugRunMode()) // debugger does its own special quoting
|
||||
arguments << "--gtest_filter=" + testSets.join(':');
|
||||
else
|
||||
arguments << "--gtest_filter=\"" + testSets.join(':') + '"';
|
||||
}
|
||||
|
||||
auto gSettings = static_cast<GTestSettings *>(framework()->testSettings());
|
||||
if (!gSettings)
|
||||
|
@@ -127,7 +127,7 @@ static void checkSystemForClangdSuitability()
|
||||
if (ClangdSettings::hardwareFulfillsRequirements())
|
||||
return;
|
||||
|
||||
ClangdSettings::setUseClangd(false);
|
||||
ClangdSettings::setUseClangdAndSave(false);
|
||||
const QString warnStr = ClangModelManagerSupport::tr("The use of clangd for the C/C++ "
|
||||
"code model was disabled, because it is likely that its memory requirements "
|
||||
"would be higher than what your system can handle.");
|
||||
@@ -148,7 +148,7 @@ static void checkSystemForClangdSuitability()
|
||||
return label;
|
||||
});
|
||||
info.addCustomButton(ClangModelManagerSupport::tr("Enable Anyway"), [clangdWarningSetting] {
|
||||
ClangdSettings::setUseClangd(true);
|
||||
ClangdSettings::setUseClangdAndSave(true);
|
||||
Core::ICore::infoBar()->removeInfo(clangdWarningSetting);
|
||||
});
|
||||
Core::ICore::infoBar()->addInfo(info);
|
||||
@@ -533,12 +533,14 @@ void ClangModelManagerSupport::updateLanguageClient(ProjectExplorer::Project *pr
|
||||
&& currentClient->project() == docProject) {
|
||||
continue;
|
||||
}
|
||||
if (!docProject || docProject == project) {
|
||||
if (currentClient)
|
||||
currentClient->closeDocument(doc);
|
||||
LanguageClientManager::openDocumentWithClient(doc, client);
|
||||
hasDocuments = true;
|
||||
if (docProject != project
|
||||
&& (docProject || !ProjectFile::isHeader(doc->filePath()))) {
|
||||
continue;
|
||||
}
|
||||
if (currentClient)
|
||||
currentClient->closeDocument(doc);
|
||||
LanguageClientManager::openDocumentWithClient(doc, client);
|
||||
hasDocuments = true;
|
||||
}
|
||||
|
||||
for (auto it = m_queuedShadowDocuments.begin(); it != m_queuedShadowDocuments.end();) {
|
||||
@@ -641,11 +643,13 @@ void ClangModelManagerSupport::claimNonProjectSources(ClangdClient *client)
|
||||
}
|
||||
if (!ClangdSettings::instance().sizeIsOkay(doc->filePath()))
|
||||
continue;
|
||||
if (!ProjectExplorer::SessionManager::projectForFile(doc->filePath())) {
|
||||
if (currentClient)
|
||||
currentClient->closeDocument(doc);
|
||||
LanguageClientManager::openDocumentWithClient(doc, client);
|
||||
}
|
||||
if (ProjectExplorer::SessionManager::projectForFile(doc->filePath()))
|
||||
continue;
|
||||
if (client->project() && !ProjectFile::isHeader(doc->filePath()))
|
||||
continue;
|
||||
if (currentClient)
|
||||
currentClient->closeDocument(doc);
|
||||
LanguageClientManager::openDocumentWithClient(doc, client);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -733,7 +737,7 @@ void ClangModelManagerSupport::onEditorOpened(Core::IEditor *editor)
|
||||
return;
|
||||
if (sessionModeEnabled())
|
||||
project = nullptr;
|
||||
else if (!project)
|
||||
else if (!project && ProjectFile::isHeader(document->filePath()))
|
||||
project = fallbackProject();
|
||||
if (ClangdClient * const client = clientForProject(project))
|
||||
LanguageClientManager::openDocumentWithClient(textDocument, client);
|
||||
|
@@ -108,9 +108,8 @@ SettingsPageWidget::SettingsPageWidget()
|
||||
|
||||
using namespace Layouting;
|
||||
|
||||
Row {
|
||||
Tr::tr("Arg&uments:"),
|
||||
diffArgsEdit
|
||||
Form {
|
||||
Tr::tr("Arg&uments:"), diffArgsEdit
|
||||
}.attachTo(diffWidget, WithoutMargins);
|
||||
|
||||
Column {
|
||||
|
@@ -11,6 +11,7 @@
|
||||
#include "externaltoolmanager.h"
|
||||
#include "fancytabwidget.h"
|
||||
#include "generalsettings.h"
|
||||
#include "helpmanager.h"
|
||||
#include "icore.h"
|
||||
#include "idocumentfactory.h"
|
||||
#include "jsexpander.h"
|
||||
@@ -1510,8 +1511,17 @@ void MainWindow::changeLog()
|
||||
return;
|
||||
const FilePath file = versionedFiles.at(index).second;
|
||||
QString contents = QString::fromUtf8(file.fileContents().value_or(QByteArray()));
|
||||
contents.replace(QRegularExpression("(QT(CREATOR)?BUG-[0-9]+)"),
|
||||
"[\\1](https://bugreports.qt.io/browse/\\1)");
|
||||
static const QRegularExpression bugexpr("(QT(CREATOR)?BUG-[0-9]+)");
|
||||
contents.replace(bugexpr, "[\\1](https://bugreports.qt.io/browse/\\1)");
|
||||
static const QRegularExpression docexpr("https://doc[.]qt[.]io/qtcreator/([.a-zA-Z/_-]*)");
|
||||
QList<QRegularExpressionMatch> matches;
|
||||
for (const QRegularExpressionMatch &m : docexpr.globalMatch(contents))
|
||||
matches.append(m);
|
||||
Utils::reverseForeach(matches, [&contents](const QRegularExpressionMatch &match) {
|
||||
const QString qthelpUrl = "qthelp://org.qt-project.qtcreator/doc/" + match.captured(1);
|
||||
if (!HelpManager::fileData(qthelpUrl).isEmpty())
|
||||
contents.replace(match.capturedStart(), match.capturedLength(), qthelpUrl);
|
||||
});
|
||||
textEdit->setMarkdown(contents);
|
||||
};
|
||||
connect(versionCombo, &QComboBox::currentIndexChanged, textEdit, showLog);
|
||||
|
@@ -253,6 +253,12 @@ bool ClangdSettings::useClangd() const
|
||||
|
||||
void ClangdSettings::setUseClangd(bool use) { instance().m_data.useClangd = use; }
|
||||
|
||||
void ClangdSettings::setUseClangdAndSave(bool use)
|
||||
{
|
||||
setUseClangd(use);
|
||||
instance().saveSettings();
|
||||
}
|
||||
|
||||
bool ClangdSettings::hardwareFulfillsRequirements()
|
||||
{
|
||||
instance().m_data.haveCheckedHardwareReqirements = true;
|
||||
|
@@ -133,6 +133,7 @@ public:
|
||||
static ClangdSettings &instance();
|
||||
bool useClangd() const;
|
||||
static void setUseClangd(bool use);
|
||||
static void setUseClangdAndSave(bool use);
|
||||
|
||||
static bool hardwareFulfillsRequirements();
|
||||
static bool haveCheckedHardwareRequirements();
|
||||
|
@@ -6,6 +6,7 @@
|
||||
#include "cppeditorconstants.h"
|
||||
|
||||
#include <coreplugin/icore.h>
|
||||
#include <utils/filepath.h>
|
||||
#include <utils/mimeutils.h>
|
||||
|
||||
#include <QDebug>
|
||||
@@ -129,6 +130,11 @@ bool ProjectFile::isHeader(ProjectFile::Kind kind)
|
||||
}
|
||||
}
|
||||
|
||||
bool ProjectFile::isHeader(const Utils::FilePath &fp)
|
||||
{
|
||||
return isHeader(classify(fp.toString()));
|
||||
}
|
||||
|
||||
bool ProjectFile::isSource(ProjectFile::Kind kind)
|
||||
{
|
||||
switch (kind) {
|
||||
|
@@ -7,6 +7,8 @@
|
||||
|
||||
#include <QString>
|
||||
|
||||
namespace Utils { class FilePath; }
|
||||
|
||||
namespace CppEditor {
|
||||
|
||||
class CPPEDITOR_EXPORT ProjectFile
|
||||
@@ -39,6 +41,7 @@ public:
|
||||
|
||||
static bool isSource(Kind kind);
|
||||
static bool isHeader(Kind kind);
|
||||
static bool isHeader(const Utils::FilePath &fp);
|
||||
static bool isC(Kind kind);
|
||||
static bool isCxx(Kind kind);
|
||||
static bool isAmbiguousHeader(const QString &filePath);
|
||||
|
@@ -268,6 +268,7 @@ void ThreadsHandler::setCurrentThread(const Thread &thread)
|
||||
|
||||
m_currentThread = thread;
|
||||
thread->update();
|
||||
threadSwitcher()->setCurrentIndex(thread->index().row());
|
||||
}
|
||||
|
||||
void ThreadsHandler::notifyGroupCreated(const QString &groupId, const QString &pid)
|
||||
|
@@ -480,7 +480,8 @@ JsonWizardFactory *JsonWizardFactory::createWizardFactory(const QVariantMap &dat
|
||||
if (!factory->initialize(data, baseDir, errorMessage)) {
|
||||
delete factory;
|
||||
factory = nullptr;
|
||||
Core::MessageManager::writeDisrupting(*errorMessage);
|
||||
if (verbose())
|
||||
Core::MessageManager::writeDisrupting(*errorMessage);
|
||||
}
|
||||
return factory;
|
||||
}
|
||||
@@ -513,6 +514,9 @@ FilePaths &JsonWizardFactory::searchPaths()
|
||||
Core::ICore::resourcePath(WIZARD_PATH)};
|
||||
for (const QString &environmentTemplateDirName : environmentTemplatesPaths())
|
||||
m_searchPaths << FilePath::fromString(environmentTemplateDirName);
|
||||
m_searchPaths << Utils::transform(
|
||||
Core::ICore::settings()->value("Wizards/SearchPaths").toStringList(),
|
||||
[](const QString &s) { return FilePath::fromUserInput(s); });
|
||||
}
|
||||
|
||||
return m_searchPaths;
|
||||
|
@@ -4178,6 +4178,7 @@ void ProjectExplorerPluginPrivate::updateSessionMenu()
|
||||
auto *ag = new QActionGroup(m_sessionMenu);
|
||||
connect(ag, &QActionGroup::triggered, this, &ProjectExplorerPluginPrivate::setSession);
|
||||
const QString activeSession = SessionManager::activeSession();
|
||||
const bool isDefaultVirgin = SessionManager::isDefaultVirgin();
|
||||
|
||||
QStringList sessions = SessionManager::sessions();
|
||||
std::sort(std::next(sessions.begin()), sessions.end(), [](const QString &s1, const QString &s2) {
|
||||
@@ -4192,7 +4193,7 @@ void ProjectExplorerPluginPrivate::updateSessionMenu()
|
||||
QAction *act = ag->addAction(actionText);
|
||||
act->setData(session);
|
||||
act->setCheckable(true);
|
||||
if (session == activeSession)
|
||||
if (session == activeSession && !isDefaultVirgin)
|
||||
act->setChecked(true);
|
||||
}
|
||||
m_sessionMenu->addActions(ag->actions());
|
||||
@@ -4201,9 +4202,7 @@ void ProjectExplorerPluginPrivate::updateSessionMenu()
|
||||
|
||||
void ProjectExplorerPluginPrivate::setSession(QAction *action)
|
||||
{
|
||||
QString session = action->data().toString();
|
||||
if (session != SessionManager::activeSession())
|
||||
SessionManager::loadSession(session);
|
||||
SessionManager::loadSession(action->data().toString());
|
||||
}
|
||||
|
||||
void ProjectExplorerPlugin::setProjectExplorerSettings(const ProjectExplorerSettings &pes)
|
||||
|
@@ -478,10 +478,10 @@ function(get_and_add_as_subdirectory name repository git_tag build_dir source_di
|
||||
)
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" "${build_dir}/${name}"
|
||||
WORKING_DIRECTORY "${build_dir}/${name}"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${QTC_COMMAND_ERROR_IS_FATAL}
|
||||
)
|
||||
execute_process(COMMAND "${CMAKE_COMMAND}" --build "${build_dir}/${name}"
|
||||
COMMAND_ERROR_IS_FATAL ANY
|
||||
${QTC_COMMAND_ERROR_IS_FATAL}
|
||||
)
|
||||
add_subdirectory(${source_dir}/${name}/${source_subdir} ${name})
|
||||
endfunction()
|
||||
|
@@ -280,9 +280,9 @@ protected:
|
||||
virtual bool visit(Declaration *symbol) {
|
||||
out << _id[symbol].constData() << " [label=\"";
|
||||
out << "Declaration\\n";
|
||||
out << qPrintable(o(symbol->name()));
|
||||
out << qPrintable(o.prettyName(symbol->name()));
|
||||
out << ": ";
|
||||
out << qPrintable(o(symbol->type()));
|
||||
out << qPrintable(o.prettyType(symbol->type()));
|
||||
if (symbol->isDeprecated())
|
||||
out << "\\n(deprecated)";
|
||||
if (Function *funTy = symbol->type()->asFunctionType()) {
|
||||
@@ -308,7 +308,7 @@ protected:
|
||||
|
||||
virtual bool visit(BaseClass *symbol) {
|
||||
out << _id[symbol].constData() << " [label=\"BaseClass\\n";
|
||||
out << qPrintable(o(symbol->name()));
|
||||
out << qPrintable(o.prettyName(symbol->name()));
|
||||
if (symbol->isDeprecated())
|
||||
out << "\\n(deprecated)";
|
||||
out << "\"];" << std::endl;
|
||||
|
@@ -44,7 +44,7 @@ class MkVisitor: protected SymbolVisitor
|
||||
bool isMiscNode(ClassOrNamespace *b) const
|
||||
{
|
||||
for (const ClassOrNamespace *u : b->usings()) {
|
||||
if (oo(u->symbols().first()->name()) == QLatin1String("AST"))
|
||||
if (oo.prettyName(u->symbols().first()->name()) == QLatin1String("AST"))
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -58,7 +58,7 @@ class MkVisitor: protected SymbolVisitor
|
||||
retType->clear();
|
||||
|
||||
if (interfaces.contains(b) || isMiscNode(b)) {
|
||||
QString className = oo(b->symbols().first()->name());
|
||||
QString className = oo.prettyName(b->symbols().first()->name());
|
||||
|
||||
if (className.endsWith(QLatin1String("AST"))) {
|
||||
className.chop(3);
|
||||
@@ -114,7 +114,7 @@ public:
|
||||
|
||||
Q_ASSERT(klass != 0);
|
||||
|
||||
QString className = oo(klass->name());
|
||||
QString className = oo.prettyName(klass->name());
|
||||
if (className == QLatin1String("AST"))
|
||||
continue;
|
||||
|
||||
@@ -162,7 +162,7 @@ public:
|
||||
Q_ASSERT(klass != 0);
|
||||
|
||||
QString retTy ;
|
||||
QString className = oo(klass->name());
|
||||
QString className = oo.prettyName(klass->name());
|
||||
std::cout << " void " << qPrintable(getAcceptFunctionName(b, &retTy)) << "(" << qPrintable(className) << " *ast);" << std::endl;
|
||||
}
|
||||
}
|
||||
@@ -170,7 +170,8 @@ public:
|
||||
std::cout << std::endl;
|
||||
|
||||
for (ClassOrNamespace *iface : std::as_const(interfaces)) {
|
||||
std::cout << " // " << qPrintable(oo(iface->symbols().first()->name())) << std::endl;
|
||||
std::cout << " // " << qPrintable(oo.prettyName(iface->symbols().first()->name()))
|
||||
<< std::endl;
|
||||
const QList<ClassOrNamespace *> values = implements.value(iface);
|
||||
for (ClassOrNamespace *b : values) {
|
||||
Class *klass = 0;
|
||||
@@ -180,7 +181,7 @@ public:
|
||||
|
||||
Q_ASSERT(klass != 0);
|
||||
|
||||
QString className = oo(klass->name());
|
||||
QString className = oo.prettyName(klass->name());
|
||||
std::cout << " virtual bool visit(" << qPrintable(className) << " *ast);" << std::endl;
|
||||
}
|
||||
std::cout << std::endl;
|
||||
@@ -197,7 +198,7 @@ public:
|
||||
|
||||
Q_ASSERT(klass != 0);
|
||||
|
||||
QString className = oo(klass->name());
|
||||
QString className = oo.prettyName(klass->name());
|
||||
if (className == QLatin1String("AST"))
|
||||
continue;
|
||||
|
||||
@@ -230,7 +231,7 @@ public:
|
||||
|
||||
Q_ASSERT(klass != 0);
|
||||
|
||||
QString className = oo(klass->name());
|
||||
QString className = oo.prettyName(klass->name());
|
||||
if (className == QLatin1String("AST"))
|
||||
continue;
|
||||
|
||||
@@ -256,7 +257,7 @@ public:
|
||||
}
|
||||
|
||||
for (ClassOrNamespace *iface : std::as_const(interfaces)) {
|
||||
std::cout << "// " << qPrintable(oo(iface->symbols().first()->name())) << std::endl;
|
||||
std::cout << "// " << qPrintable(oo.prettyName(iface->symbols().first()->name())) << std::endl;
|
||||
const QList<ClassOrNamespace *> values = implements.value(iface);
|
||||
for (ClassOrNamespace *b : values) {
|
||||
Class *klass = 0;
|
||||
@@ -266,7 +267,7 @@ public:
|
||||
|
||||
Q_ASSERT(klass != 0);
|
||||
|
||||
QString className = oo(klass->name());
|
||||
QString className = oo.prettyName(klass->name());
|
||||
std::cout << "bool Semantic::visit(" << qPrintable(className) << " *ast)" << std::endl
|
||||
<< "{" << std::endl;
|
||||
|
||||
@@ -293,12 +294,12 @@ public:
|
||||
Declaration *decl = klass->memberAt(i)->asDeclaration();
|
||||
if (! decl)
|
||||
continue;
|
||||
if (decl->type()->isFunctionType())
|
||||
if (decl->type()->asFunctionType())
|
||||
continue;
|
||||
const QString declName = oo(decl->name());
|
||||
const QString declName = oo.prettyName(decl->name());
|
||||
if (PointerType *ptrTy = decl->type()->asPointerType()) {
|
||||
if (NamedType *namedTy = ptrTy->elementType()->asNamedType()) {
|
||||
const QString eltTyName = oo(namedTy->name());
|
||||
const QString eltTyName = oo.prettyName(namedTy->name());
|
||||
if (eltTyName.endsWith(QLatin1String("ListAST"))) {
|
||||
QString name = eltTyName;
|
||||
name.chop(7);
|
||||
@@ -327,7 +328,7 @@ public:
|
||||
}
|
||||
|
||||
if (ClassOrNamespace *ty = context.lookupType(namedTy->name(), klass)) {
|
||||
QString className = oo(ty->symbols().first()->name());
|
||||
QString className = oo.prettyName(ty->symbols().first()->name());
|
||||
QString baseClassName = className;
|
||||
if (baseClassName.endsWith(QLatin1String("AST"))) {
|
||||
baseClassName.chop(3);
|
||||
@@ -370,7 +371,7 @@ protected:
|
||||
}
|
||||
|
||||
virtual bool visit(Class *klass) {
|
||||
const QString className = oo(klass->name());
|
||||
const QString className = oo.prettyName(klass->name());
|
||||
if (! className.endsWith(QLatin1String("AST")))
|
||||
return false;
|
||||
|
||||
|
@@ -171,7 +171,7 @@ protected:
|
||||
Class *klass = ast->symbol;
|
||||
Q_ASSERT(klass != nullptr);
|
||||
|
||||
const QString className = oo(klass->name());
|
||||
const QString className = oo.prettyName(klass->name());
|
||||
|
||||
if (className.endsWith(QLatin1String("AST"))) {
|
||||
if (className == QLatin1String("AST"))
|
||||
@@ -271,7 +271,7 @@ protected:
|
||||
continue;
|
||||
|
||||
const QByteArray memberName = QByteArray::fromRawData(id->chars(), id->size());
|
||||
if (member->type()->isIntegerType() && memberName.endsWith("_token")) {
|
||||
if (member->type()->asIntegerType() && memberName.endsWith("_token")) {
|
||||
// nothing to do. The member is a token.
|
||||
|
||||
} else if (PointerType *ptrTy = member->type()->asPointerType()) {
|
||||
@@ -394,7 +394,7 @@ protected:
|
||||
void visitMembers(Class *klass)
|
||||
{
|
||||
Overview oo;
|
||||
const QString className = oo(klass->name());
|
||||
const QString className = oo.prettyName(klass->name());
|
||||
|
||||
*out << " if (" << className << " *_other = pattern->as"
|
||||
<< className.left(className.length() - 3) << "())" << Qt::endl;
|
||||
@@ -518,7 +518,7 @@ protected:
|
||||
continue;
|
||||
|
||||
const QByteArray memberName = QByteArray::fromRawData(id->chars(), id->size());
|
||||
if (member->type()->isIntegerType() && memberName.endsWith("_token")) {
|
||||
if (member->type()->asIntegerType() && memberName.endsWith("_token")) {
|
||||
*out << " pattern->" << memberName << " = node->" << memberName << ";" << Qt::endl
|
||||
<< Qt::endl;
|
||||
|
||||
@@ -657,7 +657,7 @@ protected:
|
||||
continue;
|
||||
|
||||
const QByteArray memberName = QByteArray::fromRawData(id->chars(), id->size());
|
||||
if (member->type()->isIntegerType() && memberName.endsWith("_token")) {
|
||||
if (member->type()->asIntegerType() && memberName.endsWith("_token")) {
|
||||
*out << " ast->" << memberName << " = " << memberName << ";" << Qt::endl;
|
||||
} else if (PointerType *ptrTy = member->type()->asPointerType()) {
|
||||
if (NamedType *namedTy = ptrTy->elementType()->asNamedType()) {
|
||||
@@ -789,7 +789,7 @@ protected:
|
||||
continue;
|
||||
|
||||
const QByteArray memberName = QByteArray::fromRawData(id->chars(), id->size());
|
||||
if (member->type()->isIntegerType() && memberName.endsWith("_token")) {
|
||||
if (member->type()->asIntegerType() && memberName.endsWith("_token")) {
|
||||
out << " if (ast->" << memberName << ")" << Qt::endl;
|
||||
out << " terminal(ast->" << memberName << ", ast);" << Qt::endl;
|
||||
} else if (PointerType *ptrTy = member->type()->asPointerType()) {
|
||||
@@ -881,7 +881,7 @@ protected:
|
||||
virtual bool visit(FunctionDefinitionAST *ast)
|
||||
{
|
||||
Function *fun = ast->symbol;
|
||||
const QString functionName = oo(fun->name());
|
||||
const QString functionName = oo.prettyName(fun->name());
|
||||
|
||||
if (functionName.length() > 3 && functionName.startsWith(QLatin1String("as"))
|
||||
&& functionName.at(2).isUpper()) {
|
||||
@@ -909,18 +909,18 @@ static QStringList collectFieldNames(ClassSpecifierAST *classAST, bool onlyToken
|
||||
for (int i = 0; i < clazz->memberCount(); ++i) {
|
||||
Symbol *s = clazz->memberAt(i);
|
||||
if (Declaration *decl = s->asDeclaration()) {
|
||||
const QString declName = oo(decl->name());
|
||||
const QString declName = oo.prettyName(decl->name());
|
||||
const FullySpecifiedType ty = decl->type();
|
||||
if (const PointerType *ptrTy = ty->asPointerType()) {
|
||||
if (onlyTokensAndASTNodes) {
|
||||
if (const NamedType *namedTy = ptrTy->elementType()->asNamedType()) {
|
||||
if (oo(namedTy->name()).endsWith(QLatin1String("AST")))
|
||||
if (oo.prettyName(namedTy->name()).endsWith(QLatin1String("AST")))
|
||||
fields.append(declName);
|
||||
}
|
||||
} else {
|
||||
fields.append(declName);
|
||||
}
|
||||
} else if (ty->isIntegerType()) {
|
||||
} else if (ty->asIntegerType()) {
|
||||
fields.append(declName);
|
||||
}
|
||||
}
|
||||
@@ -1021,7 +1021,7 @@ void generateAST_cpp(const Snapshot &snapshot, const QDir &cplusplusDir)
|
||||
|
||||
// find all classes with method declarations for firstToken/lastToken
|
||||
for (ClassSpecifierAST *classAST : std::as_const(astNodes.deriveds)) {
|
||||
const QString className = oo(classAST->symbol->name());
|
||||
const QString className = oo.prettyName(classAST->symbol->name());
|
||||
if (className.isEmpty())
|
||||
continue;
|
||||
|
||||
@@ -1032,7 +1032,7 @@ void generateAST_cpp(const Snapshot &snapshot, const QDir &cplusplusDir)
|
||||
std::cerr << "Found simple declaration with multiple symbols in " << className.toLatin1().data() << std::endl;
|
||||
|
||||
Symbol *s = decl->symbols->value;
|
||||
const QString funName = oo(s->name());
|
||||
const QString funName = oo.prettyName(s->name());
|
||||
if (funName == QLatin1String("firstToken")) {
|
||||
// found it:
|
||||
classesNeedingFirstToken.insert(className, classAST);
|
||||
@@ -1052,8 +1052,8 @@ void generateAST_cpp(const Snapshot &snapshot, const QDir &cplusplusDir)
|
||||
if (FunctionDefinitionAST *funDef = iter->value->asFunctionDefinition()) {
|
||||
if (const Name *name = funDef->symbol->name()) {
|
||||
if (const QualifiedNameId *qName = name->asQualifiedNameId()) {
|
||||
const QString className = oo(qName->base());
|
||||
const QString methodName = oo(qName->name());
|
||||
const QString className = oo.prettyName(qName->base());
|
||||
const QString methodName = oo.prettyName(qName->name());
|
||||
|
||||
QTextCursor cursor(&cpp_document);
|
||||
|
||||
@@ -1121,7 +1121,7 @@ void generateAST_cpp(const Snapshot &snapshot, const QDir &cplusplusDir)
|
||||
|
||||
Overview oo;
|
||||
|
||||
const QString className = oo(info.classAST->symbol->name());
|
||||
const QString className = oo.prettyName(info.classAST->symbol->name());
|
||||
|
||||
QString method;
|
||||
QTextStream os(&method);
|
||||
@@ -1320,7 +1320,7 @@ QStringList generateAST_H(const Snapshot &snapshot, const QDir &cplusplusDir, co
|
||||
QStringList castMethods;
|
||||
for (ClassSpecifierAST *classAST : std::as_const(astNodes.deriveds)) {
|
||||
cursors[classAST] = removeCastMethods(classAST);
|
||||
const QString className = oo(classAST->symbol->name());
|
||||
const QString className = oo.prettyName(classAST->symbol->name());
|
||||
const QString methodName = QLatin1String("as") + className.mid(0, className.length() - 3);
|
||||
replacementCastMethods[classAST]
|
||||
= QString::fromLatin1(" virtual %1 *%2() { return this; }\n")
|
||||
@@ -1401,7 +1401,7 @@ protected:
|
||||
|
||||
if (ElaboratedTypeSpecifierAST *e = ast->decl_specifier_list->value->asElaboratedTypeSpecifier()) {
|
||||
if (tokenKind(e->classkey_token) == T_CLASS && !ast->declarator_list) {
|
||||
QString className = oo(e->name->name);
|
||||
QString className = oo.prettyName(e->name->name);
|
||||
|
||||
if (className.length() > 3 && className.endsWith(QLatin1String("AST"))) {
|
||||
QTextCursor tc = createCursor(translationUnit(), ast, document);
|
||||
@@ -1499,7 +1499,7 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir)
|
||||
if (! match0Method)
|
||||
continue;
|
||||
|
||||
const QString className = oo(klass->name());
|
||||
const QString className = oo.prettyName(klass->name());
|
||||
|
||||
if (! className.endsWith(QLatin1String("AST")))
|
||||
continue;
|
||||
@@ -1521,14 +1521,14 @@ void generateASTPatternBuilder_h(const QDir &cplusplusDir)
|
||||
if (! ptrTy)
|
||||
continue;
|
||||
|
||||
const QString tyName = oo(ptrTy->elementType());
|
||||
const QString tyName = oo.prettyType(ptrTy->elementType());
|
||||
if (tyName.endsWith(QLatin1String("ListAST")))
|
||||
classesSet.insert(tyName);
|
||||
if (tyName.endsWith(QLatin1String("AST"))) {
|
||||
if (! first)
|
||||
out << ", ";
|
||||
|
||||
const QString memberName = oo(member->name());
|
||||
const QString memberName = oo.prettyName(member->name());
|
||||
|
||||
out << tyName << " *" << memberName << " = nullptr";
|
||||
args.append(qMakePair(tyName, memberName));
|
||||
|
@@ -43,7 +43,7 @@ function(download_jdk)
|
||||
|
||||
message("Downloading: ${jdk_url}")
|
||||
file(DOWNLOAD ${jdk_url} ./jdk.zip SHOW_PROGRESS)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ./jdk.zip)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ./jdk.zip COMMAND_ERROR_IS_FATAL ANY)
|
||||
endfunction()
|
||||
|
||||
function(download_android_commandline)
|
||||
@@ -61,7 +61,7 @@ function(download_android_commandline)
|
||||
file(DOWNLOAD ${android_cmdtools_url} ./android_commandline_tools.zip SHOW_PROGRESS)
|
||||
file(MAKE_DIRECTORY android-sdk)
|
||||
file(MAKE_DIRECTORY android-cmdlinetools)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ../android_commandline_tools.zip WORKING_DIRECTORY android-cmdlinetools)
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ../android_commandline_tools.zip WORKING_DIRECTORY android-cmdlinetools COMMAND_ERROR_IS_FATAL ANY)
|
||||
endfunction()
|
||||
|
||||
function(setup_android)
|
||||
@@ -78,9 +78,11 @@ function(setup_android)
|
||||
file(WRITE ${CMAKE_CURRENT_LIST_DIR}/accept_license.txt "y\ny\ny\ny\ny\ny\ny\ny\ny\ny\n")
|
||||
execute_process(
|
||||
INPUT_FILE ${CMAKE_CURRENT_LIST_DIR}/accept_license.txt
|
||||
COMMAND ${sdkmanager} --licenses --sdk_root=${CMAKE_CURRENT_LIST_DIR}/android-sdk)
|
||||
COMMAND ${sdkmanager} --licenses --sdk_root=${CMAKE_CURRENT_LIST_DIR}/android-sdk
|
||||
COMMAND_ERROR_IS_FATAL ANY)
|
||||
execute_process(
|
||||
COMMAND ${sdkmanager} --update --sdk_root=${CMAKE_CURRENT_LIST_DIR}/android-sdk)
|
||||
COMMAND ${sdkmanager} --update --sdk_root=${CMAKE_CURRENT_LIST_DIR}/android-sdk
|
||||
COMMAND_ERROR_IS_FATAL ANY)
|
||||
execute_process(
|
||||
COMMAND ${sdkmanager}
|
||||
"platforms;${ANDROID_PLATFORM}"
|
||||
@@ -90,13 +92,15 @@ function(setup_android)
|
||||
"cmdline-tools;latest"
|
||||
"tools"
|
||||
"emulator"
|
||||
"ndk-bundle" --sdk_root=${CMAKE_CURRENT_LIST_DIR}/android-sdk)
|
||||
"ndk-bundle" --sdk_root=${CMAKE_CURRENT_LIST_DIR}/android-sdk
|
||||
COMMAND_ERROR_IS_FATAL ANY)
|
||||
|
||||
if (WIN32)
|
||||
execute_process(
|
||||
COMMAND ${sdkmanager}
|
||||
"extras;google;usb_driver"
|
||||
--sdk_root=${CMAKE_CURRENT_LIST_DIR}/android-sdk)
|
||||
--sdk_root=${CMAKE_CURRENT_LIST_DIR}/android-sdk
|
||||
COMMAND_ERROR_IS_FATAL ANY)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
|
Reference in New Issue
Block a user