diff --git a/dist/changelog/changes-9.0.1.md b/dist/changelog/changes-9.0.1.md
index 09feba57648..9436a7cead9 100644
--- a/dist/changelog/changes-9.0.1.md
+++ b/dist/changelog/changes-9.0.1.md
@@ -29,6 +29,8 @@ Editing
* Fixed crash after closing settings when opened from indexing progress
(QTCREATORBUG-28566)
* Fixed crash when opening type hierarchy (QTCREATORBUG-28529)
+* Fixed code style settings being saved even when canceling
+* Fixed checkbox state in Beautifier settings (QTCREATORBUG-28525)
Projects
--------
diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts
index 790c66800c7..eeb1f1091f4 100644
--- a/share/qtcreator/translations/qtcreator_de.ts
+++ b/share/qtcreator/translations/qtcreator_de.ts
@@ -212,7 +212,7 @@
Clear system environment
- Systemumgebung löschen
+ Systemumgebung bereinigenHelp
@@ -2700,11 +2700,11 @@ Trotzdem fortfahren?
Sort Members of Classes and Structs Alphabetically
- Mitglieder von Klassen und Strukturen alphabetisch sortieren
+ Member von Klassen und Strukturen alphabetisch sortierenSort members of classes and structs alphabetically
- Mitglieder von Klassen und Strukturen alphabetisch sortieren
+ Member von Klassen und Strukturen alphabetisch sortierenUse Debugging Helpers
@@ -5435,7 +5435,7 @@ Bitte wählen Sie einen 64-bit-Debugger in den Kit-Einstellungen für dieses Kit
Debugging complex command lines is currently not supported on Windows.
- Komplexe Kommandozeilen werden beim Debuggen unter Windows gegenwärtig nicht unterstützt.
+ Komplexe Kommandozeilen werden beim Debuggen unter Windows aktuell nicht unterstützt.Not enough free ports for QML debugging.
@@ -6013,7 +6013,7 @@ Das Setzen von Haltepunkten anhand von Dateinamen und Zeilennummern könnte fehl
A debugging session is still in progress. Terminating the session in the current state can leave the target in an inconsistent state. Would you still like to terminate it?
- Der Debugger läuft noch. Das Beenden im gegenwärtigen Zustand könnte zu einem inkonsistenten Zustand des untersuchten Prozesses führen. Möchten Sie ihn trotzdem beenden?
+ Der Debugger läuft noch. Das Beenden im aktuellen Zustand könnte zu einem inkonsistenten Zustand des untersuchten Prozesses führen. Möchten Sie ihn trotzdem beenden?Debugged executable
@@ -8835,11 +8835,11 @@ Leer lassen, um das Dateisystem zu durchsuchen.
Saves the current state of your work and resets the repository.
- Speichert den gegenwärtigen Stand der Arbeit und setzt das Repository zurück.
+ Speichert den aktuellen Stand der Arbeit und setzt das Repository zurück.Saves the current state of your unstaged files and resets the repository to its staged state.
- Speichert den gegenwärtigen Stand der nicht bereitgestellten Dateien und setzt das Repository auf den bereitgestellten Zustand zurück.
+ Speichert den aktuellen Stand der nicht bereitgestellten Dateien und setzt das Repository auf den bereitgestellten Zustand zurück.Take Snapshot...
@@ -8847,7 +8847,7 @@ Leer lassen, um das Dateisystem zu durchsuchen.
Saves the current state of your work.
- Sichert den gegenwärtigen Arbeitsstand.
+ Sichert den aktuellen Arbeitsstand.Restores changes saved to the stash list using "Stash".
@@ -10497,7 +10497,7 @@ Außer: %2
The build configuration <b>%1</b> is currently being built.
- Die Build-Konfiguration <b>%1</b> wird gegenwärtig erstellt.
+ Die Build-Konfiguration <b>%1</b> wird gerade erstellt.Do you want to cancel the build process and remove the Build Configuration anyway?
@@ -10855,7 +10855,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden.
The deploy configuration <b>%1</b> is currently being built.
- Die Deployment-Konfiguration <b>%1</b> wird gegenwärtig ausgeführt.
+ Die Deployment-Konfiguration <b>%1</b> wird gerade erstellt.Do you want to cancel the build process and remove the Deploy Configuration anyway?
@@ -10992,7 +10992,7 @@ konnte dem Projekt "%2" nicht hinzugefügt werden.
Run Without Deployment
- Ausführung ohne Deployment
+ Ausführen ohne DeploymentCancel Build
@@ -11548,7 +11548,7 @@ Bitte versuchen Sie es erneut.
Expand All
- Alles aufklappen
+ Alle aufklappenQuick Switch Kit Selector
@@ -13755,7 +13755,7 @@ Was möchten Sie tun?
Name of current build
- Name der gegenwärtigen Build-Konfiguration
+ Name der aktuellen Build-KonfigurationMain file of current project
@@ -13783,7 +13783,7 @@ Was möchten Sie tun?
Type of current build
- Typ der gegenwärtigen Build-Konfiguration
+ Typ der aktuellen Build-KonfigurationType of the project's active build configuration
@@ -14110,7 +14110,7 @@ Locked components cannot be modified or selected.
Expand All
- Alles aufklappen
+ Alle aufklappenCollapse All
@@ -14355,7 +14355,7 @@ Locked components cannot be modified or selected.
The following ABIs are currently not supported: %1
- Die folgenden ABIs werden gegenwärtig nicht unterstützt: %1
+ Die folgenden ABIs werden aktuell nicht unterstützt: %1Select a qmake Executable
@@ -14475,7 +14475,7 @@ Locked components cannot be modified or selected.
<p>The project you are about to open is located in the write-protected location:</p><blockquote>%1</blockquote><p>Please select a writable location below and click "Copy Project and Open" to open a modifiable copy of the project or click "Keep Project and Open" to open the project in location.</p><p><b>Note:</b> You will not be able to alter or compile your project in the current location.</p>
- <p>Das zu öffnende Projekt befindet sich in einem schreibgeschützten Verzeichnis:</p><blockquote>%1</blockquote><p>Bitte geben Sie ein schreibbares Verzeichnis an und wählen dann "Kopieren und öffne Projekt", um eine modifizierbare Kopie des Projektes erhalten, oder "Öffne Projekt hier", um das Projekt im gegenwärtigen Verzeichnis zu öffnen</p><p><b>Hinweis:</b> Im gegenwärtigen.Verzeichnis kann das Projekt weder compiliert noch modifiziert werden.</p>
+ <p>Das zu öffnende Projekt befindet sich in einem schreibgeschützten Verzeichnis:</p><blockquote>%1</blockquote><p>Bitte geben Sie ein schreibbares Verzeichnis an und wählen dann "Kopieren und öffne Projekt", um eine modifizierbare Kopie des Projektes erhalten, oder "Öffne Projekt hier", um das Projekt im aktuellen Verzeichnis zu öffnen</p><p><b>Hinweis:</b> Im aktuellen Verzeichnis kann das Projekt weder compiliert noch modifiziert werden.</p>&Location:
@@ -16678,7 +16678,7 @@ Möchten Sie sie überschreiben?
Debugging complex shell commands in a terminal is currently not supported.
- Das Debuggen komplexer Shell-Kommandos in einem Terminal wird gegenwärtig nicht unterstützt.
+ Das Debuggen komplexer Shell-Kommandos in einem Terminal wird aktuell nicht unterstützt.Quoting error in terminal command.
@@ -16764,7 +16764,7 @@ konnte nicht unter Versionsverwaltung (%2) gestellt werden
CppEditor::Internal::CppOutlineTreeViewExpand All
- Alles aufklappen
+ Alle aufklappenCollapse All
@@ -21563,7 +21563,7 @@ Außer: %3
No updates found.
- Es wurden keine Aktualisierungen gefunden.
+ Keine Aktualisierungen gefunden.Could not determine location of maintenance tool. Please check your installation if you did not enable this plugin manually.
@@ -22675,7 +22675,7 @@ Gibt an, wie sich die Rücktaste bezüglich Einrückung verhält.
Pressing Alt displays context-sensitive help or type information as tooltips.
- Drücken Sie die Alt-Taste um kontextabhängige Hilfe oder Typinformation als Tool-Tip anzuzeigen.
+ Drücken Sie die Alt-Taste um kontextabhängige Hilfe oder Typinformation als Tooltip anzuzeigen.Using Select Block Up / Down actions will now provide smarter selections.
@@ -25135,7 +25135,7 @@ the manifest file by overriding your settings. Allow override?
Scan only the currently edited document
- Nur im gegenwärtig bearbeiteten Dokument suchen
+ Nur im aktuell bearbeiteten Dokument suchenScan the current subproject
@@ -25163,7 +25163,7 @@ the manifest file by overriding your settings. Allow override?
Scan only the currently edited document.
- Nur im gegenwärtig bearbeiteten Dokument suchen.
+ Nur im aktuell bearbeiteten Dokument suchen.Active Project
@@ -25359,7 +25359,7 @@ the manifest file by overriding your settings. Allow override?
Type Specific
- typspezifisch
+ Typabhängig&Add...
@@ -37198,11 +37198,11 @@ Warnung: Dies ist eine experimentelle Funktion und könnte dazu führen, dass di
Expand All
- Alles aufklappen
+ Alle aufklappenCollapse All
- Alles einklappen
+ Alle einklappenSort Alphabetically
@@ -41490,7 +41490,7 @@ Wird benutzt um die Funktion zu markieren, die ein gesuchtes Symbol benutzt.
Class' data members.
- Mitgliedsvariablen von Klassen.
+ Membervariablen einer Klasse.Global
@@ -48329,7 +48329,7 @@ Useful if build directory is corrupted or when rebuilding with a newer version o
Clear system environment
- Systemumgebung löschen
+ Systemumgebung bereinigen
@@ -53840,7 +53840,7 @@ Use drag and drop to change the order of the parameters.
Expand All
- Alles aufklappen
+ Alle aufklappenCollapse All
@@ -55510,7 +55510,7 @@ Hinweis: Dies macht Sie anfällig für Man-in-the-middle-Angriffe.
Use context-specific margin
- Kontextspezifischen Rand verwenden
+ Kontextabhängigen Rand verwendenIf available, use a different margin. For example, the ColumnLimit from the ClangFormat plugin.
diff --git a/src/plugins/beautifier/clangformat/clangformatoptionspage.cpp b/src/plugins/beautifier/clangformat/clangformatoptionspage.cpp
index d6244eb466d..1e6a9f5c14a 100644
--- a/src/plugins/beautifier/clangformat/clangformatoptionspage.cpp
+++ b/src/plugins/beautifier/clangformat/clangformatoptionspage.cpp
@@ -13,6 +13,7 @@
#include
#include
+#include
#include
#include
#include
@@ -47,8 +48,10 @@ ClangFormatOptionsPageWidget::ClangFormatOptionsPageWidget(ClangFormatSettings *
auto options = new QGroupBox(tr("Options"));
options->setEnabled(false);
+ auto styleButtonGroup = new QButtonGroup(this);
+
auto useCustomizedStyle = new QRadioButton(tr("Use customized style:"));
- useCustomizedStyle->setAutoExclusive(true);
+ styleButtonGroup->addButton(useCustomizedStyle);
m_configurations = new ConfigurationPanel;
m_configurations->setSettings(m_settings);
@@ -57,7 +60,7 @@ ClangFormatOptionsPageWidget::ClangFormatOptionsPageWidget(ClangFormatSettings *
m_usePredefinedStyle = new QRadioButton(tr("Use predefined style:"));
m_usePredefinedStyle->setChecked(true);
- m_usePredefinedStyle->setAutoExclusive(true);
+ styleButtonGroup->addButton(m_usePredefinedStyle);
m_predefinedStyle = new QComboBox;
m_predefinedStyle->addItems(m_settings->predefinedStyles());
diff --git a/src/plugins/cppeditor/cppelementevaluator.cpp b/src/plugins/cppeditor/cppelementevaluator.cpp
index 44940cdeadc..b3d9aa314b4 100644
--- a/src/plugins/cppeditor/cppelementevaluator.cpp
+++ b/src/plugins/cppeditor/cppelementevaluator.cpp
@@ -184,11 +184,12 @@ void CppClass::lookupDerived(QFutureInterfaceBase &futureInterface,
void CppClass::addDerivedHierarchy(const TypeHierarchy &hierarchy)
{
- CppClass classSymbol(hierarchy.symbol());
const QList derivedHierarchies = hierarchy.hierarchy();
- for (const TypeHierarchy &derivedHierarchy : derivedHierarchies)
+ for (const TypeHierarchy &derivedHierarchy : derivedHierarchies) {
+ CppClass classSymbol(derivedHierarchy.symbol());
classSymbol.addDerivedHierarchy(derivedHierarchy);
- derived.append(classSymbol);
+ derived.append(classSymbol);
+ }
}
class CppFunction : public CppDeclarableElement
diff --git a/src/plugins/projectexplorer/runcontrol.cpp b/src/plugins/projectexplorer/runcontrol.cpp
index 579df960172..9918aaf99e5 100644
--- a/src/plugins/projectexplorer/runcontrol.cpp
+++ b/src/plugins/projectexplorer/runcontrol.cpp
@@ -1319,7 +1319,11 @@ void SimpleTargetRunnerPrivate::stop()
switch (m_state) {
case Run:
m_process.stop();
- m_process.waitForFinished();
+ if (!m_process.waitForFinished(2000)) { // TODO: it may freeze on some devices
+ QTC_CHECK(false); // Shouldn't happen, just emergency handling
+ m_process.close();
+ forwardDone();
+ }
break;
case Inactive:
break;
diff --git a/src/plugins/projectexplorer/toolchainoptionspage.cpp b/src/plugins/projectexplorer/toolchainoptionspage.cpp
index 9f8548aedb0..273f86e59f6 100644
--- a/src/plugins/projectexplorer/toolchainoptionspage.cpp
+++ b/src/plugins/projectexplorer/toolchainoptionspage.cpp
@@ -192,6 +192,8 @@ public:
}
}
m_addButton->setMenu(addMenu);
+ if (HostOsInfo::isMacHost())
+ m_addButton->setStyleSheet("text-align:center;");
m_cloneButton = new QPushButton(ToolChainOptionsPage::tr("Clone"), this);
connect(m_cloneButton, &QAbstractButton::clicked, [this] { cloneToolChain(); });
diff --git a/src/plugins/remotelinux/linuxdevice.cpp b/src/plugins/remotelinux/linuxdevice.cpp
index 425c6b44e52..439b2cc0560 100644
--- a/src/plugins/remotelinux/linuxdevice.cpp
+++ b/src/plugins/remotelinux/linuxdevice.cpp
@@ -490,8 +490,10 @@ bool SshProcessInterface::runInShell(const CommandLine &command, const QByteArra
process.setCommand(cmd);
process.setWriteData(data);
process.start();
- QTC_CHECK(process.waitForFinished()); // otherwise we may start producing killers for killers
- return process.exitCode() == 0;
+ bool isFinished = process.waitForFinished(2000); // TODO: it may freeze on some devices
+ // otherwise we may start producing killers for killers
+ QTC_CHECK(isFinished);
+ return isFinished;
}
void SshProcessInterface::start()
diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp
index f691b740d09..fb4b06ef530 100644
--- a/src/plugins/texteditor/texteditor.cpp
+++ b/src/plugins/texteditor/texteditor.cpp
@@ -2700,7 +2700,8 @@ void TextEditorWidget::keyPressEvent(QKeyEvent *e)
}
break;
case Qt::Key_Delete:
- if (hasMultipleCursors && !ro && e->modifiers() == Qt::NoModifier) {
+ if (hasMultipleCursors && !ro
+ && (e->modifiers() == Qt::NoModifier || e->modifiers() == Qt::KeypadModifier)) {
if (cursor.hasSelection()) {
cursor.removeSelectedText();
} else {
diff --git a/tests/system/suite_editors/tst_memberoperator/test.py b/tests/system/suite_editors/tst_memberoperator/test.py
index 18d5547f324..2e9980bf2b4 100644
--- a/tests/system/suite_editors/tst_memberoperator/test.py
+++ b/tests/system/suite_editors/tst_memberoperator/test.py
@@ -31,6 +31,8 @@ def __syntaxErrorDetected__():
"Expected ';' at end of declaration (fix available)",
"Use of undeclared identifier 'syntaxError'"]:
return True
+ if re.match(issue[3], "Declaration of reference variable '.+' requires an initializer"):
+ return True
return False