diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index ca9b7d9e9fa..e031dd68f54 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -48677,655 +48677,664 @@ Zeile: %4, Spalte: %5 QtC::Squish Details - Details + Details Adjust references to the removed symbolic name to point to: - + Referenzen zum entfernten symbolischen Namen ändern auf: Remove the symbolic name (invalidates names referencing it) - + Symbolischen Namen entfernen (macht darauf referenzierende Namen ungültig) Remove the symbolic name and all names referencing it - + Symbolischen Namen und alle darauf referenzierende Namen entfernen The Symbolic Name <span style='white-space: nowrap'>"%1"</span> you want to remove is used in Multi Property Names. Select the action to apply to references in these Multi Property Names. - + Der symbolische Name <span style='white-space: nowrap'>"%1"</span>, den Sie entfernen wollen, wird in Multi-Property-Namen benutzt. Wählen Sie die Aktion, die Sie auf Referenzen in diesen Multi-Property-Namen anwenden wollen. Failed to write "%1" - + "%1" konnte nicht geschrieben werden Incomplete Squish settings. Missing Squish installation path. - + Unvollständige Squish-Einstellungen. Das Installationsverzeichnis von Squish fehlt. objectmaptool not found. - + "objectmaptool" wurde nicht gefunden. Failure while parsing objects.map content. - + Fehler beim Auswerten von objects.map. Squish Object Map Editor - + Squish Object-Map-Editor New - Neu + Neu Remove - + Entfernen Jump to Symbolic Name - + Gehe zu symbolischem Namen Symbolic Names - + Symbolische Namen Cut - Ausschneiden + Ausschneiden Copy - Kopieren + Kopieren Paste - Einfügen + Einfügen Delete - + Löschen Copy Real Name - + Tatsächlichen Namen kopieren Properties: - Eigenschaften: + Eigenschaften: The properties of the Multi Property Name associated with the selected Symbolic Name. (use \\ for a literal \ in the value) - + Die Eigenschaften des Multi-Property-Namens, der mit dem ausgewählten symbolischen Namen assoziiert ist. (Benutzen Sie \\ für ein \-Literal im Wert) The Hierarchical Name associated with the selected Symbolic Name. - + Der hierarchische Name, der mit dem ausgewählten symbolischen Namen assoziiert ist. Remove Symbolic Name - + Symbolischen Namen entfernen Do you really want to remove "%1"? - + Möchten Sie "%1" wirklich entfernen? Ambiguous Property Name - + Mehrdeutiger Eigenschaftsname Ambiguous Symbolic Name - + Mehrdeutiger symbolischer Name %1 "%2" already exists. Specify a unique name. - + %1 "%2" existiert bereits. Geben Sie einen eindeutigen Namen an. Property - Eigenschaft + Eigenschaft Symbolic Name - + Symbolischer Name CopyOf - + Prefix for copies of a name + KopieVon Open Squish Test Suites - + Squish Test-Suites öffnen Select All - + Alle auswählen Deselect All - Alles abwählen + Alle abwählen Base directory: - + Basisverzeichnis: Test suites: - + Test-Suites: Name - Name + Name Operator - Operator + Operator Value - Wert + Wert Application: - + Anwendung: <No Application> - + <Keine Anwendung> Arguments: - Argumente: + Argumente: Recording Settings - + Aufnahme-Einstellungen Suite Already Open - + Suite bereits geöffnet A test suite with the name "%1" is already open. Close the opened test suite and replace it with the new one? - + Eine Test-Suite mit dem Namen "%1" ist bereits geöffnet. +Möchten Sie die Test-Suite schließen und mit der neuen ersetzen? Confirm Delete - Löschen Bestätigen + Löschen Bestätigen Are you sure you want to delete Test Case "%1" from the file system? - + Möchten Sie den Testfall "%1" vom Dateisystem löschen? Deletion of Test Case failed. - + Löschen des Testfalls fehlgeschlagen. Test Suite Path Not Accessible - + Pfad der Test-Suite nicht lesbar The path "%1" does not exist or is not accessible. Refusing to run test case "%2". - + Der Pfad "%1" existiert nicht oder ist nicht lesbar. +Testfall "%2" wird nicht ausgeführt. The path "%1" does not exist or is not accessible. Refusing to run test cases. - + Der Pfad "%1" existiert nicht oder ist nicht lesbar. +Testfälle werden nicht ausgeführt. No Test Cases Defined - + Kein Testfall definiert Test suite "%1" does not contain any test cases. - + Test-Suite "%1" enthält keine Testfälle. The path "%1" does not exist or is not accessible. Refusing to record test case "%2". - + Der Pfad "%1" existiert nicht oder ist nicht lesbar. +Testfall "%2" wird nicht aufgezeichnet. Select Global Script Folder - + Globales Script-Verzeichnis auswählen Error - Fehler + Fehler Squish Tools in unexpected state (%1). - + Squish-Werkzeuge sind in unerwartetem Zustand (%1). Failed to open objects.map file at "%1". - + Die "objects.map"-Datei "%1" konnte nicht geöffnet werden. Squish - + Squish Run This Test Case - + Diesen Testfall ausführen Delete Test Case - + Testfall löschen Run This Test Suite - + Diese Test-Suite ausführen Add New Test Case... - + Neuen Testfall hinzufügen... Close Test Suite - + Test-Suite schließen Delete Shared File - + Gemeinsame Datei löschen Add Shared File - + Gemeinsame Datei hinzufügen Remove Shared Folder - + Gemeinsames Verzeichnis löschen Open Squish Suites... - + Squish-Suites öffnen... Create New Test Suite... - + Neue Test-Suite erstellen... Close All Test Suites - + Alle Test-Suites schließen Close all test suites? - + Alle Test-Suites schließen? Add Shared Folder... - + Gemeinsames Verzeichnis hinzufügen... Remove All Shared Folders - + Alle gemeinsamen Verzeichnisse entfernen Test Suites - + Test-Suites Remove "%1" from the list of shared folders? - + "%1" aus der Liste der gemeinsamen Verzeichnisse entfernen? Remove all shared folders? - + Alle gemeinsamen Verzeichnisse entfernen? Record Test Case - + Testfall aufnehmen Do you want to record over the test case "%1"? The existing content will be overwritten by the recorded script. - + Möchten Sie den Testfall "%1" neu aufnehmen? Der existierende Inhalt wird durch die Aufnahme überschrieben. Set up a valid Squish path to be able to create a new test case. (Edit > Preferences > Squish) - + Setzen Sie einen gültigen Pfad zu Squish, um einen neuen Testfall zu erstellen. +(Bearbeiten > Einstellungen > Squish) Test Results - Testergebnisse + Testergebnisse Runner/Server Log - + Runner/Server Log <b>Test summary:</b>&nbsp;&nbsp; %1 passes, %2 fails, %3 fatals, %4 errors, %5 warnings. - + <b>Zusammenfassung des Tests:</b>&nbsp;&nbsp; %1 bestanden, %2 durchgefallen, %3 fatal, %4 Fehler, %5 Warnungen. Expand All - Alle aufklappen + Alle aufklappen Collapse All - Alle einklappen + Alle einklappen Filter Test Results - Testergebnisse filtern + Testergebnisse filtern Pass - Bestanden + Bestanden Fail - Durchgefallen + Durchgefallen Expected Fail - Erwartetes Scheitern + Erwartet durchgefallen Unexpected Pass - Unerwartet bestanden + Unerwartet bestanden Warning Messages - Warnungsnachrichten + Warnungsnachrichten Log Messages - + Protokollnachrichten Check All Filters - Alle Filter auswählen + Alle Filter auswählen Control Bar - + Kontrollleiste Stop Recording - Aufnahme beenden + Aufnahme beenden Ends the recording session, saving all commands to the script file. - + Beendet die Aufnahmesitzung und speichert alle Kommandos in der Script-Datei. Interrupt - Anhalten + Anhalten Step Into - Einzelschritt herein + Einzelschritt herein Step Over - Einzelschritt über + Einzelschritt über Step Out - Einzelschritt heraus + Einzelschritt heraus Inspect - + Untersuchen Type - Typ + Typ Squish Locals - + Lokale Squish-Variablen Object - + Objekt Squish Objects - + Squish-Objekte Squish Object Properties - + Squish Objekteigenschaften Continue - Fortsetzen + Fortsetzen &Squish - + &Squish &Server Settings... - + &Servereinstellungen... Result - Ergebnis + Ergebnis Message - + Nachricht Time - Zeit + Zeit Squish path: - + Squish-Pfad: Path to Squish installation - + Pfad zur Squish-Installation Path does not contain server executable at its default location. - + Pfad enthält am Standardort keine ausführbare Serverdatei. License path: - + Lizenzpfad: Local Server - + Lokaler Server Server host: - + Server-Host: Server Port - + Server-Port Verbose log - + Ausführliches Protokoll Minimize IDE - + IDE minimieren Minimize IDE automatically while running or recording test cases. - + Minimiert die IDE automatisch, während Testfälle ausgeführt oder aufgenommen werden. General - Allgemein + Allgemein Maximum startup time: - + Maximale Anlaufzeit: Specifies how many seconds Squish should wait for a reply from the AUT directly after starting it. - + Legt fest, wie viele Sekunden Squish auf eine Antwort von der AUT direkt nach dessen Start wartet. Maximum response time: - + Maximale Antwortzeit: Specifies how many seconds Squish should wait for a reply from the hooked up AUT before raising a timeout error. - + Legt fest, wie viele Sekunden Squish auf eine Antwort von der angeschlossenen AUT wartet, bevor ein Zeitüberschreitungsfehler ausgelöst wird. Maximum post-mortem wait time: - + Maximale Post-Mortem-Wartezeit: Specifies how many seconds Squish should wait after the the first AUT process has exited. - + Legt fest, wie viele Sekunden Squish wartet, nachdem der erste AUT-Prozess beendet ist. Animate mouse cursor: - + Mauszeiger animieren: Name: - Name: + Name: Host: - Host: + Host: Port: - Port: + Port: Add Attachable AUT - + Anhängbare AUT hinzufügen Add - Hinzufügen + Hinzufügen Edit - + Bearbeiten Mapped AUTs - + Zugeordnete AUTs AUT Paths - + AUT-Pfade Attachable AUTs - + Anhängbare AUTs Select Application to test - + Wählen Sie die zu testende Anwendung Select Application Path - + Wählen Sie den Pfad zur Anwendung Squish Server Settings - + Squish-Servereinstellungen Failed to write configuration changes. Squish server finished with process error %1. - + Das Schreiben der Konfigurationsänderungen ist fehlgeschlagen. +Der Squish-Server wurde mit dem Fehler %1 beendet. Run Test Suite - + Test-Suite ausführen Object Map - + Object Map Run Test Case - + Testfall ausführen Shared Folders - + Gemeinsame Verzeichnisse %1 (none) - %1 (keine) + %1 (keine) Could not create test results folder. Canceling test run. - + Das Verzeichnis für die Testergebnisse konnte nicht erstellt werden. Testausführung wird abgebrochen. Squish Server Error - + Squish-Serverfehler "%1" could not be found or is not executable. Check the settings. - + "%1" konnte nicht gefunden werden oder ist nicht ausführbar. +Überprüfen Sie die Einstellungen. Recording test case - + Nehme Testfall auf Could not get Squish license from server. - + Die Lizenz konnte nicht vom Server abgerufen werden. Test run finished. - + Testausführung beendet. Test record finished. - + Testaufnahme beendet. Squish could not find the AUT "%1" to start. Make sure it has been added as a Mapped AUT in the squishserver settings. (Tools > Squish > Server Settings...) - + Squish konnte die zu startende AUT "%1" nicht finden. Stellen Sie sicher, dass sie in den Einstellungen des Squish-Servers als zugeordnete AUT hinzugefügt wurde. +(Extras > Squish > Servereinstellungen...) Refusing to run a test case. - + Ausführung des Testfalls verweigert. Refusing to execute server query. - + Ausführung einer Serveranfrage verweigert. Refusing to record a test case. - + Aufnahme eines Testfalls verweigert. Refusing to write configuration changes. - + Schreiben von Konfigurationsänderungen verweigert. Running test case - + Führe Testfall aus User stop initiated. - + Anhalten durch Benutzer angefordert. Squish Server Already Running - + Squish-Server läuft bereits There is still an old Squish server instance running. @@ -49333,95 +49342,107 @@ This will cause problems later on. If you continue, the old instance will be terminated. Do you want to continue? - + Es wird bereits eine alte Instanz des Squish-Servers ausgeführt. +Dies wird später zu Problemen führen. + +Wenn Sie den Vorgang fortsetzen, wird die alte Instanz beendet. +Wollen Sie fortfahren? Unexpected state or request while starting Squish server. (state: %1, request: %2) - + Unerwarteter Zustand oder Anfrage beim Starten des Squish-Servers. (Status: %1, Anfrage: %2) No Squish Server - + Kein Squish-Server Squish server does not seem to be running. (state: %1, request: %2) Try again. - + Der Squish-Server scheint nicht zu laufen. +(Status: %1, Anfrage: %2) +Versuchen Sie es erneut. No Squish Server Port - + Kein Squish-Serverport Failed to get the server port. (state: %1, request: %2) Try again. - + Der Serverport konnte nicht erhalten werden. +(Status: %1, Anfrage: %2) +Versuchen Sie es erneut. Squish Runner Running - + Squish-Runner läuft Squish runner seems to be running already. (state: %1, request: %2) Wait until it has finished and try again. - + Der Squish-Runner scheint bereits zu laufen. +(Status: %1, Anfrage: %2) +Warten Sie, bis er beendet ist, und versuchen Sie es dann erneut. Squish Runner Error - + Squish-Runner-Fehler Squish runner failed to start within given timeframe. - + Squish-Runner konnte im angegebenen Zeitrahmen nicht gestartet werden. Create New Squish Test Suite - + Neue Squish Test-Suite erstellen Available GUI toolkits: - + Verfügbare GUI-Toolkits: Invalid Squish settings. Configure Squish installation path inside Preferences... > Squish > General to use this wizard. - + Ungültige Squish-Einstellungen. Stellen Sie in Einstellungen... > Squish > Allgemein den Squish-Installationspfad ein, um diesen Assistenten zu benutzen. Available languages: - + Verfügbare Sprachen: <None> - <Kein> + <Kein> Key is not an object. - Schlüssel ist kein Objekt. + Schlüssel ist kein Objekt. Key 'mode' is not set. - + Schlüssel 'mode' ist nicht gesetzt. Unsupported mode: - + Modus nicht unterstützt: Could not merge results into single results.xml. Destination file "%1" already exists. - + Die Ergebnisse konnten nicht in einer einzelnen 'results.xml'-Datei zusammengeführt werden. +Zieldatei "%1" existiert bereits. Could not merge results into single results.xml. Failed to open file "%1" - + Die Ergebnisse konnten nicht in einer einzelnen 'results.xml'-Datei zusammengeführt werden. +Die Datei "%1" konnte nicht geöffnet werden Error while parsing first test result. - + Fehler beim Auswerten des ersten Testergebnisses. diff --git a/src/plugins/clangcodemodel/clangdclient.cpp b/src/plugins/clangcodemodel/clangdclient.cpp index bb9ec7fc1be..c2529a94e1a 100644 --- a/src/plugins/clangcodemodel/clangdclient.cpp +++ b/src/plugins/clangcodemodel/clangdclient.cpp @@ -632,13 +632,14 @@ void ClangdClient::handleDiagnostics(const PublishDiagnosticsParams ¶ms) const int docVersion = documentVersion(uri); if (params.version().value_or(docVersion) != docVersion) return; + QList allCodeActions; for (const Diagnostic &diagnostic : params.diagnostics()) { const ClangdDiagnostic clangdDiagnostic(diagnostic); auto codeActions = clangdDiagnostic.codeActions(); if (codeActions && !codeActions->isEmpty()) { for (CodeAction &action : *codeActions) action.setDiagnostics({diagnostic}); - LanguageClient::updateCodeActionRefactoringMarker(this, *codeActions, uri); + allCodeActions << *codeActions; } else { // We know that there's only one kind of diagnostic for which clangd has // a quickfix tweak, so let's not be wasteful. @@ -648,6 +649,8 @@ void ClangdClient::handleDiagnostics(const PublishDiagnosticsParams ¶ms) requestCodeActions(uri, diagnostic); } } + if (!allCodeActions.isEmpty()) + LanguageClient::updateCodeActionRefactoringMarker(this, allCodeActions, uri); } void ClangdClient::handleDocumentOpened(TextDocument *doc) diff --git a/src/plugins/python/pythonconstants.h b/src/plugins/python/pythonconstants.h index d5c5e3c6cd8..315aca8da66 100644 --- a/src/plugins/python/pythonconstants.h +++ b/src/plugins/python/pythonconstants.h @@ -27,6 +27,7 @@ const char PYLS_SETTINGS_ID[] = "Python.PyLSSettingsID"; * MIME type ******************************************************************************/ const char C_PY_MIMETYPE[] = "text/x-python"; +const char C_PY_GUI_MIMETYPE[] = "text/x-python-gui"; const char C_PY3_MIMETYPE[] = "text/x-python3"; const char C_PY_MIME_ICON[] = "text-x-python"; diff --git a/src/plugins/python/pythonproject.cpp b/src/plugins/python/pythonproject.cpp index 96549ba9d9a..036d5e7ce4b 100644 --- a/src/plugins/python/pythonproject.cpp +++ b/src/plugins/python/pythonproject.cpp @@ -229,7 +229,8 @@ void PythonBuildSystem::triggerParsing() newRoot->addNestedNode(std::make_unique(entry.filePath, displayName, fileType)); const MimeType mt = mimeTypeForFile(entry.filePath, MimeMatchMode::MatchExtension); - if (mt.matchesName(Constants::C_PY_MIMETYPE) || mt.matchesName(Constants::C_PY3_MIMETYPE)) { + if (mt.matchesName(Constants::C_PY_MIMETYPE) || mt.matchesName(Constants::C_PY3_MIMETYPE) + || mt.matchesName(Constants::C_PY_GUI_MIMETYPE)) { BuildTargetInfo bti; bti.displayName = displayName; bti.buildKey = entry.filePath.toString(); diff --git a/src/shared/qbs b/src/shared/qbs index 40d30480847..d361630f727 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit 40d304808479ea72c1d02dacf007ab8b05851e2e +Subproject commit d361630f727459ea6dccc1ca6cd5ad51162bfb62 diff --git a/src/tools/qtc-askpass/qtc-askpass-main.cpp b/src/tools/qtc-askpass/qtc-askpass-main.cpp index 5cd0eaf1adb..d45fe564fb7 100644 --- a/src/tools/qtc-askpass/qtc-askpass-main.cpp +++ b/src/tools/qtc-askpass/qtc-askpass-main.cpp @@ -18,8 +18,10 @@ int main(int argc, char *argv[]) labelText.append('\n').append(appArgs.at(1)); dlg.setLabelText(labelText); dlg.setTextEchoMode(QLineEdit::Password); - if (dlg.exec() == QDialog::Accepted) + const bool accepted = dlg.exec() == QDialog::Accepted; + if (accepted) std::cout << qPrintable(dlg.textValue()) << std::endl; + qApp->exit(accepted ? 0 : 1); }); return app.exec(); } diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index 8639c6e2651..77b493b32a0 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -190,8 +190,7 @@ def invokeMenuItem(menu, item, *subItems): "Function arguments: '%s', '%s', %s" % (menu, item, str(subItems))) break # we failed to trigger - no need to process subItems further else: - noAmpersandItem = item.replace('&', '') - waitForObject("{type='QMenu' title='%s'}" % noAmpersandItem, 2000) + waitForObject("{type='QMenu' title='%s'}" % str(itemObject.text), 2000) itemObject = waitForObjectItem(itemObject, subItem) waitFor("itemObject.enabled", 2000) activateItem(itemObject) diff --git a/tests/system/suite_editors/tst_clean_whitespaces/test.py b/tests/system/suite_editors/tst_clean_whitespaces/test.py index 5c9e7aa6a65..7803027f869 100644 --- a/tests/system/suite_editors/tst_clean_whitespaces/test.py +++ b/tests/system/suite_editors/tst_clean_whitespaces/test.py @@ -89,7 +89,7 @@ def prepareFileExternal(fileName, content): test.log("Added trailing whitespace.") modifiedContent += currentLine - with open(fileName, "w") as f: + with open(fileName, "w", encoding="utf-8") as f: # used only with text files, so okay f.write(modifiedContent) if not emptyLine or not trailingWS: