forked from qt-creator/qt-creator
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
This commit is contained in:
8
.github/workflows/build_cmake.yml
vendored
8
.github/workflows/build_cmake.yml
vendored
@@ -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")
|
||||
|
@@ -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)
|
||||
|
@@ -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"
|
||||
|
3
dist/installer/mac/entitlements.plist
vendored
3
dist/installer/mac/entitlements.plist
vendored
@@ -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>
|
||||
|
@@ -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)
|
||||
|
@@ -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)
|
||||
|
@@ -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}
|
||||
)
|
||||
|
@@ -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-"
|
||||
|
@@ -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,
|
||||
|
@@ -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
|
||||
|
@@ -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,6 +201,13 @@ def std_1_string_dumper(d, value):
|
||||
if not size_mode:
|
||||
raise Exception("Could not find size_mode")
|
||||
|
||||
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)
|
||||
|
||||
@@ -209,8 +217,13 @@ def std_1_string_dumper(d, value):
|
||||
if not s:
|
||||
raise Exception("Could not find s")
|
||||
|
||||
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:
|
||||
|
@@ -47,7 +47,7 @@ CONFIG += thread
|
||||
CONFIG -= qt
|
||||
|
||||
SOURCES += \\
|
||||
%{MainCppName} \
|
||||
%{MainCppName} \\
|
||||
%{TestCaseFileGTestWithCppSuffix}
|
||||
@endif
|
||||
@if "%{TestFrameWork}" == "BoostTest"
|
||||
|
@@ -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})
|
||||
|
||||
|
@@ -36,4 +36,6 @@ endif()
|
||||
@endif
|
||||
|
||||
install(TARGETS %{ProjectName}
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
||||
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
)
|
||||
|
@@ -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}
|
||||
)
|
||||
|
@@ -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}
|
||||
)
|
||||
|
@@ -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}
|
||||
)
|
||||
|
@@ -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})
|
||||
|
@@ -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 "debug" or "release" 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 "%1" exited normally.</source>
|
||||
<translation type="unfinished">Der Prozess "%1" wurde normal beendet.</translation>
|
||||
<translation>Der Prozess "%1" wurde normal beendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The process "%1" exited with code %2.</source>
|
||||
<translation type="unfinished">Der Prozess "%1" wurde mit dem Rückgabewert %2 beendet.</translation>
|
||||
<translation>Der Prozess "%1" wurde mit dem Rückgabewert %2 beendet.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Could not start process "%1" %2.</source>
|
||||
<translation type="unfinished">Der Prozess "%1" %2 konnte nicht gestartet werden.</translation>
|
||||
<translation>Der Prozess "%1" %2 konnte nicht gestartet werden.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The process "%1" crashed.</source>
|
||||
<translation type="unfinished">Der Prozess "%1" ist abgestürzt.</translation>
|
||||
<translation>Der Prozess "%1" 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 "%1": The currently selected kit "%2" does not have a valid Qt.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Die Auswertung des Projekts "%1" ist fehlgeschlagen: Das ausgewählte Kit "%2" hat keine gültige Qt-Version.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cannot parse project "%1": No kit selected.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Die Auswertung des Projekts "%1" 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 "%1"</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Das Ausgabeverzeichnis "%1" 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 "%1"</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'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'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 '%1' of QML module '%2' 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 'Package/Name major.minor' or 'Name major.minor'.</source>
|
||||
<translation>Das Zeichenkettenliteral sollte 'Package/Name major.minor' oder 'Name major.minor' enthalten./</translation>
|
||||
<translation>Das Zeichenkettenliteral sollte 'Package/Name major.minor' oder 'Name major.minor' enthalten.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Expected array of numbers after colon.</source>
|
||||
@@ -42278,87 +42288,87 @@ Weitere Informationen finden Sie auf der Dokumentationsseite "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 "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 "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 "Allgemeine Ausgaben", 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 "// @uri My.Module.Uri" 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 "// @uri My.Module.Uri" 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 <RCC> root element is missing.</source>
|
||||
<translation type="unfinished">Das Wurzelelement (<RCC>) fehlt.</translation>
|
||||
<translation>Das Wurzelelement (<RCC>) 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>&Line length:</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>&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>
|
||||
|
@@ -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 <i>brief</i> 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 "abort"</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><html><head/><body><p>Selecting this enables reverse debugging.</p><.p><b>Note:</b> 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.</p><body></html></source>
|
||||
<translation type="obsolete"><html><head/><body><p>這個選項會開啟反向除錯。</p><.p><b>注意:</b>這個功能會造成速度變很慢,並且在 GDB 端會變得不穩定。它在跑回系統呼叫時,行為會變得無法預測,並且可能會毀掉您的除錯工作階段。</p><body></html></translation>
|
||||
<translation type="obsolete"><html><head/><body><p>這個選項會啟用反向除錯。</p><.p><b>注意:</b>這個功能會造成速度變很慢,並且在 GDB 端會變得不穩定。它在跑回系統呼叫時,行為會變得無法預測,並且可能會毀掉您的除錯工作階段。</p><body></html></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 '%1' is disabled: %2<br></source>
|
||||
<translation>建置 '%1' 已被關閉:%2<br></translation>
|
||||
<translation>已停用建置 "%1":%2<br></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A build is in progress</source>
|
||||
@@ -7092,7 +7092,7 @@ Do you want to ignore them?</source>
|
||||
<message>
|
||||
<source>Building '%1' is disabled: %2
|
||||
</source>
|
||||
<translation>建置 '%1' 已被關閉:%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 &Wrapping</source>
|
||||
<translation>開啟文字折行(&W)</translation>
|
||||
<translation>啟用文字折行(&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><i>jom</i> is a drop-in replacement for <i>nmake</i> which distributes the compilation process to multiple CPU cores. The latest binary is available at <a href="ftp://ftp.qt.nokia.com/jom/">ftp://ftp.qt.nokia.com/jom/</a>. Disable it if you experience problems with your builds.</source>
|
||||
<translation type="obsolete"><i>jom</i> 是 <i>nmake</i> 的替代品。它會自動將編譯工作分配給多個 CPU。最新版的執行檔可以在 <a href="ftp://ftp.qt.nokia.com/jom/">ftp://ftp.qt.nokia.com/jom/</a>取得。若是您的建置過程出現問題,請試著將它關閉。</translation>
|
||||
<translation type="obsolete"><i>jom</i> 是 <i>nmake</i> 的替代品。它會自動將編譯工作分配給多個 CPU。最新版的執行檔可以在 <a href="ftp://ftp.qt.nokia.com/jom/">ftp://ftp.qt.nokia.com/jom/</a>取得。若是您的建置過程出現問題,請試著將它停用。</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 允許使用 '\n' 來區隔多個命令序列。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Enabled:</source>
|
||||
<translation>已開啟(&E):</translation>
|
||||
<translation>已啟用(&E):</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&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 '%1', which is disabled.</source>
|
||||
<translation type="obsolete">應用程式需要除錯工具引擎 "%1",但是被關閉了。</translation>
|
||||
<translation type="obsolete">應用程式需要除錯工具引擎 "%1",但是被停用了。</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 '%1' is disabled.</source>
|
||||
<translation type="obsolete">除錯引擎 '%1' 已關閉。</translation>
|
||||
<translation type="obsolete">除錯引擎 '%1' 已停用。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The debugger engine '%1' required for debugging binaries of the type '%2' 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 '%1' changed to 'enabled'.</source>
|
||||
<translation type="obsolete">'%1' 的狀態轉變為「已開啟」。</translation>
|
||||
<translation type="obsolete">'%1' 的狀態轉變為「已啟用」。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status of '%1' changed to 'not connected'.</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 +
|
||||
</pre>
|
||||
</body></html></source>
|
||||
<translation type="unfinished"><html><head/><body>
|
||||
開啟對齊方式類似於 =, += 等. 當選項被禁用時, 標準的續行縮排將會被啟用.<br>
|
||||
啟用對齊方式類似於 =, += 等. 當選項被停用時, 標準的續行縮排將會被啟用.<br>
|
||||
<br>
|
||||
有對齊:
|
||||
<pre>
|
||||
@@ -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><html><head/><body>
|
||||
@@ -20487,7 +20487,7 @@ With cache simulation, further event counters are enabled:
|
||||
"Bi"/"Bim")</li></ul></body></html></source>
|
||||
<translation type="unfinished"><html><head/><body>
|
||||
<p>做分支預測模擬.</p>
|
||||
<p>更多項計數將被開啟: </p>
|
||||
<p>更多項計數將被啟用: </p>
|
||||
<ul><li>有條件的分支和相關的預測將丟失(
|
||||
"Bc"/"Bcm")</li>
|
||||
<li>執行的間接跳轉和相關的跳轉地址預測將丟失(
|
||||
@@ -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 '%1'. 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's directory name:</source>
|
||||
@@ -24962,7 +24962,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable automatic &indentation</source>
|
||||
<translation>開啟自動縮排(&I)</translation>
|
||||
<translation>啟用自動縮排(&I)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Backspace indentation:</source>
|
||||
@@ -25112,15 +25112,15 @@ Specifies how backspace interacts with indentation.
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable &mouse navigation</source>
|
||||
<translation>開啟滑鼠導覽(&M)</translation>
|
||||
<translation>啟用滑鼠導覽(&M)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable scroll &wheel zooming</source>
|
||||
<translation>開啟滑鼠滾輪縮放(&W)</translation>
|
||||
<translation>啟用滑鼠滾輪縮放(&W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable built-in camel case &navigation</source>
|
||||
<translation>開啟內建的駝峰式大小寫導覽(&N)</translation>
|
||||
<translation>啟用內建的駝峰式大小寫導覽(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show help tooltips:</source>
|
||||
@@ -25208,7 +25208,7 @@ Specifies how backspace interacts with indentation.
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable text &wrapping</source>
|
||||
<translation>開啟文字折行(&W)</translation>
|
||||
<translation>啟用文字折行(&W)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Display right &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. "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><html>Qt Creator has set up the following files to enable packaging:
|
||||
%1
|
||||
Do you want to add them to the project?</html></source>
|
||||
<translation type="unfinished"><html>Qt Creator 設定了以下的檔案來開啟打包功能:
|
||||
<translation type="unfinished"><html>Qt Creator 設定了以下的檔案來啟用打包功能:
|
||||
%1
|
||||
您要將它們新增到專案中嗎?</html></translation>
|
||||
</message>
|
||||
@@ -30186,7 +30186,7 @@ Qt Creator 知道一個相似的URI.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enabled</source>
|
||||
<translation type="unfinished">已開啟</translation>
|
||||
<translation>已啟用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><b>Deploy packages</b></source>
|
||||
|
@@ -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;
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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,22 +523,57 @@ 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());
|
||||
|
||||
// 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,
|
||||
|
@@ -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,
|
||||
|
@@ -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);
|
||||
|
@@ -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());
|
||||
|
@@ -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
|
||||
|
@@ -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();
|
||||
|
@@ -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());
|
||||
});
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
}
|
||||
};
|
||||
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -5,4 +5,5 @@ add_qtc_plugin(Conan
|
||||
conaninstallstep.cpp conaninstallstep.h
|
||||
conanplugin.cpp conanplugin.h
|
||||
conansettings.cpp conansettings.h
|
||||
conantr.h
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -15,6 +15,7 @@ add_qtc_plugin(CtfVisualizer
|
||||
ctfstatisticsview.h
|
||||
ctfvisualizerplugin.h
|
||||
ctfvisualizertool.h
|
||||
ctfvisualizertr.h
|
||||
ctftimelinemodel.h
|
||||
ctftracemanager.h
|
||||
ctfvisualizerconstants.h
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -4,4 +4,5 @@ add_qtc_plugin(EmacsKeys
|
||||
emacskeysconstants.h
|
||||
emacskeysplugin.cpp emacskeysplugin.h
|
||||
emacskeysstate.cpp emacskeysstate.h
|
||||
emacskeystr.h
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -3,5 +3,6 @@ add_qtc_plugin(HelloWorld
|
||||
PLUGIN_DEPENDS Core
|
||||
SOURCES
|
||||
helloworldplugin.cpp helloworldplugin.h
|
||||
helloworldtr.h
|
||||
helloworldwindow.cpp helloworldwindow.h
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -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();
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -2,6 +2,7 @@ add_qtc_plugin(Marketplace
|
||||
PLUGIN_DEPENDS Core
|
||||
SOURCES
|
||||
marketplaceplugin.h
|
||||
marketplacetr.h
|
||||
productlistmodel.cpp productlistmodel.h
|
||||
qtmarketplacewelcomepage.cpp qtmarketplacewelcomepage.h
|
||||
)
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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
|
||||
buildoptions.h
|
||||
target.h
|
||||
mesoninfo.h
|
||||
common.h
|
||||
buildoptionsparser.h
|
||||
buildsystemfilesparser.h
|
||||
infoparser.h
|
||||
targetparser.h
|
||||
kitdata.h
|
||||
kithelper.h
|
||||
mesonproject.h
|
||||
mesonproject.cpp
|
||||
mesonprojectimporter.h
|
||||
mesonprojectimporter.cpp
|
||||
mesonbuildsystem.h
|
||||
mesonbuildsystem.cpp
|
||||
mesonprojectparser.h
|
||||
mesonprojectparser.cpp
|
||||
mesonbuildconfiguration.h
|
||||
mesonbuildconfiguration.cpp
|
||||
ninjabuildstep.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
|
||||
ninjaparser.cpp
|
||||
mesonrunconfiguration.h
|
||||
mesonrunconfiguration.cpp
|
||||
projecttree.h
|
||||
projecttree.cpp
|
||||
mesonprojectnodes.h
|
||||
mesonprojectnodes.cpp
|
||||
machinefilemanager.h
|
||||
buildoptions.h
|
||||
buildoptionsmodel.cpp
|
||||
buildoptionsmodel.h
|
||||
buildoptionsparser.h
|
||||
buildsystemfilesparser.h
|
||||
common.h
|
||||
infoparser.h
|
||||
kitdata.h
|
||||
kithelper.h
|
||||
machinefilemanager.cpp
|
||||
nativefilegenerator.h
|
||||
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
|
||||
mesonproject.h
|
||||
mesonprojectimporter.cpp
|
||||
mesonprojectimporter.h
|
||||
mesonprojectmanagertr.h
|
||||
mesonprojectnodes.cpp
|
||||
mesonprojectnodes.h
|
||||
mesonprojectparser.cpp
|
||||
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
|
||||
ninjabuildstep.h
|
||||
ninjaparser.cpp
|
||||
ninjaparser.h
|
||||
ninjatoolkitaspect.cpp
|
||||
ninjatoolkitaspect.h
|
||||
ninjawrapper.h
|
||||
projecttree.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}")
|
||||
|
@@ -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
|
||||
|
@@ -10,4 +10,5 @@ add_qtc_plugin(Perforce
|
||||
perforcesettings.cpp perforcesettings.h
|
||||
perforcesubmiteditor.cpp perforcesubmiteditor.h
|
||||
perforcesubmiteditorwidget.cpp perforcesubmiteditorwidget.h
|
||||
perforcetr.h
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -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)
|
||||
|
@@ -55,9 +55,6 @@ public:
|
||||
private:
|
||||
Pip(const Utils::FilePath &python);
|
||||
|
||||
PipPackageInfo infoImpl(const PipPackage &package);
|
||||
|
||||
QMutex m_lock;
|
||||
Utils::FilePath m_python;
|
||||
};
|
||||
|
||||
|
@@ -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,
|
||||
const QString imageFile = Utils::creatorTheme()->imageFile(Theme::IconOverlayPro,
|
||||
::Constants::FILEOVERLAY_PY);
|
||||
Utils::FileIconProvider::registerIconOverlayForSuffix(imageFile, "py");
|
||||
FileIconProvider::registerIconOverlayForSuffix(imageFile, "py");
|
||||
|
||||
TaskHub::addCategory(PythonErrorTaskCategory, "Python", true);
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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_watcherConnection = QObject::connect(&m_watcher, &QFutureWatcherBase::finished, q, [=] {
|
||||
handlePySidePackageInfo(m_watcher.result(), python, pySidePackageName);
|
||||
});
|
||||
m_watcher.setFuture(Pip::instance(python)->info(package));
|
||||
const auto future = Pip::instance(python)->info(package);
|
||||
m_watcher.setFuture(future);
|
||||
PythonPlugin::futureSynchronizer()->addFuture(future);
|
||||
}
|
||||
|
||||
void PythonRunConfigurationPrivate::handlePySidePackageInfo(const PipPackageInfo &pySideInfo,
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
)
|
||||
|
@@ -10,4 +10,5 @@ add_qtc_plugin(SerialTerminal
|
||||
serialterminalconstants.h
|
||||
serialterminalplugin.cpp serialterminalplugin.h
|
||||
serialterminalsettings.cpp serialterminalsettings.h
|
||||
serialterminaltr.h
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -8,4 +8,5 @@ add_qtc_plugin(Subversion
|
||||
subversionplugin.cpp subversionplugin.h
|
||||
subversionsettings.cpp subversionsettings.h
|
||||
subversionsubmiteditor.cpp subversionsubmiteditor.h
|
||||
subversiontr.h
|
||||
)
|
||||
|
@@ -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);
|
||||
|
@@ -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)
|
||||
|
@@ -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;
|
||||
|
@@ -18,7 +18,7 @@ CodeStyleEditorWidget *ICodeStylePreferencesFactory::createCodeStyleEditor(
|
||||
}
|
||||
|
||||
CodeStyleEditorWidget *ICodeStylePreferencesFactory::createAdditionalGlobalSettings(
|
||||
ProjectExplorer::Project *, QWidget *)
|
||||
ICodeStylePreferences *, ProjectExplorer::Project *, QWidget *)
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
@@ -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;
|
||||
|
@@ -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);
|
||||
|
||||
|
||||
|
@@ -21,4 +21,5 @@ add_qtc_plugin(Todo
|
||||
todoplugin.cpp todoplugin.h
|
||||
todoplugin.qrc
|
||||
todoprojectsettingswidget.cpp todoprojectsettingswidget.h
|
||||
todotr.h
|
||||
)
|
||||
|
@@ -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
|
||||
|
@@ -5,4 +5,5 @@ add_qtc_plugin(Welcome
|
||||
introductionwidget.cpp introductionwidget.h
|
||||
welcome.qrc
|
||||
welcomeplugin.cpp
|
||||
welcometr.h
|
||||
)
|
||||
|
Submodule src/shared/qbs updated: 0319b0acc7...289aac0aa1
@@ -23,12 +23,15 @@ 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()
|
||||
if ignoreCodeModel:
|
||||
# filter out possible code model issues present inside the Issues pane
|
||||
toggleIssuesFilter("Clang Code Model", False)
|
||||
result = dumpBuildIssues(model)
|
||||
if ignoreCodeModel:
|
||||
# reset the filter
|
||||
toggleIssuesFilter("Clang Code Model", True)
|
||||
return result
|
||||
|
@@ -96,13 +96,30 @@ def getExecutableAndTargetFromToolTip(toolTip):
|
||||
return None, target
|
||||
return exe.group(1).strip(), target
|
||||
|
||||
def invokeContextMenuOnProject(projectName, menuItem):
|
||||
|
||||
# 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(":Qt Creator_Utils::NavigationTreeView", projectName, 3000)
|
||||
projItem = waitForObjectItem(projectTV, treeElement, 100)
|
||||
except:
|
||||
try:
|
||||
projItem = waitForObjectItem(":Qt Creator_Utils::NavigationTreeView",
|
||||
addBranchWildcardToRoot(projectName), 1000)
|
||||
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 = waitForProjectTreeItem(projectName, 4000)
|
||||
except:
|
||||
test.fatal("Failed to find root node of the project '%s'." % projectName)
|
||||
return
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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)
|
||||
|
@@ -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"))
|
||||
|
@@ -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)",
|
||||
|
@@ -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:
|
||||
|
@@ -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.")
|
||||
|
Reference in New Issue
Block a user