aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Ziller <[email protected]>2025-10-13 16:32:15 +0200
committerEike Ziller <[email protected]>2025-10-13 16:32:15 +0200
commit5d11bf4afa40bcc6deb6be1f4ea484104423e3ff (patch)
tree7ad4f113f203c8e3213cb7770607c64c6603601e
parente3d56956dd0821018e3d6abbffeafcf3862130af (diff)
parentf950bb9d6d6e543ea3ec6ad135b5b1b82f6b6f56 (diff)
Merge remote-tracking branch 'origin/18.0'HEADmaster
-rw-r--r--.github/workflows/build_cmake.yml2
-rw-r--r--README.md2
-rw-r--r--doc/qtcreator/src/cmake/creator-projects-cmake.qdoc2
-rw-r--r--doc/qtcreator/src/external-resources/external-resources.qdoc4
-rw-r--r--doc/qtcreator/src/ios/creator-ios-dev.qdoc8
-rw-r--r--doc/qtcreator/src/webassembly/creator-webassembly.qdoc3
-rw-r--r--qbs/imports/QtcLibrary.qbs7
-rw-r--r--share/qtcreator/translations/qtcreator_de.ts376
-rw-r--r--src/libs/3rdparty/qtkeychain/qtkeychain.qbs4
-rw-r--r--src/libs/gocmdbridge/server/CMakeLists.txt8
-rw-r--r--src/libs/qmljs/qmljsmodelmanagerinterface.cpp5
-rw-r--r--src/libs/qmljs/qmljstypedescriptionreader.cpp2
-rw-r--r--src/plugins/cmakeprojectmanager/cmakeproject.cpp2
-rw-r--r--src/plugins/ctfvisualizer/ctfvisualizer.qbs8
-rw-r--r--src/plugins/docker/dockerdevice.cpp15
-rw-r--r--src/plugins/docker/dockerdevice.h1
-rw-r--r--src/plugins/ios/simulatorcontrol.cpp5
-rw-r--r--src/plugins/projectexplorer/buildaspects.cpp7
-rw-r--r--src/plugins/projectexplorer/buildaspects.h1
-rw-r--r--src/plugins/projectexplorer/project.cpp8
-rw-r--r--src/plugins/projectexplorer/project.h1
-rw-r--r--src/plugins/projectexplorer/projectmanager.h1
-rw-r--r--src/plugins/projectexplorer/selectablefilesmodel.cpp2
-rw-r--r--src/plugins/python/python.qbs8
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp9
-rw-r--r--src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h3
-rw-r--r--src/plugins/qmakeprojectmanager/qmakeproject.cpp4
-rw-r--r--src/plugins/qmakeprojectmanager/qmakestep.cpp1
-rw-r--r--src/plugins/qmljstools/qmlformatsettings.cpp31
-rw-r--r--src/plugins/qmljstools/qmljsmodelmanager.cpp3
-rw-r--r--src/shared/json/json.qbs11
m---------src/shared/qbs0
32 files changed, 296 insertions, 248 deletions
diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml
index 1e44274c895..14e3583bfe3 100644
--- a/.github/workflows/build_cmake.yml
+++ b/.github/workflows/build_cmake.yml
@@ -7,7 +7,7 @@ on:
- 'doc/**'
env:
- QT_VERSION: 6.9.1
+ QT_VERSION: 6.10.0
MACOS_DEPLOYMENT_TARGET: 11.0
CLANG_VERSION: 21.1.2
ELFUTILS_VERSION: 0.175
diff --git a/README.md b/README.md
index 034c06f7551..61dd4f013d2 100644
--- a/README.md
+++ b/README.md
@@ -59,7 +59,7 @@ Prerequisites:
* CMake
* Ninja (recommended)
* [Go compiler](#installing-the-go-compiler), required for the CmdBridge
- (BUILD_EXECUTABLE_CMDBRIDGE) for fast remote device support.
+ (BUILD_EXECUTABLE_CMDBRIDGE) for fast container and remote device support.
The used toolchain has to be compatible with the one Qt was compiled with.
diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc
index 22c600538c4..dc442b88123 100644
--- a/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc
+++ b/doc/qtcreator/src/cmake/creator-projects-cmake.qdoc
@@ -404,7 +404,7 @@
to a \c .cmake file. You can then change the commands as necessary.
Place \c Find modules in the \c ${CMAKE_CURRENT_SOURCE_DIR}/cmake directory,
- and append the directory name to the \l {CMAKE_MODULE_PATH} list variable.
+ and append the directory name to the \c {CMAKE_MODULE_PATH} list variable.
For example:
\code
diff --git a/doc/qtcreator/src/external-resources/external-resources.qdoc b/doc/qtcreator/src/external-resources/external-resources.qdoc
index 21076846340..8d241cdcad2 100644
--- a/doc/qtcreator/src/external-resources/external-resources.qdoc
+++ b/doc/qtcreator/src/external-resources/external-resources.qdoc
@@ -341,3 +341,7 @@
\externalpage https://www.qt.io/academy/course-catalog#getting-started-with-qt-ai-assistant
\title Qt Academy: Getting Started With Qt AI Assistant
*/
+/*!
+ \externalpage https://developer.apple.com/help/account/provisioning-profiles/create-a-development-provisioning-profile/
+ \title Apple documentation: Create a development provisioning profile
+*/
diff --git a/doc/qtcreator/src/ios/creator-ios-dev.qdoc b/doc/qtcreator/src/ios/creator-ios-dev.qdoc
index d488493aef9..566ce0ade63 100644
--- a/doc/qtcreator/src/ios/creator-ios-dev.qdoc
+++ b/doc/qtcreator/src/ios/creator-ios-dev.qdoc
@@ -66,7 +66,7 @@
The first time you connect the device to your local machine, you are asked to enable
developer mode on the device. The next time you connect the device, \QC
detects it automatically. To disable automatic connections to a device that
- you do not use for development, go to preferences > \uicontrol iOS
+ you do not use for development, go to \preferences > \uicontrol iOS
and clear \uicontrol {Ask about devices not in developer mode}.
\note The process of configuring devices and the UI varies slightly
@@ -86,7 +86,7 @@
\li Start Xcode to configure the device.
For example, in Xcode version 15, go to \uicontrol Window >
- \uicontrol Devices and Simulators > \uicontrol Devices, and select
+ \uicontrol {Devices and Simulators} > \uicontrol Devices, and select
\uicontrol + to add the connected device.
\li To specify build settings:
@@ -133,7 +133,7 @@
missing, check that provisioning profiles are listed in Xcode by going to
\uicontrol Xcode > \uicontrol Preferences > \uicontrol Accounts. For more
information about how to acquire and install a provisioning profile, see
- Apple documentation.
+ \l {Apple documentation: Create a development provisioning profile}.
\section1 View device connection status
@@ -166,7 +166,7 @@
simulates a predefined set of hardware devices and software versions.
To change the simulated hardware and software version, go to
- \uicontrol Projects > uicontrol {Run Settings} and select
+ \uicontrol Projects > \uicontrol {Run Settings} and select
the device to simulate in the \uicontrol {Device type} field.
\image {qtcreator-ios-simulator-deploy.png} {Deployment settings for iOS Simulator}
diff --git a/doc/qtcreator/src/webassembly/creator-webassembly.qdoc b/doc/qtcreator/src/webassembly/creator-webassembly.qdoc
index 828d2524a10..7a1a6520257 100644
--- a/doc/qtcreator/src/webassembly/creator-webassembly.qdoc
+++ b/doc/qtcreator/src/webassembly/creator-webassembly.qdoc
@@ -35,13 +35,14 @@
if your Qt for WebAssembly version supports the \c emsdk.
\image {qtcreator-preferences-sdks-webassembly.webp} {WebAssembly tab in SDKs preferences}
\li Go to \preferences > \uicontrol Kits.
+ \li Select \uicontrol Add to add a WebAssembly kit.
\image {qtcreator-kit-webassembly.webp} {Qt for WebAssembly kit in the Kits tab in Kits preferences}
\li In \uicontrol {Build device}, select \uicontrol Desktop as the device
type.
\li In \uicontrol {Run device}, select \uicontrol {WebAssembly Runtime}
as the device type.
\li If \uicontrol {Emscripten Compiler} was not automatically set
- for both C++ and C, check that emscripten is set up correctly.
+ in \uicontrol {C/C++}, check that emscripten is set up correctly.
\li In \uicontrol {Qt version}, select a Qt for WebAssembly version.
\endlist
diff --git a/qbs/imports/QtcLibrary.qbs b/qbs/imports/QtcLibrary.qbs
index a0b8b7c8176..43a5a444ab4 100644
--- a/qbs/imports/QtcLibrary.qbs
+++ b/qbs/imports/QtcLibrary.qbs
@@ -10,6 +10,13 @@ QtcProduct {
installTags: type.concat("debuginfo_dll")
useNonGuiPchFile: true
+ // For consistent value of cpp.minimumMacosVersion
+ Depends {
+ name: "Qt.core"
+ condition: !useQt && qbs.targetOS.contains("macos")
+ cpp.link: false
+ }
+
cpp.linkerFlags: {
var flags = base;
if (qbs.buildVariant == "debug" && qbs.toolchain.contains("msvc"))
diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts
index 4dc265d4eea..9c3782869c3 100644
--- a/share/qtcreator/translations/qtcreator_de.ts
+++ b/share/qtcreator/translations/qtcreator_de.ts
@@ -16484,15 +16484,15 @@ Dies kann nicht rückgängig gemacht werden.</translation>
</message>
<message>
<source>Settings</source>
- <translation type="unfinished"></translation>
+ <translation>Einstellungen</translation>
</message>
<message>
<source>Do not ask for confirmation when switching to the Manifest Editor UI</source>
- <translation type="unfinished"></translation>
+ <translation>Keine Bestätigung beim Wechseln in die Manifest Editor UI anzeigen</translation>
</message>
<message>
<source>Warning: Using the Manifest Editor UI may overwrite any manual changes made to AndroidManifest.xml.</source>
- <translation type="unfinished"></translation>
+ <translation>Warnung: Verwendung der Manifest Editor UI kann manuelle Änderungen an AndroidManifest.xml überschreiben.</translation>
</message>
<message>
<source>The structure of the Android manifest file is corrupted. Expected a top level &apos;manifest&apos; node.</source>
@@ -16504,19 +16504,19 @@ Dies kann nicht rückgängig gemacht werden.</translation>
</message>
<message>
<source>Go to Error</source>
- <translation type="unfinished"></translation>
+ <translation>Zu Fehler gehen</translation>
</message>
<message>
<source>Graphical Editor</source>
- <translation type="unfinished"></translation>
+ <translation>Grafischer Editor</translation>
</message>
<message>
<source>Enabling the Manifest Editor UI</source>
- <translation type="unfinished"></translation>
+ <translation>Aktivieren der Manifest Editor UI</translation>
</message>
<message>
<source>Using the Manifest Editor UI may overwrite any manual changes made to AndroidManifest.xml.</source>
- <translation type="unfinished"></translation>
+ <translation>Verwendung der Manifest Editor UI kann manuelle Änderungen an AndroidManifest.xml überschreiben.</translation>
</message>
<message>
<source>Target SDK:</source>
@@ -16653,11 +16653,11 @@ Dies kann nicht rückgängig gemacht werden.</translation>
</message>
<message>
<source>Automatically create usable Android kits and install all essential packages. To do this later, select Edit &gt; Preferences &gt; SDKs &gt; Android.</source>
- <translation type="unfinished"></translation>
+ <translation>Erstellen Sie automatisch benutzbare Android Kits und installieren alle essentiellen Pakete. Um dies später zu tun, wählen Sie Bearbeiten &gt; Einstellungen &gt; SDKs &gt; Android.</translation>
</message>
<message>
<source>Configure Android Options?</source>
- <translation type="unfinished"></translation>
+ <translation>Android-Optionen konfigurieren?</translation>
</message>
<message>
<source>Java Language Server</source>
@@ -16697,7 +16697,7 @@ Dies kann nicht rückgängig gemacht werden.</translation>
</message>
<message>
<source>Could not install custom APK.</source>
- <translation type="unfinished"></translation>
+ <translation>Konnte benutzerdefiniertes APK nicht installieren.</translation>
</message>
<message>
<source>No Android architecture (ABI) is set by the project.</source>
@@ -16833,7 +16833,7 @@ Der vom Kit mindestens benötigte API-Level ist %1.</translation>
</message>
<message>
<source>%1 for Android %2</source>
- <translation type="unfinished"></translation>
+ <translation>%1 für Android %2</translation>
</message>
<message>
<source>Unknown Android version. API Level: %1</source>
@@ -17324,12 +17324,13 @@ Die Dateien aus dem Quellverzeichnis des Android-Pakets werden in das Android-Bu
</message>
<message>
<source>Project File Update Failed</source>
- <translation type="unfinished"></translation>
+ <translation>Projektdatei konnte nicht aktualisiert werden</translation>
</message>
<message>
<source>Could not automatically update the project file for &quot;%1&quot;.
Set the %2 property manually.</source>
- <translation type="unfinished"></translation>
+ <translation>Die Projektdatei für &quot;%1&quot; konnte nicht automatisch aktualisiert werden.
+Setzen Sie die Eigenschaft %2 manuell.</translation>
</message>
<message>
<source>Android Clang</source>
@@ -17544,7 +17545,7 @@ Rufen Sie QtAndroid::hideSplashScreen() auf, um einen Startbildschirm zu verstec
</message>
<message>
<source>Java Editor</source>
- <translation type="unfinished">Java-Editor</translation>
+ <translation>Java-Editor</translation>
</message>
</context>
<context>
@@ -19010,7 +19011,7 @@ Siehe auch die Einstellungen für Google Test.</translation>
</message>
<message>
<source>Test run requests from the build system get processed only if there is no running build or test run.</source>
- <translation type="unfinished"></translation>
+ <translation>Testlaufanforderungen aus dem Build-System werden nur verarbeitet, wenn kein Build oder Testlauf ausgeführt wird.</translation>
</message>
</context>
<context>
@@ -19253,7 +19254,7 @@ Wollen Sie &quot;%1&quot; mit der Standardanwendung öffnen?</translation>
</message>
<message>
<source>Analysis path must be local.</source>
- <translation type="unfinished"></translation>
+ <translation>Analysepfad muss lokal sein.</translation>
</message>
<message>
<source>Highlight marks</source>
@@ -19303,16 +19304,17 @@ Setzen Sie dies, um die globale Umgebung zu überschreiben oder wenn Axivion pyt
</message>
<message>
<source>Project name as it appears in the global dashboard.</source>
- <translation type="unfinished"></translation>
+ <translation>Projektname, wie er im globalen Dashboard erscheint.</translation>
</message>
<message>
<source>Root path of the analyzed project relative to the usedproject path inside the dashboard.
Leave empty if the analyzed project refers to the basepath of the analyzed project.</source>
- <translation type="unfinished"></translation>
+ <translation>Wurzelverzeichnis des analysierten Projekts, relativ zum benutzten Pfad im Dashboard.
+Lassen Sie dies leer, falls das analysierte Projekt den Basispfad des analysierten Projekts referenziert.</translation>
</message>
<message>
<source>Local directory path corresponding to the analyis path.</source>
- <translation type="unfinished"></translation>
+ <translation>Lokaler Pfad, der dem Analysepfad entspricht.</translation>
</message>
<message>
<source>Add...</source>
@@ -19376,44 +19378,45 @@ Leave empty if the analyzed project refers to the basepath of the analyzed proje
</message>
<message>
<source>Missing Path Mapping</source>
- <translation type="unfinished"></translation>
+ <translation>Fehlende Pfadzuordnung</translation>
</message>
<message>
<source>Configure a valid path mapping for &quot;%1&quot; to open files for this project.</source>
- <translation type="unfinished"></translation>
+ <translation>Konfigurieren Sie eine gültige Pfadzuordnung für &quot;%1&quot;, um Dateien dieses Projekts zu öffnen.</translation>
</message>
<message>
<source>Select local file for &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
+ <translation>Wählen Sie die lokale Datei für &quot;%1&quot;</translation>
</message>
<message>
<source>No matching path mapping for &quot;%1&quot; configured.</source>
- <translation type="unfinished"></translation>
+ <translation>Keine passende Pfadzuordnung für &quot;%1&quot; konfiguriert.</translation>
</message>
<message>
<source>To open this file, you need to change the existing or add another valid path mapping.
This may include changing the order of mappings.</source>
- <translation type="unfinished"></translation>
+ <translation>Um diese Datei zu öffnen, müssen Sie die existierende Pfadzuordung ändern oder eine gültige Zuordnung hinzufügen.
+Vielleicht ist auch eine Änderung der Reihenfolge der existierenden Pfadzuordnungen nötig.</translation>
</message>
<message>
<source>No path mapping for &quot;%1&quot; configured.</source>
- <translation type="unfinished"></translation>
+ <translation>Keine Pfadzuordnung für &quot;%1&quot; konfiguriert.</translation>
</message>
<message>
<source>To open files for this project, specify a valid path mapping or select a matching local file.</source>
- <translation type="unfinished"></translation>
+ <translation>Um Dateien dieses Projekts zu öffnen, geben Sie eine gültige Pfadzuordnung an oder wählen Sie eine passende lokale Datei aus.</translation>
</message>
<message>
<source>Select Matching File...</source>
- <translation type="unfinished"></translation>
+ <translation>Wählen Sie passende Datei...</translation>
</message>
<message>
<source>Change Existing...</source>
- <translation type="unfinished"></translation>
+ <translation>Bestehende ändern...</translation>
</message>
<message>
<source>Set up Manually...</source>
- <translation type="unfinished"></translation>
+ <translation>Manuell konfigurieren...</translation>
</message>
<message>
<source>Project name:</source>
@@ -20164,7 +20167,7 @@ Inkrementeller Build: Setzt die Umgebungsvariable AXIVION_INCREMENTAL_BUILD=1</t
</message>
<message>
<source>IAREW %1 (%2)</source>
- <translation type="unfinished"></translation>
+ <translation>IAREW %1 (%2)</translation>
</message>
<message>
<source>IAREW</source>
@@ -20184,7 +20187,7 @@ Inkrementeller Build: Setzt die Umgebungsvariable AXIVION_INCREMENTAL_BUILD=1</t
</message>
<message>
<source>SDCC %1 (%2)</source>
- <translation type="unfinished"></translation>
+ <translation>SDCC %1 (%2)</translation>
</message>
<message>
<source>SDCC</source>
@@ -20244,7 +20247,7 @@ Inkrementeller Build: Setzt die Umgebungsvariable AXIVION_INCREMENTAL_BUILD=1</t
</message>
<message>
<source>KEIL %1 (%2)</source>
- <translation type="unfinished"></translation>
+ <translation>KEIL %1 (%2)</translation>
</message>
<message>
<source>KEIL</source>
@@ -20487,15 +20490,15 @@ Lokale Pull-Operationen werden nicht auf den Master-Branch angewandt.</translati
</message>
<message>
<source>Bazaar File Log Editor</source>
- <translation type="unfinished">Bazaar Datei-Log-Editor</translation>
+ <translation>Bazaar Datei-Log-Editor</translation>
</message>
<message>
<source>Bazaar Annotation Editor</source>
- <translation type="unfinished">Bazaar Annotations-Editor</translation>
+ <translation>Bazaar Annotations-Editor</translation>
</message>
<message>
<source>Bazaar Diff Editor</source>
- <translation type="unfinished">Bazaar Diff-Editor</translation>
+ <translation>Bazaar Diff-Editor</translation>
</message>
<message>
<source>Triggers a Bazaar version control operation.</source>
@@ -20595,7 +20598,7 @@ Lokale Pull-Operationen werden nicht auf den Master-Branch angewandt.</translati
</message>
<message>
<source>Bazaar Commit Log Editor</source>
- <translation type="unfinished">Bazaar Commit-Log-Editor</translation>
+ <translation>Bazaar Commit-Log-Editor</translation>
</message>
<message>
<source>Update</source>
@@ -21081,7 +21084,7 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>Binary Editor</source>
- <translation type="unfinished">Binäreditor</translation>
+ <translation>Binäreditor</translation>
</message>
<message>
<source>Zoom: %1%</source>
@@ -21384,7 +21387,7 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>CMake executable:</source>
- <translation type="unfinished"></translation>
+ <translation>Ausführbare Datei für CMake:</translation>
</message>
<message>
<source>No cmake tool set.</source>
@@ -21404,7 +21407,7 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>Test preset %1 is missing a corresponding configure preset.</source>
- <translation type="unfinished"></translation>
+ <translation>Im Test-Preset %1 fehlt ein entsprechendes Configure-Preset.</translation>
</message>
<message>
<source>Attempt to include &quot;%1&quot; which was already parsed.</source>
@@ -21461,7 +21464,7 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>CMake from Build Device</source>
- <translation type="unfinished"></translation>
+ <translation>CMake vom Build-Gerät</translation>
</message>
<message>
<source>CMake executable path does not exist.</source>
@@ -21607,7 +21610,7 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>You asked to build the current Run Configuration&apos;s build target only, but it is not associated with a build target. Update the Make Step in your build settings.</source>
- <translation type="unfinished">Sie möchten nur das Übersetzungsergebnis für die aktuelle Ausführungsonfiguration bauen, aber sie ist mit keinem verknüpft. Korrigieren Sie den Make-Schritt in der Erstellungskonfiguration.</translation>
+ <translation>Sie möchten nur das Übersetzungsergebnis für die aktuelle Ausführungsonfiguration bauen, aber sie ist mit keinem verknüpft. Korrigieren Sie den Make-Schritt in der Erstellungskonfiguration.</translation>
</message>
<message>
<source>Build</source>
@@ -21733,7 +21736,7 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>Apply Configuration Changes?</source>
- <translation type="unfinished"></translation>
+ <translation>Konfigurationänderungen anwenden?</translation>
</message>
<message>
<source>Apply</source>
@@ -21765,19 +21768,19 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>%1 (via CMake)</source>
- <translation type="unfinished"></translation>
+ <translation>%1 (über CMake)</translation>
</message>
<message>
<source>CMake generator failed.</source>
- <translation type="unfinished"></translation>
+ <translation>CMake-Generator fehlgeschlagen.</translation>
</message>
<message>
<source>Kit does not have a CMake binary set.</source>
- <translation type="unfinished"></translation>
+ <translation>Das Kit hat keine ausführbare CMake-Datei gesetzt.</translation>
</message>
<message>
<source>No valid CMake executable.</source>
- <translation type="unfinished"></translation>
+ <translation>Keine gültige ausführbare CMake-Datei.</translation>
</message>
<message>
<source>Cannot create output directory &quot;%1&quot;.</source>
@@ -21817,35 +21820,35 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>Path to the CMake executable</source>
- <translation type="unfinished"></translation>
+ <translation>Pfad zum CMake-Werkzeug</translation>
</message>
<message>
<source>Found CMake tool: &quot;%1&quot;.</source>
- <translation type="unfinished"></translation>
+ <translation>CMake-Werkzeug gefunden: &quot;%1&quot;.</translation>
</message>
<message>
<source>CMake tool: %1.</source>
- <translation type="unfinished"></translation>
+ <translation>CMake-Werkzeug: %1.</translation>
</message>
<message>
<source>Expected JSON Object, got: &quot;%1&quot;.</source>
- <translation type="unfinished"></translation>
+ <translation>JSON-Objekt erwartet, &quot;%1&quot; wurde erhalten.</translation>
</message>
<message>
<source>Expected JSON Object with key &quot;binary&quot; to be a string.</source>
- <translation type="unfinished"></translation>
+ <translation>Für das JSON-Objekt mit Schlüssel &quot;binary&quot; wird eine Zeichenkette erwartet.</translation>
</message>
<message>
<source>CMake executable &quot;%1&quot; is not valid.</source>
- <translation type="unfinished"></translation>
+ <translation>Ausführbare CMake-Datei &quot;%1&quot; ist ungültig.</translation>
</message>
<message>
<source>CMake tool &quot;%1&quot; is not valid.</source>
- <translation type="unfinished"></translation>
+ <translation>CMake-Werkzeug &quot;%1&quot; ist ungültig.</translation>
</message>
<message>
<source>Cannot create CMake tool from JSON: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Aus der JSON-Information kann kein CMake-Werkzeug erstellt werden: %1</translation>
</message>
<message>
<source>Platform</source>
@@ -21985,15 +21988,15 @@ Zum Beispiel bewirkt die Angabe &quot;Revision: 15&quot; dass der Branch auf Rev
</message>
<message>
<source>Run CTest Test</source>
- <translation type="unfinished"></translation>
+ <translation>CTest-Test ausführen</translation>
</message>
<message>
<source>Runs a CTest test of the current active CMake project.</source>
- <translation type="unfinished"></translation>
+ <translation>Führt einen CTest-Test des aktiven CMake-Projekts aus.</translation>
</message>
<message>
<source>AutoTest plugin needs to be loaded in order to execute tests.</source>
- <translation type="unfinished"></translation>
+ <translation>Das AutoTest-Plugin muss geladen sein, um Tests ausführen zu können.</translation>
</message>
<message>
<source>You may need to add the project directory to the list of directories that are mounted by the build device.</source>
@@ -22198,7 +22201,7 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
</message>
<message>
<source>Invalid &quot;testPresets&quot; section in file &quot;%1&quot;.</source>
- <translation type="unfinished"></translation>
+ <translation>Ungültiger Abschnitt &quot;testPresets&quot; in der Datei &quot;%1&quot;.</translation>
</message>
<message>
<source>Invalid &quot;vendor&quot; section in file &quot;%1&quot;.</source>
@@ -22252,15 +22255,15 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
</message>
<message>
<source>CMake Editor</source>
- <translation type="unfinished">CMake-Editor</translation>
+ <translation>CMake-Editor</translation>
</message>
<message>
<source>Found &quot;%1&quot;.</source>
- <translation type="unfinished"></translation>
+ <translation>&quot;%1&quot; gefunden.</translation>
</message>
<message>
<source>Removing CMake tool &quot;%1&quot;.</source>
- <translation type="unfinished"></translation>
+ <translation>Entferne CMake-Werkzeug &quot;%1&quot;.</translation>
</message>
</context>
<context>
@@ -22279,19 +22282,19 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
</message>
<message>
<source>CVS Command Log Editor</source>
- <translation type="unfinished">CVS Kommando-Log-Editor</translation>
+ <translation>CVS Kommando-Log-Editor</translation>
</message>
<message>
<source>CVS File Log Editor</source>
- <translation type="unfinished">CVS Datei-Log-Editor</translation>
+ <translation>CVS Datei-Log-Editor</translation>
</message>
<message>
<source>CVS Annotation Editor</source>
- <translation type="unfinished">CVS Annotations-Editor</translation>
+ <translation>CVS Annotations-Editor</translation>
</message>
<message>
<source>CVS Diff Editor</source>
- <translation type="unfinished">CVS Diff-Editor</translation>
+ <translation>CVS Diff-Editor</translation>
</message>
<message>
<source>&amp;Edit</source>
@@ -22299,11 +22302,11 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
</message>
<message>
<source>Local name cannot be the same as the URL.</source>
- <translation type="unfinished"></translation>
+ <translation>Der lokale Name darf nicht mit der URL übereinstimmen.</translation>
</message>
<message>
<source>CVS Commit Editor</source>
- <translation type="unfinished">CVS Commit-Editor</translation>
+ <translation>CVS Commit-Editor</translation>
</message>
<message>
<source>Triggers a CVS version control operation.</source>
@@ -22630,19 +22633,19 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
</message>
<message>
<source>Cannot generate compilation database.</source>
- <translation type="unfinished"></translation>
+ <translation>Kann keine Kompilierungsdatenbank generieren.</translation>
</message>
<message>
<source>Generator is already running.</source>
- <translation type="unfinished"></translation>
+ <translation>Generierung läuft bereits.</translation>
</message>
<message>
<source>No active project.</source>
- <translation type="unfinished">Kein aktives Projekt.</translation>
+ <translation>Kein aktives Projekt.</translation>
</message>
<message>
<source>Project has no C/C++ project parts.</source>
- <translation type="unfinished"></translation>
+ <translation>Projekt enthält keine Projektinformation für C/C++.</translation>
</message>
<message>
<source>Generating Clang compilation database canceled.</source>
@@ -22736,7 +22739,7 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
</message>
<message>
<source>Clangd Disabled</source>
- <translation type="unfinished"></translation>
+ <translation>Clangd deaktiviert</translation>
</message>
<message>
<source>With clangd enabled, Qt Creator fully supports modern C++ when highlighting code, completing symbols and so on.&lt;br&gt;This comes at a higher cost in terms of CPU load and memory usage compared to the built-in code model, which therefore might be the better choice on older machines and/or with legacy code.&lt;br&gt;You can enable/disable and fine-tune clangd &lt;a href=&quot;dummy&quot;&gt;here&lt;/a&gt;.</source>
@@ -22852,31 +22855,31 @@ Das integrierte Codemodell übernimmt das Einrücken.</translation>
</message>
<message>
<source>Import Code Format</source>
- <translation type="unfinished">Code-Format importieren</translation>
+ <translation>Code-Format importieren</translation>
</message>
<message>
<source>ClangFormat (*clang-format*);;All files (*)</source>
- <translation type="unfinished">ClangFormat (*clang-format*);;All files (*)</translation>
+ <translation>ClangFormat (*clang-format*);;All files (*)</translation>
</message>
<message>
<source>Import Code Style</source>
- <translation type="unfinished">Coding Style importieren</translation>
+ <translation>Coding Style importieren</translation>
</message>
<message>
<source>Enter a name for the imported code style:</source>
- <translation type="unfinished">Geben Sie einen Namen für den importierten Coding Style ein:</translation>
+ <translation>Geben Sie einen Namen für den importierten Coding Style ein:</translation>
</message>
<message>
<source>Cannot import code style from &quot;%1&quot;.</source>
- <translation type="unfinished"></translation>
+ <translation>Der Coding Style kann nicht von &quot;%1&quot; importiert werden.</translation>
</message>
<message>
<source>Export Code Format</source>
- <translation type="unfinished">Code-Format exportieren</translation>
+ <translation>Code-Format exportieren</translation>
</message>
<message>
<source>C++</source>
- <translation type="unfinished">C++</translation>
+ <translation>C++</translation>
</message>
</context>
<context>
@@ -23689,15 +23692,15 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
</message>
<message>
<source>ClearCase File Log Editor</source>
- <translation type="unfinished">ClearCase Datei-Log-Editor</translation>
+ <translation>ClearCase Datei-Log-Editor</translation>
</message>
<message>
<source>ClearCase Annotation Editor</source>
- <translation type="unfinished">ClearCase Annotations-Editor</translation>
+ <translation>ClearCase Annotations-Editor</translation>
</message>
<message>
<source>ClearCase Diff Editor</source>
- <translation type="unfinished">ClearCase Diff-Editor</translation>
+ <translation>ClearCase Diff-Editor</translation>
</message>
<message>
<source>Editing Derived Object: %1</source>
@@ -23877,7 +23880,7 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
</message>
<message>
<source>ClearCase Check In Editor</source>
- <translation type="unfinished">ClearCase Check-In-Editor</translation>
+ <translation>ClearCase Check-In-Editor</translation>
</message>
<message>
<source>Check In</source>
@@ -24001,15 +24004,15 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
<name>QtC::CmdBridge</name>
<message>
<source>Command &quot;%1&quot; failed with exit code %2: %3</source>
- <translation type="unfinished"></translation>
+ <translation>Kommando &quot;%1&quot; ist mit Rückgabewert %2 fehlgeschlagen: %3</translation>
</message>
<message>
<source>Remote root path is empty.</source>
- <translation type="unfinished"></translation>
+ <translation>Entferntes Wurzelverzeichnis ist leer.</translation>
</message>
<message>
<source>Remote root path is not absolute.</source>
- <translation type="unfinished"></translation>
+ <translation>Entferntes Wurzelverzeichnis ist nicht absolut.</translation>
</message>
<message>
<source>Could not find dd on remote host: %1</source>
@@ -24017,23 +24020,23 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
</message>
<message>
<source>Path &quot;%1&quot; is not a symlink.</source>
- <translation type="unfinished"></translation>
+ <translation>Der Pfad &quot;%1&quot; ist kein Symlink.</translation>
</message>
<message>
<source>File does not exist: &quot;%1&quot;.</source>
- <translation type="unfinished"></translation>
+ <translation>Datei &quot;%1&quot; existiert nicht.</translation>
</message>
<message>
<source>Error writing file &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
+ <translation>Fehler beim Schreiben der Datei &quot;%1&quot;</translation>
</message>
<message>
<source>Error removing file &quot;%1&quot;</source>
- <translation type="unfinished"></translation>
+ <translation>Fehler beim Entfernen der Datei &quot;%1&quot;</translation>
</message>
<message>
<source>Error killing process with PID %1</source>
- <translation type="unfinished"></translation>
+ <translation>Fehler beim Beenden des Prozesses mit PID %1</translation>
</message>
<message>
<source>Failed starting bridge process</source>
@@ -24490,7 +24493,7 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
</message>
<message>
<source>Compilation Database</source>
- <translation type="unfinished">Kompilierungsdatenbank</translation>
+ <translation>Kompilierungsdatenbank</translation>
</message>
</context>
<context>
@@ -24667,7 +24670,7 @@ Setzen Sie erst eine gültige ausführbare Datei.</translation>
</message>
<message>
<source>The sign-in request failed: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Die Anmeldung ist fehlgeschlagen: %1</translation>
</message>
<message>
<source>A browser window will open. Enter the code %1 when asked.
@@ -24777,15 +24780,15 @@ Der Code wurde in die Zwischenablage kopiert.</translation>
</message>
<message>
<source>Proxy</source>
- <translation type="unfinished"></translation>
+ <translation>Proxyserver</translation>
</message>
<message>
<source>Proxy:</source>
- <translation type="unfinished"></translation>
+ <translation>Proxyserver:</translation>
</message>
<message>
<source>The proxy server to use for connections.</source>
- <translation type="unfinished"></translation>
+ <translation>Der Proxyserver, der für Verbindungen verwendet werden soll.</translation>
</message>
<message>
<source>Reject Unauthorized</source>
@@ -24801,15 +24804,15 @@ Der Code wurde in die Zwischenablage kopiert.</translation>
</message>
<message>
<source>GitHub Enterprise URL</source>
- <translation type="unfinished"></translation>
+ <translation>GitHub Enterprise URL</translation>
</message>
<message>
<source>GitHub Enterprise URL:</source>
- <translation type="unfinished"></translation>
+ <translation>GitHub Enterprise URL:</translation>
</message>
<message>
<source>The URL of your GitHub Enterprise server.</source>
- <translation type="unfinished"></translation>
+ <translation>Die URL Ihres GitHub Enterprise Servers.</translation>
</message>
<message>
<source>The Copilot plugin requires node.js and the Copilot neovim plugin. If you install the neovim plugin as described in %1, the plugin will find the %3 file automatically.
@@ -24987,11 +24990,11 @@ Wenn die Systemzeiger für das Verändern der Größe von Ansichten nicht korrek
</message>
<message>
<source>Prefer banner style info bars over pop-ups</source>
- <translation type="unfinished"></translation>
+ <translation>Infoleisten im Banner-Stil gegenüber Popups bevorzugen</translation>
</message>
<message>
<source>Use tabbed editors</source>
- <translation type="unfinished"></translation>
+ <translation>Editor-Tabs nutzen</translation>
</message>
<message>
<source>Toolbar style:</source>
@@ -25604,19 +25607,19 @@ Wenn die Systemzeiger für das Verändern der Größe von Ansichten nicht korrek
</message>
<message>
<source>Custom Language Models</source>
- <translation type="unfinished"></translation>
+ <translation>Benutzerdefinierte Sprachmodelle</translation>
</message>
<message>
<source>Executable</source>
- <translation type="unfinished">Ausführbare Datei</translation>
+ <translation>Ausführbare Datei</translation>
</message>
<message>
<source>Executable:</source>
- <translation type="unfinished"></translation>
+ <translation>Ausführbare Datei:</translation>
</message>
<message>
<source>Arguments</source>
- <translation type="unfinished">Argumente</translation>
+ <translation>Argumente</translation>
</message>
<message>
<source>Add</source>
@@ -25624,7 +25627,7 @@ Wenn die Systemzeiger für das Verändern der Größe von Ansichten nicht korrek
</message>
<message>
<source>&lt;New model&gt;</source>
- <translation type="unfinished"></translation>
+ <translation>&lt;Neues Modell&gt;</translation>
</message>
<message>
<source>Invalid key sequence.</source>
@@ -25676,7 +25679,7 @@ Wenn die Systemzeiger für das Verändern der Größe von Ansichten nicht korrek
</message>
<message>
<source>Copy to Clipboard</source>
- <translation type="unfinished">In die Zwischenablage kopieren</translation>
+ <translation>In die Zwischenablage kopieren</translation>
</message>
<message>
<source>Qt</source>
@@ -26315,15 +26318,15 @@ unter Versionsverwaltung (%2) stellen?</translation>
</message>
<message>
<source>Failed to remove file &quot;%1&quot;: %2</source>
- <translation type="unfinished"></translation>
+ <translation>Fehler beim Entfernen der Datei &quot;%1&quot;: %2</translation>
</message>
<message>
<source>Cannot decode contents.</source>
- <translation type="unfinished"></translation>
+ <translation>Inhalt kann nicht dekodiert werden.</translation>
</message>
<message>
<source>Failed to rename the include guard in file &quot;%1&quot;: %2</source>
- <translation type="unfinished"></translation>
+ <translation>Fehler beim Umbenennen des Include-Guards in der Datei &quot;%1&quot;: %2</translation>
</message>
<message>
<source>Failed to set permissions.</source>
@@ -26452,7 +26455,7 @@ unter Versionsverwaltung (%2) stellen?</translation>
</message>
<message>
<source>Version control state: unmerged.</source>
- <translation type="unfinished"></translation>
+ <translation>Versionskontrollzustand: nicht zusammengeführt.</translation>
</message>
<message>
<source>Show Details...</source>
@@ -26935,7 +26938,7 @@ Möchten Sie es beenden?</translation>
</message>
<message>
<source>Use Tab Completion</source>
- <translation type="unfinished"></translation>
+ <translation>Tab-Vervollständigung nutzen</translation>
</message>
<message>
<source>Refresh</source>
@@ -27013,7 +27016,7 @@ Möchten Sie es beenden?</translation>
</message>
<message>
<source>QStandardPaths::%1 location on the local filesystem.</source>
- <translation type="unfinished"></translation>
+ <translation>Ort auf lokaler Festplatte für QStandardPaths::%1.</translation>
</message>
<message>
<source>No themes found in installation.</source>
@@ -27021,7 +27024,7 @@ Möchten Sie es beenden?</translation>
</message>
<message>
<source>AI</source>
- <translation type="unfinished"></translation>
+ <translation>KI</translation>
</message>
<message>
<source>Help</source>
@@ -27326,23 +27329,23 @@ Möchten Sie sie jetzt auschecken?</translation>
</message>
<message>
<source>Save Without Formatting</source>
- <translation type="unfinished"></translation>
+ <translation>Ohne Formatierung speichern</translation>
</message>
<message>
<source>Previous Tab</source>
- <translation type="unfinished"></translation>
+ <translation>Vorheriger Tab</translation>
</message>
<message>
<source>Ctrl+Meta+Left</source>
- <translation type="unfinished"></translation>
+ <translation>Ctrl+Meta+Left</translation>
</message>
<message>
<source>Next Tab</source>
- <translation type="unfinished"></translation>
+ <translation>Nächster Tab</translation>
</message>
<message>
<source>Ctrl+Meta+Right</source>
- <translation type="unfinished"></translation>
+ <translation>Ctrl+Meta+Right</translation>
</message>
<message>
<source>Alt+Right</source>
@@ -27478,7 +27481,7 @@ Möchten Sie sie jetzt auschecken?</translation>
</message>
<message>
<source>Save %1 Without Formatting</source>
- <translation type="unfinished"></translation>
+ <translation>%1 ohne Formatierung speichern</translation>
</message>
<message>
<source>Revert %1 to Saved</source>
@@ -27747,7 +27750,7 @@ provided they were unmodified before the refactoring.</source>
</message>
<message>
<source>Other</source>
- <translation type="unfinished">Andere</translation>
+ <translation>Andere</translation>
</message>
<message>
<source>Run External Tool</source>
@@ -28109,12 +28112,13 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
</message>
<message>
<source>Copying plugin files...</source>
- <translation type="unfinished"></translation>
+ <translation>Kopiere Plugin-Dateien...</translation>
</message>
<message>
<source>Copying
%1</source>
- <translation type="unfinished"></translation>
+ <translation>Kopiere
+%1</translation>
</message>
<message>
<source>Failed to Copy Plugin Files</source>
@@ -28289,7 +28293,7 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
</message>
<message>
<source>Remove Folder...</source>
- <translation type="unfinished"></translation>
+ <translation>Ordner entfernen...</translation>
</message>
<message>
<source>Meta+Y,Meta+F</source>
@@ -28490,7 +28494,7 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
</message>
<message>
<source>Cycle to Next Editor</source>
- <translation type="unfinished"></translation>
+ <translation>Zum nächsten Editor wechseln</translation>
</message>
</context>
<context>
@@ -28623,7 +28627,7 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
</message>
<message>
<source>Remove Curly Braces</source>
- <translation type="unfinished"></translation>
+ <translation>Geschweifte Klammern entfernen</translation>
</message>
<message>
<source>Move Declaration out of Condition</source>
@@ -28812,19 +28816,19 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
</message>
<message>
<source>C++ Editor</source>
- <translation type="unfinished">C++-Editor</translation>
+ <translation>C++-Editor</translation>
</message>
<message>
<source>Clangd executable:</source>
- <translation type="unfinished">Ausführbare Datei für Clangd:</translation>
+ <translation>Ausführbare Datei für Clangd:</translation>
</message>
<message>
<source>Follow Virtual Function to Base Class Implementation</source>
- <translation type="unfinished"></translation>
+ <translation>Virtuelle Funktion zur Implementierung in der Basisklasse verfolgen</translation>
</message>
<message>
<source>Follow Virtual Function to Base Class Implementation in Next Split</source>
- <translation type="unfinished"></translation>
+ <translation>Virtuelle Funktion zur Implementierung in der Basisklasse im nächsten geteilten Fenster verfolgen</translation>
</message>
<message>
<source>Switch Header/Source</source>
@@ -29056,11 +29060,11 @@ Doppelklicken Sie einen Eintrag um ihn zu ändern.</translation>
</message>
<message>
<source>Add File to Project</source>
- <translation type="unfinished"></translation>
+ <translation>Datei zu Projekt hinzufügen</translation>
</message>
<message>
<source>Add to Project...</source>
- <translation type="unfinished"></translation>
+ <translation>Zu Projekt hinzufügen...</translation>
</message>
<message>
<source>Note: Multiple parse contexts are available for this file. Choose the preferred one from the editor toolbar.</source>
@@ -30098,7 +30102,7 @@ Dies ist normalerweise nicht empfehlenswert, da die Datei wahrscheinlich währen
</message>
<message>
<source>Renamed Symbol Will Be Overwritten</source>
- <translation type="unfinished"></translation>
+ <translation>Umbenanntes Symbol wird überschrieben</translation>
</message>
<message>
<source>Open &quot;%1&quot;</source>
@@ -35832,215 +35836,215 @@ Versuchen Sie, das Projekt neu zu erstellen.</translation>
<name>QtC::DevContainer</name>
<message>
<source>Inspecting Container: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Untersuche Container: %1</translation>
</message>
<message>
<source>Inspecting Image: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Untersuche Image: %1</translation>
</message>
<message>
<source>Create Container</source>
- <translation type="unfinished"></translation>
+ <translation>Erstelle Container</translation>
</message>
<message>
<source>Creating Container: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Erstelle Container: %1</translation>
</message>
<message>
<source>Waiting for Container to Start: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Warte auf den Start des Containers: %1</translation>
</message>
<message>
<source>Executing in Container: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Führe im Container aus: %1</translation>
</message>
<message>
<source>Invalid passwd line: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Ungültige passwd-Zeile: %1</translation>
</message>
<message>
<source>Start Container</source>
- <translation type="unfinished"></translation>
+ <translation>Starte Container</translation>
</message>
<message>
<source>Starting Container: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Starte Container: %1</translation>
</message>
<message>
<source>Resume Container</source>
- <translation type="unfinished"></translation>
+ <translation>Setze Container fort</translation>
</message>
<message>
<source>Resuming Container: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Setze Container fort: %1</translation>
</message>
<message>
<source>Build Dockerfile</source>
- <translation type="unfinished"></translation>
+ <translation>Erstelle Dockerfile</translation>
</message>
<message>
<source>Building Dockerfile: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Erstelle Dockerfile: %1</translation>
</message>
<message>
<source>Remove Container</source>
- <translation type="unfinished"></translation>
+ <translation>Entferne Container</translation>
</message>
<message>
<source>Removing Container: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Entferne Container: %1</translation>
</message>
<message>
<source>Remove Image</source>
- <translation type="unfinished"></translation>
+ <translation>Entferne Image</translation>
</message>
<message>
<source>Removing Image: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Entferne Image: %1</translation>
</message>
<message>
<source>Running instance cannot be null.</source>
- <translation type="unfinished"></translation>
+ <translation>Die laufende Instanz darf nicht Null sein.</translation>
</message>
<message>
<source>Invalid mount format: expected string or object, found %1</source>
- <translation type="unfinished"></translation>
+ <translation>Ungültiges Mount-Format: Eine Zeichenkette oder ein Objekt wurde erwartet, %1 wurde gefunden</translation>
</message>
<message>
<source>Invalid mount format: missing &apos;type&apos; field in mount object</source>
- <translation type="unfinished"></translation>
+ <translation>Ungültiges Mount-Format: &apos;type&apos;-Feld im Mountobjekt fehlt</translation>
</message>
<message>
<source>Invalid mount format: missing &apos;target&apos; field in mount object</source>
- <translation type="unfinished"></translation>
+ <translation>Ungültiges Mount-Format: &apos;target&apos;-Feld im Mountobjekt fehlt</translation>
</message>
<message>
<source>Cannot parse development container JSON file: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Fehler beim Auswerten der JSON-Datei für den Development Container: %1</translation>
</message>
<message>
<source>Invalid development container JSON file: expected an object.</source>
- <translation type="unfinished"></translation>
+ <translation>Ungültige JSON-Datei für den Development Container: Ein Objekt wurde erwartet.</translation>
</message>
<message>
<source>Development Container</source>
- <translation type="unfinished"></translation>
+ <translation>Development Container</translation>
</message>
<message>
<source>Rebuild the development container?</source>
- <translation type="unfinished"></translation>
+ <translation>Den Development Container neu erstellen?</translation>
</message>
<message>
<source>The Development Container Configuration Changed</source>
- <translation type="unfinished"></translation>
+ <translation>Die Konfiguration des Development Container hat sich geändert</translation>
</message>
<message>
<source>Rebuild</source>
- <translation type="unfinished">Neu erstellen</translation>
+ <translation>Neu erstellen</translation>
</message>
<message>
<source>Development Container Error</source>
- <translation type="unfinished"></translation>
+ <translation>Fehler im Development Container</translation>
</message>
<message>
<source>Rebuild and restart the development container.</source>
- <translation type="unfinished"></translation>
+ <translation>Development Container neu erstellen und starten.</translation>
</message>
<message>
<source>The configuration does not contain a &quot;build&quot;, &quot;image&quot; or &quot;dockerComposeFile&quot; entry.</source>
- <translation type="unfinished"></translation>
+ <translation>Die Konfiguration enthält keinen Eintrag für &quot;build&quot;, &quot;image&quot; oder &quot;dockerComposeFile&quot;.</translation>
</message>
<message>
<source>Cannot load the development container configuration: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Die Konfiguration des Development Containers kann nicht geladen werden: %1</translation>
</message>
<message>
<source>Cannot set up Command Bridge: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Command Bridge kann nicht eingerichtet werden: %1</translation>
</message>
<message>
<source>Cannot create the development container recipe: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Das Rezept für den Development Container kann nicht erstellt werden: %1</translation>
</message>
<message>
<source>Unknown kit aspect factory: %1</source>
- <translation type="unfinished"></translation>
+ <translation>Unbekannte Kit-Aspekt-Factory: %1</translation>
</message>
<message>
<source>Cannot create kit aspect %1: %2</source>
- <translation type="unfinished"></translation>
+ <translation>Der Kit-Aspekt %1 kann nicht erstellt werden: %2</translation>
</message>
<message>
<source>Cannot start the development container. Check General Messages for details.</source>
- <translation type="unfinished"></translation>
+ <translation>Der Development Container kann nicht gestartet werden. Details finden Sie in den Allgemeinen Ausgaben.</translation>
</message>
<message>
<source>Starting the development container</source>
- <translation type="unfinished"></translation>
+ <translation>Starte den Development Container</translation>
</message>
<message>
<source>The development container is not running or has not been started.</source>
- <translation type="unfinished"></translation>
+ <translation>Der Development Container läuft nicht oder wurde nicht gestartet.</translation>
</message>
<message>
<source>Stopping the development container</source>
- <translation type="unfinished"></translation>
+ <translation>Halte den Development Container an</translation>
</message>
<message>
<source>Cannot stop the development container. Check General Messages for details.</source>
- <translation type="unfinished"></translation>
+ <translation>Der Development Container konnte nicht angehalten werden. Details finden Sie in den Allgemeinen Ausgaben.</translation>
</message>
<message>
<source>Restarting the development container</source>
- <translation type="unfinished"></translation>
+ <translation>Starte den Development Container neu</translation>
</message>
<message>
<source>System environment is not available for this device.</source>
- <translation type="unfinished"></translation>
+ <translation>Für dieses Gerät ist keine Systemumgebung verfügbar.</translation>
</message>
<message>
<source>File access is not available for this device.</source>
- <translation type="unfinished"></translation>
+ <translation>Für diese Gerät ist kein Dateizugriff verfügbar.</translation>
</message>
<message>
<source>No mapping available for %1 on %2.</source>
- <translation type="unfinished"></translation>
+ <translation>Für %1 ist keine Zuordnung auf %2 verfügbar.</translation>
</message>
<message>
<source>Development Container Device</source>
- <translation type="unfinished"></translation>
+ <translation>Development Container-Gerät</translation>
</message>
<message>
<source>Found a development container in the project %1, would you like to start it?</source>
- <translation type="unfinished"></translation>
+ <translation>Im Projekt %1 wurde ein Development Container gefunden. Möchten Sie diesen starten?</translation>
</message>
<message>
<source>Configure the development container?</source>
- <translation type="unfinished"></translation>
+ <translation>Den Development Container konfigurieren?</translation>
</message>
<message>
<source>Yes</source>
- <translation type="unfinished">Ja</translation>
+ <translation>Ja</translation>
</message>
<message>
<source>Start the development container.</source>
- <translation type="unfinished"></translation>
+ <translation>Starte den Development Container.</translation>
</message>
<message>
<source>Found development containers in the project %1, would you like to start any of them?</source>
- <translation type="unfinished"></translation>
+ <translation>Im Projekt %1 wurden Development Container gefunden. Möchten Sie einen davon starten?</translation>
</message>
<message>
<source>Start or Restart Development Container</source>
- <translation type="unfinished"></translation>
+ <translation>Development Container starten oder neu starten</translation>
</message>
<message>
<source>Start or stop and restart the development container.</source>
- <translation type="unfinished"></translation>
+ <translation>Development Container starten oder anhalten und neu starten.</translation>
</message>
<message>
<source>Development Container for %1</source>
- <translation type="unfinished"></translation>
+ <translation>Development Container für %1</translation>
</message>
</context>
<context>
diff --git a/src/libs/3rdparty/qtkeychain/qtkeychain.qbs b/src/libs/3rdparty/qtkeychain/qtkeychain.qbs
index de14b64b742..f0771945d13 100644
--- a/src/libs/3rdparty/qtkeychain/qtkeychain.qbs
+++ b/src/libs/3rdparty/qtkeychain/qtkeychain.qbs
@@ -85,7 +85,9 @@ QtcLibrary {
Group {
name: "qtkeychain dbus support"
- cpp.cxxFlags: outer.concat("-Wno-cast-function-type")
+ cpp.cxxFlags: outer.concat([
+ "-Wno-cast-function-type", "-Wno-missing-field-initializers",
+ "-Wno-ignored-attributes"])
files: [
"keychain_unix.cpp",
"libsecret.cpp",
diff --git a/src/libs/gocmdbridge/server/CMakeLists.txt b/src/libs/gocmdbridge/server/CMakeLists.txt
index 7dde41e1e0a..9b907f79726 100644
--- a/src/libs/gocmdbridge/server/CMakeLists.txt
+++ b/src/libs/gocmdbridge/server/CMakeLists.txt
@@ -1,7 +1,7 @@
set(ALL_CMDBRIDGE_PLATFORMS "")
env_with_default("QTC_BUILD_EXECUTABLE_CMDBRIDGE" ENV_BUILD_EXECUTABLE_CMDBRIDGE ON)
-option(BUILD_EXECUTABLE_CMDBRIDGE "Build the cmdbridge executable, required for fast remote device support" "${ENV_BUILD_EXECUTABLE_CMDBRIDGE}")
+option(BUILD_EXECUTABLE_CMDBRIDGE "Build the cmdbridge executable, required for fast container and remote device support" "${ENV_BUILD_EXECUTABLE_CMDBRIDGE}")
if(NOT BUILD_EXECUTABLE_CMDBRIDGE)
add_feature_info("Executable CmdBridge" NO "")
@@ -54,7 +54,11 @@ find_program(GO_BIN go)
find_program(UPX_BIN upx)
if(NOT GO_BIN)
- message(FATAL_ERROR "Could not find GO compiler, required for the CmdBridge (BUILD_EXECUTABLE_CMDBRIDGE) for fast remote device support.")
+ message(FATAL_ERROR
+ "Could not find a Go compiler, required for the CmdBridge.
+For information about installing Go, see \"Installing the Go Compiler\" in the toplevel README.md file or https://code.qt.io/cgit/qt-creator/qt-creator.git/about/README.md#installing-the-go-compiler
+You can also disable the CmdBridge by reconfiguring with -DBUILD_EXECUTABLE_CMDBRIDGE=OFF or setting the environment variable QTC_BUILD_EXECUTABLE_CMDBRIDGE=OFF
+but note that disabling the CmdBridge leads to slow communication with containers and remote devices.")
endif()
set(CMDBRIDGEFEATURE_TEXT "with GO compiler at ${GO_BIN}")
diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp
index 01d5383ba6b..871e4e88d41 100644
--- a/src/libs/qmljs/qmljsmodelmanagerinterface.cpp
+++ b/src/libs/qmljs/qmljsmodelmanagerinterface.cpp
@@ -228,10 +228,7 @@ FilePath ModelManagerInterface::qmllsForBinPath(const FilePath &binPath, const Q
{
if (version < QVersionNumber(6,4,0))
return {};
- QString qmllsExe = "qmlls";
- if (HostOsInfo::isWindowsHost())
- qmllsExe = "qmlls.exe";
- return binPath.resolvePath(qmllsExe);
+ return binPath.pathAppended("qmlls").withExecutableSuffix();
}
FilePath ModelManagerInterface::qmlformatForBinPath(const FilePath &binPath, const QVersionNumber &version)
diff --git a/src/libs/qmljs/qmljstypedescriptionreader.cpp b/src/libs/qmljs/qmljstypedescriptionreader.cpp
index 9d67ad05b23..c2bdddb4d26 100644
--- a/src/libs/qmljs/qmljstypedescriptionreader.cpp
+++ b/src/libs/qmljs/qmljstypedescriptionreader.cpp
@@ -329,7 +329,7 @@ void TypeDescriptionReader::readProperty(UiObjectDefinition *ast, FakeMetaObject
revision = readIntBinding(script);
}
- if (name.isEmpty() || type.isEmpty()) {
+ if (name.isEmpty()) {
addError(ast->firstSourceLocation(), Tr::tr("Property object is missing a name or type script binding."));
return;
}
diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
index 4f58b0cc0ad..61082c92034 100644
--- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp
@@ -88,7 +88,7 @@ Tasks CMakeProject::projectIssues(const Kit *k) const
// FIXME remove when the MCUProject is implemented
// MCUSupport is not a dependency for CMakePlugin
// This works for projects in installations only, looking at the file content might be costly compared to file path
- QRegularExpression mcuRE("QtMCUs/[0-9]+\\.[0-9]+\\.[0-9]+/(demos|examples)");
+ static const QRegularExpression mcuRE("QtMCUs/[0-9]+\\.[0-9]+\\.[0-9]+/(demos|examples)");
const FilePath projectPath = projectFilePath().absoluteFilePath();
if (k && mcuRE.match(projectPath.path()).hasMatch() && !k->hasFeatures({"MCU"}))
diff --git a/src/plugins/ctfvisualizer/ctfvisualizer.qbs b/src/plugins/ctfvisualizer/ctfvisualizer.qbs
index 6d1f2f6570e..ac4278a5c24 100644
--- a/src/plugins/ctfvisualizer/ctfvisualizer.qbs
+++ b/src/plugins/ctfvisualizer/ctfvisualizer.qbs
@@ -1,4 +1,4 @@
-import qbs
+import qbs.Utilities
QtcPlugin {
name: "CtfVisualizer"
@@ -13,6 +13,12 @@ QtcPlugin {
submodules: [ "quick", "quickwidgets" ]
}
+ Properties {
+ condition: qbs.toolchain.contains("gcc") && (!qbs.toolchain.contains("clang")
+ || Utilities.versionCompare(cpp.compilerVersion, "17") >= 0)
+ cpp.cxxFlags: "-Wno-deprecated-literal-operator"
+ }
+
files: [
"ctfstatisticsmodel.cpp", "ctfstatisticsmodel.h",
"ctfstatisticsview.cpp", "ctfstatisticsview.h",
diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp
index 80fdd84bc28..732fa9e9f1d 100644
--- a/src/plugins/docker/dockerdevice.cpp
+++ b/src/plugins/docker/dockerdevice.cpp
@@ -169,7 +169,6 @@ public:
CommandLine createCommandLine();
Result<QString> updateContainerAccess();
- void changeMounts(QStringList newMounts);
bool ensureReachable(const FilePath &other);
void shutdown();
Result<FilePath> localSource(const FilePath &other) const;
@@ -867,11 +866,6 @@ Result<QString> DockerDevicePrivate::updateContainerAccess()
return (*lockedThread)->containerId();
}
-void DockerDevice::setMounts(const QStringList &mounts) const
-{
- d->changeMounts(mounts);
-}
-
void DockerDevice::fromMap(const Store &map)
{
ProjectExplorer::IDevice::fromMap(map);
@@ -1224,15 +1218,6 @@ void DockerDevicePrivate::shutdown()
stopCurrentContainer();
}
-void DockerDevicePrivate::changeMounts(QStringList newMounts)
-{
- newMounts.removeDuplicates();
- if (q->mounts.value() != newMounts) {
- q->mounts.value() = newMounts;
- stopCurrentContainer(); // Force re-start with new mounts.
- }
-}
-
Result<FilePath> DockerDevicePrivate::localSource(const FilePath &other) const
{
const auto devicePath = FilePath::fromString(other.path());
diff --git a/src/plugins/docker/dockerdevice.h b/src/plugins/docker/dockerdevice.h
index 76bab5724c5..a33258a64b2 100644
--- a/src/plugins/docker/dockerdevice.h
+++ b/src/plugins/docker/dockerdevice.h
@@ -63,7 +63,6 @@ public:
Utils::Result<Utils::Environment> systemEnvironmentWithError() const override;
Utils::Result<> updateContainerAccess() const;
- void setMounts(const QStringList &mounts) const;
bool prepareForBuild(const ProjectExplorer::Target *target) override;
diff --git a/src/plugins/ios/simulatorcontrol.cpp b/src/plugins/ios/simulatorcontrol.cpp
index 8aa59b74a45..72a15851efa 100644
--- a/src/plugins/ios/simulatorcontrol.cpp
+++ b/src/plugins/ios/simulatorcontrol.cpp
@@ -35,18 +35,13 @@ namespace Ios::Internal {
const seconds simulatorStartTimeout = seconds(60);
// simctl Json Tags and tokens.
-const char deviceTypeTag[] = "devicetypes";
const char devicesTag[] = "devices";
const char availabilityTag[] = "availability";
const char unavailabilityToken[] = "unavailable";
const char availabilityTagNew[] = "isAvailable"; // at least since Xcode 10
-const char identifierTag[] = "identifier";
-const char runtimesTag[] = "runtimes";
const char nameTag[] = "name";
const char stateTag[] = "state";
const char udidTag[] = "udid";
-const char runtimeVersionTag[] = "version";
-const char buildVersionTag[] = "buildversion";
static Result<> runCommand(
const CommandLine &command,
diff --git a/src/plugins/projectexplorer/buildaspects.cpp b/src/plugins/projectexplorer/buildaspects.cpp
index 41d8adf92d6..6455fb226ed 100644
--- a/src/plugins/projectexplorer/buildaspects.cpp
+++ b/src/plugins/projectexplorer/buildaspects.cpp
@@ -154,6 +154,13 @@ void BuildDirectoryAspect::addToLayoutImpl(Layouting::Layout &parent)
pathChooser()->setAllowPathFromDevice(false);
}
+void BuildDirectoryAspect::announceChanges(Changes changes, Announcement howToAnnounce)
+{
+ if (changes.bufferFromInternal)
+ setChecked(d->sourceDir != expandedValue());
+ FilePathAspect::announceChanges(changes, howToAnnounce);
+}
+
FilePath BuildDirectoryAspect::fixupDir(const FilePath &dir)
{
if (!dir.isLocal())
diff --git a/src/plugins/projectexplorer/buildaspects.h b/src/plugins/projectexplorer/buildaspects.h
index 0c022f0a691..85b06d34f67 100644
--- a/src/plugins/projectexplorer/buildaspects.h
+++ b/src/plugins/projectexplorer/buildaspects.h
@@ -24,6 +24,7 @@ public:
void setProblem(const QString &description);
void addToLayoutImpl(Layouting::Layout &parent) override;
+ void announceChanges(Changes changes, Announcement howToAnnounce) override;
static Utils::FilePath fixupDir(const Utils::FilePath &dir);
diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp
index fd326430938..6033f3f104d 100644
--- a/src/plugins/projectexplorer/project.cpp
+++ b/src/plugins/projectexplorer/project.cpp
@@ -1618,6 +1618,14 @@ void Project::updateQmlCodeModel(Kit *kit, BuildConfiguration *bc)
emit ProjectManager::instance()->extraProjectInfoChanged(bc, projectInfo);
}
+void Project::resetQmlCodeModel()
+{
+ if (!s_qmlCodeModelIsUsed)
+ return;
+
+ emit ProjectManager::instance()->requestCodeModelReset();
+}
+
static FilePaths findGeneratedQrcFiles(const FilePaths &applicationDirectories,
const FilePaths &hiddenRccFolders)
{
diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h
index d6992b9da2a..5fd17de87f0 100644
--- a/src/plugins/projectexplorer/project.h
+++ b/src/plugins/projectexplorer/project.h
@@ -219,6 +219,7 @@ public:
static void setQmlCodeModelIsUsed();
void updateQmlCodeModel(Kit *kit, BuildConfiguration *bc);
+ void resetQmlCodeModel();
QmlCodeModelInfo gatherQmlCodeModelInfo(Kit *kit, BuildConfiguration *bc);
void syncRunConfigurations(bool force);
diff --git a/src/plugins/projectexplorer/projectmanager.h b/src/plugins/projectexplorer/projectmanager.h
index c8c658070cc..64635a21779 100644
--- a/src/plugins/projectexplorer/projectmanager.h
+++ b/src/plugins/projectexplorer/projectmanager.h
@@ -132,6 +132,7 @@ signals:
void extraProjectInfoChanged(ProjectExplorer::BuildConfiguration *bc,
const ProjectExplorer::QmlCodeModelInfo &extra);
+ void requestCodeModelReset();
private:
static void configureEditor(Core::IEditor *editor, const Utils::FilePath &filePath);
diff --git a/src/plugins/projectexplorer/selectablefilesmodel.cpp b/src/plugins/projectexplorer/selectablefilesmodel.cpp
index bb04d9ee4b6..a274cab67d0 100644
--- a/src/plugins/projectexplorer/selectablefilesmodel.cpp
+++ b/src/plugins/projectexplorer/selectablefilesmodel.cpp
@@ -127,7 +127,7 @@ void SelectableFilesFromDirModel::startParsing(const FilePath &baseDir)
const auto onDone = [this, baseDir](const Async<ResultType> &task) {
beginResetModel();
m_root = task.result();
- m_outOfBaseDirFiles = Utils::filtered(m_files, [this, baseDir](const FilePath &fn) {
+ m_outOfBaseDirFiles = Utils::filtered(m_files, [baseDir](const FilePath &fn) {
return !fn.isChildOf(baseDir);
});
endResetModel();
diff --git a/src/plugins/python/python.qbs b/src/plugins/python/python.qbs
index a73cdd8e469..93b4b6e1ea7 100644
--- a/src/plugins/python/python.qbs
+++ b/src/plugins/python/python.qbs
@@ -1,4 +1,4 @@
-import qbs 1.0
+import qbs.Utilities
QtcPlugin {
name: "Python"
@@ -14,6 +14,12 @@ QtcPlugin {
Depends { name: "QtSupport" }
Depends { name: "TextEditor" }
+ Properties {
+ condition: qbs.toolchain.contains("gcc") && (!qbs.toolchain.contains("clang")
+ || Utilities.versionCompare(cpp.compilerVersion, "17") >= 0)
+ cpp.cxxFlags: "-Wno-deprecated-literal-operator"
+ }
+
Group {
name: "General"
files: [
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
index c5731d6c2f3..4b3e7054042 100644
--- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.cpp
@@ -150,7 +150,7 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Id id)
this, &QmakeBuildConfiguration::updateProblemLabel);
connect(&settings(), &AspectContainer::changed,
this, &QmakeBuildConfiguration::updateProblemLabel);
- connect(buildSystem(), &BuildSystem::parsingFinished,
+ m_bsParsingFinishedConnection = connect(buildSystem(), &BuildSystem::parsingFinished,
this, &QmakeBuildConfiguration::updateProblemLabel);
connect(this, &BuildConfiguration::kitChanged,
this, &QmakeBuildConfiguration::updateProblemLabel);
@@ -182,6 +182,13 @@ QmakeBuildConfiguration::QmakeBuildConfiguration(Target *target, Id id)
runSystemFunctions.setDefaultValue(2);
}
+QmakeBuildConfiguration::~QmakeBuildConfiguration()
+{
+ // BuildSystem might send signals during destruction before this QObject
+ // had a chance to disconnect from it.
+ disconnect(m_bsParsingFinishedConnection);
+}
+
void QmakeBuildConfiguration::toMap(Store &map) const
{
BuildConfiguration::toMap(map);
diff --git a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h
index 4c6b2b40ab4..bc1ac3b5b43 100644
--- a/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h
+++ b/src/plugins/qmakeprojectmanager/qmakebuildconfiguration.h
@@ -29,6 +29,7 @@ class QMAKEPROJECTMANAGER_EXPORT QmakeBuildConfiguration : public ProjectExplore
public:
QmakeBuildConfiguration(ProjectExplorer::Target *target, Utils::Id id);
+ ~QmakeBuildConfiguration();
void setSubNodeBuild(QmakeProFileNode *node);
QmakeProFileNode *subNodeBuild() const;
@@ -136,6 +137,8 @@ private:
QtSupport::QtVersion::QmakeBuildConfigs m_qmakeBuildConfiguration;
QmakeProFileNode *m_subNodeBuild = nullptr;
ProjectExplorer::FileNode *m_fileNodeBuild = nullptr;
+
+ QMetaObject::Connection m_bsParsingFinishedConnection;
};
class QMAKEPROJECTMANAGER_EXPORT QmakeBuildConfigurationFactory : public ProjectExplorer::BuildConfigurationFactory
diff --git a/src/plugins/qmakeprojectmanager/qmakeproject.cpp b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
index 09e6055b056..087f82aeebe 100644
--- a/src/plugins/qmakeprojectmanager/qmakeproject.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakeproject.cpp
@@ -723,8 +723,10 @@ void QmakeBuildSystem::asyncUpdate()
void QmakeBuildSystem::buildFinished(bool success)
{
- if (success)
+ if (success) {
m_invalidateQmakeVfsContents = true;
+ project()->resetQmlCodeModel(); // QTCREATORBUG-24428
+ }
}
Tasks QmakeProject::projectIssues(const Kit *k) const
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp
index a01bc5d4a18..d406d74dedd 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp
@@ -112,6 +112,7 @@ QString QMakeStep::allArguments(const QtVersion *v, ArgumentFlags flags) const
{
QTC_ASSERT(v, return QString());
QmakeBuildConfiguration *bc = qmakeBuildConfiguration();
+ QTC_ASSERT(bc, return {});
QStringList arguments;
if (bc->subNodeBuild())
arguments << bc->subNodeBuild()->filePath().nativePath();
diff --git a/src/plugins/qmljstools/qmlformatsettings.cpp b/src/plugins/qmljstools/qmlformatsettings.cpp
index 1951c747ed6..a8977e18787 100644
--- a/src/plugins/qmljstools/qmlformatsettings.cpp
+++ b/src/plugins/qmljstools/qmlformatsettings.cpp
@@ -148,26 +148,27 @@ QmlFormatProcess::QmlFormatProcess(const CommandLine &cmd)
: m_logFile("qmlformat.qtc.log")
{
m_logFile.setAutoRemove(false);
- m_logFile.open();
m_process.setCommand(cmd);
m_process.setWorkingDirectory(FilePath::fromString(m_tempDir.path()));
m_process.setProcessMode(ProcessMode::Writer);
- connect(&m_process, &Process::readyReadStandardOutput, [this] {
- const QString output = m_process.readAllStandardOutput();
- if (!output.isEmpty()) {
- qCInfo(qmlformatlog) << "qmlformat stdout is written to: " << m_logFile.filePath();
- QTextStream(&m_logFile) << "STDOUT: " << output << '\n';
- }
- });
- connect(&m_process, &Process::readyReadStandardError, [this] {
- const QString output = m_process.readAllStandardError();
- if (!output.isEmpty()) {
- qCInfo(qmlformatlog) << "qmlformat stderr is written to: " << m_logFile.filePath();
- QTextStream(&m_logFile) << "STDERR: " << output << '\n';
- }
- });
+ if (m_logFile.open()) {
+ connect(&m_process, &Process::readyReadStandardOutput, [this] {
+ const QString output = m_process.readAllStandardOutput();
+ if (!output.isEmpty()) {
+ qCInfo(qmlformatlog) << "qmlformat stdout is written to: " << m_logFile.filePath();
+ QTextStream(&m_logFile) << "STDOUT: " << output << '\n';
+ }
+ });
+ connect(&m_process, &Process::readyReadStandardError, [this] {
+ const QString output = m_process.readAllStandardError();
+ if (!output.isEmpty()) {
+ qCInfo(qmlformatlog) << "qmlformat stderr is written to: " << m_logFile.filePath();
+ QTextStream(&m_logFile) << "STDERR: " << output << '\n';
+ }
+ });
+ }
connect(&m_process, &Process::done, this, [this] {
ProcessResultData result = m_process.resultData();
diff --git a/src/plugins/qmljstools/qmljsmodelmanager.cpp b/src/plugins/qmljstools/qmljsmodelmanager.cpp
index 3625819a784..bef5a39c859 100644
--- a/src/plugins/qmljstools/qmljsmodelmanager.cpp
+++ b/src/plugins/qmljstools/qmljsmodelmanager.cpp
@@ -112,6 +112,9 @@ ModelManager::ModelManager()
connect(ProjectManager::instance(), &ProjectManager::extraProjectInfoChanged,
this, &ModelManager::updateFromBuildConfig);
+ connect(ProjectManager::instance(), &ProjectManager::requestCodeModelReset,
+ this, &ModelManager::resetCodeModel,
+ Qt::QueuedConnection);
}
ModelManager::~ModelManager() = default;
diff --git a/src/shared/json/json.qbs b/src/shared/json/json.qbs
index 060e1bda9db..99fe1817788 100644
--- a/src/shared/json/json.qbs
+++ b/src/shared/json/json.qbs
@@ -1,14 +1,17 @@
import qbs
-StaticLibrary {
+QtcLibrary {
name: "qtcjson"
- Depends { name: "cpp" }
- cpp.cxxLanguageVersion: "c++17"
- cpp.minimumMacosVersion: project.minimumMacosVersion
+ type: "staticlibrary"
+
+ hasCMakeProjectFile: false
+ useQt: false
+
files: [
"json.cpp",
"json.h",
]
+
Export {
Depends { name: "cpp" }
cpp.includePaths: [exportingProduct.sourceDirectory]
diff --git a/src/shared/qbs b/src/shared/qbs
-Subproject e3e2325babf588f836f3d87347e8f412f52f255
+Subproject 9af6cbb04d4d90028134100f65db4a9edeed91c