aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2023-04-13 15:59:08 +0200
committerEike Ziller <eike.ziller@qt.io>2023-04-13 15:59:08 +0200
commit2bc37de42b5dd1f0d0a8cea29e5a2cc4926836b5 (patch)
treee613605a0c295a2af7010e92d7b5d412654bf137
parentb1415a0ea58e0860c790b1b5ff5fbd3d4bfdd87a (diff)
parent02f2a93503a24d2da3b93db2cbfe8463627cf990 (diff)
Merge remote-tracking branch 'origin/10.0'
Conflicts: src/plugins/python/pipsupport.cpp src/plugins/qtsupport/exampleslistmodel.cpp src/plugins/qtsupport/examplesparser.cpp tests/auto/examples/tst_examples.cpp Change-Id: I00273622423fa99d41621969f6ecbbdaa0e18664
-rw-r--r--.github/workflows/build_cmake.yml8
-rw-r--r--cmake/QtCreatorTranslations.cmake2
-rw-r--r--coin/instructions/common_environment.yaml6
-rw-r--r--dist/installer/mac/entitlements.plist3
-rw-r--r--doc/qtcreator/examples/accelbubble/CMakeLists.txt4
-rw-r--r--doc/qtcreator/examples/textfinder/CMakeLists.txt4
-rw-r--r--doc/qtcreator/examples/transitions/CMakeLists.txt4
-rw-r--r--qbs/modules/qtc/qtc.qbs2
-rwxr-xr-xscripts/build.py11
-rwxr-xr-xscripts/build_plugin.py7
-rw-r--r--share/qtcreator/debugger/libcpp_stdtypes.py21
-rw-r--r--share/qtcreator/templates/wizards/autotest/files/tst.pro2
-rw-r--r--share/qtcreator/templates/wizards/codesnippet/CMakeLists.txt4
-rw-r--r--share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt4
-rw-r--r--share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt4
-rw-r--r--share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt4
-rw-r--r--share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt4
-rw-r--r--share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt4
-rw-r--r--share/qtcreator/translations/qtcreator_de.ts193
-rw-r--r--share/qtcreator/translations/qtcreator_zh_TW.ts110
-rw-r--r--src/plugins/android/androidtoolchain.cpp7
-rw-r--r--src/plugins/autotoolsprojectmanager/CMakeLists.txt1
-rw-r--r--src/plugins/baremetal/CMakeLists.txt1
-rw-r--r--src/plugins/bazaar/CMakeLists.txt1
-rw-r--r--src/plugins/beautifier/CMakeLists.txt1
-rw-r--r--src/plugins/clangcodemodel/CMakeLists.txt1
-rw-r--r--src/plugins/clangcodemodel/clangdclient.cpp70
-rw-r--r--src/plugins/clangcodemodel/clangdclient.h2
-rw-r--r--src/plugins/clangcodemodel/clangmodelmanagersupport.cpp5
-rw-r--r--src/plugins/clangcodemodel/test/clangdtests.cpp2
-rw-r--r--src/plugins/clangformat/CMakeLists.txt1
-rw-r--r--src/plugins/clangformat/clangformatconfigwidget.cpp6
-rw-r--r--src/plugins/clangformat/clangformatglobalconfigwidget.cpp15
-rw-r--r--src/plugins/clangformat/clangformatglobalconfigwidget.h5
-rw-r--r--src/plugins/clangformat/clangformatplugin.cpp4
-rw-r--r--src/plugins/classview/CMakeLists.txt1
-rw-r--r--src/plugins/clearcase/CMakeLists.txt1
-rw-r--r--src/plugins/cmakeprojectmanager/CMakeLists.txt1
-rw-r--r--src/plugins/coco/CMakeLists.txt3
-rw-r--r--src/plugins/compilationdatabaseprojectmanager/CMakeLists.txt1
-rw-r--r--src/plugins/conan/CMakeLists.txt1
-rw-r--r--src/plugins/cpaster/CMakeLists.txt1
-rw-r--r--src/plugins/cppcheck/CMakeLists.txt1
-rw-r--r--src/plugins/cppeditor/cppcodestylesettingspage.cpp2
-rw-r--r--src/plugins/ctfvisualizer/CMakeLists.txt1
-rw-r--r--src/plugins/cvs/CMakeLists.txt1
-rw-r--r--src/plugins/designer/CMakeLists.txt1
-rw-r--r--src/plugins/emacskeys/CMakeLists.txt1
-rw-r--r--src/plugins/fossil/CMakeLists.txt2
-rw-r--r--src/plugins/genericprojectmanager/CMakeLists.txt1
-rw-r--r--src/plugins/gitlab/CMakeLists.txt1
-rw-r--r--src/plugins/glsleditor/CMakeLists.txt1
-rw-r--r--src/plugins/haskell/CMakeLists.txt1
-rw-r--r--src/plugins/helloworld/CMakeLists.txt1
-rw-r--r--src/plugins/help/CMakeLists.txt1
-rw-r--r--src/plugins/imageviewer/CMakeLists.txt1
-rw-r--r--src/plugins/ios/CMakeLists.txt1
-rw-r--r--src/plugins/languageclient/languageclientsymbolsupport.cpp5
-rw-r--r--src/plugins/macros/CMakeLists.txt1
-rw-r--r--src/plugins/marketplace/CMakeLists.txt1
-rw-r--r--src/plugins/mercurial/CMakeLists.txt1
-rw-r--r--src/plugins/mesonprojectmanager/CMakeLists.txt131
-rw-r--r--src/plugins/nim/CMakeLists.txt1
-rw-r--r--src/plugins/perforce/CMakeLists.txt1
-rw-r--r--src/plugins/projectexplorer/CMakeLists.txt1
-rw-r--r--src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp2
-rw-r--r--src/plugins/python/CMakeLists.txt1
-rw-r--r--src/plugins/python/pipsupport.cpp16
-rw-r--r--src/plugins/python/pipsupport.h3
-rw-r--r--src/plugins/python/pythonplugin.cpp15
-rw-r--r--src/plugins/python/pythonplugin.h3
-rw-r--r--src/plugins/python/pythonrunconfiguration.cpp17
-rw-r--r--src/plugins/qnx/CMakeLists.txt1
-rw-r--r--src/plugins/remotelinux/CMakeLists.txt1
-rw-r--r--src/plugins/resourceeditor/CMakeLists.txt1
-rw-r--r--src/plugins/serialterminal/CMakeLists.txt1
-rw-r--r--src/plugins/silversearcher/CMakeLists.txt1
-rw-r--r--src/plugins/subversion/CMakeLists.txt1
-rw-r--r--src/plugins/texteditor/codestyleeditor.cpp4
-rw-r--r--src/plugins/texteditor/icodestylepreferences.cpp11
-rw-r--r--src/plugins/texteditor/icodestylepreferences.h3
-rw-r--r--src/plugins/texteditor/icodestylepreferencesfactory.cpp2
-rw-r--r--src/plugins/texteditor/icodestylepreferencesfactory.h6
-rw-r--r--src/plugins/texteditor/textmark.h2
-rw-r--r--src/plugins/todo/CMakeLists.txt1
-rw-r--r--src/plugins/valgrind/CMakeLists.txt1
-rw-r--r--src/plugins/welcome/CMakeLists.txt1
m---------src/shared/qbs0
-rw-r--r--tests/system/shared/build_utils.py13
-rw-r--r--tests/system/shared/project_explorer.py31
-rw-r--r--tests/system/shared/qtcreator.py4
-rw-r--r--tests/system/suite_QMLS/tst_QMLS04/test.py13
-rw-r--r--tests/system/suite_debugger/tst_build_new_project/test.py3
-rw-r--r--tests/system/suite_editors/tst_generic_highlighter/test.py4
-rw-r--r--tests/system/suite_editors/tst_memberoperator/test.py2
-rw-r--r--tests/system/suite_editors/tst_rename_macros/test.py1
-rw-r--r--tests/system/suite_general/tst_default_settings/test.py4
97 files changed, 541 insertions, 319 deletions
diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml
index 6c14dcfb55a..8a623779f16 100644
--- a/.github/workflows/build_cmake.yml
+++ b/.github/workflows/build_cmake.yml
@@ -7,9 +7,9 @@ on:
- 'doc/**'
env:
- QT_VERSION: 6.4.2
+ QT_VERSION: 6.4.3
MACOS_DEPLOYMENT_TARGET: 10.14
- CLANG_VERSION: 16.0.0-rc2
+ CLANG_VERSION: 16.0.0
ELFUTILS_VERSION: 0.175
CMAKE_VERSION: 3.21.1
NINJA_VERSION: 1.10.2
@@ -189,11 +189,11 @@ jobs:
if ("x${{ matrix.config.environment_script }}" STREQUAL "x")
set(qt_package_arch_suffix "win64_mingw")
set(qt_dir_prefix "${qt_version}/mingw_64")
- set(qt_package_suffix "-Windows-Windows_10_21H2-Mingw-Windows-Windows_10_21H2-X86_64")
+ set(qt_package_suffix "-Windows-Windows_10_22H2-Mingw-Windows-Windows_10_22H2-X86_64")
elseif ("${{ matrix.config.environment_script }}" MATCHES "vcvars64.bat")
set(qt_package_arch_suffix "win64_msvc2019_64")
set(qt_dir_prefix "${qt_version}/msvc2019_64")
- set(qt_package_suffix "-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64")
+ set(qt_package_suffix "-Windows-Windows_10_22H2-MSVC2019-Windows-Windows_10_22H2-X86_64")
endif()
elseif ("${{ runner.os }}" STREQUAL "Linux")
set(url_os "linux_x64")
diff --git a/cmake/QtCreatorTranslations.cmake b/cmake/QtCreatorTranslations.cmake
index 98ede46582e..4803d66be5e 100644
--- a/cmake/QtCreatorTranslations.cmake
+++ b/cmake/QtCreatorTranslations.cmake
@@ -58,7 +58,7 @@ function(_create_ts_custom_target name)
set(_arg_TS_TARGET_PREFIX "ts_")
endif()
- set(ts_file "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_FILE_PREFIX}_${l}.ts")
+ set(ts_file "${CMAKE_CURRENT_SOURCE_DIR}/${_arg_FILE_PREFIX}_${name}.ts")
set(_sources "${_arg_SOURCES}")
list(SORT _sources)
diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml
index 1124788c83b..d3c072f0a94 100644
--- a/coin/instructions/common_environment.yaml
+++ b/coin/instructions/common_environment.yaml
@@ -7,10 +7,10 @@ instructions:
variableValue: "RelWithDebInfo"
- type: EnvironmentVariable
variableName: LLVM_BASE_URL
- variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_16.0.0-rc2-based
+ variableValue: http://master.qt.io/development_releases/prebuilt/libclang/libclang-release_16.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.2-released/Qt"
+ variableValue: "http://ci-files02-hki.intra.qt.io/packages/jenkins/archive/qt/6.4/6.4.3-released/Qt"
- type: EnvironmentVariable
variableName: QTC_QT_MODULES
variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquickcontrols2 qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine"
@@ -24,7 +24,7 @@ instructions:
instructions:
- type: EnvironmentVariable
variableName: QTC_QT_POSTFIX
- variableValue: "-Windows-Windows_10_21H2-MSVC2019-Windows-Windows_10_21H2-X86_64.7z"
+ variableValue: "-Windows-Windows_10_22H2-MSVC2019-Windows-Windows_10_22H2-X86_64.7z"
- type: EnvironmentVariable
variableName: QTC_SDKTOOL_QT_EXT
variableValue: ".zip"
diff --git a/dist/installer/mac/entitlements.plist b/dist/installer/mac/entitlements.plist
index 8500f2f703f..dadc6bff87e 100644
--- a/dist/installer/mac/entitlements.plist
+++ b/dist/installer/mac/entitlements.plist
@@ -15,5 +15,8 @@
<!-- RTA needs Squish to inject itself via DYLD_* -->
<key>com.apple.security.cs.allow-dyld-environment-variables</key>
<true/>
+ <!-- Allow ourselves to be debugged -->
+ <key>com.apple.security.get-task-allow</key>
+ <true/>
</dict>
</plist>
diff --git a/doc/qtcreator/examples/accelbubble/CMakeLists.txt b/doc/qtcreator/examples/accelbubble/CMakeLists.txt
index 868e5ea1331..9e67614807a 100644
--- a/doc/qtcreator/examples/accelbubble/CMakeLists.txt
+++ b/doc/qtcreator/examples/accelbubble/CMakeLists.txt
@@ -40,6 +40,8 @@ target_link_libraries(appaccelbubble
install(TARGETS appaccelbubble
BUNDLE DESTINATION .
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
qt_finalize_executable(appaccelbubble)
diff --git a/doc/qtcreator/examples/textfinder/CMakeLists.txt b/doc/qtcreator/examples/textfinder/CMakeLists.txt
index 77a0ba8c152..a00ccd856b4 100644
--- a/doc/qtcreator/examples/textfinder/CMakeLists.txt
+++ b/doc/qtcreator/examples/textfinder/CMakeLists.txt
@@ -62,7 +62,9 @@ set_target_properties(TextFinder PROPERTIES
install(TARGETS TextFinder
BUNDLE DESTINATION .
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(TextFinder)
diff --git a/doc/qtcreator/examples/transitions/CMakeLists.txt b/doc/qtcreator/examples/transitions/CMakeLists.txt
index 3dec945039b..8b363fc8e27 100644
--- a/doc/qtcreator/examples/transitions/CMakeLists.txt
+++ b/doc/qtcreator/examples/transitions/CMakeLists.txt
@@ -33,4 +33,6 @@ target_link_libraries(apptransitions
install(TARGETS apptransitions
BUNDLE DESTINATION .
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs
index 1e028f62fca..226d432b181 100644
--- a/qbs/modules/qtc/qtc.qbs
+++ b/qbs/modules/qtc/qtc.qbs
@@ -100,7 +100,7 @@ Module {
Properties {
condition: cpp.present && qbs.toolchain.contains("msvc") && product.Qt
- && Utilities.versionCompare(Qt.core.version, "6.3") >= 0
+ && Utilities.versionCompare(product.Qt.core.version, "6.3") >= 0
&& Utilities.versionCompare(cpp.compilerVersion, "19.10") >= 0
&& Utilities.versionCompare(qbs.version, "1.23") < 0
cpp.cxxFlags: "/permissive-"
diff --git a/scripts/build.py b/scripts/build.py
index d6a30a18ff3..2fced683b1b 100755
--- a/scripts/build.py
+++ b/scripts/build.py
@@ -8,6 +8,7 @@ from __future__ import print_function
import argparse
import collections
import os
+import shlex
import shutil
import common
@@ -43,6 +44,8 @@ def get_arguments():
# signing
parser.add_argument('--keychain-unlock-script',
help='Path to script for unlocking the keychain used for signing (macOS)')
+ parser.add_argument('--sign-command',
+ help='Command to use for signing (Windows). The installation directory to sign is added at the end. Is run in the CWD.')
# cdbextension
parser.add_argument('--python-path',
@@ -262,6 +265,14 @@ def zipPatternForApp(paths):
def package_qtcreator(args, paths):
+ if common.is_windows_platform() and args.sign_command:
+ command = shlex.split(args.sign_command)
+ if not args.no_qtcreator:
+ common.check_print_call(command + [paths.install])
+ common.check_print_call(command + [paths.wininterrupt_install])
+ if not args.no_cdb:
+ common.check_print_call(command + [paths.qtcreatorcdbext_install])
+
if not args.no_zip:
if not args.no_qtcreator:
common.check_print_call(['7z', 'a', '-mmt' + args.zip_threads,
diff --git a/scripts/build_plugin.py b/scripts/build_plugin.py
index 38d247d4d50..4f4ddfdcb02 100755
--- a/scripts/build_plugin.py
+++ b/scripts/build_plugin.py
@@ -9,6 +9,7 @@ import argparse
import collections
import glob
import os
+import shlex
import common
@@ -46,6 +47,9 @@ def get_arguments():
# signing
parser.add_argument('--keychain-unlock-script',
help='Path to script for unlocking the keychain used for signing (macOS)')
+ parser.add_argument('--sign-command',
+ help='Command to use for signing (Windows). The installation directory to sign is added at the end. Is run in the CWD.')
+
args = parser.parse_args()
args.with_debug_info = args.build_type == 'RelWithDebInfo'
return args
@@ -140,6 +144,9 @@ def build(args, paths):
def package(args, paths):
if not os.path.exists(paths.result):
os.makedirs(paths.result)
+ if common.is_windows_platform() and args.sign_command:
+ command = shlex.split(args.sign_command)
+ common.check_print_call(command + [paths.install])
common.check_print_call(['7z', 'a', '-mmt2', os.path.join(paths.result, args.name + '.7z'), '*'],
paths.install)
if os.path.exists(paths.dev_install): # some plugins might not provide anything in Devel
diff --git a/share/qtcreator/debugger/libcpp_stdtypes.py b/share/qtcreator/debugger/libcpp_stdtypes.py
index cebd4da435f..5a72629da75 100644
--- a/share/qtcreator/debugger/libcpp_stdtypes.py
+++ b/share/qtcreator/debugger/libcpp_stdtypes.py
@@ -182,6 +182,7 @@ def std_1_string_dumper(d, value):
size = 0
size_mode_value = 0
short_mode = False
+ libcxx_version = 14
layoutModeIsDSC = layoutDecider.name == '__data_'
if (layoutModeIsDSC):
@@ -200,8 +201,15 @@ def std_1_string_dumper(d, value):
if not size_mode:
raise Exception("Could not find size_mode")
- size_mode_value = size_mode.integer()
- short_mode = ((size_mode_value & 1) == 0)
+ if size_mode.name == '__is_long_':
+ libcxx_version = 15
+ short_mode = (size_mode.integer() == 0)
+
+ size_mode = D[1][0][1]
+ size_mode_value = size_mode.integer()
+ else:
+ size_mode_value = size_mode.integer()
+ short_mode = ((size_mode_value & 1) == 0)
if short_mode:
s = D[1]
@@ -209,8 +217,13 @@ def std_1_string_dumper(d, value):
if not s:
raise Exception("Could not find s")
- location_sp = s[0] if layoutModeIsDSC else s[1]
- size = size_mode_value if layoutModeIsDSC else ((size_mode_value >> 1) % 256)
+ if libcxx_version == 14:
+ location_sp = s[0] if layoutModeIsDSC else s[1]
+ size = size_mode_value if layoutModeIsDSC else ((size_mode_value >> 1) % 256)
+ elif libcxx_version == 15:
+ location_sp = s[0] if layoutModeIsDSC else s[2]
+ size = size_mode_value
+
else:
l = D[0]
if not l:
diff --git a/share/qtcreator/templates/wizards/autotest/files/tst.pro b/share/qtcreator/templates/wizards/autotest/files/tst.pro
index 766b0c14ae1..1a4b00a5e8e 100644
--- a/share/qtcreator/templates/wizards/autotest/files/tst.pro
+++ b/share/qtcreator/templates/wizards/autotest/files/tst.pro
@@ -47,7 +47,7 @@ CONFIG += thread
CONFIG -= qt
SOURCES += \\
- %{MainCppName} \
+ %{MainCppName} \\
%{TestCaseFileGTestWithCppSuffix}
@endif
@if "%{TestFrameWork}" == "BoostTest"
diff --git a/share/qtcreator/templates/wizards/codesnippet/CMakeLists.txt b/share/qtcreator/templates/wizards/codesnippet/CMakeLists.txt
index 603186293d9..325903743c0 100644
--- a/share/qtcreator/templates/wizards/codesnippet/CMakeLists.txt
+++ b/share/qtcreator/templates/wizards/codesnippet/CMakeLists.txt
@@ -28,7 +28,9 @@ install(TARGETS %{ProjectName}
@if %{MacOSBundle}
BUNDLE DESTINATION .
@endif
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
set_target_properties(%{ProjectName} PROPERTIES MACOSX_BUNDLE %{MacOSBundleValue})
diff --git a/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt
index e53a18b1f90..7be8ecf05aa 100644
--- a/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt
+++ b/share/qtcreator/templates/wizards/projects/consoleapp/CMakeLists.txt
@@ -36,4 +36,6 @@ endif()
@endif
install(TARGETS %{ProjectName}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
diff --git a/share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt
index 53d5f414ca0..49bf10a0890 100644
--- a/share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt
+++ b/share/qtcreator/templates/wizards/projects/plainc/CMakeLists.txt
@@ -5,4 +5,6 @@ project(%{ProjectName} LANGUAGES C)
add_executable(%{ProjectName} %{CFileName})
install(TARGETS %{ProjectName}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
diff --git a/share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt
index 008eb2ff62e..232bf6d489c 100644
--- a/share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt
+++ b/share/qtcreator/templates/wizards/projects/plaincpp/CMakeLists.txt
@@ -8,4 +8,6 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(%{ProjectName} %{CppFileName})
install(TARGETS %{ProjectName}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
diff --git a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt
index 1f196bef178..92e2a825af7 100644
--- a/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt
+++ b/share/qtcreator/templates/wizards/projects/qtquickapplication/CMakeLists.txt
@@ -41,4 +41,6 @@ target_link_libraries(%{TargetName}
install(TARGETS %{TargetName}
BUNDLE DESTINATION .
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
diff --git a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt
index 7573f4cf025..8856a476b9e 100644
--- a/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt
+++ b/share/qtcreator/templates/wizards/projects/qtwidgetsapplication/CMakeLists.txt
@@ -74,7 +74,9 @@ set_target_properties(%{ProjectName} PROPERTIES
install(TARGETS %{ProjectName}
BUNDLE DESTINATION .
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(%{ProjectName})
diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts
index c8f29dc178b..0125854d3a9 100644
--- a/share/qtcreator/translations/qtcreator_de.ts
+++ b/share/qtcreator/translations/qtcreator_de.ts
@@ -41132,7 +41132,7 @@ The affected files are:
</message>
<message>
<source>Platform:</source>
- <translation type="unfinished">Plattform:</translation>
+ <translation>Plattform:</translation>
</message>
<message>
<source>Library inside &quot;debug&quot; or &quot;release&quot; subfolder</source>
@@ -41334,19 +41334,19 @@ Weder der Pfad zur Bibliothek noch der Pfad zu den Headerdateien wird zur .pro-D
</message>
<message>
<source>The process &quot;%1&quot; exited normally.</source>
- <translation type="unfinished">Der Prozess &quot;%1&quot; wurde normal beendet.</translation>
+ <translation>Der Prozess &quot;%1&quot; wurde normal beendet.</translation>
</message>
<message>
<source>The process &quot;%1&quot; exited with code %2.</source>
- <translation type="unfinished">Der Prozess &quot;%1&quot; wurde mit dem Rückgabewert %2 beendet.</translation>
+ <translation>Der Prozess &quot;%1&quot; wurde mit dem Rückgabewert %2 beendet.</translation>
</message>
<message>
<source>Could not start process &quot;%1&quot; %2.</source>
- <translation type="unfinished">Der Prozess &quot;%1&quot; %2 konnte nicht gestartet werden.</translation>
+ <translation>Der Prozess &quot;%1&quot; %2 konnte nicht gestartet werden.</translation>
</message>
<message>
<source>The process &quot;%1&quot; crashed.</source>
- <translation type="unfinished">Der Prozess &quot;%1&quot; ist abgestürzt.</translation>
+ <translation>Der Prozess &quot;%1&quot; ist abgestürzt.</translation>
</message>
<message>
<source>ABIs:</source>
@@ -41399,19 +41399,19 @@ Weder der Pfad zur Bibliothek noch der Pfad zu den Headerdateien wird zur .pro-D
</message>
<message>
<source>Run</source>
- <translation type="unfinished">Ausführen</translation>
+ <translation>Ausführen</translation>
</message>
<message>
<source>Ignore</source>
- <translation type="unfinished"></translation>
+ <translation>Ignorieren</translation>
</message>
<message>
<source>Use global setting</source>
- <translation type="unfinished"></translation>
+ <translation>Globale Einstellung verwenden</translation>
</message>
<message>
<source>qmake system() behavior when parsing:</source>
- <translation type="unfinished"></translation>
+ <translation>Verhalten von qmake system() beim Auswerten:</translation>
</message>
<message>
<source>General</source>
@@ -41482,11 +41482,11 @@ Weder der Pfad zur Bibliothek noch der Pfad zu den Headerdateien wird zur .pro-D
</message>
<message>
<source>Cannot parse project &quot;%1&quot;: The currently selected kit &quot;%2&quot; does not have a valid Qt.</source>
- <translation type="unfinished"></translation>
+ <translation>Die Auswertung des Projekts &quot;%1&quot; ist fehlgeschlagen: Das ausgewählte Kit &quot;%2&quot; hat keine gültige Qt-Version.</translation>
</message>
<message>
<source>Cannot parse project &quot;%1&quot;: No kit selected.</source>
- <translation type="unfinished"></translation>
+ <translation>Die Auswertung des Projekts &quot;%1&quot; ist fehlgeschlagen: Kein Kit ausgewählt.</translation>
</message>
<message>
<source>No Qt version set in kit.</source>
@@ -41506,35 +41506,35 @@ Weder der Pfad zur Bibliothek noch der Pfad zu den Headerdateien wird zur .pro-D
</message>
<message>
<source>Generate Xcode project (via qmake)</source>
- <translation type="unfinished"></translation>
+ <translation>Xcode-Projekt generieren (mittels qmake)</translation>
</message>
<message>
<source>Generate Visual Studio project (via qmake)</source>
- <translation type="unfinished"></translation>
+ <translation>Visual Studio-Projekt generieren (mittels qmake)</translation>
</message>
<message>
<source>qmake generator failed: %1.</source>
- <translation type="unfinished"></translation>
+ <translation>qmake-Generator fehlgeschlagen: %1.</translation>
</message>
<message>
<source>No Qt in kit</source>
- <translation type="unfinished"></translation>
+ <translation>Kein Qt im Kit</translation>
</message>
<message>
<source>No valid qmake executable</source>
- <translation type="unfinished"></translation>
+ <translation>Keine gültige ausführbare qmake-Datei</translation>
</message>
<message>
<source>No qmake step in active build configuration</source>
- <translation type="unfinished"></translation>
+ <translation>Kein qmake-Build-Schritt in der aktiven Build-Konfiguration</translation>
</message>
<message>
<source>Cannot create output directory &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
+ <translation>Das Ausgabeverzeichnis &quot;%1&quot; konnte nicht angelegt werden</translation>
</message>
<message>
<source>Running in %1: %2</source>
- <translation type="unfinished">Führe in %1 aus: %2 {1:?}</translation>
+ <translation>Führe in %1 aus: %2</translation>
</message>
<message>
<source>Build</source>
@@ -41656,7 +41656,7 @@ Bitte aktualisieren Sie Ihr Kit (%3) oder wählen Sie eine mkspec für qmake, di
</message>
<message>
<source>The build directory is not at the same level as the source directory, which could be the reason for the build failure.</source>
- <translation type="unfinished"></translation>
+ <translation>Das Build-Verzeichnis liegt nicht auf der gleichen Ebene wie das Quellverzeichnis, was der Grund für den Fehler beim Erstellen sein könnte.</translation>
</message>
<message>
<source>Qt mkspec</source>
@@ -41680,7 +41680,7 @@ Bitte aktualisieren Sie Ihr Kit (%3) oder wählen Sie eine mkspec für qmake, di
</message>
<message>
<source>Mkspec configured for qmake by the kit.</source>
- <translation type="unfinished"></translation>
+ <translation>Mkspec, die im Kit für qmake konfiguriert ist.</translation>
</message>
<message>
<source>Reading Project &quot;%1&quot;</source>
@@ -41688,43 +41688,43 @@ Bitte aktualisieren Sie Ihr Kit (%3) oder wählen Sie eine mkspec für qmake, di
</message>
<message>
<source>Warn if a project&apos;s source and build directories are not at the same level</source>
- <translation type="unfinished"></translation>
+ <translation>Warnen, wenn das Quell- und das Build-Verzeichnis eines Projekts nicht auf der gleichen Ebene liegen</translation>
</message>
<message>
<source>Qmake has subtle bugs that can be triggered if source and build directory are not at the same level.</source>
- <translation type="unfinished"></translation>
+ <translation>In qmake können subtile Fehler ausgelöst werden, wenn das Quell- und das Build-Verzeichnis nicht auf der gleichen Ebene liegen.</translation>
</message>
<message>
<source>Run qmake on every build</source>
- <translation type="unfinished"></translation>
+ <translation>qmake bei jedem Erstellen ausführen</translation>
</message>
<message>
<source>This option can help to prevent failures on incremental builds, but might slow them down unnecessarily in the general case.</source>
- <translation type="unfinished"></translation>
+ <translation>Diese Einstellung kann Fehler beim inkrementellen Erstellen verhindern, aber das Erstellen im Allgemeinen unnötig verlangsamen.</translation>
</message>
<message>
<source>Ignore qmake&apos;s system() function when parsing a project</source>
- <translation type="unfinished"></translation>
+ <translation>Qmakes system()-Funktion beim Auswerten eines Projektes ignorieren</translation>
</message>
<message>
<source>Checking this option avoids unwanted side effects, but may result in inexact parsing results.</source>
- <translation type="unfinished"></translation>
+ <translation>Diese Einstellung verhindert ungewollte Nebeneffekte, kann aber zu ungenauen Resultaten beim Auswerten führen.</translation>
</message>
<message>
<source>Qmake</source>
- <translation type="unfinished"></translation>
+ <translation>Qmake</translation>
</message>
<message>
<source>Required Qt features not present.</source>
- <translation type="unfinished"></translation>
+ <translation>Benötigte Qt-Funktionen sind nicht vorhanden.</translation>
</message>
<message>
<source>Qt version does not target the expected platform.</source>
- <translation type="unfinished"></translation>
+ <translation>Die Qt-Version unterstützt die erwartete Plattform nicht als Ziel.</translation>
</message>
<message>
<source>Qt version does not provide all features.</source>
- <translation type="unfinished"></translation>
+ <translation>Die Qt-Version stellt nicht alle Funktionen zur Verfügung.</translation>
</message>
</context>
<context>
@@ -41940,11 +41940,21 @@ For qmlproject projects, use the importPaths property to add import paths.
For CMake projects, make sure QML_IMPORT_PATH variable is in CMakeCache.txt.
For qmlRegister... calls, make sure that you define the Module URI as a string literal.
</source>
- <translation type="unfinished"></translation>
+ <translation>QML-Modul wurde nicht gefunden (%1).
+
+Import-Verzeichnisse:
+%2
+
+Für qmake-Projekte benutzen Sie die Variable QML_IMPORT_PATH, um Importpfade hinzuzufügen.
+Für Qbs-Projekte geben Sie eine qmlImportPaths-Eigenschaft in Ihrem Produkt an, um Importpfade hinzuzufügen.
+Für qmlproject-Projekte benutzen Sie die importPaths-Eigenschaft, um Importpfade hinzuzufügen.
+Für CMake-Projekte stellen Sie sicher, dass die Variable QML_IMPORT_PATH in CMakeCache.txt steht.
+Für qmlRegister...-Aufrufe stellen Sie sicher, dass Sie den Modul-URI als Zeichenkettenliteral definieren.
+</translation>
</message>
<message>
<source>QML module contains C++ plugins, currently reading type information... %1</source>
- <translation type="unfinished"></translation>
+ <translation>Das QML-Modul enthält C++-Plugins. Lese Typinformationen... %1</translation>
</message>
<message>
<source>Implicit import &apos;%1&apos; of QML module &apos;%2&apos; not found.
@@ -41970,7 +41980,7 @@ Für CMake-Projekte stellen Sie sicher, dass die Variable QML_IMPORT_PATH in CMa
</message>
<message>
<source>Hit maximal recursion depth in AST visit.</source>
- <translation type="unfinished"></translation>
+ <translation>Maximale Rekursionstiefe beim Durchlaufen des Syntaxbaums erreicht.</translation>
</message>
<message>
<source>package import requires a version number</source>
@@ -41978,7 +41988,7 @@ Für CMake-Projekte stellen Sie sicher, dass die Variable QML_IMPORT_PATH in CMa
</message>
<message>
<source>Nested inline components are not supported</source>
- <translation type="unfinished"></translation>
+ <translation>Verschachtelte Inline-Komponenten werden nicht unterstützt</translation>
</message>
<message>
<source>Errors while loading qmltypes from %1:
@@ -42070,7 +42080,7 @@ Für CMake-Projekte stellen Sie sicher, dass die Variable QML_IMPORT_PATH in CMa
</message>
<message>
<source>Expected string literal to contain &apos;Package/Name major.minor&apos; or &apos;Name major.minor&apos;.</source>
- <translation>Das Zeichenkettenliteral sollte &apos;Package/Name major.minor&apos; oder &apos;Name major.minor&apos; enthalten./</translation>
+ <translation>Das Zeichenkettenliteral sollte &apos;Package/Name major.minor&apos; oder &apos;Name major.minor&apos; enthalten.</translation>
</message>
<message>
<source>Expected array of numbers after colon.</source>
@@ -42278,87 +42288,87 @@ Weitere Informationen finden Sie auf der Dokumentationsseite &quot;Checking Code
</message>
<message>
<source>Imperative code is not supported in Qt Design Studio.</source>
- <translation type="unfinished"></translation>
+ <translation>Imperativer Code wird von Qt Design Studio nicht unterstützt.</translation>
</message>
<message>
<source>This type (%1) is not supported in Qt Design Studio.</source>
- <translation type="unfinished"></translation>
+ <translation>Dieser Typ (%1) wird von Qt Design Studio nicht unterstützt.</translation>
</message>
<message>
<source>Reference to parent item cannot be resolved correctly by Qt Design Studio.</source>
- <translation type="unfinished"></translation>
+ <translation>Die Referenz zum übergeordneten Element kann von Qt Design Studio nicht korrekt aufgelöst werden.</translation>
</message>
<message>
<source>This visual property binding cannot be evaluated in the local context and might not show up in Qt Design Studio as expected.</source>
- <translation type="unfinished"></translation>
+ <translation>Diese visuelle Bindung der Eigenschaft kann nicht im lokalen Kontext ausgewertet werden und wird möglicherweise nicht wie erwartet in Qt Design Studio angezeigt.</translation>
</message>
<message>
<source>Qt Design Studio only supports states in the root item.</source>
- <translation type="unfinished"></translation>
+ <translation>Qt Design Studio unterstützt States nur im Wurzelelement.</translation>
</message>
<message>
<source>This id might be ambiguous and is not supported in Qt Design Studio.</source>
- <translation type="unfinished"></translation>
+ <translation>Diese ID ist möglicherweise nicht eindeutig und wird von Qt Design Studio nicht unterstützt.</translation>
</message>
<message>
<source>This type (%1) is not supported as a root element by Qt Design Studio.</source>
- <translation type="unfinished"></translation>
+ <translation>Dieser Typ (%1) wird von Qt Design Studio nicht als Wurzelelement unterstützt.</translation>
</message>
<message>
<source>This type (%1) is not supported as a root element of a UI file (.ui.qml).</source>
- <translation type="unfinished"></translation>
+ <translation>Dieser Typ (%1) wird von UI-Dateien (.ui.qml) nicht als Wurzelelement unterstützt.</translation>
</message>
<message>
<source>This type (%1) is not supported in a UI file (.ui.qml).</source>
- <translation type="unfinished"></translation>
+ <translation>Dieser Typ (%1) wird von UI-Dateien (.ui.qml) nicht unterstützt.</translation>
</message>
<message>
<source>Functions are not supported in a UI file (.ui.qml).</source>
- <translation type="unfinished"></translation>
+ <translation>Funktionen werden von UI-Dateien (.ui.qml) nicht unterstützt.</translation>
</message>
<message>
<source>JavaScript blocks are not supported in a UI file (.ui.qml).</source>
- <translation type="unfinished"></translation>
+ <translation>JavaScript-Blöcke werden von UI-Dateien (.ui.qml) nicht unterstützt.</translation>
</message>
<message>
<source>Behavior type is not supported in a UI file (.ui.qml).</source>
- <translation type="unfinished"></translation>
+ <translation>Der Behavior-Typ wird von UI-Dateien (.ui.qml) nicht unterstützt.</translation>
</message>
<message>
<source>States are only supported in the root item in a UI file (.ui.qml).</source>
- <translation type="unfinished"></translation>
+ <translation>States werden nur im Wurzelelement von UI-Dateien (.ui.qml) unterstützt.</translation>
</message>
<message>
<source>Referencing the parent of the root item is not supported in a UI file (.ui.qml).</source>
- <translation type="unfinished"></translation>
+ <translation>Das Referenzieren auf das übergeordnete Element des Wurzelelements wird von UI-Dateien (.ui.qml) nicht unterstützt.</translation>
</message>
<message>
<source>Do not mix translation functions in a UI file (.ui.qml).</source>
- <translation type="unfinished"></translation>
+ <translation>Vermischen Sie keine Übersetzungsfunktionen in UI-Dateien (.ui.qml).</translation>
</message>
<message>
<source>Type cannot be instantiated recursively (%1).</source>
- <translation type="unfinished"></translation>
+ <translation>Typ kann nicht rekursiv instanziiert werden (%1).</translation>
</message>
<message>
<source>Logical value does not depend on actual values.</source>
- <translation type="unfinished"></translation>
+ <translation>Logischer Wert hängt nicht von tatsächlichen Werten ab.</translation>
</message>
<message>
<source>Components are only allowed to have a single child element.</source>
- <translation type="unfinished"></translation>
+ <translation>Komponenten dürfen nur ein einziges Kindelement besitzen.</translation>
</message>
<message>
<source>Components require a child element.</source>
- <translation type="unfinished"></translation>
+ <translation>Komponenten müssen ein Kindelement besitzen.</translation>
</message>
<message>
<source>Do not reference the root item as alias.</source>
- <translation type="unfinished"></translation>
+ <translation>Referenzieren Sie das Wurzelelement nicht als Alias.</translation>
</message>
<message>
<source>Avoid referencing the root item in a hierarchy.</source>
- <translation type="unfinished"></translation>
+ <translation>Vermeiden Sie, das Wurzelelement in einer Hierarchie zu referenzieren.</translation>
</message>
<message>
<source>A State cannot have a child item (%1).</source>
@@ -42446,8 +42456,7 @@ Weitere Informationen finden Sie auf der Dokumentationsseite &quot;Checking Code
</message>
<message>
<source>Minimum number value is %1.</source>
- <translation>Minimalwert ist %1.
-</translation>
+ <translation>Minimalwert ist %1.</translation>
</message>
<message>
<source>Maximum number value is exclusive.</source>
@@ -42485,7 +42494,7 @@ Weitere Informationen finden Sie auf der Dokumentationsseite &quot;Checking Code
<source>Automatic type dump of QML module failed.
Errors:
%1</source>
- <translation>Die automatische Ausgabe der Typen des QML-Modules schlug fehl.
+ <translation>Die automatische Ausgabe der Typen des QML-Moduls schlug fehl.
Fehler:
%1</translation>
</message>
@@ -42506,12 +42515,16 @@ First 10 lines or errors:
%1
Check General Messages for details.</source>
- <translation type="unfinished"></translation>
+ <translation>Die automatische Ausgabe der Typen des QML-Moduls schlug fehl.
+Die ersten 10 Zeilen oder Fehler:
+
+%1
+Überprüfen Sie die Ansicht &quot;Allgemeine Ausgaben&quot;, um Details zu erhalten.</translation>
</message>
<message>
<source>Warnings while parsing QML type information of %1:
%2</source>
- <translation>Warnungen beim Auswerten der QML-Typinformation von %1:
+ <translation>Warnungen beim Auswerten der QML-Typinformationen von %1:
%2</translation>
</message>
<message>
@@ -42556,25 +42569,27 @@ Bitte erstellen Sie die Anwendung qmldump auf der Einstellungsseite der Qt-Versi
</message>
<message>
<source>The type will only be available in the QML editors when the type name is a string literal.</source>
- <translation type="unfinished">Dieser Typ wird im QML Editor nur sichtbar sein, wenn der Typname ein Zeichenketten-Literal ist.</translation>
+ <translation>Dieser Typ wird im QML-Editor nur sichtbar sein, wenn der Typname ein Zeichenkettenliteral ist.</translation>
</message>
<message>
<source>The module URI cannot be determined by static analysis. The type will not be available
globally in the QML editor. You can add a &quot;// @uri My.Module.Uri&quot; annotation to let
the QML editor know about a likely URI.</source>
- <translation type="unfinished"></translation>
+ <translation>Der Modul-URI kann durch statische Analyse nicht ermittelt werden.
+Der Typ wird nicht global im QML-Editor verfügbar sein.
+Sie können eine Annotation &quot;// @uri My.Module.Uri&quot; hinzufügen, um dem QML-Editor einen mögliche URI mitzuteilen.</translation>
</message>
<message>
<source>must be a string literal to be available in the QML editor</source>
- <translation type="unfinished">muss eine Zeichenkette sein, um im QML-Editor verfügbar zu sein</translation>
+ <translation>muss ein Zeichenkettenliteral sein, um im QML-Editor verfügbar zu sein</translation>
</message>
<message>
<source>XML error on line %1, col %2: %3</source>
- <translation type="unfinished">XML-Fehler in Zeile %1, Spalte %2: %3</translation>
+ <translation>XML-Fehler in Zeile %1, Spalte %2: %3</translation>
</message>
<message>
<source>The &lt;RCC&gt; root element is missing.</source>
- <translation type="unfinished">Das Wurzelelement (&lt;RCC&gt;) fehlt.</translation>
+ <translation>Das Wurzelelement (&lt;RCC&gt;) fehlt.</translation>
</message>
</context>
<context>
@@ -42626,7 +42641,7 @@ the QML editor know about a likely URI.</source>
</message>
<message>
<source>Add a Comment to Suppress This Message</source>
- <translation type="unfinished">Fügen Sie einen Kommentar ein, um diese Nachricht zu unterdrücken</translation>
+ <translation>Fügen Sie einen Kommentar ein, um diese Nachricht zu unterdrücken</translation>
</message>
<message>
<source>Property assignments for %1:</source>
@@ -42642,15 +42657,15 @@ the QML editor know about a likely URI.</source>
</message>
<message>
<source>Invalid component name.</source>
- <translation type="unfinished"></translation>
+ <translation>Ungültiger Komponentenname.</translation>
</message>
<message>
<source>Invalid path.</source>
- <translation type="unfinished"></translation>
+ <translation>Ungültiger Pfad.</translation>
</message>
<message>
<source>Component already exists.</source>
- <translation type="unfinished">Komponente existiert bereits.</translation>
+ <translation>Komponente existiert bereits.</translation>
</message>
<message>
<source>Component Name</source>
@@ -42706,15 +42721,15 @@ the QML editor know about a likely URI.</source>
</message>
<message>
<source>Use custom command instead of built-in formatter</source>
- <translation type="unfinished"></translation>
+ <translation>Benutzerdefiniertes Kommando anstatt des integrierten Formatierers benutzen</translation>
</message>
<message>
<source>Command:</source>
- <translation type="unfinished"></translation>
+ <translation>Kommando:</translation>
</message>
<message>
<source>Arguments:</source>
- <translation type="unfinished">Argumente:</translation>
+ <translation>Argumente:</translation>
</message>
<message>
<source>Always show Qt Quick Toolbar</source>
@@ -42722,23 +42737,23 @@ the QML editor know about a likely URI.</source>
</message>
<message>
<source>Always Ask</source>
- <translation type="unfinished">Stets fragen</translation>
+ <translation>Stets fragen</translation>
</message>
<message>
<source>Qt Design Studio</source>
- <translation type="unfinished">Qt Design Studio</translation>
+ <translation>Qt Design Studio</translation>
</message>
<message>
<source>Qt Creator</source>
- <translation type="unfinished"></translation>
+ <translation>Qt Creator</translation>
</message>
<message>
<source>Use qmlls (EXPERIMENTAL!)</source>
- <translation type="unfinished"></translation>
+ <translation>qmlls benutzen (EXPERIMENTELL!)</translation>
</message>
<message>
<source>Always use latest qmlls</source>
- <translation type="unfinished"></translation>
+ <translation>Stets das neueste qmlls benutzen</translation>
</message>
<message>
<source>Automatic Formatting on File Save</source>
@@ -42746,11 +42761,11 @@ the QML editor know about a likely URI.</source>
</message>
<message>
<source>Open .ui.qml files with:</source>
- <translation type="unfinished"></translation>
+ <translation>.ui.qml-Dateien öffnen mit:</translation>
</message>
<message>
<source>Language Server</source>
- <translation type="unfinished"></translation>
+ <translation>Language Server</translation>
</message>
<message>
<source>Enable auto format on file save</source>
@@ -42810,19 +42825,19 @@ the QML editor know about a likely URI.</source>
</message>
<message>
<source>Library at %1</source>
- <translation type="unfinished">Bibliothek bei %1</translation>
+ <translation>Bibliothek bei %1</translation>
</message>
<message>
<source>Dumped plugins successfully.</source>
- <translation type="unfinished">Plugin-Information erfolgreich bestimmt.</translation>
+ <translation>Plugin-Information erfolgreich bestimmt.</translation>
</message>
<message>
<source>Read typeinfo files successfully.</source>
- <translation type="unfinished">typeinfo-Dateien gelesen.</translation>
+ <translation>typeinfo-Dateien erfolgreich gelesen.</translation>
</message>
<message>
<source>Qmlls (%1)</source>
- <translation type="unfinished"></translation>
+ <translation>Qmlls (%1)</translation>
</message>
</context>
<context>
@@ -42857,16 +42872,16 @@ the QML editor know about a likely URI.</source>
</message>
<message>
<source>Qml JS Code Style</source>
- <translation type="unfinished"></translation>
+ <translation>QML JS Coding Style</translation>
</message>
<message>
<source>&amp;Line length:</source>
- <translation type="unfinished"></translation>
+ <translation>&amp;Zeilenlänge:</translation>
</message>
<message>
<source>Global</source>
<comment>Settings</comment>
- <translation type="unfinished">Global</translation>
+ <translation>Global</translation>
</message>
</context>
<context>
@@ -48403,7 +48418,7 @@ Gibt an, wie sich die Rücktaste bezüglich Einrückung verhält.
</message>
<message>
<source>Pressing Alt displays context-sensitive help or type information as tooltips.</source>
- <translation>Drücken Sie die Alt-Taste um kontextabhängige Hilfe oder Typinformation als Tooltip anzuzeigen.</translation>
+ <translation>Drücken Sie die Alt-Taste, um kontextabhängige Hilfe oder Typinformationen als Tooltip anzuzeigen.</translation>
</message>
<message>
<source>Using Select Block Up / Down actions will now provide smarter selections.</source>
diff --git a/share/qtcreator/translations/qtcreator_zh_TW.ts b/share/qtcreator/translations/qtcreator_zh_TW.ts
index 7c1e032342f..3c1beded9e6 100644
--- a/share/qtcreator/translations/qtcreator_zh_TW.ts
+++ b/share/qtcreator/translations/qtcreator_zh_TW.ts
@@ -323,7 +323,7 @@
</message>
<message>
<source>Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings.</source>
- <translation>請輸入您想建置專案的目錄。Qt Creator 建議您不要直接用源碼的目錄來做建置。這樣可以保持源碼目錄的乾淨,並且可以讓您用不同的設定進行多個建置。</translation>
+ <translation>請輸入您想建置專案的目錄。Qt Creator 建議您不要直接用源碼的目錄來做建置。這樣可以保持源碼目錄的乾淨,並且可以讓您啟用不同的設定進行多個建置。</translation>
</message>
</context>
<context>
@@ -1740,7 +1740,7 @@
</message>
<message>
<source>Enable Doxygen blocks</source>
- <translation>開啟 Doxygen 區塊</translation>
+ <translation>啟用 Doxygen 區塊</translation>
</message>
<message>
<source>Generate a &lt;i&gt;brief&lt;/i&gt; command with an initial description for the corresponding declaration</source>
@@ -1978,11 +1978,11 @@ For more details, see/etc/sysctl.d/10-ptrace.conf
</message>
<message>
<source>Enabled</source>
- <translation>已開啟</translation>
+ <translation>已啟用</translation>
</message>
<message>
<source>Disabled</source>
- <translation>已關閉</translation>
+ <translation>已停用</translation>
</message>
<message>
<source>, pending</source>
@@ -2340,7 +2340,7 @@ For more details, see/etc/sysctl.d/10-ptrace.conf
</message>
<message>
<source>Checking this will enable tooltips for variable values during debugging. Since this can slow down debugging and does not provide reliable information as it does not use scope information, it is switched off by default.</source>
- <translation>勾選此選項會在除錯過程中用工具提示來顯示變數的值。它可能會減慢除錯的速度, 同時由於不使用範圍資訊,造成提供的值並不見得正確,所以此選項預設為關閉。</translation>
+ <translation>勾選此選項會在除錯過程中啟用工具提示來顯示變數的值。它可能會減慢除錯的速度, 同時由於不使用範圍資訊,造成提供的值並不見得正確,所以此選項預設為關閉。</translation>
</message>
<message>
<source>Use Tooltips in Locals View When Debugging</source>
@@ -2368,7 +2368,7 @@ For more details, see/etc/sysctl.d/10-ptrace.conf
</message>
<message>
<source>Enable Reverse Debugging</source>
- <translation>開啟反向除錯</translation>
+ <translation>啟用反向除錯</translation>
</message>
<message>
<source>Register For Post-Mortem Debugging</source>
@@ -2384,7 +2384,7 @@ For more details, see/etc/sysctl.d/10-ptrace.conf
</message>
<message>
<source>Checking this will enable tooltips in the locals view during debugging.</source>
- <translation>勾選此選項會在除錯時於局部變數檢視中使用工具提示。</translation>
+ <translation>勾選此選項會在除錯時於局部變數檢視中啟用工具提示。</translation>
</message>
<message>
<source>Break on &quot;abort&quot;</source>
@@ -2400,7 +2400,7 @@ For more details, see/etc/sysctl.d/10-ptrace.conf
</message>
<message>
<source>Checking this will enable tooltips in the breakpoints view during debugging.</source>
- <translation>勾選此選項會在除錯時於中斷點檢視中使用工具提示。</translation>
+ <translation>勾選此選項會在除錯時於中斷點檢視中啟用工具提示。</translation>
</message>
<message>
<source>Show Address Data in Breakpoints View when Debugging</source>
@@ -3060,11 +3060,11 @@ at debugger startup.</source>
</message>
<message>
<source>Enable reverse debugging</source>
- <translation>開啟反向除錯</translation>
+ <translation>啟用反向除錯</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Selecting this enables reverse debugging.&lt;/p&gt;&lt;.p&gt;&lt;b&gt;Note:&lt;/b&gt; This feature is very slow and unstable on the GDB side.It exhibits unpredictable behavior when going backwards over system calls and is very likely to destroy your debugging session.&lt;/p&gt;&lt;body&gt;&lt;/html&gt;</source>
- <translation type="obsolete">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;這個選項會開啟反向除錯。&lt;/p&gt;&lt;.p&gt;&lt;b&gt;注意:&lt;/b&gt;這個功能會造成速度變很慢,並且在 GDB 端會變得不穩定。它在跑回系統呼叫時,行為會變得無法預測,並且可能會毀掉您的除錯工作階段。&lt;/p&gt;&lt;body&gt;&lt;/html&gt;</translation>
+ <translation type="obsolete">&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;這個選項會啟用反向除錯。&lt;/p&gt;&lt;.p&gt;&lt;b&gt;注意:&lt;/b&gt;這個功能會造成速度變很慢,並且在 GDB 端會變得不穩定。它在跑回系統呼叫時,行為會變得無法預測,並且可能會毀掉您的除錯工作階段。&lt;/p&gt;&lt;body&gt;&lt;/html&gt;</translation>
</message>
<message>
<source>Additional Startup Commands</source>
@@ -6262,7 +6262,7 @@ Add, modify, and remove document filters, which determine the documentation set
</message>
<message>
<source>Skipping disabled step %1.</source>
- <translation>略過被關閉的步驟 %1 。</translation>
+ <translation>略過被停用的步驟 %1 。</translation>
</message>
<message>
<source>Custom Executable</source>
@@ -7083,7 +7083,7 @@ Do you want to ignore them?</source>
</message>
<message>
<source>Building &apos;%1&apos; is disabled: %2&lt;br&gt;</source>
- <translation>建置 &apos;%1&apos; 已被關閉:%2&lt;br&gt;</translation>
+ <translation>已停用建置 "%1":%2&lt;br&gt;</translation>
</message>
<message>
<source>A build is in progress</source>
@@ -7092,7 +7092,7 @@ Do you want to ignore them?</source>
<message>
<source>Building &apos;%1&apos; is disabled: %2
</source>
- <translation>建置 &apos;%1&apos; 已被關閉:%2
+ <translation>已停用建置 "%1":%2
</translation>
</message>
<message>
@@ -7689,7 +7689,7 @@ Preselects a desktop Qt for building the application if available.</source>
</message>
<message>
<source>Enable QML debugging:</source>
- <translation>開啟 QML 除錯:</translation>
+ <translation>啟用 QML 除錯:</translation>
</message>
<message>
<source>Might make your application vulnerable. Only use in a safe environment.</source>
@@ -8513,7 +8513,7 @@ The following encodings are likely to fit:</source>
</message>
<message>
<source>Enable Text &amp;Wrapping</source>
- <translation>開啟文字折行(&amp;W)</translation>
+ <translation>啟用文字折行(&amp;W)</translation>
</message>
<message>
<source>Ctrl+/</source>
@@ -9204,7 +9204,7 @@ Will not be applied to whitespace in comments and strings.</source>
</message>
<message>
<source>Disabled Code</source>
- <translation>關閉的代碼</translation>
+ <translation>停用的代碼</translation>
</message>
<message>
<source>Code disabled by preprocessor directives.</source>
@@ -9579,7 +9579,7 @@ Will not be applied to whitespace in comments and strings.</source>
</message>
<message>
<source>&lt;i&gt;jom&lt;/i&gt; is a drop-in replacement for &lt;i&gt;nmake&lt;/i&gt; which distributes the compilation process to multiple CPU cores. The latest binary is available at &lt;a href=&quot;ftp://ftp.qt.nokia.com/jom/&quot;&gt;ftp://ftp.qt.nokia.com/jom/&lt;/a&gt;. Disable it if you experience problems with your builds.</source>
- <translation type="obsolete">&lt;i&gt;jom&lt;/i&gt; 是 &lt;i&gt;nmake&lt;/i&gt; 的替代品。它會自動將編譯工作分配給多個 CPU。最新版的執行檔可以在 &lt;a href=&quot;ftp://ftp.qt.nokia.com/jom/&quot;&gt;ftp://ftp.qt.nokia.com/jom/&lt;/a&gt;取得。若是您的建置過程出現問題,請試著將它關閉。</translation>
+ <translation type="obsolete">&lt;i&gt;jom&lt;/i&gt; 是 &lt;i&gt;nmake&lt;/i&gt; 的替代品。它會自動將編譯工作分配給多個 CPU。最新版的執行檔可以在 &lt;a href=&quot;ftp://ftp.qt.nokia.com/jom/&quot;&gt;ftp://ftp.qt.nokia.com/jom/&lt;/a&gt;取得。若是您的建置過程出現問題,請試著將它停用。</translation>
</message>
<message>
<source>Always build project before deploying it</source>
@@ -11206,7 +11206,7 @@ Reason: %2</source>
</message>
<message>
<source> (disabled)</source>
- <translation> (已關閉)</translation>
+ <translation> (已停用)</translation>
</message>
</context>
<context>
@@ -14670,7 +14670,7 @@ Ids must begin with a lowercase letter.</source>
</message>
<message>
<source>If enabled, the toolbar will remain pinned to an absolute position.</source>
- <translation>若開啟此選項,則工具列將被釘在固定位置。</translation>
+ <translation>若啟用此選項,則工具列將被釘在固定位置。</translation>
</message>
<message>
<source>Pin Qt Quick Toolbar</source>
@@ -15128,7 +15128,7 @@ GDB 允許使用 &apos;\n&apos; 來區隔多個命令序列。</translation>
</message>
<message>
<source>&amp;Enabled:</source>
- <translation>已開啟(&amp;E):</translation>
+ <translation>已啟用(&amp;E):</translation>
</message>
<message>
<source>&amp;Address:</source>
@@ -15209,7 +15209,7 @@ This feature is only available for GDB.</source>
</message>
<message>
<source>The CDB debug engine required for %1 is currently disabled.</source>
- <translation type="obsolete">%1 需要的 CDB 除錯引擎目前已被關閉。</translation>
+ <translation type="obsolete">%1 需要的 CDB 除錯引擎目前已被停用。</translation>
</message>
<message>
<source>The CDB engine does not support start mode %1.</source>
@@ -15471,7 +15471,7 @@ This feature is only available for GDB.</source>
</message>
<message>
<source>The application requires the debugger engine &apos;%1&apos;, which is disabled.</source>
- <translation type="obsolete">應用程式需要除錯工具引擎 &quot;%1&quot;,但是被關閉了。</translation>
+ <translation type="obsolete">應用程式需要除錯工具引擎 &quot;%1&quot;,但是被停用了。</translation>
</message>
<message>
<source>Some breakpoints cannot be handled by the debugger languages currently active, and will be ignored.</source>
@@ -15479,7 +15479,7 @@ This feature is only available for GDB.</source>
</message>
<message>
<source>The debugger engine &apos;%1&apos; is disabled.</source>
- <translation type="obsolete">除錯引擎 &apos;%1&apos; 已關閉。</translation>
+ <translation type="obsolete">除錯引擎 &apos;%1&apos; 已停用。</translation>
</message>
<message>
<source>The debugger engine &apos;%1&apos; required for debugging binaries of the type &apos;%2&apos; is not configured correctly.</source>
@@ -15619,7 +15619,7 @@ Setting breakpoints by file name and line number may fail.</source>
</message>
<message>
<source>Status of &apos;%1&apos; changed to &apos;enabled&apos;.</source>
- <translation type="obsolete">&apos;%1&apos; 的狀態轉變為「已開啟」。</translation>
+ <translation type="obsolete">&apos;%1&apos; 的狀態轉變為「已啟用」。</translation>
</message>
<message>
<source>Status of &apos;%1&apos; changed to &apos;not connected&apos;.</source>
@@ -15784,7 +15784,7 @@ instead of its installation directory when run outside git bash.</source>
</message>
<message>
<source>Disable</source>
- <translation>關閉</translation>
+ <translation>停用</translation>
</message>
<message>
<source>Move Down</source>
@@ -15995,7 +15995,7 @@ instead of its installation directory when run outside git bash.</source>
</message>
<message>
<source>Disable Live Preview</source>
- <translation type="obsolete">關閉即時預覽</translation>
+ <translation type="obsolete">停用即時預覽</translation>
</message>
<message>
<source>The %1 attribute at line %2, column %3 cannot be changed without reloading the QML application. </source>
@@ -18205,11 +18205,11 @@ to version control (%2)
</message>
<message>
<source>Disable Breakpoint %1</source>
- <translation>關閉中斷點 %1</translation>
+ <translation>停用中斷點 %1</translation>
</message>
<message>
<source>Enable Breakpoint %1</source>
- <translation>開啟中斷點 %1</translation>
+ <translation>啟用中斷點 %1</translation>
</message>
<message>
<source>Edit Breakpoint %1...</source>
@@ -20159,7 +20159,7 @@ a = a +
&lt;/pre&gt;
&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;
-開啟對齊方式類似於 =, += 等. 當選項被禁用時, 標準的續行縮排將會被啟用.&lt;br&gt;
+啟用對齊方式類似於 =, += 等. 當選項被停用時, 標準的續行縮排將會被啟用.&lt;br&gt;
&lt;br&gt;
有對齊:
&lt;pre&gt;
@@ -20475,7 +20475,7 @@ With cache simulation, further event counters are enabled:
</message>
<message>
<source>Enable cache simulation</source>
- <translation>開啟快取模擬</translation>
+ <translation>啟用快取模擬</translation>
</message>
<message>
<source>&lt;html&gt;&lt;head/&gt;&lt;body&gt;
@@ -20487,7 +20487,7 @@ With cache simulation, further event counters are enabled:
&quot;Bi&quot;/&quot;Bim&quot;)&lt;/li&gt;&lt;/ul&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation type="unfinished">&lt;html&gt;&lt;head/&gt;&lt;body&gt;
&lt;p&gt;做分支預測模擬.&lt;/p&gt;
-&lt;p&gt;更多項計數將被開啟: &lt;/p&gt;
+&lt;p&gt;更多項計數將被啟用: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;有條件的分支和相關的預測將丟失(
&quot;Bc&quot;/&quot;Bcm&quot;)&lt;/li&gt;
&lt;li&gt;執行的間接跳轉和相關的跳轉地址預測將丟失(
@@ -20495,7 +20495,7 @@ With cache simulation, further event counters are enabled:
</message>
<message>
<source>Enable branch prediction simulation</source>
- <translation type="unfinished">開啟分支預測模擬</translation>
+ <translation>啟用分支預測模擬</translation>
</message>
<message>
<source>Collect information for system call times.</source>
@@ -21195,11 +21195,11 @@ Do you want to continue?</source>
</message>
<message>
<source>Disable profiling</source>
- <translation>關閉效能分析</translation>
+ <translation>停用效能分析</translation>
</message>
<message>
<source>Enable profiling</source>
- <translation>開啟效能分析</translation>
+ <translation>啟用效能分析</translation>
</message>
<message>
<source>Could not connect to the in-process QML profiler.
@@ -21992,7 +21992,7 @@ In addition, device connectivity will be tested.</source>
</message>
<message>
<source>Enable cycle detection to properly handle recursive or circular function calls.</source>
- <translation type="unfinished">開啟循環檢測來正確把握遞歸或循環功能的調用.</translation>
+ <translation>啟用循環檢測來正確把握遞歸或循環功能的調用.</translation>
</message>
<message>
<source>This removes template parameter lists when displaying function names.</source>
@@ -22787,7 +22787,7 @@ To compile QML Observer, go to the Qt Versions page, select the current Qt versi
</message>
<message>
<source>Enabled</source>
- <translation>已開啟</translation>
+ <translation>已啟用</translation>
</message>
<message>
<source>This property holds whether the item accepts mouse events.</source>
@@ -22795,7 +22795,7 @@ To compile QML Observer, go to the Qt Versions page, select the current Qt versi
</message>
<message>
<source>Hover Enabled</source>
- <translation>開啟置於其上</translation>
+ <translation>啟用置於其上</translation>
</message>
<message>
<source>This property holds whether hover events are handled.</source>
@@ -24166,7 +24166,7 @@ Filter: %2
<name>QtC::UpdateInfo</name>
<message>
<source>Could not determine location of maintenance tool. Please check your installation if you did not enable this plugin manually.</source>
- <translation>無法決定維護工具所在位置。請檢查您的安裝,確定您是否沒有手動開啟此外掛程式的支援。</translation>
+ <translation>無法決定維護工具所在位置。請檢查您的安裝,確定您是否沒有手動啟用此外掛程式的支援。</translation>
</message>
<message>
<source>Could not find maintenance tool at &apos;%1&apos;. Check your installation.</source>
@@ -24556,7 +24556,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Enable LLDB</source>
- <translation>開啟 LLDB</translation>
+ <translation>啟用 LLDB</translation>
</message>
<message>
<source>Use GDB Python dumpers</source>
@@ -24753,7 +24753,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Enable touch optimized navigation</source>
- <translation type="unfinished">開啟觸摸導航</translation>
+ <translation>啟用觸摸導航</translation>
</message>
<message>
<source>Touch optimized navigation will make the HTML page flickable and enlarge the area of touch sensitive elements. If you use a JavaScript framework which optimizes the touch interaction, leave the checkbox unchecked.</source>
@@ -24781,7 +24781,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Enable network access</source>
- <translation type="obsolete">開啟網路存取</translation>
+ <translation type="obsolete">啟用網路存取</translation>
</message>
<message>
<source>Plugin&apos;s directory name:</source>
@@ -24962,7 +24962,7 @@ p, li { white-space: pre-wrap; }
</message>
<message>
<source>Enable automatic &amp;indentation</source>
- <translation>開啟自動縮排(&amp;I)</translation>
+ <translation>啟用自動縮排(&amp;I)</translation>
</message>
<message>
<source>Backspace indentation:</source>
@@ -25112,15 +25112,15 @@ Specifies how backspace interacts with indentation.
</message>
<message>
<source>Enable &amp;mouse navigation</source>
- <translation>開啟滑鼠導覽(&amp;M)</translation>
+ <translation>啟用滑鼠導覽(&amp;M)</translation>
</message>
<message>
<source>Enable scroll &amp;wheel zooming</source>
- <translation>開啟滑鼠滾輪縮放(&amp;W)</translation>
+ <translation>啟用滑鼠滾輪縮放(&amp;W)</translation>
</message>
<message>
<source>Enable built-in camel case &amp;navigation</source>
- <translation>開啟內建的駝峰式大小寫導覽(&amp;N)</translation>
+ <translation>啟用內建的駝峰式大小寫導覽(&amp;N)</translation>
</message>
<message>
<source>Show help tooltips:</source>
@@ -25208,7 +25208,7 @@ Specifies how backspace interacts with indentation.
</message>
<message>
<source>Enable text &amp;wrapping</source>
- <translation>開啟文字折行(&amp;W)</translation>
+ <translation>啟用文字折行(&amp;W)</translation>
</message>
<message>
<source>Display right &amp;margin at column:</source>
@@ -26113,7 +26113,7 @@ should a repository require SSH-authentication (see documentation on SSH and the
</message>
<message>
<source>Please enter the directory in which you want to build your project. Qt Creator recommends to not use the source directory for building. This ensures that the source directory remains clean and enables multiple builds with different settings.</source>
- <translation>請輸入您想建置專案的目錄。Qt Creator 建議您不要直接用源碼的目錄來做建置。這樣可以保持源碼目錄的乾淨,並且可以讓您用不同的設定進行多個建置。</translation>
+ <translation>請輸入您想建置專案的目錄。Qt Creator 建議您不要直接用源碼的目錄來做建置。這樣可以保持源碼目錄的乾淨,並且可以讓您啟用不同的設定進行多個建置。</translation>
</message>
<message>
<source>Build Location</source>
@@ -26297,11 +26297,11 @@ should a repository require SSH-authentication (see documentation on SSH and the
</message>
<message>
<source>Enable C++</source>
- <translation>開啟 C++</translation>
+ <translation>啟用 C++</translation>
</message>
<message>
<source>Enable QML</source>
- <translation>開啟 QML</translation>
+ <translation>啟用 QML</translation>
</message>
<message>
<source>Debug port:</source>
@@ -28832,19 +28832,19 @@ Please choose a valid package name for your application (e.g. &quot;org.example.
</message>
<message>
<source>Disable Selected Breakpoints</source>
- <translation>關閉已選擇的中斷點</translation>
+ <translation>停用已選擇的中斷點</translation>
</message>
<message>
<source>Enable Selected Breakpoints</source>
- <translation>開啟已選擇中斷點</translation>
+ <translation>啟用已選擇中斷點</translation>
</message>
<message>
<source>Disable Breakpoint</source>
- <translation>關閉中斷點</translation>
+ <translation>停用中斷點</translation>
</message>
<message>
<source>Enable Breakpoint</source>
- <translation>開啟中斷點</translation>
+ <translation>啟用中斷點</translation>
</message>
<message>
<source>Add Breakpoint...</source>
@@ -29777,7 +29777,7 @@ Stepping into the module or setting breakpoints by file and is expected to work.
<source>&lt;html&gt;Qt Creator has set up the following files to enable packaging:
%1
Do you want to add them to the project?&lt;/html&gt;</source>
- <translation type="unfinished">&lt;html&gt;Qt Creator 設定了以下的檔案來開啟打包功能:
+ <translation type="unfinished">&lt;html&gt;Qt Creator 設定了以下的檔案來啟用打包功能:
%1
您要將它們新增到專案中嗎?&lt;/html&gt;</translation>
</message>
@@ -30186,7 +30186,7 @@ Qt Creator 知道一個相似的URI.</translation>
</message>
<message>
<source>Enabled</source>
- <translation type="unfinished">已開啟</translation>
+ <translation>已啟用</translation>
</message>
<message>
<source>&lt;b&gt;Deploy packages&lt;/b&gt;</source>
diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp
index 00335be2ef1..7af3bb417b6 100644
--- a/src/plugins/android/androidtoolchain.cpp
+++ b/src/plugins/android/androidtoolchain.cpp
@@ -230,9 +230,14 @@ ToolChainList AndroidToolChainFactory::autodetectToolChainsFromNdks(
atc->setPlatformCodeGenFlags({"-target", target});
atc->setPlatformLinkerFlags({"-target", target});
atc->setDisplayName(displayName);
- atc->resetToolChain(compilerCommand);
tc = atc;
}
+
+ // Do not only reset newly created toolchains. This triggers call to
+ // addToEnvironment, so that e.g. JAVA_HOME gets updated.
+ if (auto gccTc = dynamic_cast<GccToolChain*>(tc))
+ gccTc->resetToolChain(compilerCommand);
+
tc->setDetection(ToolChain::AutoDetection);
result << tc;
++targetItr;
diff --git a/src/plugins/autotoolsprojectmanager/CMakeLists.txt b/src/plugins/autotoolsprojectmanager/CMakeLists.txt
index 64446adc3a2..0536178881e 100644
--- a/src/plugins/autotoolsprojectmanager/CMakeLists.txt
+++ b/src/plugins/autotoolsprojectmanager/CMakeLists.txt
@@ -7,6 +7,7 @@ add_qtc_plugin(AutotoolsProjectManager
autotoolsbuildconfiguration.cpp autotoolsbuildconfiguration.h
autotoolsbuildsystem.cpp autotoolsbuildsystem.h
autotoolsprojectconstants.h
+ autotoolsprojectmanagertr.h
autotoolsprojectplugin.cpp autotoolsprojectplugin.h
configurestep.cpp configurestep.h
makefileparser.cpp makefileparser.h
diff --git a/src/plugins/baremetal/CMakeLists.txt b/src/plugins/baremetal/CMakeLists.txt
index 046e0531c33..7a25aa19598 100644
--- a/src/plugins/baremetal/CMakeLists.txt
+++ b/src/plugins/baremetal/CMakeLists.txt
@@ -10,6 +10,7 @@ add_qtc_plugin(BareMetal
baremetaldeviceconfigurationwizardpages.cpp baremetaldeviceconfigurationwizardpages.h
baremetalplugin.cpp baremetalplugin.h
baremetalrunconfiguration.cpp baremetalrunconfiguration.h
+ baremetaltr.h
debugserverproviderchooser.cpp debugserverproviderchooser.h
debugserverprovidermanager.cpp debugserverprovidermanager.h
debugserverproviderssettingspage.cpp debugserverproviderssettingspage.h
diff --git a/src/plugins/bazaar/CMakeLists.txt b/src/plugins/bazaar/CMakeLists.txt
index 97d9c0153f8..c6341d71937 100644
--- a/src/plugins/bazaar/CMakeLists.txt
+++ b/src/plugins/bazaar/CMakeLists.txt
@@ -7,6 +7,7 @@ add_qtc_plugin(Bazaar
bazaareditor.cpp bazaareditor.h
bazaarplugin.cpp bazaarplugin.h
bazaarsettings.cpp bazaarsettings.h
+ bazaartr.h
branchinfo.cpp branchinfo.h
commiteditor.cpp commiteditor.h
constants.h
diff --git a/src/plugins/beautifier/CMakeLists.txt b/src/plugins/beautifier/CMakeLists.txt
index 7d18a27a591..d721f1ef201 100644
--- a/src/plugins/beautifier/CMakeLists.txt
+++ b/src/plugins/beautifier/CMakeLists.txt
@@ -11,6 +11,7 @@ add_qtc_plugin(Beautifier
beautifierabstracttool.h
beautifierconstants.h
beautifierplugin.cpp beautifierplugin.h
+ beautifiertr.h
clangformat/clangformat.cpp clangformat/clangformat.h
clangformat/clangformatconstants.h
clangformat/clangformatoptionspage.cpp clangformat/clangformatoptionspage.h
diff --git a/src/plugins/clangcodemodel/CMakeLists.txt b/src/plugins/clangcodemodel/CMakeLists.txt
index dbfba36ee06..243a330efad 100644
--- a/src/plugins/clangcodemodel/CMakeLists.txt
+++ b/src/plugins/clangcodemodel/CMakeLists.txt
@@ -13,6 +13,7 @@ add_qtc_plugin(ClangCodeModel
clangactivationsequencecontextprocessor.cpp clangactivationsequencecontextprocessor.h
clangactivationsequenceprocessor.cpp clangactivationsequenceprocessor.h
clangcodemodelplugin.cpp clangcodemodelplugin.h
+ clangcodemodeltr.h
clangcompletioncontextanalyzer.cpp clangcompletioncontextanalyzer.h
clangconstants.h
clangdast.cpp clangdast.h
diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp
index e71764ea2aa..1c2892902e1 100644
--- a/src/plugins/clangcodemodel/clangdclient.cpp
+++ b/src/plugins/clangcodemodel/clangdclient.cpp
@@ -385,14 +385,14 @@ ClangdClient::ClangdClient(Project *project, const Utils::FilePath &jsonDbDir, c
{
setName(Tr::tr("clangd"));
LanguageFilter langFilter;
- langFilter.mimeTypes = QStringList{"text/x-chdr", "text/x-csrc",
- "text/x-c++hdr", "text/x-c++src", "text/x-objc++src", "text/x-objcsrc"};
+ using namespace CppEditor::Constants;
+ langFilter.mimeTypes = QStringList{C_HEADER_MIMETYPE, C_SOURCE_MIMETYPE,
+ CPP_HEADER_MIMETYPE, CPP_SOURCE_MIMETYPE, OBJECTIVE_CPP_SOURCE_MIMETYPE,
+ OBJECTIVE_C_SOURCE_MIMETYPE, CUDA_SOURCE_MIMETYPE};
setSupportedLanguage(langFilter);
setActivateDocumentAutomatically(true);
setCompletionAssistProvider(new ClangdCompletionAssistProvider(this));
setQuickFixAssistProvider(new ClangdQuickFixProvider(this));
- symbolSupport().setDefaultRenamingSymbolMapper(
- [](const QString &oldSymbol) { return oldSymbol + "_new"; });
symbolSupport().setLimitRenamingToProjects(true);
if (!project) {
QJsonObject initOptions;
@@ -523,21 +523,56 @@ void ClangdClient::closeExtraFile(const Utils::FilePath &filePath)
SendDocUpdates::Ignore);
}
-void ClangdClient::findUsages(TextDocument *document, const QTextCursor &cursor,
+void ClangdClient::findUsages(const CppEditor::CursorInEditor &cursor,
const std::optional<QString> &replacement,
const std::function<void()> &renameCallback)
{
// Quick check: Are we even on anything searchable?
- const QTextCursor adjustedCursor = d->adjustedCursor(cursor, document);
+ const QTextCursor adjustedCursor = d->adjustedCursor(cursor.cursor(), cursor.textDocument());
const QString searchTerm = d->searchTermFromCursor(adjustedCursor);
if (searchTerm.isEmpty())
return;
if (replacement && versionNumber() >= QVersionNumber(16)
- && Utils::qtcEnvironmentVariable("QTC_CLANGD_RENAMING") != "0") {
- symbolSupport().renameSymbol(document, adjustedCursor, *replacement, renameCallback,
- CppEditor::preferLowerCaseFileNames());
- return;
+ && Utils::qtcEnvironmentVariable("QTC_CLANGD_RENAMING") != "0") {
+
+ // If we have up-to-date highlighting data, we can prevent giving clangd
+ // macros or namespaces to rename, which it can't cope with.
+ // TODO: Fix this upstream for macros; see https://github.com/clangd/clangd/issues/729.
+ bool useClangdForRenaming = true;
+ const auto highlightingData = d->highlightingData.constFind(cursor.textDocument());
+ if (highlightingData != d->highlightingData.end()
+ && highlightingData->previousTokens.second == documentVersion(cursor.filePath())) {
+ const auto candidate = std::lower_bound(
+ highlightingData->previousTokens.first.cbegin(),
+ highlightingData->previousTokens.first.cend(),
+ cursor.cursor().position(),
+ [&cursor](const ExpandedSemanticToken &token, int pos) {
+ const int startPos = Utils::Text::positionInText(
+ cursor.textDocument()->document(), token.line, token.column);
+ return startPos + token.length < pos;
+ });
+ if (candidate != highlightingData->previousTokens.first.cend()) {
+ const int startPos = Utils::Text::positionInText(
+ cursor.textDocument()->document(), candidate->line, candidate->column);
+ if (startPos <= cursor.cursor().position()) {
+ if (candidate->type == "namespace") {
+ CppEditor::CppModelManager::globalRename(
+ cursor, *replacement, renameCallback,
+ CppEditor::CppModelManager::Backend::Builtin);
+ return;
+ }
+ if (candidate->type == "macro")
+ useClangdForRenaming = false;
+ }
+ }
+ }
+
+ if (useClangdForRenaming) {
+ symbolSupport().renameSymbol(cursor.textDocument(), adjustedCursor, *replacement,
+ renameCallback, CppEditor::preferLowerCaseFileNames());
+ return;
+ }
}
const bool categorize = CppEditor::codeModelSettings()->categorizeFindReferences();
@@ -546,14 +581,15 @@ void ClangdClient::findUsages(TextDocument *document, const QTextCursor &cursor,
if (searchTerm != "operator" && Utils::allOf(searchTerm, [](const QChar &c) {
return c.isLetterOrNumber() || c == '_';
})) {
- d->findUsages(document, adjustedCursor, searchTerm, replacement, renameCallback, categorize);
+ d->findUsages(cursor.textDocument(), adjustedCursor, searchTerm, replacement,
+ renameCallback, categorize);
return;
}
// Otherwise get the proper spelling of the search term from clang, so we can put it into the
// search widget.
- const auto symbolInfoHandler = [this, doc = QPointer(document), adjustedCursor, replacement,
- renameCallback, categorize]
+ const auto symbolInfoHandler = [this, doc = QPointer(cursor.textDocument()), adjustedCursor,
+ replacement, renameCallback, categorize]
(const QString &name, const QString &, const MessageId &) {
if (!doc)
return;
@@ -561,7 +597,8 @@ void ClangdClient::findUsages(TextDocument *document, const QTextCursor &cursor,
return;
d->findUsages(doc.data(), adjustedCursor, name, replacement, renameCallback, categorize);
};
- requestSymbolInfo(document->filePath(), Range(adjustedCursor).start(), symbolInfoHandler);
+ requestSymbolInfo(cursor.textDocument()->filePath(), Range(adjustedCursor).start(),
+ symbolInfoHandler);
}
void ClangdClient::checkUnused(const Utils::Link &link, Core::SearchResult *search,
@@ -1053,9 +1090,8 @@ void ClangdClient::gatherHelpItemForTooltip(const HoverRequest::Response &hoverR
QString cleanString = markupString;
cleanString.remove('`');
const QStringList lines = cleanString.trimmed().split('\n');
- if (!lines.isEmpty()) {
- const auto markupFilePath = Utils::FilePath::fromUserInput(
- lines.last().simplified());
+ for (const QString &line : lines) {
+ const auto markupFilePath = Utils::FilePath::fromUserInput(line.simplified());
if (markupFilePath.exists()) {
d->setHelpItemForTooltip(hoverResponse.id(),
filePath,
diff --git a/src/plugins/clangcodemodel/clangdclient.h b/src/plugins/clangcodemodel/clangdclient.h
index 3c9e603b843..6b495ddb73c 100644
--- a/src/plugins/clangcodemodel/clangdclient.h
+++ b/src/plugins/clangcodemodel/clangdclient.h
@@ -53,7 +53,7 @@ public:
void openExtraFile(const Utils::FilePath &filePath, const QString &content = {});
void closeExtraFile(const Utils::FilePath &filePath);
- void findUsages(TextEditor::TextDocument *document, const QTextCursor &cursor,
+ void findUsages(const CppEditor::CursorInEditor &cursor,
const std::optional<QString> &replacement,
const std::function<void()> &renameCallback);
void checkUnused(const Utils::Link &link, Core::SearchResult *search,
diff --git a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
index 8a0c40850ce..d10c9c6e28f 100644
--- a/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
+++ b/src/plugins/clangcodemodel/clangmodelmanagersupport.cpp
@@ -319,7 +319,7 @@ void ClangModelManagerSupport::globalRename(const CursorInEditor &cursor,
client && client->isFullyIndexed()) {
QTC_ASSERT(client->documentOpen(cursor.textDocument()),
client->openDocument(cursor.textDocument()));
- client->findUsages(cursor.textDocument(), cursor.cursor(), replacement, callback);
+ client->findUsages(cursor, replacement, callback);
return;
}
CppModelManager::globalRename(cursor, replacement, callback, CppModelManager::Backend::Builtin);
@@ -331,8 +331,7 @@ void ClangModelManagerSupport::findUsages(const CursorInEditor &cursor) const
client && client->isFullyIndexed()) {
QTC_ASSERT(client->documentOpen(cursor.textDocument()),
client->openDocument(cursor.textDocument()));
- client->findUsages(cursor.textDocument(), cursor.cursor(), {}, {});
-
+ client->findUsages(cursor, {}, {});
return;
}
CppModelManager::findUsages(cursor, CppModelManager::Backend::Builtin);
diff --git a/src/plugins/clangcodemodel/test/clangdtests.cpp b/src/plugins/clangcodemodel/test/clangdtests.cpp
index 36b6d43e51c..1d9f4436648 100644
--- a/src/plugins/clangcodemodel/test/clangdtests.cpp
+++ b/src/plugins/clangcodemodel/test/clangdtests.cpp
@@ -314,7 +314,7 @@ void ClangdTestFindReferences::test()
QVERIFY(doc);
QTextCursor cursor(doc->document());
cursor.setPosition(pos);
- client()->findUsages(doc, cursor, {}, {});
+ client()->findUsages(CppEditor::CursorInEditor(cursor, doc->filePath(), nullptr, doc), {}, {});
QVERIFY(waitForSignalOrTimeout(client(), &ClangdClient::findUsagesDone, timeOutInMs()));
QCOMPARE(m_actualResults.size(), expectedResults.size());
diff --git a/src/plugins/clangformat/CMakeLists.txt b/src/plugins/clangformat/CMakeLists.txt
index 19014d22fe5..79767a2ffed 100644
--- a/src/plugins/clangformat/CMakeLists.txt
+++ b/src/plugins/clangformat/CMakeLists.txt
@@ -12,6 +12,7 @@ add_qtc_plugin(ClangFormat
clangformatindenter.cpp clangformatindenter.h
clangformatplugin.cpp clangformatplugin.h
clangformatsettings.cpp clangformatsettings.h
+ clangformattr.h
clangformatutils.cpp clangformatutils.h
EXPLICIT_MOC
clangformatconfigwidget.cpp clangformatconfigwidget.h
diff --git a/src/plugins/clangformat/clangformatconfigwidget.cpp b/src/plugins/clangformat/clangformatconfigwidget.cpp
index 1d91bd9857f..12e02b4fa74 100644
--- a/src/plugins/clangformat/clangformatconfigwidget.cpp
+++ b/src/plugins/clangformat/clangformatconfigwidget.cpp
@@ -89,7 +89,8 @@ ClangFormatConfigWidget::ClangFormatConfigWidget(TextEditor::ICodeStylePreferenc
d->checksScrollArea->setWidget(d->checksWidget);
d->checksScrollArea->setWidgetResizable(true);
- d->checksWidget->setEnabled(!codeStyle->isReadOnly());
+ d->checksWidget->setEnabled(!codeStyle->isReadOnly()
+ && !codeStyle->isTemporarilyReadOnly());
FilePath fileName;
if (d->project)
@@ -140,7 +141,8 @@ void ClangFormatConfigWidget::slotCodeStyleChanged(
d->config->setIsReadOnly(codeStyle->isReadOnly());
d->style = d->config->style();
- d->checksWidget->setEnabled(!codeStyle->isReadOnly());
+ d->checksWidget->setEnabled(!codeStyle->isReadOnly()
+ && !codeStyle->isTemporarilyReadOnly());
fillTable();
updatePreview();
diff --git a/src/plugins/clangformat/clangformatglobalconfigwidget.cpp b/src/plugins/clangformat/clangformatglobalconfigwidget.cpp
index 34b4f08f013..c1513a99773 100644
--- a/src/plugins/clangformat/clangformatglobalconfigwidget.cpp
+++ b/src/plugins/clangformat/clangformatglobalconfigwidget.cpp
@@ -9,6 +9,7 @@
#include "clangformatutils.h"
#include <projectexplorer/project.h>
+#include <texteditor/icodestylepreferences.h>
#include <utils/layoutbuilder.h>
@@ -24,10 +25,11 @@ using namespace Utils;
namespace ClangFormat {
-ClangFormatGlobalConfigWidget::ClangFormatGlobalConfigWidget(ProjectExplorer::Project *project,
- QWidget *parent)
+ClangFormatGlobalConfigWidget::ClangFormatGlobalConfigWidget(
+ TextEditor::ICodeStylePreferences *codeStyle, ProjectExplorer::Project *project, QWidget *parent)
: CppCodeStyleWidget(parent)
, m_project(project)
+ , m_codeStyle(codeStyle)
{
resize(489, 305);
@@ -171,10 +173,19 @@ void ClangFormatGlobalConfigWidget::initOverrideCheckBox()
".clang-format file."));
m_overrideDefault->setChecked(getProjectOverriddenSettings(m_project));
+ m_codeStyle->currentPreferences()->setTemporarilyReadOnly(!m_overrideDefault->isChecked());
connect(m_overrideDefault, &QCheckBox::toggled, this, [this](bool checked) {
if (m_project)
m_project->setNamedSettings(Constants::OVERRIDE_FILE_ID, checked);
+ else {
+ m_codeStyle->currentPreferences()->setTemporarilyReadOnly(!checked);
+ emit m_codeStyle->currentPreferencesChanged(m_codeStyle->currentPreferences());
+ }
+ });
+
+ connect(m_codeStyle, &TextEditor::ICodeStylePreferences::currentPreferencesChanged, this, [this] {
+ m_codeStyle->currentPreferences()->setTemporarilyReadOnly(!m_overrideDefault->isChecked());
});
}
diff --git a/src/plugins/clangformat/clangformatglobalconfigwidget.h b/src/plugins/clangformat/clangformatglobalconfigwidget.h
index 49657cfe201..989aa58a925 100644
--- a/src/plugins/clangformat/clangformatglobalconfigwidget.h
+++ b/src/plugins/clangformat/clangformatglobalconfigwidget.h
@@ -14,6 +14,7 @@ class QLabel;
QT_END_NAMESPACE
namespace ProjectExplorer { class Project; }
+namespace TextEditor { class ICodeStylePreferences; }
namespace ClangFormat {
@@ -22,7 +23,8 @@ class ClangFormatGlobalConfigWidget : public CppEditor::CppCodeStyleWidget
Q_OBJECT
public:
- explicit ClangFormatGlobalConfigWidget(ProjectExplorer::Project *project = nullptr,
+ explicit ClangFormatGlobalConfigWidget(TextEditor::ICodeStylePreferences *codeStyle,
+ ProjectExplorer::Project *project = nullptr,
QWidget *parent = nullptr);
~ClangFormatGlobalConfigWidget() override;
void apply() override;
@@ -36,6 +38,7 @@ private:
bool projectClangFormatFileExists();
ProjectExplorer::Project *m_project;
+ TextEditor::ICodeStylePreferences *m_codeStyle;
QLabel *m_projectHasClangFormat;
QLabel *m_formattingModeLabel;
diff --git a/src/plugins/clangformat/clangformatplugin.cpp b/src/plugins/clangformat/clangformatplugin.cpp
index c958406d7b9..b64ca2ac94e 100644
--- a/src/plugins/clangformat/clangformatplugin.cpp
+++ b/src/plugins/clangformat/clangformatplugin.cpp
@@ -51,9 +51,9 @@ public:
}
CodeStyleEditorWidget *createAdditionalGlobalSettings(
- Project *project, QWidget *parent) override
+ ICodeStylePreferences *codeStyle, Project *project, QWidget *parent) override
{
- return new ClangFormatGlobalConfigWidget(project, parent);
+ return new ClangFormatGlobalConfigWidget(codeStyle, project, parent);
}
};
diff --git a/src/plugins/classview/CMakeLists.txt b/src/plugins/classview/CMakeLists.txt
index d8918dff7cb..caac4802bfc 100644
--- a/src/plugins/classview/CMakeLists.txt
+++ b/src/plugins/classview/CMakeLists.txt
@@ -10,6 +10,7 @@ add_qtc_plugin(ClassView
classviewplugin.cpp classviewplugin.h
classviewsymbolinformation.cpp classviewsymbolinformation.h
classviewsymbollocation.cpp classviewsymbollocation.h
+ classviewtr.h
classviewtreeitemmodel.cpp classviewtreeitemmodel.h
classviewutils.cpp classviewutils.h
)
diff --git a/src/plugins/clearcase/CMakeLists.txt b/src/plugins/clearcase/CMakeLists.txt
index 12697375361..42cae223808 100644
--- a/src/plugins/clearcase/CMakeLists.txt
+++ b/src/plugins/clearcase/CMakeLists.txt
@@ -11,6 +11,7 @@ add_qtc_plugin(ClearCase
clearcasesubmiteditor.cpp clearcasesubmiteditor.h
clearcasesubmiteditorwidget.cpp clearcasesubmiteditorwidget.h
clearcasesync.cpp clearcasesync.h
+ clearcasetr.h
settingspage.cpp settingspage.h
versionselector.cpp versionselector.h
)
diff --git a/src/plugins/cmakeprojectmanager/CMakeLists.txt b/src/plugins/cmakeprojectmanager/CMakeLists.txt
index 997f4c8920b..683a2a407a8 100644
--- a/src/plugins/cmakeprojectmanager/CMakeLists.txt
+++ b/src/plugins/cmakeprojectmanager/CMakeLists.txt
@@ -28,6 +28,7 @@ add_qtc_plugin(CMakeProjectManager
cmakeprojectconstants.h
cmakeprojectimporter.cpp cmakeprojectimporter.h
cmakeprojectmanager.cpp cmakeprojectmanager.h
+ cmakeprojectmanagertr.h
cmakeprojectnodes.cpp cmakeprojectnodes.h
cmakeprojectplugin.cpp cmakeprojectplugin.h
cmakesettingspage.cpp cmakesettingspage.h
diff --git a/src/plugins/coco/CMakeLists.txt b/src/plugins/coco/CMakeLists.txt
index ee5685ccbbf..43f4fd7c4a3 100644
--- a/src/plugins/coco/CMakeLists.txt
+++ b/src/plugins/coco/CMakeLists.txt
@@ -2,6 +2,7 @@ add_qtc_plugin(Coco
PUBLIC_DEPENDS app_version
PLUGIN_DEPENDS Core LanguageClient
SOURCES
- cocoplugin.cpp cocoplugin.h
cocolanguageclient.cpp cocolanguageclient.h
+ cocoplugin.cpp cocoplugin.h
+ cocotr.h
)
diff --git a/src/plugins/compilationdatabaseprojectmanager/CMakeLists.txt b/src/plugins/compilationdatabaseprojectmanager/CMakeLists.txt
index 8bd36a7b6f0..8e0430f59e5 100644
--- a/src/plugins/compilationdatabaseprojectmanager/CMakeLists.txt
+++ b/src/plugins/compilationdatabaseprojectmanager/CMakeLists.txt
@@ -5,6 +5,7 @@ add_qtc_plugin(CompilationDatabaseProjectManager
compilationdatabaseconstants.h
compilationdatabaseproject.cpp compilationdatabaseproject.h
compilationdatabaseprojectmanagerplugin.cpp compilationdatabaseprojectmanagerplugin.h
+ compilationdatabaseprojectmanagertr.h
compilationdatabaseutils.cpp compilationdatabaseutils.h
compilationdbparser.cpp compilationdbparser.h
)
diff --git a/src/plugins/conan/CMakeLists.txt b/src/plugins/conan/CMakeLists.txt
index 7833f6c970e..c9ad746a84d 100644
--- a/src/plugins/conan/CMakeLists.txt
+++ b/src/plugins/conan/CMakeLists.txt
@@ -5,4 +5,5 @@ add_qtc_plugin(Conan
conaninstallstep.cpp conaninstallstep.h
conanplugin.cpp conanplugin.h
conansettings.cpp conansettings.h
+ conantr.h
)
diff --git a/src/plugins/cpaster/CMakeLists.txt b/src/plugins/cpaster/CMakeLists.txt
index da48a556885..5bc29709f2b 100644
--- a/src/plugins/cpaster/CMakeLists.txt
+++ b/src/plugins/cpaster/CMakeLists.txt
@@ -11,6 +11,7 @@ add_qtc_plugin(CodePaster
cpasterconstants.h
cpaster.qrc
cpasterplugin.cpp cpasterplugin.h
+ cpastertr.h
dpastedotcomprotocol.cpp dpastedotcomprotocol.h
fileshareprotocol.cpp fileshareprotocol.h
fileshareprotocolsettingspage.cpp fileshareprotocolsettingspage.h
diff --git a/src/plugins/cppcheck/CMakeLists.txt b/src/plugins/cppcheck/CMakeLists.txt
index dc9bbb0661e..6cd06dc9c67 100644
--- a/src/plugins/cppcheck/CMakeLists.txt
+++ b/src/plugins/cppcheck/CMakeLists.txt
@@ -14,5 +14,6 @@ add_qtc_plugin(Cppcheck
cppchecktextmark.cpp cppchecktextmark.h
cppchecktextmarkmanager.cpp cppchecktextmarkmanager.h
cppchecktool.cpp cppchecktool.h
+ cppchecktr.h
cppchecktrigger.cpp cppchecktrigger.h
)
diff --git a/src/plugins/cppeditor/cppcodestylesettingspage.cpp b/src/plugins/cppeditor/cppcodestylesettingspage.cpp
index 43778c51daf..ebb4a37485d 100644
--- a/src/plugins/cppeditor/cppcodestylesettingspage.cpp
+++ b/src/plugins/cppeditor/cppcodestylesettingspage.cpp
@@ -414,7 +414,7 @@ void CppCodeStylePreferencesWidget::setCodeStyleSettings(const CppCodeStyleSetti
void CppCodeStylePreferencesWidget::slotCurrentPreferencesChanged(ICodeStylePreferences *preferences, bool preview)
{
- const bool enable = !preferences->isReadOnly();
+ const bool enable = !preferences->isReadOnly() && !preferences->isTemporarilyReadOnly();
for (QWidget *widget : d->m_controllers)
widget->setEnabled(enable);
diff --git a/src/plugins/ctfvisualizer/CMakeLists.txt b/src/plugins/ctfvisualizer/CMakeLists.txt
index 8ba905d5f3b..d8f9c5a3ce4 100644
--- a/src/plugins/ctfvisualizer/CMakeLists.txt
+++ b/src/plugins/ctfvisualizer/CMakeLists.txt
@@ -15,6 +15,7 @@ add_qtc_plugin(CtfVisualizer
ctfstatisticsview.h
ctfvisualizerplugin.h
ctfvisualizertool.h
+ ctfvisualizertr.h
ctftimelinemodel.h
ctftracemanager.h
ctfvisualizerconstants.h
diff --git a/src/plugins/cvs/CMakeLists.txt b/src/plugins/cvs/CMakeLists.txt
index 1cc14dfc166..7a21e0c85d0 100644
--- a/src/plugins/cvs/CMakeLists.txt
+++ b/src/plugins/cvs/CMakeLists.txt
@@ -6,5 +6,6 @@ add_qtc_plugin(CVS
cvsplugin.cpp cvsplugin.h
cvssettings.cpp cvssettings.h
cvssubmiteditor.cpp cvssubmiteditor.h
+ cvstr.h
cvsutils.cpp cvsutils.h
)
diff --git a/src/plugins/designer/CMakeLists.txt b/src/plugins/designer/CMakeLists.txt
index e2c26b39068..f6304e4a67d 100644
--- a/src/plugins/designer/CMakeLists.txt
+++ b/src/plugins/designer/CMakeLists.txt
@@ -16,6 +16,7 @@ add_qtc_plugin(Designer
designer_export.h
designerconstants.h
designercontext.cpp designercontext.h
+ designertr.h
editordata.h
editorwidget.cpp editorwidget.h
formeditorfactory.cpp formeditorfactory.h
diff --git a/src/plugins/emacskeys/CMakeLists.txt b/src/plugins/emacskeys/CMakeLists.txt
index 20fd37aa294..9ae0bc923f5 100644
--- a/src/plugins/emacskeys/CMakeLists.txt
+++ b/src/plugins/emacskeys/CMakeLists.txt
@@ -4,4 +4,5 @@ add_qtc_plugin(EmacsKeys
emacskeysconstants.h
emacskeysplugin.cpp emacskeysplugin.h
emacskeysstate.cpp emacskeysstate.h
+ emacskeystr.h
)
diff --git a/src/plugins/fossil/CMakeLists.txt b/src/plugins/fossil/CMakeLists.txt
index 22f76911043..07485229450 100644
--- a/src/plugins/fossil/CMakeLists.txt
+++ b/src/plugins/fossil/CMakeLists.txt
@@ -1,4 +1,3 @@
-
add_qtc_plugin(Fossil
PLUGIN_DEPENDS
Core TextEditor ProjectExplorer VcsBase
@@ -14,6 +13,7 @@ add_qtc_plugin(Fossil
fossileditor.cpp fossileditor.h
fossilplugin.cpp fossilplugin.h
fossilsettings.cpp fossilsettings.h
+ fossiltr.h
pullorpushdialog.cpp pullorpushdialog.h
revisioninfo.h
wizard/fossiljsextension.cpp wizard/fossiljsextension.h
diff --git a/src/plugins/genericprojectmanager/CMakeLists.txt b/src/plugins/genericprojectmanager/CMakeLists.txt
index 5b1ef6f84e4..764ce9282c6 100644
--- a/src/plugins/genericprojectmanager/CMakeLists.txt
+++ b/src/plugins/genericprojectmanager/CMakeLists.txt
@@ -10,6 +10,7 @@ add_qtc_plugin(GenericProjectManager
genericproject.cpp genericproject.h
genericprojectconstants.h
genericprojectfileseditor.cpp genericprojectfileseditor.h
+ genericprojectmanagertr.h
genericprojectplugin.cpp genericprojectplugin.h
genericprojectwizard.cpp genericprojectwizard.h
)
diff --git a/src/plugins/gitlab/CMakeLists.txt b/src/plugins/gitlab/CMakeLists.txt
index a9da31b7066..16242b1a3fa 100644
--- a/src/plugins/gitlab/CMakeLists.txt
+++ b/src/plugins/gitlab/CMakeLists.txt
@@ -9,6 +9,7 @@ add_qtc_plugin(GitLab
gitlabparameters.cpp gitlabparameters.h
gitlabplugin.cpp gitlabplugin.h
gitlabprojectsettings.cpp gitlabprojectsettings.h
+ gitlabtr.h
queryrunner.cpp queryrunner.h
resultparser.cpp resultparser.h
)
diff --git a/src/plugins/glsleditor/CMakeLists.txt b/src/plugins/glsleditor/CMakeLists.txt
index 85cbe99986f..b02e95cda74 100644
--- a/src/plugins/glsleditor/CMakeLists.txt
+++ b/src/plugins/glsleditor/CMakeLists.txt
@@ -9,6 +9,7 @@ add_qtc_plugin(GLSLEditor
glsleditor.qrc
glsleditorconstants.h
glsleditorplugin.cpp glsleditorplugin.h
+ glsleditortr.h
glslhighlighter.cpp glslhighlighter.h
glslindenter.cpp glslindenter.h
)
diff --git a/src/plugins/haskell/CMakeLists.txt b/src/plugins/haskell/CMakeLists.txt
index dcc4bdb4a81..0f43b456999 100644
--- a/src/plugins/haskell/CMakeLists.txt
+++ b/src/plugins/haskell/CMakeLists.txt
@@ -13,6 +13,7 @@ add_qtc_plugin(Haskell
haskellproject.cpp haskellproject.h
haskellrunconfiguration.cpp haskellrunconfiguration.h
haskelltokenizer.cpp haskelltokenizer.h
+ haskelltr.h
optionspage.cpp optionspage.h
stackbuildstep.cpp stackbuildstep.h
)
diff --git a/src/plugins/helloworld/CMakeLists.txt b/src/plugins/helloworld/CMakeLists.txt
index e14fbba2c8a..18a93c47b8b 100644
--- a/src/plugins/helloworld/CMakeLists.txt
+++ b/src/plugins/helloworld/CMakeLists.txt
@@ -3,5 +3,6 @@ add_qtc_plugin(HelloWorld
PLUGIN_DEPENDS Core
SOURCES
helloworldplugin.cpp helloworldplugin.h
+ helloworldtr.h
helloworldwindow.cpp helloworldwindow.h
)
diff --git a/src/plugins/help/CMakeLists.txt b/src/plugins/help/CMakeLists.txt
index d329b2a10aa..30347817391 100644
--- a/src/plugins/help/CMakeLists.txt
+++ b/src/plugins/help/CMakeLists.txt
@@ -13,6 +13,7 @@ add_qtc_plugin(Help
helpindexfilter.cpp helpindexfilter.h
helpmanager.cpp helpmanager.h
helpplugin.cpp helpplugin.h
+ helptr.h
helpviewer.cpp helpviewer.h
helpwidget.cpp helpwidget.h
localhelpmanager.cpp localhelpmanager.h
diff --git a/src/plugins/imageviewer/CMakeLists.txt b/src/plugins/imageviewer/CMakeLists.txt
index 5c027bbd38c..38659e8417a 100644
--- a/src/plugins/imageviewer/CMakeLists.txt
+++ b/src/plugins/imageviewer/CMakeLists.txt
@@ -13,6 +13,7 @@ add_qtc_plugin(ImageViewer
imageviewerconstants.h
imageviewerfile.cpp imageviewerfile.h
imageviewerplugin.cpp imageviewerplugin.h
+ imageviewertr.h
multiexportdialog.cpp multiexportdialog.h
EXPLICIT_MOC imageviewer.h
)
diff --git a/src/plugins/ios/CMakeLists.txt b/src/plugins/ios/CMakeLists.txt
index 5f4abd1913c..ebfaa6fc69b 100644
--- a/src/plugins/ios/CMakeLists.txt
+++ b/src/plugins/ios/CMakeLists.txt
@@ -20,6 +20,7 @@ add_qtc_plugin(Ios
iossettingswidget.cpp iossettingswidget.h
iossimulator.cpp iossimulator.h
iostoolhandler.cpp iostoolhandler.h
+ iostr.h
simulatorcontrol.cpp simulatorcontrol.h
simulatorinfomodel.cpp simulatorinfomodel.h
simulatoroperationdialog.cpp simulatoroperationdialog.h
diff --git a/src/plugins/languageclient/languageclientsymbolsupport.cpp b/src/plugins/languageclient/languageclientsymbolsupport.cpp
index 1de3bede6d4..d67fc6580aa 100644
--- a/src/plugins/languageclient/languageclientsymbolsupport.cpp
+++ b/src/plugins/languageclient/languageclientsymbolsupport.cpp
@@ -549,8 +549,11 @@ void SymbolSupport::handleRenameResponse(Core::SearchResult *search,
const std::optional<PrepareRenameRequest::Response::Error> &error = response.error();
QString errorMessage;
if (error.has_value()) {
- m_client->log(*error);
errorMessage = error->toString();
+ if (errorMessage.contains("Cannot rename symbol: new name is the same as the old name"))
+ errorMessage = Tr::tr("Start typing to see replacements"); // clangd optimization
+ else
+ m_client->log(*error);
}
const std::optional<WorkspaceEdit> &edits = response.result();
diff --git a/src/plugins/macros/CMakeLists.txt b/src/plugins/macros/CMakeLists.txt
index a5dee70052c..aef9a332ddc 100644
--- a/src/plugins/macros/CMakeLists.txt
+++ b/src/plugins/macros/CMakeLists.txt
@@ -14,6 +14,7 @@ add_qtc_plugin(Macros
macrosconstants.h
macrosplugin.cpp macrosplugin.h
macrotextfind.cpp macrotextfind.h
+ macrostr.h
savedialog.cpp savedialog.h
texteditormacrohandler.cpp texteditormacrohandler.h
)
diff --git a/src/plugins/marketplace/CMakeLists.txt b/src/plugins/marketplace/CMakeLists.txt
index f663bc95110..b101b8c049f 100644
--- a/src/plugins/marketplace/CMakeLists.txt
+++ b/src/plugins/marketplace/CMakeLists.txt
@@ -2,6 +2,7 @@ add_qtc_plugin(Marketplace
PLUGIN_DEPENDS Core
SOURCES
marketplaceplugin.h
+ marketplacetr.h
productlistmodel.cpp productlistmodel.h
qtmarketplacewelcomepage.cpp qtmarketplacewelcomepage.h
)
diff --git a/src/plugins/mercurial/CMakeLists.txt b/src/plugins/mercurial/CMakeLists.txt
index 37cccb62544..1a0edc4100d 100644
--- a/src/plugins/mercurial/CMakeLists.txt
+++ b/src/plugins/mercurial/CMakeLists.txt
@@ -10,6 +10,7 @@ add_qtc_plugin(Mercurial
mercurialeditor.cpp mercurialeditor.h
mercurialplugin.cpp mercurialplugin.h
mercurialsettings.cpp mercurialsettings.h
+ mercurialtr.h
revertdialog.cpp revertdialog.h
srcdestdialog.cpp srcdestdialog.h
)
diff --git a/src/plugins/mesonprojectmanager/CMakeLists.txt b/src/plugins/mesonprojectmanager/CMakeLists.txt
index 62f4b231ee8..d4d7420d7b0 100644
--- a/src/plugins/mesonprojectmanager/CMakeLists.txt
+++ b/src/plugins/mesonprojectmanager/CMakeLists.txt
@@ -3,84 +3,85 @@ add_qtc_plugin(MesonProjectManager
DEPENDS QmlJS
PLUGIN_DEPENDS Core CppEditor ProjectExplorer TextEditor QtSupport
SOURCES
- mesonprojectplugin.cpp
- mesonprojectplugin.h
- versionhelper.h
- mesonactionsmanager.h
- mesonactionsmanager.cpp
- toolsmodel.cpp
- toolssettingswidget.h
- toolssettingswidget.cpp
- toolssettingspage.cpp
- toolssettingspage.h
- toolitemsettings.cpp
- toolitemsettings.h
- tooltreeitem.cpp
- tooltreeitem.h
- toolsmodel.h
- ninjatoolkitaspect.cpp
- ninjatoolkitaspect.h
- toolkitaspectwidget.h
- toolkitaspectwidget.cpp
- mesontoolkitaspect.cpp
- mesontoolkitaspect.h
- toolssettingsaccessor.h
- toolssettingsaccessor.cpp
- settings.h
- settings.cpp
- mesonwrapper.cpp
- mesonwrapper.h
- ninjawrapper.h
- toolwrapper.h
- toolwrapper.cpp
- mesontools.h
- mesontools.cpp
- mesoninfoparser.h
+ arrayoptionlineedit.cpp
+ arrayoptionlineedit.h
buildoptions.h
- target.h
- mesoninfo.h
- common.h
+ buildoptionsmodel.cpp
+ buildoptionsmodel.h
buildoptionsparser.h
buildsystemfilesparser.h
+ common.h
infoparser.h
- targetparser.h
kitdata.h
kithelper.h
- mesonproject.h
+ machinefilemanager.cpp
+ machinefilemanager.h
+ mesonactionsmanager.cpp
+ mesonactionsmanager.h
+ mesonbuildconfiguration.cpp
+ mesonbuildconfiguration.h
+ mesonbuildsettingswidget.cpp
+ mesonbuildsettingswidget.h
+ mesonbuildsystem.cpp
+ mesonbuildsystem.h
+ mesoninfo.h
+ mesoninfoparser.h
+ mesonoutputparser.cpp
+ mesonoutputparser.h
+ mesonprocess.cpp
+ mesonprocess.h
mesonproject.cpp
- mesonprojectimporter.h
+ mesonproject.h
mesonprojectimporter.cpp
- mesonbuildsystem.h
- mesonbuildsystem.cpp
- mesonprojectparser.h
+ mesonprojectimporter.h
+ mesonprojectmanagertr.h
+ mesonprojectnodes.cpp
+ mesonprojectnodes.h
mesonprojectparser.cpp
- mesonbuildconfiguration.h
- mesonbuildconfiguration.cpp
- ninjabuildstep.h
+ mesonprojectparser.h
+ mesonprojectplugin.cpp
+ mesonprojectplugin.h
+ mesonrunconfiguration.cpp
+ mesonrunconfiguration.h
+ mesontoolkitaspect.cpp
+ mesontoolkitaspect.h
+ mesontools.cpp
+ mesontools.h
+ mesonwrapper.cpp
+ mesonwrapper.h
+ nativefilegenerator.cpp
+ nativefilegenerator.h
ninjabuildstep.cpp
- mesonbuildsettingswidget.h
- mesonbuildsettingswidget.cpp
- buildoptionsmodel.h
- buildoptionsmodel.cpp
- arrayoptionlineedit.cpp
- arrayoptionlineedit.h
- mesonprocess.h
- mesonprocess.cpp
- mesonoutputparser.h
- mesonoutputparser.cpp
- ninjaparser.h
+ ninjabuildstep.h
ninjaparser.cpp
- mesonrunconfiguration.h
- mesonrunconfiguration.cpp
- projecttree.h
+ ninjaparser.h
+ ninjatoolkitaspect.cpp
+ ninjatoolkitaspect.h
+ ninjawrapper.h
projecttree.cpp
- mesonprojectnodes.h
- mesonprojectnodes.cpp
- machinefilemanager.h
- machinefilemanager.cpp
- nativefilegenerator.h
- nativefilegenerator.cpp
+ projecttree.h
resources_meson.qrc
+ settings.cpp
+ settings.h
+ target.h
+ targetparser.h
+ toolitemsettings.cpp
+ toolitemsettings.h
+ toolkitaspectwidget.cpp
+ toolkitaspectwidget.h
+ toolsmodel.cpp
+ toolsmodel.h
+ toolssettingsaccessor.cpp
+ toolssettingsaccessor.h
+ toolssettingspage.cpp
+ toolssettingspage.h
+ toolssettingswidget.cpp
+ toolssettingswidget.h
+ tooltreeitem.cpp
+ tooltreeitem.h
+ toolwrapper.cpp
+ toolwrapper.h
+ versionhelper.h
)
file(RELATIVE_PATH RELATIVE_TEST_PATH "${PROJECT_BINARY_DIR}" "${CMAKE_CURRENT_BINARY_DIR}")
diff --git a/src/plugins/nim/CMakeLists.txt b/src/plugins/nim/CMakeLists.txt
index a7320e46184..02cf6356f4f 100644
--- a/src/plugins/nim/CMakeLists.txt
+++ b/src/plugins/nim/CMakeLists.txt
@@ -9,6 +9,7 @@ add_qtc_plugin(Nim
nim.qrc
nimconstants.h
nimplugin.cpp nimplugin.h
+ nimtr.h
project/nimblebuildstep.h project/nimblebuildstep.cpp
project/nimbleproject.h project/nimbleproject.cpp
project/nimblerunconfiguration.h project/nimblerunconfiguration.cpp
diff --git a/src/plugins/perforce/CMakeLists.txt b/src/plugins/perforce/CMakeLists.txt
index a24f97ec8c0..1cb8c6fd7aa 100644
--- a/src/plugins/perforce/CMakeLists.txt
+++ b/src/plugins/perforce/CMakeLists.txt
@@ -10,4 +10,5 @@ add_qtc_plugin(Perforce
perforcesettings.cpp perforcesettings.h
perforcesubmiteditor.cpp perforcesubmiteditor.h
perforcesubmiteditorwidget.cpp perforcesubmiteditorwidget.h
+ perforcetr.h
)
diff --git a/src/plugins/projectexplorer/CMakeLists.txt b/src/plugins/projectexplorer/CMakeLists.txt
index 491587d7766..e2bf33309ef 100644
--- a/src/plugins/projectexplorer/CMakeLists.txt
+++ b/src/plugins/projectexplorer/CMakeLists.txt
@@ -137,6 +137,7 @@ add_qtc_plugin(ProjectExplorer
projectexplorericons.cpp projectexplorericons.h
projectexplorersettings.h
projectexplorersettingspage.cpp projectexplorersettingspage.h
+ projectexplorertr.h
projectfilewizardextension.cpp projectfilewizardextension.h
projectimporter.cpp projectimporter.h
projectmacro.cpp projectmacro.h
diff --git a/src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
index c5a82b62a8a..45f8e682abc 100644
--- a/src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
+++ b/src/plugins/projectexplorer/jsonwizard/jsonfieldpage.cpp
@@ -627,7 +627,7 @@ void LineEditField::setupCompletion(FancyLineEdit *lineEdit)
&& !isReservedName(entry.extraInfo)
&& !entry.extraInfo.startsWith('~')
&& !entry.extraInfo.contains("Anonymous:")
- && !FilePath::fromString(entry.extraInfo).isAbsolutePath();
+ && !FilePath::fromUserInput(entry.extraInfo).isAbsolutePath();
const bool isBaseClassCandidate = !isReservedName(entry.displayName)
&& !entry.displayName.startsWith("Anonymous:");
if (isBaseClassCandidate)
diff --git a/src/plugins/python/CMakeLists.txt b/src/plugins/python/CMakeLists.txt
index c1f4767f83b..0e4ca944194 100644
--- a/src/plugins/python/CMakeLists.txt
+++ b/src/plugins/python/CMakeLists.txt
@@ -18,6 +18,7 @@ add_qtc_plugin(Python
pythonrunconfiguration.cpp pythonrunconfiguration.h
pythonscanner.cpp pythonscanner.h
pythonsettings.cpp pythonsettings.h
+ pythontr.h
pythonutils.cpp pythonutils.h
pythonwizardpage.cpp pythonwizardpage.h
)
diff --git a/src/plugins/python/pipsupport.cpp b/src/plugins/python/pipsupport.cpp
index e84e8f63a6d..7f420d245bf 100644
--- a/src/plugins/python/pipsupport.cpp
+++ b/src/plugins/python/pipsupport.cpp
@@ -156,20 +156,13 @@ Pip *Pip::instance(const FilePath &python)
return it.value();
}
-QFuture<PipPackageInfo> Pip::info(const PipPackage &package)
-{
- return Utils::asyncRun(&Pip::infoImpl, this, package);
-}
-
-PipPackageInfo Pip::infoImpl(const PipPackage &package)
+static PipPackageInfo infoImpl(const PipPackage &package, const FilePath &python)
{
PipPackageInfo result;
QtcProcess pip;
- pip.setCommand(CommandLine(m_python, {"-m", "pip", "show", "-f", package.packageName}));
- m_lock.lock();
+ pip.setCommand(CommandLine(python, {"-m", "pip", "show", "-f", package.packageName}));
pip.runBlocking();
- m_lock.unlock();
QString fieldName;
QStringList data;
const QString pipOutput = pip.allOutput();
@@ -193,6 +186,11 @@ PipPackageInfo Pip::infoImpl(const PipPackage &package)
return result;
}
+QFuture<PipPackageInfo> Pip::info(const PipPackage &package)
+{
+ return Utils::asyncRun(infoImpl, package, m_python);
+}
+
Pip::Pip(const Utils::FilePath &python)
: QObject(PythonPlugin::instance())
, m_python(python)
diff --git a/src/plugins/python/pipsupport.h b/src/plugins/python/pipsupport.h
index aa17edca82f..ea59519c325 100644
--- a/src/plugins/python/pipsupport.h
+++ b/src/plugins/python/pipsupport.h
@@ -55,9 +55,6 @@ public:
private:
Pip(const Utils::FilePath &python);
- PipPackageInfo infoImpl(const PipPackage &package);
-
- QMutex m_lock;
Utils::FilePath m_python;
};
diff --git a/src/plugins/python/pythonplugin.cpp b/src/plugins/python/pythonplugin.cpp
index 7eefbc5d4bd..1fd12def06e 100644
--- a/src/plugins/python/pythonplugin.cpp
+++ b/src/plugins/python/pythonplugin.cpp
@@ -18,9 +18,11 @@
#include <projectexplorer/taskhub.h>
#include <utils/fsengine/fileiconprovider.h>
+#include <utils/futuresynchronizer.h>
#include <utils/theme/theme.h>
using namespace ProjectExplorer;
+using namespace Utils;
namespace Python::Internal {
@@ -36,6 +38,7 @@ public:
PySideBuildConfigurationFactory buildConfigFactory;
SimpleTargetRunnerFactory runWorkerFactory{{runConfigFactory.runConfigurationId()}};
PythonSettings settings;
+ FutureSynchronizer m_futureSynchronizer;
};
PythonPlugin::PythonPlugin()
@@ -54,6 +57,12 @@ PythonPlugin *PythonPlugin::instance()
return m_instance;
}
+FutureSynchronizer *PythonPlugin::futureSynchronizer()
+{
+ QTC_ASSERT(m_instance, return nullptr);
+ return &m_instance->d->m_futureSynchronizer;
+}
+
void PythonPlugin::initialize()
{
d = new PythonPluginPrivate;
@@ -66,9 +75,9 @@ void PythonPlugin::initialize()
void PythonPlugin::extensionsInitialized()
{
// Add MIME overlay icons (these icons displayed at Project dock panel)
- QString imageFile = Utils::creatorTheme()->imageFile(Utils::Theme::IconOverlayPro,
- ::Constants::FILEOVERLAY_PY);
- Utils::FileIconProvider::registerIconOverlayForSuffix(imageFile, "py");
+ const QString imageFile = Utils::creatorTheme()->imageFile(Theme::IconOverlayPro,
+ ::Constants::FILEOVERLAY_PY);
+ FileIconProvider::registerIconOverlayForSuffix(imageFile, "py");
TaskHub::addCategory(PythonErrorTaskCategory, "Python", true);
}
diff --git a/src/plugins/python/pythonplugin.h b/src/plugins/python/pythonplugin.h
index ef0860bbca4..7c8ca121f3c 100644
--- a/src/plugins/python/pythonplugin.h
+++ b/src/plugins/python/pythonplugin.h
@@ -5,6 +5,8 @@
#include <extensionsystem/iplugin.h>
+namespace Utils { class FutureSynchronizer; }
+
namespace Python::Internal {
class PythonPlugin final : public ExtensionSystem::IPlugin
@@ -17,6 +19,7 @@ public:
~PythonPlugin() final;
static PythonPlugin *instance();
+ static Utils::FutureSynchronizer *futureSynchronizer();
private:
void initialize() final;
diff --git a/src/plugins/python/pythonrunconfiguration.cpp b/src/plugins/python/pythonrunconfiguration.cpp
index dc383961172..552d41128b3 100644
--- a/src/plugins/python/pythonrunconfiguration.cpp
+++ b/src/plugins/python/pythonrunconfiguration.cpp
@@ -9,6 +9,7 @@
#include "pysideuicextracompiler.h"
#include "pythonconstants.h"
#include "pythonlanguageclient.h"
+#include "pythonplugin.h"
#include "pythonproject.h"
#include "pythonsettings.h"
#include "pythontr.h"
@@ -31,6 +32,7 @@
#include <utils/aspects.h>
#include <utils/fileutils.h>
+#include <utils/futuresynchronizer.h>
#include <utils/layoutbuilder.h>
#include <utils/outputformatter.h>
#include <utils/theme/theme.h>
@@ -241,15 +243,12 @@ void PythonRunConfigurationPrivate::checkForPySide(const FilePath &python,
{
const PipPackage package(pySidePackageName);
QObject::disconnect(m_watcherConnection);
- m_watcherConnection = QObject::connect(&m_watcher,
- &QFutureWatcher<PipPackageInfo>::finished,
- q,
- [=]() {
- handlePySidePackageInfo(m_watcher.result(),
- python,
- pySidePackageName);
- });
- m_watcher.setFuture(Pip::instance(python)->info(package));
+ m_watcherConnection = QObject::connect(&m_watcher, &QFutureWatcherBase::finished, q, [=] {
+ handlePySidePackageInfo(m_watcher.result(), python, pySidePackageName);
+ });
+ const auto future = Pip::instance(python)->info(package);
+ m_watcher.setFuture(future);
+ PythonPlugin::futureSynchronizer()->addFuture(future);
}
void PythonRunConfigurationPrivate::handlePySidePackageInfo(const PipPackageInfo &pySideInfo,
diff --git a/src/plugins/qnx/CMakeLists.txt b/src/plugins/qnx/CMakeLists.txt
index c36c0db077d..7d842aa61ac 100644
--- a/src/plugins/qnx/CMakeLists.txt
+++ b/src/plugins/qnx/CMakeLists.txt
@@ -16,6 +16,7 @@ add_qtc_plugin(Qnx
qnxrunconfiguration.cpp qnxrunconfiguration.h
qnxsettingspage.cpp qnxsettingspage.h
qnxtoolchain.cpp qnxtoolchain.h
+ qnxtr.h
qnxutils.cpp qnxutils.h
qnxversionnumber.cpp qnxversionnumber.h
slog2inforunner.cpp slog2inforunner.h
diff --git a/src/plugins/remotelinux/CMakeLists.txt b/src/plugins/remotelinux/CMakeLists.txt
index dbb2b8e143d..f81f75350ac 100644
--- a/src/plugins/remotelinux/CMakeLists.txt
+++ b/src/plugins/remotelinux/CMakeLists.txt
@@ -25,6 +25,7 @@ add_qtc_plugin(RemoteLinux
remotelinuxplugin.cpp remotelinuxplugin.h
remotelinuxrunconfiguration.cpp remotelinuxrunconfiguration.h
remotelinuxsignaloperation.cpp remotelinuxsignaloperation.h
+ remotelinuxtr.h
rsyncdeploystep.cpp rsyncdeploystep.h
sshkeycreationdialog.cpp sshkeycreationdialog.h
tarpackagecreationstep.cpp tarpackagecreationstep.h
diff --git a/src/plugins/resourceeditor/CMakeLists.txt b/src/plugins/resourceeditor/CMakeLists.txt
index 1db8386ff0b..4697ab72eaa 100644
--- a/src/plugins/resourceeditor/CMakeLists.txt
+++ b/src/plugins/resourceeditor/CMakeLists.txt
@@ -10,6 +10,7 @@ add_qtc_plugin(ResourceEditor
resourceeditorconstants.h
resourceeditorfactory.cpp resourceeditorfactory.h
resourceeditorplugin.cpp resourceeditorplugin.h
+ resourceeditortr.h
resourceeditorw.cpp resourceeditorw.h
resourcenode.cpp resourcenode.h
)
diff --git a/src/plugins/serialterminal/CMakeLists.txt b/src/plugins/serialterminal/CMakeLists.txt
index dc801e4af42..31dccffe00d 100644
--- a/src/plugins/serialterminal/CMakeLists.txt
+++ b/src/plugins/serialterminal/CMakeLists.txt
@@ -10,4 +10,5 @@ add_qtc_plugin(SerialTerminal
serialterminalconstants.h
serialterminalplugin.cpp serialterminalplugin.h
serialterminalsettings.cpp serialterminalsettings.h
+ serialterminaltr.h
)
diff --git a/src/plugins/silversearcher/CMakeLists.txt b/src/plugins/silversearcher/CMakeLists.txt
index bff78e573a8..7cc12ebb294 100644
--- a/src/plugins/silversearcher/CMakeLists.txt
+++ b/src/plugins/silversearcher/CMakeLists.txt
@@ -4,6 +4,7 @@ add_qtc_plugin(SilverSearcher
findinfilessilversearcher.cpp findinfilessilversearcher.h
silversearcheroutputparser.cpp silversearcheroutputparser.h
silversearcherplugin.cpp silversearcherplugin.h
+ silversearchertr.h
)
extend_qtc_plugin(SilverSearcher CONDITION WITH_TESTS
diff --git a/src/plugins/subversion/CMakeLists.txt b/src/plugins/subversion/CMakeLists.txt
index 816d0089e98..4b309761ed9 100644
--- a/src/plugins/subversion/CMakeLists.txt
+++ b/src/plugins/subversion/CMakeLists.txt
@@ -8,4 +8,5 @@ add_qtc_plugin(Subversion
subversionplugin.cpp subversionplugin.h
subversionsettings.cpp subversionsettings.h
subversionsubmiteditor.cpp subversionsubmiteditor.h
+ subversiontr.h
)
diff --git a/src/plugins/texteditor/codestyleeditor.cpp b/src/plugins/texteditor/codestyleeditor.cpp
index d36e9a4bfda..6aaf5ae9483 100644
--- a/src/plugins/texteditor/codestyleeditor.cpp
+++ b/src/plugins/texteditor/codestyleeditor.cpp
@@ -31,7 +31,9 @@ CodeStyleEditor::CodeStyleEditor(ICodeStylePreferencesFactory *factory,
m_layout = new QVBoxLayout(this);
auto selector = new CodeStyleSelectorWidget(factory, project, this);
selector->setCodeStyle(codeStyle);
- m_additionalGlobalSettingsWidget = factory->createAdditionalGlobalSettings(project, parent);
+ m_additionalGlobalSettingsWidget = factory->createAdditionalGlobalSettings(codeStyle,
+ project,
+ parent);
if (m_additionalGlobalSettingsWidget)
m_layout->addWidget(m_additionalGlobalSettingsWidget);
diff --git a/src/plugins/texteditor/icodestylepreferences.cpp b/src/plugins/texteditor/icodestylepreferences.cpp
index e0ab8bbd3dd..931714b71c5 100644
--- a/src/plugins/texteditor/icodestylepreferences.cpp
+++ b/src/plugins/texteditor/icodestylepreferences.cpp
@@ -24,6 +24,7 @@ public:
QByteArray m_id;
QString m_displayName;
bool m_readOnly = false;
+ bool m_temporarilyReadOnly = false;
QString m_settingsSuffix;
};
@@ -71,6 +72,16 @@ void ICodeStylePreferences::setReadOnly(bool on)
d->m_readOnly = on;
}
+void ICodeStylePreferences::setTemporarilyReadOnly(bool on)
+{
+ d->m_temporarilyReadOnly = on;
+}
+
+bool ICodeStylePreferences::isTemporarilyReadOnly() const
+{
+ return d->m_temporarilyReadOnly;
+}
+
void ICodeStylePreferences::setTabSettings(const TabSettings &settings)
{
if (d->m_tabSettings == settings)
diff --git a/src/plugins/texteditor/icodestylepreferences.h b/src/plugins/texteditor/icodestylepreferences.h
index 8d7a0102882..1c363903445 100644
--- a/src/plugins/texteditor/icodestylepreferences.h
+++ b/src/plugins/texteditor/icodestylepreferences.h
@@ -37,6 +37,9 @@ public:
bool isReadOnly() const;
void setReadOnly(bool on);
+ bool isTemporarilyReadOnly() const;
+ void setTemporarilyReadOnly(bool on);
+
void setTabSettings(const TabSettings &settings);
TabSettings tabSettings() const;
TabSettings currentTabSettings() const;
diff --git a/src/plugins/texteditor/icodestylepreferencesfactory.cpp b/src/plugins/texteditor/icodestylepreferencesfactory.cpp
index dc876fc3e15..19f35338071 100644
--- a/src/plugins/texteditor/icodestylepreferencesfactory.cpp
+++ b/src/plugins/texteditor/icodestylepreferencesfactory.cpp
@@ -18,7 +18,7 @@ CodeStyleEditorWidget *ICodeStylePreferencesFactory::createCodeStyleEditor(
}
CodeStyleEditorWidget *ICodeStylePreferencesFactory::createAdditionalGlobalSettings(
- ProjectExplorer::Project *, QWidget *)
+ ICodeStylePreferences *, ProjectExplorer::Project *, QWidget *)
{
return nullptr;
}
diff --git a/src/plugins/texteditor/icodestylepreferencesfactory.h b/src/plugins/texteditor/icodestylepreferencesfactory.h
index ead42985039..6a4c7f2f54f 100644
--- a/src/plugins/texteditor/icodestylepreferencesfactory.h
+++ b/src/plugins/texteditor/icodestylepreferencesfactory.h
@@ -40,8 +40,10 @@ public:
virtual CodeStyleEditorWidget *createCodeStyleEditor(ICodeStylePreferences *codeStyle,
ProjectExplorer::Project *project = nullptr,
QWidget *parent = nullptr);
- virtual CodeStyleEditorWidget *createAdditionalGlobalSettings(
- ProjectExplorer::Project *project = nullptr, QWidget *parent = nullptr);
+ virtual CodeStyleEditorWidget *createAdditionalGlobalSettings(ICodeStylePreferences *codeStyle,
+ ProjectExplorer::Project *project
+ = nullptr,
+ QWidget *parent = nullptr);
virtual Utils::Id languageId() = 0;
virtual QString displayName() = 0;
virtual ICodeStylePreferences *createCodeStyle() const = 0;
diff --git a/src/plugins/texteditor/textmark.h b/src/plugins/texteditor/textmark.h
index 927255161d5..b6fb4731cb6 100644
--- a/src/plugins/texteditor/textmark.h
+++ b/src/plugins/texteditor/textmark.h
@@ -115,7 +115,7 @@ public:
void setActions(const QVector<QAction *> &actions); // Takes ownership
void setActionsProvider(const std::function<QList<QAction *>()> &actionsProvider); // Takes ownership
- bool isLocationMarker() const;;
+ bool isLocationMarker() const;
void setIsLocationMarker(bool newIsLocationMarker);
diff --git a/src/plugins/todo/CMakeLists.txt b/src/plugins/todo/CMakeLists.txt
index 149488b589e..cc8b72a2d66 100644
--- a/src/plugins/todo/CMakeLists.txt
+++ b/src/plugins/todo/CMakeLists.txt
@@ -21,4 +21,5 @@ add_qtc_plugin(Todo
todoplugin.cpp todoplugin.h
todoplugin.qrc
todoprojectsettingswidget.cpp todoprojectsettingswidget.h
+ todotr.h
)
diff --git a/src/plugins/valgrind/CMakeLists.txt b/src/plugins/valgrind/CMakeLists.txt
index dfe2620cae9..3e1f149730f 100644
--- a/src/plugins/valgrind/CMakeLists.txt
+++ b/src/plugins/valgrind/CMakeLists.txt
@@ -31,6 +31,7 @@ add_qtc_plugin(Valgrind
valgrindplugin.cpp
valgrindrunner.cpp valgrindrunner.h
valgrindsettings.cpp valgrindsettings.h
+ valgrindtr.h
xmlprotocol/announcethread.cpp xmlprotocol/announcethread.h
xmlprotocol/error.cpp xmlprotocol/error.h
xmlprotocol/errorlistmodel.cpp xmlprotocol/errorlistmodel.h
diff --git a/src/plugins/welcome/CMakeLists.txt b/src/plugins/welcome/CMakeLists.txt
index 4b073015813..e72fe90f2d4 100644
--- a/src/plugins/welcome/CMakeLists.txt
+++ b/src/plugins/welcome/CMakeLists.txt
@@ -5,4 +5,5 @@ add_qtc_plugin(Welcome
introductionwidget.cpp introductionwidget.h
welcome.qrc
welcomeplugin.cpp
+ welcometr.h
)
diff --git a/src/shared/qbs b/src/shared/qbs
-Subproject 0319b0acc7a11f9ba84d8708d8e88575470ca75
+Subproject 289aac0aa1cccb2ef66a17f572aeb59236c6bd2
diff --git a/tests/system/shared/build_utils.py b/tests/system/shared/build_utils.py
index 4cf1bf82dcb..74063c72f9f 100644
--- a/tests/system/shared/build_utils.py
+++ b/tests/system/shared/build_utils.py
@@ -23,14 +23,17 @@ def toggleIssuesFilter(filterName, checked):
test.log("Exception while toggling filter '%s'" % filterName,
"%s(%s)" % (str(t), str(v)))
-def getBuildIssues():
+
+def getBuildIssues(ignoreCodeModel=True):
ensureChecked(":Qt Creator_Issues_Core::Internal::OutputPaneToggleButton")
model = waitForObject(":Qt Creator.Issues_QListView").model()
- # filter out possible code model issues present inside the Issues pane
- toggleIssuesFilter("Clang Code Model", False)
+ if ignoreCodeModel:
+ # filter out possible code model issues present inside the Issues pane
+ toggleIssuesFilter("Clang Code Model", False)
result = dumpBuildIssues(model)
- # reset the filter
- toggleIssuesFilter("Clang Code Model", True)
+ if ignoreCodeModel:
+ # reset the filter
+ toggleIssuesFilter("Clang Code Model", True)
return result
# this method checks the last build (if there's one) and logs the number of errors, warnings and
diff --git a/tests/system/shared/project_explorer.py b/tests/system/shared/project_explorer.py
index 8f50fae7e62..447b8057d5b 100644
--- a/tests/system/shared/project_explorer.py
+++ b/tests/system/shared/project_explorer.py
@@ -96,16 +96,33 @@ def getExecutableAndTargetFromToolTip(toolTip):
return None, target
return exe.group(1).strip(), target
+
+# treeElement is the dot-separated tree to the wanted element, e.g.
+# root.first.second.leaf
+def waitForProjectTreeItem(treeElement, timeoutMSec):
+ projectTV = ":Qt Creator_Utils::NavigationTreeView"
+ projItem = None
+ treeElementWithBranch = addBranchWildcardToRoot(treeElement)
+ for _ in range(__builtins__.int(timeoutMSec / 200)):
+ try:
+ projItem = waitForObjectItem(projectTV, treeElement, 100)
+ except:
+ try:
+ projItem = waitForObjectItem(projectTV, treeElementWithBranch, 100)
+ except:
+ pass
+ if projItem:
+ return projItem
+ raise LookupError("Could not find project tree element: %s or %s"
+ % (treeElement, treeElementWithBranch))
+
+
def invokeContextMenuOnProject(projectName, menuItem):
try:
- projItem = waitForObjectItem(":Qt Creator_Utils::NavigationTreeView", projectName, 3000)
+ projItem = waitForProjectTreeItem(projectName, 4000)
except:
- try:
- projItem = waitForObjectItem(":Qt Creator_Utils::NavigationTreeView",
- addBranchWildcardToRoot(projectName), 1000)
- except:
- test.fatal("Failed to find root node of the project '%s'." % projectName)
- return
+ test.fatal("Failed to find root node of the project '%s'." % projectName)
+ return
openItemContextMenu(waitForObject(":Qt Creator_Utils::NavigationTreeView"),
str(projItem.text).replace("_", "\\_").replace(".", "\\."), 5, 5, 0)
activateItem(waitForObjectItem("{name='Project.Menu.Project' type='QMenu' visible='1'}", menuItem))
diff --git a/tests/system/shared/qtcreator.py b/tests/system/shared/qtcreator.py
index f82f3c6e09d..543c3c7ad4f 100644
--- a/tests/system/shared/qtcreator.py
+++ b/tests/system/shared/qtcreator.py
@@ -248,7 +248,9 @@ def substituteMsvcPaths(settingsDir, version, targetBitness=64):
try:
msvcPath = os.path.join("C:\\Program Files (x86)", "Microsoft Visual Studio",
version, msvcFlavor, "VC", "Tools", "MSVC")
- msvcPath = os.path.join(msvcPath, os.listdir(msvcPath)[0], "bin", hostArch, targetArch)
+ foundVersions = os.listdir(msvcPath) # undetermined order
+ foundVersions.sort(reverse=True) # we explicitly want the latest and greatest
+ msvcPath = os.path.join(msvcPath, foundVersions[0], "bin", hostArch, targetArch)
__substitute__(os.path.join(settingsDir, "QtProject", 'qtcreator', 'toolchains.xml'),
"SQUISH_MSVC%s_%d_PATH" % (version, targetBitness), msvcPath)
return
diff --git a/tests/system/suite_QMLS/tst_QMLS04/test.py b/tests/system/suite_QMLS/tst_QMLS04/test.py
index 2b64a54bf1e..351b59ac638 100644
--- a/tests/system/suite_QMLS/tst_QMLS04/test.py
+++ b/tests/system/suite_QMLS/tst_QMLS04/test.py
@@ -41,15 +41,18 @@ def main():
# there should be new QML file generated with name "MyComponent.qml"
try:
# openDocument() doesn't wait for expected elements, so it might be faster than the updates
- # to the tree. Explicitly wait here to avoid timing issues. Using wFOI() instead of
+ # to the tree. Explicitly wait here to avoid timing issues. Using wFPTI() instead of
# snooze() allows to proceed earlier, just in case it can find the item.
- waitForObjectItem(":Qt Creator_Utils::NavigationTreeView",
- addBranchWildcardToRoot(myCompTE), 2000)
+ waitForProjectTreeItem(myCompTE, 2000)
except:
pass
# open MyComponent.qml file for verification
- if not test.verify(openDocument(myCompTE),
- "Was MyComponent.qml properly generated in project explorer?"):
+ docOpened = openDocument(myCompTE)
+ if JIRA.isBugStillOpen(28985):
+ test.xverify(docOpened, "Was MyComponent.qml properly generated in project explorer?")
+ saveAndExit()
+ return
+ if not test.verify(docOpened, "Was MyComponent.qml properly generated in project explorer?"):
test.fatal("Could not open MyComponent.qml.")
saveAndExit()
return
diff --git a/tests/system/suite_debugger/tst_build_new_project/test.py b/tests/system/suite_debugger/tst_build_new_project/test.py
index 86d0c1b5f38..ca0d6f70879 100644
--- a/tests/system/suite_debugger/tst_build_new_project/test.py
+++ b/tests/system/suite_debugger/tst_build_new_project/test.py
@@ -19,9 +19,6 @@ def main():
if platform.system() in ('Microsoft', 'Windows'):
expectConfigureToFail = [ Targets.DESKTOP_5_4_1_GCC ] # gcc 4.9 does not know C++17
- # Qt5.10 does not default enable C++17
- expectBuildToFail = [ Targets.DESKTOP_5_10_1_DEFAULT ]
-
for kit, config in availableConfigs:
selectBuildConfig(kit, config)
test.log("Testing build configuration: " + config)
diff --git a/tests/system/suite_editors/tst_generic_highlighter/test.py b/tests/system/suite_editors/tst_generic_highlighter/test.py
index 2e822a966f9..ea6c7aee406 100644
--- a/tests/system/suite_editors/tst_generic_highlighter/test.py
+++ b/tests/system/suite_editors/tst_generic_highlighter/test.py
@@ -99,10 +99,12 @@ def addHighlighterDefinition(*languages):
"text='Generic Highlighter'}")
clickOnTab(":Options.qt_tabwidget_tabbar_QTabBar", "Generic Highlighter")
+ test.log("Trying to download definitions...")
clickButton("{text='Download Definitions' type='QPushButton' unnamed='1' visible='1'}")
updateStatus = "{name='updateStatus' type='QLabel' visible='1'}"
waitFor("object.exists(updateStatus)", 5000)
- if waitFor('str(findObject(updateStatus).text) == "Download finished"', 5000):
+ if waitFor('str(findObject(updateStatus).text) == "Download finished"', 20000):
+ test.log("Received definitions")
test.verify(os.path.exists(syntaxDirectory),
"Directory for syntax highlighter files exists.")
xmlFiles = glob.glob(os.path.join(syntaxDirectory, "*.xml"))
diff --git a/tests/system/suite_editors/tst_memberoperator/test.py b/tests/system/suite_editors/tst_memberoperator/test.py
index cbdf411f144..ba1f1476850 100644
--- a/tests/system/suite_editors/tst_memberoperator/test.py
+++ b/tests/system/suite_editors/tst_memberoperator/test.py
@@ -25,7 +25,7 @@ def __noBuildIssues__():
def __syntaxErrorDetected__():
- buildIssues = getBuildIssues()
+ buildIssues = getBuildIssues(False)
for issue in buildIssues:
if issue[3] in ["Expected ';' after expression (fix available)",
"Expected ';' at end of declaration (fix available)",
diff --git a/tests/system/suite_editors/tst_rename_macros/test.py b/tests/system/suite_editors/tst_rename_macros/test.py
index 0ad013cc9a2..49737f3b492 100644
--- a/tests/system/suite_editors/tst_rename_macros/test.py
+++ b/tests/system/suite_editors/tst_rename_macros/test.py
@@ -78,6 +78,7 @@ def testRenameMacroAfterSourceMoving():
if not content:
return False
formerTexts["testfiles.Headers.testfile\\.h"] = content
+ waitForProjectTreeItem("testfiles.Headers.anothertestfile\\.h", 5000)
content = openDocumentPlaceCursor("testfiles.Headers.anothertestfile\\.h",
"#define ANOTHERTESTFILE_H", __paste__)
if not content:
diff --git a/tests/system/suite_general/tst_default_settings/test.py b/tests/system/suite_general/tst_default_settings/test.py
index c084e7b83c0..10a31534535 100644
--- a/tests/system/suite_general/tst_default_settings/test.py
+++ b/tests/system/suite_general/tst_default_settings/test.py
@@ -142,6 +142,10 @@ def __qtFunc__(it, foundQt, qmakePath):
def __kitFunc__(it, foundQt, foundCompNames):
global currentSelectedTreeItem, warningOrError
qtVersionStr = str(waitForObjectExists(":Kits_QtVersion_QComboBox").currentText)
+ # The following may fail if Creator doesn't find a Qt version in PATH. It will then create one
+ # Qt-less kit for each available toolchain instead of just one default Desktop kit.
+ # Since Qt usually is in PATH on the test machines anyway, we consider this too much of a
+ # corner case to add error handling code or make Qt in PATH a hard requirement for the tests.
test.compare(it, "Desktop (default)", "Verifying whether default Desktop kit has been created.")
if foundQt:
test.compare(qtVersionStr, foundQt, "Verifying if Qt versions match.")