diff --git a/doc/qtcreator/src/analyze/creator-heob.qdoc b/doc/qtcreator/src/analyze/creator-heob.qdoc
index 45f2b269ed6..33d9568c07b 100644
--- a/doc/qtcreator/src/analyze/creator-heob.qdoc
+++ b/doc/qtcreator/src/analyze/creator-heob.qdoc
@@ -9,7 +9,7 @@
/*!
\page creator-how-to-use-heob.html
- \previouspage creator-clang-tools.html
+ \previouspage creator-how-tos.html
\ingroup creator-how-to-analyze
diff --git a/doc/qtcreator/src/overview/creator-only/creator-reference.qdoc b/doc/qtcreator/src/overview/creator-only/creator-reference.qdoc
index 6f2ed53a14e..fa33afb2a41 100644
--- a/doc/qtcreator/src/overview/creator-only/creator-reference.qdoc
+++ b/doc/qtcreator/src/overview/creator-only/creator-reference.qdoc
@@ -19,20 +19,6 @@
\annotatedlist creator-reference-analyzer
- \section1 Debuggers
-
- Set up and use debuggers to debug executable binary files, as well as
- QML, Java, and Python source code.
-
- \annotatedlist creator-reference-debugger
-
- \section2 Debugger Views
-
- Inspect the state of your application while debugging in the
- \uicontrol Debug mode.
-
- \annotatedlist creator-reference-debugger-views
-
\section1 Build Systems
When you create projects, you can choose the build system to use for
@@ -50,6 +36,20 @@
\annotatedlist creator-reference-build-configurations
+ \section1 Debuggers
+
+ Set up and use debuggers to debug executable binary files, as well as
+ QML, Java, and Python source code.
+
+ \annotatedlist creator-reference-debugger
+
+ \section2 Debugger Views
+
+ Inspect the state of your application while debugging in the
+ \uicontrol Debug mode.
+
+ \annotatedlist creator-reference-debugger-views
+
\section1 Devices
Connect devices to the computer to run, debug, and analyze applications
@@ -114,6 +114,8 @@
\section2 Debugger
+ Preferences for debugging.
+
\annotatedlist creator-reference-preferences-debugger
\section2 Kits
diff --git a/qbs/imports/QtcPlugin.qbs b/qbs/imports/QtcPlugin.qbs
index d06f99385e4..f4ee221695f 100644
--- a/qbs/imports/QtcPlugin.qbs
+++ b/qbs/imports/QtcPlugin.qbs
@@ -46,6 +46,6 @@ QtcProduct {
Export {
Depends { name: "cpp" }
Depends { name: "ExtensionSystem" }
- cpp.includePaths: ".."
+ cpp.includePaths: exportingProduct.sourceDirectory + "/.."
}
}
diff --git a/share/qtcreator/qml-type-descriptions/qbs-bundle.json b/share/qtcreator/qml-type-descriptions/qbs-bundle.json
index 9b2f233a4c3..672c79187f2 100644
--- a/share/qtcreator/qml-type-descriptions/qbs-bundle.json
+++ b/share/qtcreator/qml-type-descriptions/qbs-bundle.json
@@ -24,6 +24,7 @@
"qbs.Probes",
"qbs.Process",
"qbs.PropertyList",
+ "qbs.ProviderUtils",
"qbs.TemporaryDir",
"qbs.TextFile",
"qbs.UnixUtils",
diff --git a/share/qtcreator/qml-type-descriptions/qbs.qmltypes b/share/qtcreator/qml-type-descriptions/qbs.qmltypes
index 941697b02d2..00c0cbb9261 100644
--- a/share/qtcreator/qml-type-descriptions/qbs.qmltypes
+++ b/share/qtcreator/qml-type-descriptions/qbs.qmltypes
@@ -19,7 +19,6 @@ Module {
exports: [ "qbs/Depends 1.0" ]
prototype: "QQuickItem"
Property { name: "condition"; type: "bool" }
- Property { name: "enableFallback"; type: "bool" }
Property { name: "limitToSubProject"; type: "bool" }
Property { name: "multiplexConfigurationIds"; type: "string"; isList: true }
Property { name: "name"; type: "string" }
@@ -93,6 +92,8 @@ Module {
name: "ModuleProvider"
exports: [ "qbs/ModuleProvider 1.0" ]
prototype: "QQuickItem"
+ Property { name: "isEager"; type: "bool" }
+ Property { name: "moduleName"; type: "string" }
Property { name: "name"; type: "string" }
Property { name: "outputBaseDir"; type: "string" }
Property { name: "relativeSearchPaths"; type: "string"; isList: true }
diff --git a/share/qtcreator/templates/wizards/projects/consoleapp/main.cpp b/share/qtcreator/templates/wizards/projects/consoleapp/main.cpp
index 3609b36c4e1..356f567b8c3 100644
--- a/share/qtcreator/templates/wizards/projects/consoleapp/main.cpp
+++ b/share/qtcreator/templates/wizards/projects/consoleapp/main.cpp
@@ -22,5 +22,16 @@ int main(int argc, char *argv[])
}
@endif
+ // Set up code that uses the Qt event loop here.
+ // Call a.quit() or a.exit() to quit the application.
+ // A not very useful example would be including
+ // #include
+ // near the top of the file and calling
+ // QTimer::singleShot(5000, &a, &QCoreApplication::quit);
+ // which quits the application after 5 seconds.
+
+ // If you do not need a running Qt event loop, remove the call
+ // to a.exec() or use the Non-Qt Plain C++ Application template.
+
return a.exec();
}
diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts
index 9c18f5e66c7..64cb6774620 100644
--- a/share/qtcreator/translations/qtcreator_de.ts
+++ b/share/qtcreator/translations/qtcreator_de.ts
@@ -10765,7 +10765,7 @@ Locked components cannot be modified or selected.
Verifying package integrity...
-
+ Prüfe die Integrität des Pakets...Unarchiving error.
@@ -10963,7 +10963,7 @@ Dies kann nicht rückgängig gemacht werden.
Android support is not yet configured.
-
+ Android-Unterstützung ist noch nicht konfiguriert.The device info returned from AvdDialog is invalid.
@@ -11169,11 +11169,11 @@ Dies kann nicht rückgängig gemacht werden.
Cannot find the package name from AndroidManifest.xml nor build.gradle files at "%1".
-
+ Konnte den Paketnamen nicht aus den Informationen in der AndroidManifest.xml-Datei oder der build.gradle-Datei in "%1" bestimmen.Deployment failed with the following errors:
-
+ Das Deployment ist mit den folgenden Fehlern fehlgeschlagen:Install an APK File
@@ -11397,7 +11397,7 @@ Der vom Kit mindestens benötigte API-Level ist %1.
Cannot open "%1".
-
+ "%1" kann nicht geöffnet werden.Cannot parse "%1".
@@ -11599,39 +11599,39 @@ Installieren Sie diese manuell, nachdem der aktuelle Vorgang abgeschlossen ist.
Finished successfully.
-
+ Erfolgreich abgeschlossen.Installing / Uninstalling selected packages...
-
+ Installiere / Deinstalliere ausgewählte Pakete...Closing the preferences dialog will cancel the running and scheduled SDK operations.
-
+ Wenn Sie den Einstellungsdialog schließen, werden die laufenden und geplanten SDK-Operationen abgebrochen.Closing the options dialog will cancel the running and scheduled SDK operations.
-
+ Wenn Sie den Einstellungsdialog schließen, werden die laufenden und geplanten SDK-Operationen abgebrochen.Uninstalling %1...
-
+ Deinstalliere %1...Installing %1...
-
+ Installiere %1...Updating installed packages...
-
+ Aktualisiere installierte Pakete...[Packages to be uninstalled:]
-
+ [Pakete, die deinstalliert werden sollen:][Packages to be installed:]
-
+ [Pakete, die installiert werden sollen:]Android SDK Changes
@@ -11720,7 +11720,7 @@ Installieren Sie diese manuell, nachdem der aktuelle Vorgang abgeschlossen ist.
Failed to start AVD emulator for "%1" device.
-
+ Das Starten des AVD-Emulators für das Gerät "%1" ist fehlgeschlagen.Clean Environment
@@ -12340,11 +12340,11 @@ und das Überschreiben Ihrer Einstellungen erfordert. Das Überschreiben erlaube
Use a timeout while executing test cases.
-
+ Zeitlimit für das Ausführen von Testfällen verwenden.Timeout used when executing test cases. This will apply for each test case on its own, not the whole project. Overrides test framework or build system defaults.
-
+ Zeitlimit, das für das Ausführen von Testfällen benutzt wird. Dieses wird für jeden Testfall einzeln angewendet, nicht für das gesamte Projekt. Überschreibt die Vorgaben des Test-Frameworks und des Build-Systems.Omit run configuration warnings
@@ -12494,23 +12494,23 @@ Warnung: Dies ist eine experimentelle Funktion und könnte dazu führen, dass di
Apply path filters before scanning for tests.
-
+ Pfade vor dem Suchen nach Tests filtern.Wildcard expressions for filtering:
-
+ Ausdrücke mit Platzhaltern, die zum Filtern benutzt werden:Add
- Hinzufügen
+ HinzufügenRemove
-
+ EntfernenLimit Files to Path Patterns
-
+ Dateien auf Suchmuster beschränkenScanning for Tests
@@ -13028,7 +13028,7 @@ Dies könnte Probleme während der Ausführung verursachen.
Repeat Tests
-
+ Tests wiederholenOutput on failure
@@ -13728,7 +13728,7 @@ Siehe auch die Einstellungen für Google Test.
No Data
-
+ Keine DatenAxivion
@@ -13744,15 +13744,15 @@ Siehe auch die Einstellungen für Google Test.
Open Issue in Dashboard
-
+ Problem im Dashboard anzeigenOpen Table in Dashboard
-
+ Tabelle im Dashboard anzeigenCopy Dashboard Link to Clipboard
-
+ Dashboard-Link in die Zwischenablage kopierenShow rule details
@@ -13792,7 +13792,7 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe.
Unauthenticated access failed (wrong user), using authenticated access...
-
+ Zugriff ohne Authentifizierung ist fehlgeschlagen (falscher Benutzer), verwende authentifizierten Zugriff...Enter the password for:
@@ -13830,7 +13830,7 @@ Wollen Sie "%1" mit der Standardanwendung öffnen?
Search for issues inside the Axivion dashboard or request issue details for Axivion inline annotations to see them here.
-
+ Suchen Sie nach Problemen im Axivion-Dashboard oder fordern Sie Problemdetails für Inline-Annotationen von Axivion an, um sie hier anzuzeigen.Fetch Projects
@@ -13882,7 +13882,7 @@ Wollen Sie "%1" mit der Standardanwendung öffnen?
Add...
- Hinzufügen...
+ Hinzufügen...Edit...
@@ -13890,27 +13890,27 @@ Wollen Sie "%1" mit der Standardanwendung öffnen?
Remove
-
+ EntfernenDefault dashboard server:
-
+ Vorgabe-Dashboardserver:unset
-
+ nicht gesetztRemove Server Configuration
-
+ Server-Konfiguration löschenRemove the server configuration "%1"?
-
+ Server-Konfiguration "%1" löschen?Add Dashboard Configuration
-
+ Dashboard-Konfiguration hinzufügenEdit Dashboard Configuration
@@ -16270,7 +16270,7 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev
You may need to add the project directory to the list of directories that are mounted by the build device.
-
+ Sie müssen das Projektverzeichnis möglicherweise zur Liste der vom Gerät eingehängten Pfade hinzufügen.The source directory %1 is not reachable by the CMake executable %2.
@@ -16310,7 +16310,7 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev
CMake Preset (%1) %2 Debugger
-
+ CMake-Preset (%1) %2 DebuggerUnexpected source directory "%1", expected "%2". This can be correct in some situations, for example when importing a standalone Qt test, but usually this is an error. Import the build anyway?
@@ -16435,7 +16435,7 @@ Zum Beispiel bewirkt die Angabe "Revision: 15" dass der Branch auf Rev
CMake project configuration failed. No CMake configuration for build type "%1" found. Check General Messages for more information.General Messages refers to the output view
-
+ Die CMake-Konfiguration des Projekts ist fehlgeschlagen. Es wurde keine CMake-Konfiguration für den Build-Typ "%1" gefunden. Überprüfen Sie "Allgemeine Ausgaben" für weitere Informationen.No "%1" CMake configuration found. Available configurations: "%2".
@@ -16475,15 +16475,15 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
Invalid "configurePresets" section in file "%1".
-
+ Ungültiger Abschnitt "configurePresets" in Datei "%1".Invalid "buildPresets" section in file "%1".
-
+ Ungültiger Abschnitt "buildPresets" in Datei "%1".Invalid "vendor" section in file "%1".
-
+ Ungültiger Abschnitt "vendor" in Datei "%1".<File System>
@@ -16871,7 +16871,7 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
Generating Clang compilation database canceled.
-
+ Erzeugen der Clang-Kompilierungsdatenbank wurde abgebrochen.Generate Compilation Database for "%1"
@@ -16973,7 +16973,7 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
Cannot use clangd: Generating compilation database canceled.
-
+ Kann Clangd nicht nutzen: Erstellen der Kompilierungsdatenbank wurde abgebrochen.Cannot use clangd: Failed to generate compilation database:
@@ -17008,7 +17008,7 @@ Stellen Sie sicher, dass der Wert der CMAKE_BUILD_TYPE-Variable derselbe wie der
Could not retrieve project info.
-
+ Projekt-Information konnte nicht abgefragt werden.Could not create "%1": %2
@@ -17194,11 +17194,11 @@ Ausgabe:
Suppress Selected Diagnostics Inline
-
+ Inline-Anzeige der ausgewählten Meldungen unterdrückenSuppress This Diagnostic Inline
-
+ Inline-Anzeige dieser Meldung unterdrückenDisable These Checks
@@ -18677,17 +18677,17 @@ Der Code wurde in die Zwischenablage kopiert.
Path to %1:%1 is the filename of the copilot language server
-
+ Pfad zu %1:%1 path%1 is the filename of the copilot language server
-
+ Pfad zu %1Select path to %2 in Copilot Neovim plugin. See %1 for installation instructions.%1 is the URL to copilot.vim getting started, %2 is the filename of the copilot language server
-
+ Wählen Sie den Pfad zu %2 im Copilot-Plugin für Neovim. Siehe auch %1 für eine Installationsanleitung.Auto Request
@@ -18786,7 +18786,9 @@ Der Code wurde in die Zwischenablage kopiert.
Otherwise you need to specify the path to the %2 file from the Copilot neovim plugin.
Markdown text for the copilot instruction label
-
+ Das Copilot-Plugin benötigt node.js und das Copilot-Plugin für Neovim. Wenn Sie das Neovim-Plugin wie in der %1 beschrieben installieren, findet das Plugin die Datei %3 automatisch.
+
+Ansonsten müssen Sie den Pfad zur Datei %2 aus dem Copilot-Plugin für Neovim angeben.Note
@@ -20157,11 +20159,11 @@ konnte nicht unter Versionsverwaltung (%2) gestellt werden
output.txtdefault file name suggested for saving text from output views
-
+ ausgabe.txtSave Contents...
-
+ Inhalt speichern...Elided %n characters due to Application Output settings
@@ -20527,7 +20529,7 @@ Um es abzurufen, tippen Sie das Kürzel im Locator, gefolgt von einem Leerzeiche
Locator filters show relative paths to the active project when possible.
-
+ Locator-Filter zeigen relative Pfade zum aktiven Projekt an, wenn möglich.Files in Directories
@@ -20997,7 +20999,7 @@ Möchten Sie es beenden?
The path to the running %1 itself.
-
+ Der Pfad zum laufenden %1 selbst.The directory where %1 finds its pre-installed resources.
@@ -21005,7 +21007,7 @@ Möchten Sie es beenden?
The directory where %1 puts custom user data.
-
+ Das Verzeichnis, in dem %1 Benutzerdaten speichert.The current date (QDate formatstring).
@@ -21245,7 +21247,7 @@ Möchten Sie sie jetzt auschecken?
Reopen Last Closed Document
-
+ Zuletzt geschlossenes Dokument erneut öffnenMeta+E,2
@@ -23003,11 +23005,11 @@ Namensraum-Definition
Macros that can be used as statements without a trailing semicolon.
-
+ Makros, die ohne abschließendes Semikolon benutzt werden können.Statement Macros
-
+ Anweisungs-MakrosBraces
@@ -23274,15 +23276,15 @@ Diese Präfixe werden zusätzlich zum Dateinamen beim Wechseln zwischen Header-
Header File Variables
-
+ Variablen für Header-DateienHeader file
-
+ Header-DateiUse "#pragma once" instead
-
+ Stattdessen "#pragma once" benutzen&Lower case file names
@@ -23290,7 +23292,7 @@ Diese Präfixe werden zusätzlich zum Dateinamen beim Wechseln zwischen Header-
Include guard template:
-
+ Vorlage für Include-Guards:License &template:
@@ -23727,11 +23729,11 @@ z.B. name = "m_test_foo_":
Enable indexing
-
+ Indizieren aktivierenIndexing should almost always be kept enabled, as disabling it will severely limit the capabilities of the code model.
-
+ Das Indizieren sollte nahezu immer aktiviert bleiben, da das Deaktivieren die Fähigkeiten des Codemodells erheblich einschränkt.Do not index files greater than
@@ -23775,11 +23777,11 @@ z.B. name = "m_test_foo_":
The location of the per-project clangd index.<p>This is also where the compile_commands.json file will go.
-
+ Der Pfad zum Clangd-Index pro Projekt.<p>Dies ist auch der Ort, an dem die compile_commands.json-Datei gespeichert wird.The location of the per-session clangd index.<p>This is also where the compile_commands.json file will go.
-
+ Der Pfad zum Clangd-Index pro Sitzung.<p>Dies ist auch der Ort, an dem die compile_commands.json-Datei gespeichert wird.<p>The C/C++ backend to use for switching between header and source files.</p><p>While the clangd implementation has more capabilities than the built-in code model, it tends to find false positives.</p><p>When "Try Both" is selected, clangd is used only if the built-in variant does not find anything.</p>
@@ -23799,7 +23801,7 @@ z.B. name = "m_test_foo_":
<p>Controls whether when editing a header file, clangd should re-parse all source files including that header.</p><p>Note that enabling this option can cause considerable CPU load when editing widely included headers.</p><p>If this option is disabled, the dependent source files are only re-parsed when the header file is saved.</p>
-
+ <p>Bestimmt, ob Clangd beim Bearbeiten einer Header-Datei alle Quelldateien, die diesen Header benutzen, neu auswerten soll.</p><p>Beachten Sie, dass das Aktivieren dieser Einstellung erhebliche Prozessorauslastung beim Bearbeiten weitgenutzter Header-Dateien zur Folge haben kann.</p><p>Wenn diese Einstellung deaktiviert ist, werden abhängige Quelldateien erst erneut ausgewertet, wenn die Header-Datei gespeichert wird.</p>Defines the amount of time %1 waits before sending document changes to the server.
@@ -23827,7 +23829,7 @@ Das integrierte Codemodell übernimmt Syntaxhervorhebung, Code-Vervollständigun
Update dependent sources
-
+ Abhängige Quellen aktualisierenAutomatic
@@ -23855,11 +23857,11 @@ Das integrierte Codemodell übernimmt Syntaxhervorhebung, Code-Vervollständigun
Per-project index location:
-
+ Pfad des Index pro Projekt:Per-session index location:
-
+ Pfad des Index pro Sitzung:Header/source switch mode:
@@ -24227,40 +24229,41 @@ Flags: %3
Convert Function Call to Qt Meta-Method Invocation
-
+ Funktionsaufruf in Qt Meta-Methodenaufruf umwandelnMove Class to a Dedicated Set of Source Files
-
+ Klasse in dedizierten Satz Quelldateien verschiebenHeader file only
-
+ Nur Header-DateiProject:
- Projekt:
+ Projekt:Header file:
- Header-Datei:
+ Header-Datei:Implementation file:
-
+ Implementationsdatei:Refusing to overwrite the following files: %1
-
+ Folgende Dateien existieren und werden nicht überschrieben: %1
+Failed to add to project file "%1": %2
-
+ Hinzufügen zur Projektdatei "%1" fehlgeschlagen: %2Re-order Member Function Definitions According to Declaration Order
-
+ Definitionen der Memberfunktionen entsprechend der Deklarationsreihenfolge anordnen
@@ -24914,11 +24917,11 @@ Möchten Sie die Daten trotzdem anzeigen?
Disable All Breakpoints
-
+ Alle Haltepunkte deaktivierenEnable All Breakpoints
-
+ Alle Haltepunkte aktivierenDisable Selected Locations
@@ -25747,15 +25750,15 @@ markers in the source code editor.
Use debug info daemon
-
+ Debuginfo-Daemon benutzenUse system settings
-
+ Systemeinstellungen benutzenLets GDB attempt to automatically retrieve debug information for system packages.
-
+ Lässt GDB versuchen, die Debuginformation für Systempakete automatisch abzurufen.<html><head/><body><p>Enables stepping backwards.</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>
@@ -26626,7 +26629,7 @@ markers in the source code editor.
"%1" could not be started. Error message: %2
-
+ "%1" konnte nicht gestartet werden. Fehlermeldung: %2Python Error
@@ -27152,7 +27155,7 @@ Sie werden möglicherweise gebeten, den Inhalt dieses Logs mitzuteilen, wenn Sie
LLDB Preset
-
+ LLDB VoreinstellungPython Preset
@@ -27950,7 +27953,7 @@ Sie können hier eine andere Verbindung wählen, beispielsweise eine serielle Ve
Behavior
- Verhalten
+ VerhaltenExtra Debugging Helpers
@@ -28224,7 +28227,7 @@ Bitte wählen Sie einen 64-bit-Debugger in den Kit-Einstellungen für dieses Kit
Launching %1 Debugger
-
+ Starte Debugger %1Loading finished.
@@ -29984,102 +29987,102 @@ Versuchen Sie, das Projekt neu zu erstellen.
QtC::ExtensionManagerExtensions
-
+ ErweiterungenMore information
-
+ Mehr InformationenExtension details
-
+ ErweiterungsdetailsPack contains %n plugins.
-
-
-
+
+ Paket enthält ein Plugin.
+ Paket enthält %n Plugins.Load on start
-
+ Beim Start ladenRestart Now
- Jetzt neu starten
+ Jetzt neu startenError
- Fehler
+ FehlerLoaded
- Geladen
+ GeladenNot loaded
-
+ Nicht geladenTags
- Tags
+ TagsPlatforms
-
+ PlattformenDependencies
- Abhängigkeiten
+ AbhängigkeitenExtensions in pack
-
+ Erweiterungen im PaketDownloading...
-
+ Lade herunter...Cancel
- Abbrechen
+ AbbrechenDownload Extension
-
+ Erweiterung herunterladenDownload Error
-
+ LadefehlerCannot download extension
-
+ Erweiterung kann nicht heruntergeladen werdenCode: %1.
-
+ Code: %1.Manage Extensions
-
+ Erweiterungen verwaltenSearch
- Suche
+ SucheInstall...
-
+ Installieren...Use external repository
-
+ Externes Repository benutzenRepository: %1
- Repository: %1
+ Repository: %1
@@ -30118,7 +30121,7 @@ Versuchen Sie, das Projekt neu zu erstellen.
Loadable without restart:
-
+ Kann ohne Neustart geladen werden:Plugin Details of %1
@@ -30286,7 +30289,7 @@ Grund: %3
Cannot open file
-
+ Datei kann nicht geöffnet werden"%1" is missing
@@ -30314,11 +30317,11 @@ Grund: %3
No IID found
-
+ Keine IID gefundenExpected IID "%1", but found "%2"
-
+ IID "%1" erwartet, aber "%2" gefundenResolving dependencies failed because state != Read
@@ -30390,7 +30393,7 @@ Grund: %3
Load on Startup
- Beim Start Laden
+ Beim Start ladenUtilities
@@ -30444,7 +30447,7 @@ Plugin durch ein Kommandozeilenargument deaktiviert.
Load on startup
- Beim Start Laden
+ Beim Start ladenEnabling Plugins
@@ -35076,7 +35079,7 @@ Möchten Sie sie überschreiben?
Product type:
-
+ Produkttyp:Device name
@@ -35109,7 +35112,7 @@ Möchten Sie sie überschreiben?
Product type
-
+ ProdukttypAn iOS device in user mode has been detected.
@@ -35178,7 +35181,7 @@ Möchten Sie sie überschreiben?
Update
-
+ AktualisiereniOS Simulator
@@ -35274,7 +35277,7 @@ Möchten Sie sie überschreiben?
Configure available simulator devices in <a href="%1">Xcode</a>.
-
+ Konfigurieren Sie verfügbare Simulator-Geräte in <a href="%1">Xcode</a>.Devices
@@ -35623,7 +35626,7 @@ Beispiel: *.cpp%1*.h
File pattern:
-
+ Suchmuster für Dateinamen:Executable:
@@ -35767,11 +35770,11 @@ Für gültige Einstellungen schauen Sie in die Dokumentation des verwendeten Lan
Language Server Diagnostics
-
+ Language Server-MeldungenIssues provided by the Language Server in the current document.
-
+ Probleme, die der Language Server im aktuellen Dokument gefunden hat.Always On
@@ -35880,7 +35883,7 @@ Für gültige Einstellungen schauen Sie in die Dokumentation des verwendeten Lan
Deprecated
-
+ VeraltetIncoming
@@ -35892,11 +35895,11 @@ Für gültige Einstellungen schauen Sie in die Dokumentation des verwendeten Lan
Bases
- Basisklassen
+ BasistypenDerived
- Abgeleitet
+ AbgeleitetCall Hierarchy
@@ -35950,129 +35953,134 @@ Für gültige Einstellungen schauen Sie in die Dokumentation des verwendeten Lan
QtC::LuaNetwork Access
-
+ NetzwerkzugriffAllow Internet Access
-
+ Internetzugriff erlaubenAllow the extension "%1" to fetch from the following URL:
%2
-
+ Der Erweiterung "%1" erlauben, auf folgende URL zuzugreifen:
+%2Remember choice
-
+ Auswahl speichernAllow the extension "%1" to fetch data from the internet?
-
+ Der Erweiterung "%1" erlauben, Daten aus dem Internet zu laden?Allow the extension "%1" to fetch datafrom the following URL:
-
+ Der Erweiterung "%1" erlauben, Daten von der folgenden URL zu laden:
+
+Always Allow
-
+ Immer erlaubenAllow Once
-
+ Einmal erlaubenDeny
-
+ VerbietenFetching is not allowed for the extension "%1". (You can edit permissions in Preferences > Lua.)
-
+ Das Laden von Daten ist der Erweiterung "%1" nicht erlaubt. (Sie können die Rechte in Einstellungen > Lua ändern.)Package info is not an object.
-
+ Paketinformation ist kein Objekt.Installed package info is not an object.
-
+ Installierte Paketinformation ist kein Objekt.Cannot create app data directory.
-
+ Das Verzeichnis für Anwendungsdaten konnte nicht angelegt werden.Cannot write to package info: %1
-
+ Paketinformation konnte nicht geschrieben werden: %1Cannot write to temporary file.
-
+ Temporäre Datei konnte nicht geschrieben werden.Unarchiving failed.
-
+ Entpacken fehlgeschlagen.Cannot open temporary file.
-
+ Temporäre Datei konnte nicht geöffnet werden.Installing package(s) %1
-
+ Installiere Paket(e) %1Install Package
-
+ Installiere PaketThe extension "%1" wants to install the following package(s):
-
+ Die Erweiterung "%1" möchte folgende Pakete installieren:
+
+Install
- Installieren
+ Installieren* %1 - %2 (from: [%3](%3))Markdown list item: %1 = package name, %2 = version, %3 = URL
-
+ * %1 - %2 (von: [%3](%3))Failed to run script %1: %2
-
+ Das Ausführen des Skripts %1 ist fehlgeschlagen: %2No hook with the name "%1" found.
-
+ Kein Einsprungpunkt mit dem Namen "%1" gefunden.Script did not return a table.
-
+ Das Skript hat keine Tabelle zurückgeliefert.Extension info table did not contain a setup function.
-
+ Informationstabelle der Erweiterung enthält keine Setup-Funktion.Failed to load plugin %1: %2
-
+ Laden des Plugins %1 ist fehlgeschlagen: %2Cannot prepare extension setup: %1
-
+ Setup der Erweiterung kann nicht vorbereitet werden: %1Extension setup function returned false.
-
+ Die Setup-Funktion der Erweiterung hat "false" zurückgeliefert.Extension setup function returned error: %1
-
+ Die Setup-Funktion der Erweiterung hat einen Fehler zurückgeliefert: %1
@@ -37254,11 +37262,11 @@ Dies ist hilfreich, wenn das Build-Verzeichnis beschädigt ist oder das Projekt
Toggle View and Filter Settings
-
+ Einstellungen für Ansicht und Filter umschaltenCtrl+Shift+L
-
+ Ctrl+Shift+LSynchronize Browser and Diagram
@@ -37403,15 +37411,15 @@ Dies ist hilfreich, wenn das Build-Verzeichnis beschädigt ist oder das Projekt
Add Package Link to %1
-
+ Paket-Link zu %1 hinzufügenAdd Diagram Link to %1
-
+ Diagramm-Link zu %1 hinzufügenAdd Document Link to %1
-
+ Dokument-Link zu %1 hinzufügenAdd Package %1
@@ -37443,19 +37451,19 @@ Dies ist hilfreich, wenn das Build-Verzeichnis beschädigt ist oder das Projekt
Select File Target
-
+ Zieldatei auswählenLinked file:
-
+ Verlinkte Datei:Select Image File
-
+ Bilddatei auswählenImage:
-
+ Bild:<font color=red>Model file must be reloaded.</font>
@@ -37463,11 +37471,11 @@ Dies ist hilfreich, wenn das Build-Verzeichnis beschädigt ist oder das Projekt
Selecting Image
-
+ Bild auswählenUnable to read image file "%1".
-
+ Bilddatei "%1" konnte nicht gelesen werden.Zoom: %1%
@@ -37475,15 +37483,15 @@ Dies ist hilfreich, wenn das Build-Verzeichnis beschädigt ist oder das Projekt
Opening File
-
+ Öffne DateiFile "%1" does not exist.
- Datei "%1" existiert nicht.
+ Datei "%1" existiert nicht.Add Related Elements...
-
+ Zugehörige Elemente hinzufügen...Update Include Dependencies
@@ -38970,7 +38978,7 @@ Außer: %2
compile-output.txtfile name suggested for saving compile output
-
+ kompilierungsausgabe.txtShow Compile &Output
@@ -39330,7 +39338,7 @@ Title of a the cloned RunConfiguration window, text of the window
Open Workspace...
-
+ Workspace öffnen...Open File
@@ -39656,7 +39664,7 @@ Bitte versuchen Sie es erneut.
Open Workspace
-
+ Workspace öffnenSanitizer
@@ -40314,19 +40322,19 @@ Rename %2 to %3 anyway?
No build device is set for the kit "%1".
-
+ Es ist kein Gerät (Erstellung) für das Kit "%1" eingerichtet.You can try mounting the folder in your device settings.
-
+ Sie können in den Geräteeinstellungen versuchen, das Verzeichnis einzuhängen.The build device "%1" cannot reach the project directory.
-
+ Das Gerät "%1" für das Erstellen kann das Projektverzeichnis nicht erreichen.The build device "%1" cannot reach the build directory.
-
+ Das Gerät "%1" für das Erstellen kann das Build-Verzeichnis nicht erreichen.Default
@@ -40619,7 +40627,7 @@ Aktivieren Sie dies, wenn Sie 32bit-x86-Binärdateien erstellen wollen, ohne ein
application-output-%1.txtfile name suggested for saving application output, %1 = run configuration display name
-
+ anwendungsausgabe-%1.txtApplication Output
@@ -42975,7 +42983,8 @@ Sie sollten nicht mehrere Test-Frameworks im selben Projekt mischen.
* Did not find a JSON object in "%1".
-
+ * Konnte kein JSON-Objekt in "%1" finden.
+* Version %1 not supported.
@@ -43132,7 +43141,7 @@ Sie sollten nicht mehrere Test-Frameworks im selben Projekt mischen.
%1: Full path to Project Directory.%1 is something like "Active project"
-
+ %1: Vollständiger Pfad zum Projektverzeichnis.%1: The name of the active kit.
@@ -43487,11 +43496,11 @@ Sie werden erhalten.
Show All Kits
-
+ Alle Kits anzeigenHide Inactive Kits
-
+ Inaktive Kits verbergenEnable Kit for Project "%1"
@@ -43688,11 +43697,11 @@ Was soll %1 tun?
Emulator
- Emulator
+ EmulatorLauncher:
-
+ Startprogramm:X11 Forwarding:
@@ -44148,11 +44157,11 @@ Was soll %1 tun?
sSuffix for "seconds"
- s
+ sThe amount of seconds to wait between a "soft kill" and a "hard kill" of a running application.
-
+ Die Zeit in Sekunden, die zwischen einem "soft kill" und einem "hard kill" einer laufenden Anwendung gewartet werden soll.Current directory
@@ -44252,11 +44261,11 @@ Was soll %1 tun?
Show all kits in "Build & Run" in "Projects" mode
-
+ Alle Kits in "Erstellung und Ausführung" im Modus "Projekte" anzeigenShow also inactive kits in "Build & Run" in "Projects" mode.
-
+ Zeige auch inaktive Kits in "Erstellung und Ausführung" im Modus "Projekte".Environment changes to apply to run configurations, but not build configurations.
@@ -44292,7 +44301,7 @@ Was soll %1 tun?
Time to wait before force-stopping applications:
-
+ Zu wartende Zeit vor dem erzwungenen Beenden von Anwendungen:Files
@@ -44392,7 +44401,7 @@ Was soll %1 tun?
Template used to construct the default build directory.<br><br>The default value can be set using the environment variable <tt>%1</tt>.
-
+ Vorlage für das Standard-Build-Verzeichnis.<br><br>Der Standardwert kann über die Umgebungsvariable <tt>%1</tt> gesetzt werden.QML debugging:
@@ -44615,15 +44624,15 @@ fails because Clang does not understand the target architecture.
You can edit this configuration inside the .qtcreator/project.json file.
-
+ Sie können diese Konfiguration über die Datei ".qtcreator/project.json" bearbeiten.Exclude from Project
-
+ Vom Projekt ausschließenRescan Workspace
-
+ Workspace erneut durchsuchen
@@ -44786,28 +44795,28 @@ fails because Clang does not understand the target architecture.
Update Requirements
-
+ Requirements aktualisierenInstall Requirements
-
+ Requirements installierenUpdate %1%1 = package name
-
+ %1 aktualisierenInstall %1
-
+ %1 installierenUpdate Packages
-
+ Pakete aktualisierenInstall Packages
-
+ Pakete installierenRunning "%1" to install %2.
@@ -44912,19 +44921,19 @@ fails because Clang does not understand the target architecture.
Update Python language server (PyLS) for %1 (%2).
-
+ Python Language Server (PyLS) für %1 (%2) aktualisieren.Always Update
-
+ Immer aktualisierenUpdate
-
+ AktualisierenNever
- Niemals
+ NiemalsSearching Python binaries...
@@ -45952,7 +45961,7 @@ Weder der Pfad zur Bibliothek noch der Pfad zu den Headerdateien wird zur .pro-D
Unable to start "%1".
-
+ "%1" kann nicht gestartet werden.Qt Widgets Designer is not responding (%1).
@@ -59540,31 +59549,31 @@ should a repository require SSH-authentication (see documentation on SSH and the
Reset
- Zurücksetzen
+ ZurücksetzenRelations
-
+ BeziehungenDiagram Elements
-
+ DiagrammelementeClear
- Löschen
+ LöschenView
-
+ AnsichtFilter
- Filter
+ FilterType:
- Typ:
+ Typ:Stereotypes:
@@ -59836,11 +59845,11 @@ should a repository require SSH-authentication (see documentation on SSH and the
Warning
- Warnung
+ WarnungError
- Fehler
+ FehlerIntermediate points:
@@ -59972,7 +59981,7 @@ should a repository require SSH-authentication (see documentation on SSH and the
Open Linked File
-
+ Verlinkte Datei öffnenAlign Bottom
@@ -60040,27 +60049,27 @@ should a repository require SSH-authentication (see documentation on SSH and the
Relation Attributes
-
+ BeziehungsattributeType
- Typ
+ TypDirection
-
+ RichtungStereotypes
-
+ StereotypeOther Element Attributes
-
+ Andere ElementattributeNumber of matching elements:
-
+ Anzahl der übereinstimmenden Elemente:
diff --git a/src/libs/3rdparty/libvterm/vterm.qbs b/src/libs/3rdparty/libvterm/vterm.qbs
index e35658908da..4c3a08e519e 100644
--- a/src/libs/3rdparty/libvterm/vterm.qbs
+++ b/src/libs/3rdparty/libvterm/vterm.qbs
@@ -30,6 +30,6 @@ QtcLibrary {
Export {
Depends { name: "cpp" }
- cpp.includePaths: "include"
+ cpp.includePaths: exportingProduct.sourceDirectory + "/include"
}
}
diff --git a/src/libs/modelinglib/modelinglib.qbs b/src/libs/modelinglib/modelinglib.qbs
index 9929bf33c03..54ad0cad64c 100644
--- a/src/libs/modelinglib/modelinglib.qbs
+++ b/src/libs/modelinglib/modelinglib.qbs
@@ -396,8 +396,8 @@ QtcLibrary {
Export {
cpp.includePaths: [
- ".",
- "./qtserialization/inc"
+ exportingProduct.sourceDirectory,
+ exportingProduct.sourceDirectory + "/qtserialization/inc"
]
}
}
diff --git a/src/libs/solutions/spinner/spinner.qbs b/src/libs/solutions/spinner/spinner.qbs
index d02858d0484..74fefc89875 100644
--- a/src/libs/solutions/spinner/spinner.qbs
+++ b/src/libs/solutions/spinner/spinner.qbs
@@ -14,7 +14,7 @@ QtcLibrary {
Export {
Depends { name: "cpp" }
- cpp.includePaths: ".."
+ cpp.includePaths: exportingProduct.sourceDirectory + "/.."
}
}
diff --git a/src/libs/solutions/tasking/tasking.qbs b/src/libs/solutions/tasking/tasking.qbs
index 90f3306e8e2..1930fada35f 100644
--- a/src/libs/solutions/tasking/tasking.qbs
+++ b/src/libs/solutions/tasking/tasking.qbs
@@ -26,7 +26,10 @@ QtcLibrary {
Export {
Depends { name: "cpp" }
- cpp.includePaths: ["..", "../.."]
+ cpp.includePaths: [
+ exportingProduct.sourceDirectory + "/..",
+ exportingProduct.sourceDirectory + "/../.."
+ ]
}
}
diff --git a/src/libs/utils/osspecificaspects.h b/src/libs/utils/osspecificaspects.h
index 43bc28447de..a79f9833bfb 100644
--- a/src/libs/utils/osspecificaspects.h
+++ b/src/libs/utils/osspecificaspects.h
@@ -53,7 +53,7 @@ inline Utils::expected_str osTypeFromString(const QString &string)
inline Utils::expected_str osArchFromString(const QString &architecture)
{
- if (architecture == QLatin1String("x86_64"))
+ if (architecture == QLatin1String("x86_64") || architecture == QLatin1String("amd64"))
return OsArchAMD64;
if (architecture == QLatin1String("x86"))
return OsArchX86;
diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs
index 8dd497d16d5..820fa6fb459 100644
--- a/src/libs/utils/utils.qbs
+++ b/src/libs/utils/utils.qbs
@@ -474,6 +474,6 @@ QtcLibrary {
Export {
Depends { name: "Qt"; submodules: ["concurrent", "widgets" ] }
Depends { name: "Tasking" }
- cpp.includePaths: "mimetypes2"
+ cpp.includePaths: exportingProduct.sourceDirectory + "/mimetypes2"
}
}
diff --git a/src/plugins/cmakeprojectmanager/builddirparameters.cpp b/src/plugins/cmakeprojectmanager/builddirparameters.cpp
index f87157e23ff..90f5f522299 100644
--- a/src/plugins/cmakeprojectmanager/builddirparameters.cpp
+++ b/src/plugins/cmakeprojectmanager/builddirparameters.cpp
@@ -37,7 +37,7 @@ static void updateCMakePathsFromQMake(QStringList &initialCMakeArguments)
return;
// ~Qt/6.x/platform/bin/qmake -> ~Qt/6.x/platform
- const QByteArray qmakePrefixPath = qmakeFilePath.parentDir().parentDir().toString().toUtf8();
+ const QByteArray qmakePrefixPath = qmakeFilePath.parentDir().parentDir().path().toUtf8();
const QByteArrayList cmakePathsVariables = {"CMAKE_PREFIX_PATH", "CMAKE_FIND_ROOT_PATH"};
for (const QByteArray &var : cmakePathsVariables) {
diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
index 540192d2d21..8a65c45b7f9 100644
--- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
+++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp
@@ -399,12 +399,10 @@ static SnippetAndLocation generateSnippetAndLocationForSources(
static expected_str insertSnippetSilently(const FilePath &cmakeFile,
const SnippetAndLocation &snippetLocation)
{
- BaseTextEditor *editor = qobject_cast(
- Core::EditorManager::openEditorAt({cmakeFile,
- int(snippetLocation.line),
- int(snippetLocation.column)},
- Constants::CMAKE_EDITOR_ID,
- Core::EditorManager::DoNotMakeVisible));
+ BaseTextEditor *editor = qobject_cast(Core::EditorManager::openEditorAt(
+ {cmakeFile, int(snippetLocation.line), int(snippetLocation.column)},
+ Constants::CMAKE_EDITOR_ID,
+ Core::EditorManager::DoNotMakeVisible | Core::EditorManager::DoNotChangeCurrentEditor));
if (!editor) {
return make_unexpected("BaseTextEditor cannot be obtained for " + cmakeFile.toUserOutput()
+ ":" + QString::number(snippetLocation.line) + ":"
@@ -864,12 +862,13 @@ RemovedFilesFromProject CMakeBuildSystem::removeFiles(Node *context,
}
BaseTextEditor *editor = qobject_cast(
- Core::EditorManager::openEditorAt({filePos.value().cmakeFile,
- static_cast(filePos.value().argumentPosition.Line),
- static_cast(filePos.value().argumentPosition.Column
- - 1)},
- Constants::CMAKE_EDITOR_ID,
- Core::EditorManager::DoNotMakeVisible));
+ Core::EditorManager::openEditorAt(
+ {filePos.value().cmakeFile,
+ static_cast(filePos.value().argumentPosition.Line),
+ static_cast(filePos.value().argumentPosition.Column - 1)},
+ Constants::CMAKE_EDITOR_ID,
+ Core::EditorManager::DoNotMakeVisible
+ | Core::EditorManager::DoNotChangeCurrentEditor));
if (!editor) {
badFiles << file;
@@ -976,7 +975,8 @@ bool CMakeBuildSystem::renameFile(Node *context,
static_cast(fileToRename->argumentPosition.Line),
static_cast(fileToRename->argumentPosition.Column - 1)},
Constants::CMAKE_EDITOR_ID,
- Core::EditorManager::DoNotMakeVisible));
+ Core::EditorManager::DoNotMakeVisible
+ | Core::EditorManager::DoNotChangeCurrentEditor));
if (!editor) {
qCCritical(cmakeBuildSystemLog).noquote()
<< "BaseTextEditor cannot be obtained for" << fileToRename->cmakeFile.path()
diff --git a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp
index 7a6de1749de..c76af32e775 100644
--- a/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp
+++ b/src/plugins/cmakeprojectmanager/fileapidataextractor.cpp
@@ -16,6 +16,7 @@
#include
#include
+#include
#include
#include
#include
@@ -627,7 +628,7 @@ static FolderNode *createSourceGroupNode(const QString &sourceGroupName,
if (!existingNode) {
auto node = createCMakeVFolder(sourceDirectory, Node::DefaultFolderPriority + 5, p);
node->setListInProject(false);
- node->setIcon([] { return Icon::fromTheme("edit-copy"); });
+ node->setIcon([] { return FileIconProvider::icon(QFileIconProvider::Folder); });
existingNode = node.get();
diff --git a/src/plugins/coreplugin/editormanager/openeditorswindow.cpp b/src/plugins/coreplugin/editormanager/openeditorswindow.cpp
index 172b54570e1..cf98617261d 100644
--- a/src/plugins/coreplugin/editormanager/openeditorswindow.cpp
+++ b/src/plugins/coreplugin/editormanager/openeditorswindow.cpp
@@ -20,11 +20,14 @@
#include
#include
-#include
+#include
#include
+#include
using namespace Utils;
+Q_LOGGING_CATEGORY(openEditorsLog, "qtc.core.openeditorswindow", QtWarningMsg);
+
namespace Core::Internal {
class OpenEditorsItem : public TreeItem
@@ -196,9 +199,10 @@ bool OpenEditorsWindow::eventFilter(QObject *obj, QEvent *e)
} else if (e->type() == QEvent::KeyRelease) {
auto ke = static_cast(e);
+ qCDebug(openEditorsLog()) << ke;
if (ke->modifiers() == 0
- /*HACK this is to overcome some event inconsistencies between platforms*/
- || (ke->modifiers() == Qt::AltModifier
+ /*HACK this is to overcome some event inconsistencies between platforms*/
+ || (ke->modifiers() == Qt::AltModifier
&& (ke->key() == Qt::Key_Alt || ke->key() == -1))) {
selectAndHide();
}
diff --git a/src/plugins/coreplugin/editortoolbar.cpp b/src/plugins/coreplugin/editortoolbar.cpp
index a410f0335c9..75ca726ec9e 100644
--- a/src/plugins/coreplugin/editortoolbar.cpp
+++ b/src/plugins/coreplugin/editortoolbar.cpp
@@ -193,9 +193,13 @@ EditorToolBar::EditorToolBar(QWidget *parent) :
menu.exec(d->m_editorList->mapToGlobal(p));
});
connect(d->m_dragHandleMenu, &QMenu::aboutToShow, this, [this] {
- d->m_dragHandleMenu->clear();
fillListContextMenu(d->m_dragHandleMenu);
});
+ connect(d->m_dragHandleMenu, &QMenu::aboutToHide, this, [this] {
+ // Remove actions from context menu, to avoid any shortcuts set on them
+ // for the display in the menu interfering with global actions
+ d->m_dragHandleMenu->clear();
+ });
connect(d->m_lockButton, &QAbstractButton::clicked, this, &EditorToolBar::makeEditorWritable);
connect(d->m_closeEditorButton, &QAbstractButton::clicked,
this, &EditorToolBar::closeEditor, Qt::QueuedConnection);
diff --git a/src/plugins/coreplugin/find/findtoolbar.cpp b/src/plugins/coreplugin/find/findtoolbar.cpp
index 681fa407063..0111093c27d 100644
--- a/src/plugins/coreplugin/find/findtoolbar.cpp
+++ b/src/plugins/coreplugin/find/findtoolbar.cpp
@@ -160,15 +160,6 @@ FindToolBar::FindToolBar(CurrentDocumentFind *currentDocumentFind)
setProperty(StyleHelper::C_TOP_BORDER, true);
setSingleRow(false);
- QWidget::setTabOrder(m_findEdit, m_replaceEdit);
- QWidget::setTabOrder(m_replaceEdit, m_findPreviousButton);
- QWidget::setTabOrder(m_findPreviousButton, m_findNextButton);
- QWidget::setTabOrder(m_findNextButton, m_replaceButton);
- QWidget::setTabOrder(m_replaceButton, m_replaceNextButton);
- QWidget::setTabOrder(m_replaceNextButton, m_replaceAllButton);
- QWidget::setTabOrder(m_replaceAllButton, m_advancedButton);
- QWidget::setTabOrder(m_advancedButton, m_close);
-
connect(m_findEdit, &Utils::FancyLineEdit::editingFinished,
this, &FindToolBar::invokeResetIncrementalSearch);
connect(m_findEdit, &Utils::FancyLineEdit::textChanged,
@@ -447,6 +438,17 @@ FindToolBar::FindToolBar(CurrentDocumentFind *currentDocumentFind)
connect(&m_findStepTimer, &QTimer::timeout, this, &FindToolBar::invokeFindStep);
setLightColoredIcon(isLightColored());
+
+ QWidget::setTabOrder(m_findEdit->button(FancyLineEdit::Left), m_findEdit);
+ QWidget::setTabOrder(m_findEdit, m_replaceEdit);
+ QWidget::setTabOrder(m_replaceEdit, m_findPreviousButton);
+ QWidget::setTabOrder(m_findPreviousButton, m_findNextButton);
+ QWidget::setTabOrder(m_findNextButton, m_selectAllButton);
+ QWidget::setTabOrder(m_selectAllButton, m_replaceButton);
+ QWidget::setTabOrder(m_replaceButton, m_replaceNextButton);
+ QWidget::setTabOrder(m_replaceNextButton, m_replaceAllButton);
+ QWidget::setTabOrder(m_replaceAllButton, m_advancedButton);
+ QWidget::setTabOrder(m_advancedButton, m_close);
}
FindToolBar::~FindToolBar() = default;
@@ -1024,23 +1026,6 @@ void FindToolBar::selectAll()
}
}
-bool FindToolBar::focusNextPrevChild(bool next)
-{
- QAbstractButton *optionsButton = m_findEdit->button(Utils::FancyLineEdit::Left);
- // close tab order
- if (next && m_advancedButton->hasFocus())
- optionsButton->setFocus(Qt::TabFocusReason);
- else if (next && optionsButton->hasFocus())
- m_findEdit->setFocus(Qt::TabFocusReason);
- else if (!next && optionsButton->hasFocus())
- m_advancedButton->setFocus(Qt::TabFocusReason);
- else if (!next && m_findEdit->hasFocus())
- optionsButton->setFocus(Qt::TabFocusReason);
- else
- return Utils::StyledBar::focusNextPrevChild(next);
- return true;
-}
-
void FindToolBar::resizeEvent(QResizeEvent *event)
{
Q_UNUSED(event)
diff --git a/src/plugins/coreplugin/find/findtoolbar.h b/src/plugins/coreplugin/find/findtoolbar.h
index 1080407dae9..e5ddbf8c75c 100644
--- a/src/plugins/coreplugin/find/findtoolbar.h
+++ b/src/plugins/coreplugin/find/findtoolbar.h
@@ -64,7 +64,6 @@ public slots:
void setBackward(bool backward);
protected:
- bool focusNextPrevChild(bool next) override;
void resizeEvent(QResizeEvent *event) override;
private:
diff --git a/src/plugins/coreplugin/mainwindow.cpp b/src/plugins/coreplugin/mainwindow.cpp
deleted file mode 100644
index e69de29bb2d..00000000000
diff --git a/src/plugins/cppeditor/cppdoxygen_test.cpp b/src/plugins/cppeditor/cppdoxygen_test.cpp
index 2d85345303a..8ef6a6fff0f 100644
--- a/src/plugins/cppeditor/cppdoxygen_test.cpp
+++ b/src/plugins/cppeditor/cppdoxygen_test.cpp
@@ -488,7 +488,7 @@ void DoxygenTest::runTest(const QByteArray &original,
// testDocument.m_editorWidget->unfoldAll();
testDocument.m_editor->setCursorPosition(testDocument.m_cursorPosition);
- TestCase::waitForRehighlightedSemanticDocument(testDocument.m_editorWidget);
+ QVERIFY(TestCase::waitForRehighlightedSemanticDocument(testDocument.m_editorWidget));
// Send 'ENTER' key press
QKeyEvent event(QEvent::KeyPress, Qt::Key_Enter, Qt::NoModifier);
diff --git a/src/plugins/cppeditor/cpptoolstestcase.cpp b/src/plugins/cppeditor/cpptoolstestcase.cpp
index 70435abe9f9..3ac2feeca38 100644
--- a/src/plugins/cppeditor/cpptoolstestcase.cpp
+++ b/src/plugins/cppeditor/cpptoolstestcase.cpp
@@ -295,10 +295,18 @@ bool TestCase::waitForProcessedEditorDocument(const FilePath &filePath, int time
return waitForProcessedEditorDocument_internal(editorDocument, timeOutInMs);
}
-CPlusPlus::Document::Ptr TestCase::waitForRehighlightedSemanticDocument(CppEditorWidget *editorWidget)
+CPlusPlus::Document::Ptr TestCase::waitForRehighlightedSemanticDocument(
+ CppEditorWidget *editorWidget, int timeoutInMs)
{
- while (!editorWidget->isSemanticInfoValid())
+ QElapsedTimer timer;
+ timer.start();
+
+ while (!editorWidget->isSemanticInfoValid()) {
+ if (timer.elapsed() >= timeoutInMs)
+ return {};
QCoreApplication::processEvents();
+ QThread::msleep(20);
+ }
return editorWidget->semanticInfo().doc;
}
diff --git a/src/plugins/cppeditor/cpptoolstestcase.h b/src/plugins/cppeditor/cpptoolstestcase.h
index 6e9f0133ba2..6439075efbd 100644
--- a/src/plugins/cppeditor/cpptoolstestcase.h
+++ b/src/plugins/cppeditor/cpptoolstestcase.h
@@ -140,7 +140,7 @@ public:
const Utils::FilePath &filePath, int timeOutInMs = 5000);
static CPlusPlus::Document::Ptr waitForRehighlightedSemanticDocument(
- CppEditorWidget *editorWidget);
+ CppEditorWidget *editorWidget, int timeoutInMs = defaultTimeOutInMs);
enum { defaultTimeOutInMs = 30 * 1000 /*= 30 secs*/ };
static bool waitUntilProjectIsFullyOpened(ProjectExplorer::Project *project,
diff --git a/src/plugins/cppeditor/cppuseselections_test.cpp b/src/plugins/cppeditor/cppuseselections_test.cpp
index 460e502c8fe..85ed9be442e 100644
--- a/src/plugins/cppeditor/cppuseselections_test.cpp
+++ b/src/plugins/cppeditor/cppuseselections_test.cpp
@@ -77,7 +77,7 @@ UseSelectionsTestCase::UseSelectionsTestCase(CppTestDocument &testFile,
closeEditorAtEndOfTestCase(testFile.m_editor);
testFile.m_editor->setCursorPosition(testFile.m_cursorPosition);
- waitForRehighlightedSemanticDocument(m_editorWidget);
+ QVERIFY(waitForRehighlightedSemanticDocument(m_editorWidget));
bool hasTimedOut;
const SelectionList selections = waitForUseSelections(&hasTimedOut);
diff --git a/src/plugins/cppeditor/fileandtokenactions_test.cpp b/src/plugins/cppeditor/fileandtokenactions_test.cpp
index 7c8175fa188..9e9a7a2f29f 100644
--- a/src/plugins/cppeditor/fileandtokenactions_test.cpp
+++ b/src/plugins/cppeditor/fileandtokenactions_test.cpp
@@ -164,7 +164,7 @@ TestActionsTestCase::TestActionsTestCase(const Actions &tokenActions, const Acti
QVERIFY(CppModelManager::workingCopy().get(filePath));
// Rehighlight
- waitForRehighlightedSemanticDocument(editorWidget);
+ QVERIFY(waitForRehighlightedSemanticDocument(editorWidget));
// Run all file actions
executeActionsOnEditorWidget(editorWidget, fileActions);
diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
index 41dd6b538f6..3d19a84b758 100644
--- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
+++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
@@ -310,7 +310,7 @@ F2TestCase::F2TestCase(CppEditorAction action,
// Rehighlight
if (!useClangd)
- waitForRehighlightedSemanticDocument(testFile->m_editorWidget);
+ QVERIFY(waitForRehighlightedSemanticDocument(testFile->m_editorWidget));
}
// Activate editor of initial test file
diff --git a/src/plugins/cppeditor/quickfixes/cppquickfix_test.cpp b/src/plugins/cppeditor/quickfixes/cppquickfix_test.cpp
index 2bde0a10212..f487764101b 100644
--- a/src/plugins/cppeditor/quickfixes/cppquickfix_test.cpp
+++ b/src/plugins/cppeditor/quickfixes/cppquickfix_test.cpp
@@ -104,7 +104,7 @@ BaseQuickFixTestCase::BaseQuickFixTestCase(const QList &testDoc
}
// Rehighlight
- waitForRehighlightedSemanticDocument(document->m_editorWidget);
+ QVERIFY(waitForRehighlightedSemanticDocument(document->m_editorWidget));
}
// Enforce the default cpp code style, so we are independent of config file settings.
diff --git a/src/plugins/languageclient/client.cpp b/src/plugins/languageclient/client.cpp
index 412430171dc..4c2fcf101f6 100644
--- a/src/plugins/languageclient/client.cpp
+++ b/src/plugins/languageclient/client.cpp
@@ -299,6 +299,12 @@ public:
bool reset();
+ void setState(Client::State state)
+ {
+ m_state = state;
+ emit q->stateChanged(state);
+ }
+
Client::State m_state = Client::Uninitialized;
QHash m_responseHandlers;
@@ -569,7 +575,7 @@ void Client::initialize()
// directly send content now otherwise the state check of sendContent would fail
d->sendMessageNow(initRequest);
- d->m_state = InitializeRequested;
+ d->setState(InitializeRequested);
}
void Client::shutdown()
@@ -581,7 +587,7 @@ void Client::shutdown()
d->shutDownCallback(shutdownResponse);
});
sendMessage(shutdown);
- d->m_state = ShutdownRequested;
+ d->setState(ShutdownRequested);
d->m_shutdownTimer.start();
}
@@ -1526,7 +1532,7 @@ void Client::projectClosed(ProjectExplorer::Project *project)
if (d->m_state == Initialized) {
LanguageClientManager::shutdownClient(this);
} else {
- d->m_state = Shutdown; // otherwise the manager would try to restart this server
+ d->setState(Shutdown); // otherwise the manager would try to restart this server
emit finished();
}
d->m_project = nullptr;
@@ -1696,7 +1702,7 @@ bool ClientPrivate::reset()
}
m_restartCountResetTimer.start();
--m_restartsLeft;
- m_state = Client::Uninitialized;
+ setState(Client::Uninitialized);
m_responseHandlers.clear();
m_clientInterface->resetBuffer();
updateOpenedEditorToolBars();
@@ -1723,7 +1729,7 @@ bool ClientPrivate::reset()
void Client::setError(const QString &message)
{
log(message);
- d->m_state = d->m_state < Initialized ? FailedToInitialize : Error;
+ d->setState(d->m_state < Initialized ? FailedToInitialize : Error);
}
ProgressManager *Client::progressManager()
@@ -2152,7 +2158,7 @@ void ClientPrivate::initializeCallback(const InitializeRequest::Response &initRe
QMessageBox::Retry | QMessageBox::Cancel,
QMessageBox::Retry);
if (result == QMessageBox::Retry) {
- m_state = Client::Uninitialized;
+ setState(Client::Uninitialized);
q->initialize();
return;
}
@@ -2204,7 +2210,7 @@ void ClientPrivate::initializeCallback(const InitializeRequest::Response &initRe
m_tokenSupport.setLegend(tokenProvider.legend());
qCDebug(LOGLSPCLIENT) << "language server " << m_displayName << " initialized";
- m_state = Client::Initialized;
+ setState(Client::Initialized);
q->sendMessage(InitializeNotification(InitializedParams()));
q->updateConfiguration(m_configuration);
@@ -2227,7 +2233,7 @@ void ClientPrivate::shutDownCallback(const ShutdownRequest::Response &shutdownRe
// directly send content now otherwise the state check of sendContent would fail
sendMessageNow(ExitNotification());
qCDebug(LOGLSPCLIENT) << "language server " << m_displayName << " shutdown";
- m_state = Client::Shutdown;
+ setState(Client::Shutdown);
m_shutdownTimer.start();
}
diff --git a/src/plugins/languageclient/client.h b/src/plugins/languageclient/client.h
index 28360c71a6f..13e908b2d50 100644
--- a/src/plugins/languageclient/client.h
+++ b/src/plugins/languageclient/client.h
@@ -215,6 +215,7 @@ signals:
void documentUpdated(TextEditor::TextDocument *document);
void workDone(const LanguageServerProtocol::ProgressToken &token);
void shadowDocumentSwitched(const Utils::FilePath &filePath);
+ void stateChanged(State state);
void finished();
protected:
diff --git a/src/plugins/languageclient/languageclientmanager.cpp b/src/plugins/languageclient/languageclientmanager.cpp
index 11ce6b4618e..3022ba527d9 100644
--- a/src/plugins/languageclient/languageclientmanager.cpp
+++ b/src/plugins/languageclient/languageclientmanager.cpp
@@ -275,13 +275,14 @@ LanguageClientManager *LanguageClientManager::instance()
return managerInstance;
}
-QList LanguageClientManager::clientsSupportingDocument(const TextEditor::TextDocument *doc)
+QList LanguageClientManager::clientsSupportingDocument(
+ const TextEditor::TextDocument *doc, bool onlyReachable)
{
QTC_ASSERT(managerInstance, return {});
QTC_ASSERT(doc, return {};);
- return Utils::filtered(managerInstance->reachableClients(), [doc](Client *client) {
- return client->isSupportedDocument(doc);
- });
+ return Utils::filtered(
+ onlyReachable ? managerInstance->reachableClients() : managerInstance->m_clients,
+ [doc](Client *client) { return client->isSupportedDocument(doc); });
}
void LanguageClientManager::applySettings()
diff --git a/src/plugins/languageclient/languageclientmanager.h b/src/plugins/languageclient/languageclientmanager.h
index 12bef4f6fe4..a970ef66d27 100644
--- a/src/plugins/languageclient/languageclientmanager.h
+++ b/src/plugins/languageclient/languageclientmanager.h
@@ -48,7 +48,8 @@ public:
static LanguageClientManager *instance();
- static QList clientsSupportingDocument(const TextEditor::TextDocument *doc);
+ static QList clientsSupportingDocument(
+ const TextEditor::TextDocument *doc, bool onlyReachable = true);
static void applySettings();
static QList currentSettings();
diff --git a/src/plugins/languageclient/languageclientutils.cpp b/src/plugins/languageclient/languageclientutils.cpp
index ce02785e9c8..8c40615f163 100644
--- a/src/plugins/languageclient/languageclientutils.cpp
+++ b/src/plugins/languageclient/languageclientutils.cpp
@@ -253,7 +253,7 @@ void updateEditorToolBar(Core::IEditor *editor)
auto menu = new QMenu;
auto clientsGroup = new QActionGroup(menu);
clientsGroup->setExclusive(true);
- for (auto client : LanguageClientManager::clientsSupportingDocument(document)) {
+ for (auto client : LanguageClientManager::clientsSupportingDocument(document, false)) {
auto action = clientsGroup->addAction(client->name());
auto reopen = [action, client = QPointer(client), document] {
if (!client)
@@ -263,6 +263,10 @@ void updateEditorToolBar(Core::IEditor *editor)
};
action->setCheckable(true);
action->setChecked(client == LanguageClientManager::clientForDocument(document));
+ action->setEnabled(client->reachable());
+ QObject::connect(client, &Client::stateChanged, action, [action, client] {
+ action->setEnabled(client->reachable());
+ });
QObject::connect(action, &QAction::triggered, reopen);
}
menu->addActions(clientsGroup->actions());
diff --git a/src/plugins/perfprofiler/perfprofiler.qbs b/src/plugins/perfprofiler/perfprofiler.qbs
index fe97d521f93..2c9ddab3616 100644
--- a/src/plugins/perfprofiler/perfprofiler.qbs
+++ b/src/plugins/perfprofiler/perfprofiler.qbs
@@ -62,6 +62,7 @@ QtcPlugin {
"perfprofiler.qrc",
]
+ Qt.core.resourceFileBaseName: "PerfProfilerQml" // avoid conflicting qrc file
Group {
name: "Qml Files"
Qt.core.resourcePrefix: "qt/qml/QtCreator/PerfProfiler/"
diff --git a/src/plugins/projectexplorer/appoutputpane.cpp b/src/plugins/projectexplorer/appoutputpane.cpp
index 8d8455f5aee..24a710f9f5f 100644
--- a/src/plugins/projectexplorer/appoutputpane.cpp
+++ b/src/plugins/projectexplorer/appoutputpane.cpp
@@ -400,6 +400,11 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
&& thisWorkingDirectory == tab.runControl->workingDirectory()
&& thisEnvironment == tab.runControl->environment();
});
+ const auto updateOutputFileName = [this](int index, RunControl *rc) {
+ qobject_cast(m_tabWidget->widget(index))
+ //: file name suggested for saving application output, %1 = run configuration display name
+ ->setOutputFileNameHint(Tr::tr("application-output-%1.txt").arg(rc->displayName()));
+ };
if (tab != m_runControlTabs.end()) {
// Reuse this tab
if (tab->runControl)
@@ -415,6 +420,7 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
const int tabIndex = m_tabWidget->indexOf(tab->window);
QTC_ASSERT(tabIndex != -1, return);
m_tabWidget->setTabText(tabIndex, rc->displayName());
+ updateOutputFileName(tabIndex, rc);
tab->window->scrollToBottom();
qCDebug(appOutputLog) << "AppOutputPane::createNewOutputWindow: Reusing tab"
@@ -430,8 +436,6 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
ow->setWindowIcon(Icons::WINDOW.icon());
ow->setWordWrapEnabled(m_settings.wrapOutput);
ow->setMaxCharCount(m_settings.maxCharCount);
- //: file name suggested for saving application output, %1 = run configuration display name
- ow->setOutputFileNameHint(Tr::tr("application-output-%1.txt").arg(rc->displayName()));
auto updateFontSettings = [ow] {
ow->setBaseFont(TextEditor::TextEditorSettings::fontSettings().font());
@@ -457,6 +461,7 @@ void AppOutputPane::createNewOutputWindow(RunControl *rc)
m_runControlTabs.push_back(RunControlTab(rc, ow));
m_tabWidget->addTab(ow, rc->displayName());
+ updateOutputFileName(m_tabWidget->count() - 1, rc);
qCDebug(appOutputLog) << "AppOutputPane::createNewOutputWindow: Adding tab for" << rc;
updateCloseActions();
setFilteringEnabled(m_tabWidget->count() > 0);
diff --git a/src/plugins/projectexplorer/environmentwidget.cpp b/src/plugins/projectexplorer/environmentwidget.cpp
index c62a9488594..6ef817d2797 100644
--- a/src/plugins/projectexplorer/environmentwidget.cpp
+++ b/src/plugins/projectexplorer/environmentwidget.cpp
@@ -237,6 +237,7 @@ EnvironmentWidget::EnvironmentWidget(QWidget *parent, Type type, QWidget *additi
buttonLayout->addWidget(d->m_toggleButton);
connect(d->m_toggleButton, &QPushButton::clicked, this, [this] {
d->m_model->toggleVariable(d->m_environmentView->currentIndex());
+ d->m_editor.setEnvironmentItems(d->m_model->userChanges());
updateButtons();
});
diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp
index 036376c67af..e9831e9bd73 100644
--- a/src/plugins/remotelinux/linuxdevice.cpp
+++ b/src/plugins/remotelinux/linuxdevice.cpp
@@ -1337,7 +1337,7 @@ static FilePaths dirsToCreate(const FilesToTransfer &files)
static QByteArray transferCommand(bool link)
{
- return link ? "ln -s" : "put";
+ return link ? "ln -s" : "put -R";
}
class SshTransferInterface : public FileTransferInterface
@@ -1558,7 +1558,7 @@ private:
const auto batchIt = m_batches.begin();
for (auto filesIt = batchIt->cbegin(); filesIt != batchIt->cend(); ++filesIt) {
const FileToTransfer fixedFile = fixLocalFileOnWindows(*filesIt, options);
- options << fixedLocalPath(fixedFile.m_source);
+ options << fixedFile.m_source.path();
}
options << fixedRemotePath(batchIt.key(), userAtHost());
m_batches.erase(batchIt);
@@ -1588,11 +1588,6 @@ private:
return fixedFile;
}
- QString fixedLocalPath(const FilePath &file) const
- {
- return file.isDir() && file.path().back() != '/' ? file.path() + '/' : file.path();
- }
-
QString fixedRemotePath(const FilePath &file, const QString &remoteHost) const
{
return remoteHost + ':' + file.path();
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index 3c2649bf419..3d02ed06142 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -4142,6 +4142,7 @@ void TextEditorWidgetPrivate::registerActions()
.contextAction();
m_visualizeWhitespaceAction = ActionBuilder(this, VISUALIZE_WHITESPACE)
.setContext(m_editorContext)
+ .setCheckable(true)
.addOnToggled(
this,
[this](bool checked) {
@@ -4157,6 +4158,7 @@ void TextEditorWidgetPrivate::registerActions()
.contextAction();
m_textWrappingAction = ActionBuilder(this, TEXT_WRAPPING)
.setContext(m_editorContext)
+ .setCheckable(true)
.addOnToggled(
this,
[this](bool checked) {
diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp
index 5df9de54701..c774fed0438 100644
--- a/src/plugins/texteditor/texteditorplugin.cpp
+++ b/src/plugins/texteditor/texteditorplugin.cpp
@@ -453,7 +453,8 @@ void TextEditorPlugin::createEditorCommands()
TextActionBuilder(this, VISUALIZE_WHITESPACE)
.setText(Tr::tr("&Visualize Whitespace"))
.setDefaultKeySequence(Tr::tr("Meta+E, Meta+V"), Tr::tr("Ctrl+E, Ctrl+V"))
- .addToContainer(M_EDIT_ADVANCED, G_EDIT_FORMAT);
+ .addToContainer(M_EDIT_ADVANCED, G_EDIT_FORMAT)
+ .setCheckable(true);
TextActionBuilder(this, CLEAN_WHITESPACE)
.setText(Tr::tr("Clean Whitespace"))
.addToContainer(M_EDIT_ADVANCED, G_EDIT_FORMAT);
diff --git a/tests/system/suite_HELP/tst_HELP02/test.py b/tests/system/suite_HELP/tst_HELP02/test.py
index b6246e4f05e..66ac3c0ea7b 100644
--- a/tests/system/suite_HELP/tst_HELP02/test.py
+++ b/tests/system/suite_HELP/tst_HELP02/test.py
@@ -37,7 +37,7 @@ def getQtCreatorVersionFromFile():
def checkQtCreatorHelpVersion(expectedVersion):
def rightStart(x):
- return x.startswith('Qt Creator Manual')
+ return x.startswith('Qt Creator Documentation')
switchViewTo(ViewConstants.HELP)
try:
@@ -45,7 +45,7 @@ def checkQtCreatorHelpVersion(expectedVersion):
waitFor("any(map(rightStart, dumpItems(helpContentWidget.model())))", 10000)
items = dumpItems(helpContentWidget.model())
test.compare(next(iter(filter(rightStart, items))),
- 'Qt Creator Manual %s' % expectedVersion,
+ 'Qt Creator Documentation %s' % expectedVersion,
'Verifying whether manual uses expected version.')
except:
t, v = sys.exc_info()[:2]
diff --git a/tests/system/suite_HELP/tst_HELP06/test.py b/tests/system/suite_HELP/tst_HELP06/test.py
index 0cdcbb653af..1c32e467d23 100644
--- a/tests/system/suite_HELP/tst_HELP06/test.py
+++ b/tests/system/suite_HELP/tst_HELP06/test.py
@@ -17,7 +17,7 @@ def invokeContextMenuItemOnBookmarkFolder(view, item, menuItem):
"window=':Add Bookmark_BookmarkDialog'}", menuItem))
def textForQtVersion(text):
- suffix = "Qt Creator Manual"
+ suffix = "Qt Creator Documentation"
if text != suffix:
text += " | " + suffix
return text
@@ -28,15 +28,14 @@ def main():
return
# goto help mode and click on topic
switchViewTo(ViewConstants.HELP)
- manualQModelIndex = getQModelIndexStr("text?='Qt Creator Manual *'",
+ manualQModelIndex = getQModelIndexStr("text?='Qt Creator Documentation *'",
":Qt Creator_QHelpContentWidget")
manualQMIObj = waitForObject(manualQModelIndex)
doubleClick(manualQMIObj, 5, 5, 0, Qt.LeftButton)
if not waitFor("not manualQMIObj.collapsed", 2000):
test.warning("It takes more than two seconds to expand the help content tree.")
- devQModelIndex = getQModelIndexStr("text='Developing with Qt Creator'", manualQModelIndex)
- doubleClick(devQModelIndex)
- gettingStartedQModelIndex = getQModelIndexStr("text='Getting Started'", devQModelIndex)
+
+ gettingStartedQModelIndex = getQModelIndexStr("text='Getting Started'", manualQModelIndex)
doubleClick(gettingStartedQModelIndex)
pageTitle = "Configuring Qt Creator"
mouseClick(waitForObject(getQModelIndexStr("text='%s'" % pageTitle,
@@ -80,7 +79,7 @@ def main():
configQModelIndex = getQModelIndexStr("text?='%s'" % textForQtVersion("%s*" % pageTitle),
folder2QModelIndex)
newFolderQModelIndex = getQModelIndexStr("text='New Folder'", sampleQModelIndex)
- manualQModelIndex = getQModelIndexStr("text='%s'" % textForQtVersion("Qt Creator Manual"),
+ manualQModelIndex = getQModelIndexStr("text='%s'" % textForQtVersion("Qt Creator Documentation"),
newFolderQModelIndex)
test.verify(checkIfObjectExists(sampleQModelIndex, verboseOnFail = True) and
checkIfObjectExists(folder1QModelIndex, verboseOnFail = True) and
@@ -99,7 +98,7 @@ def main():
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "")
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "")
type(waitForObject(":Qt Creator_Bookmarks_TreeView"), "")
- test.verify(textForQtVersion("Qt Creator Manual") in getHelpTitle(),
+ test.verify(textForQtVersion("Qt Creator Documentation") in getHelpTitle(),
"Verifying if second bookmark is opened")
# delete previously created directory
clickButton(waitForObject(":Qt Creator.Add Bookmark_QToolButton"))
diff --git a/tests/system/suite_WELP/tst_WELP01/test.py b/tests/system/suite_WELP/tst_WELP01/test.py
index 8385c33fa96..89ee6dbd1e3 100644
--- a/tests/system/suite_WELP/tst_WELP01/test.py
+++ b/tests/system/suite_WELP/tst_WELP01/test.py
@@ -75,7 +75,7 @@ def main():
wsButton = getWelcomeScreenSideBarButton(getStarted)
if test.verify(object.exists(wsButton),
"Verifying: Qt Creator displays Welcome Page with '%s' button." % getStarted):
- if clickItemVerifyHelpCombo(wsButton, "Getting Started | Qt Creator Manual",
+ if clickItemVerifyHelpCombo(wsButton, "Getting Started \| Qt Creator Documentation",
"Verifying: Help with Creator Documentation is being opened."):
textUrls = {'Online Community':'https://forum.qt.io',
@@ -92,7 +92,7 @@ def main():
wsButton = getWelcomeScreenSideBarButton(getStarted)
if object.exists(wsButton):
mouseClick(wsButton)
- qcManualQModelIndexStr = getQModelIndexStr("text~='Qt Creator Manual [0-9.]+'",
+ qcManualQModelIndexStr = getQModelIndexStr("text~='Qt Creator Documentation [0-9.]+'",
":Qt Creator_QHelpContentWidget")
if str(waitForObject(":Qt Creator_HelpSelector_QComboBox").currentText) == "(Untitled)":
mouseClick(qcManualQModelIndexStr)