diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts index 97485a8869f..87007a42999 100644 --- a/share/qtcreator/translations/qtcreator_de.ts +++ b/share/qtcreator/translations/qtcreator_de.ts @@ -4556,7 +4556,7 @@ Jetzt Commit durchführen? Amend Last Commit... - Letzte Abgabe ändern... + Letzten Commit ändern... Push @@ -30960,7 +30960,7 @@ Bitte erstellen Sie die Anwendung qmldump auf der Einstellungsseite der Qt-Versi Replace All - Alles ersetzen + Alle ersetzen Case Sensitive diff --git a/src/plugins/beautifier/clangformat/clangformat.cpp b/src/plugins/beautifier/clangformat/clangformat.cpp index a3393dcdb40..800b3e4c184 100644 --- a/src/plugins/beautifier/clangformat/clangformat.cpp +++ b/src/plugins/beautifier/clangformat/clangformat.cpp @@ -44,9 +44,11 @@ #include #include #include +#include #include #include +#include namespace Beautifier { namespace Internal { @@ -131,8 +133,14 @@ Command ClangFormat::command(int offset, int length) const if (m_settings->usePredefinedStyle()) { command.addOption(QLatin1String("-style=") + m_settings->predefinedStyle()); } else { - command.addOption(QLatin1String("-style={") - + m_settings->style(m_settings->customStyle()).remove(QLatin1Char('\n')) + // The clang-format option file is YAML + const QStringList lines = m_settings->style(m_settings->customStyle()) + .split(QLatin1Char('\n'), QString::SkipEmptyParts); + const QStringList options = Utils::filtered(lines, [](const QString &s) -> bool { + const QString option = s.trimmed(); + return !(option.startsWith(QLatin1Char('#')) || option == QLatin1String("---")); + }); + command.addOption(QLatin1String("-style={") + options.join(QLatin1String(", ")) + QLatin1Char('}')); } diff --git a/src/plugins/debugger/lldb/lldbengine.cpp b/src/plugins/debugger/lldb/lldbengine.cpp index 39eee535ec8..a1b3fd9ba7f 100644 --- a/src/plugins/debugger/lldb/lldbengine.cpp +++ b/src/plugins/debugger/lldb/lldbengine.cpp @@ -536,11 +536,7 @@ void LldbEngine::selectThread(ThreadId threadId) DebuggerCommand cmd("selectThread"); cmd.arg("id", threadId.raw()); cmd.callback = [this](const DebuggerResponse &) { - DebuggerCommand cmd("fetchStack"); - cmd.arg("nativemixed", isNativeMixedActive()); - cmd.arg("stacklimit", action(MaximalStackDepth)->value().toInt()); - runCommand(cmd); - updateLocals(); + fetchStack(action(MaximalStackDepth)->value().toInt()); }; runCommand(cmd); } diff --git a/src/plugins/projectexplorer/applicationlauncher.cpp b/src/plugins/projectexplorer/applicationlauncher.cpp index 093cec6ecb6..a3d8b4534b2 100644 --- a/src/plugins/projectexplorer/applicationlauncher.cpp +++ b/src/plugins/projectexplorer/applicationlauncher.cpp @@ -38,6 +38,7 @@ #include #include +#include #ifdef Q_OS_WIN #include @@ -76,7 +77,9 @@ struct ApplicationLauncherPrivate { QTextCodec::ConverterState m_outputCodecState; QTextCodec::ConverterState m_errorCodecState; // Keep track whether we need to emit a finished signal - bool m_processRunning; + bool m_processRunning = false; + + qint64 m_listeningPid = 0; }; ApplicationLauncherPrivate::ApplicationLauncherPrivate() : @@ -110,7 +113,7 @@ ApplicationLauncher::ApplicationLauncher(QObject *parent) d->m_consoleProcess.setSettings(Core::ICore::settings()); #endif connect(&d->m_consoleProcess, &Utils::ConsoleProcess::processStarted, - this, &ApplicationLauncher::processStarted); + this, &ApplicationLauncher::handleProcessStarted); connect(&d->m_consoleProcess, &Utils::ConsoleProcess::processError, this, &ApplicationLauncher::consoleProcessError); connect(&d->m_consoleProcess, &Utils::ConsoleProcess::processStopped, @@ -273,19 +276,22 @@ void ApplicationLauncher::cannotRetrieveDebugOutput() void ApplicationLauncher::checkDebugOutput(qint64 pid, const QString &message) { - if (applicationPID() == pid) + if (d->m_listeningPid == pid) emit appendMessage(message, Utils::DebugFormat); } void ApplicationLauncher::processDone(int exitCode, QProcess::ExitStatus status) { - emit processExited(exitCode, status); + QTimer::singleShot(100, this, [this, exitCode, status]() { + d->m_listeningPid = 0; + emit processExited(exitCode, status); + }); } void ApplicationLauncher::bringToForeground() { emit bringToForegroundRequested(applicationPID()); - emit processStarted(); + handleProcessStarted(); } QString ApplicationLauncher::msgWinCannotRetrieveDebuggingOutput() @@ -293,4 +299,10 @@ QString ApplicationLauncher::msgWinCannotRetrieveDebuggingOutput() return tr("Cannot retrieve debugging output.") + QLatin1Char('\n'); } +void ApplicationLauncher::handleProcessStarted() +{ + d->m_listeningPid = applicationPID(); + emit processStarted(); +} + } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/applicationlauncher.h b/src/plugins/projectexplorer/applicationlauncher.h index 06820b7f6c3..ae62cb857df 100644 --- a/src/plugins/projectexplorer/applicationlauncher.h +++ b/src/plugins/projectexplorer/applicationlauncher.h @@ -69,6 +69,7 @@ signals: void error(QProcess::ProcessError error); private: + void handleProcessStarted(); void guiProcessError(); void consoleProcessError(const QString &error); void readStandardOutput(); diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp index 21cd6f9bffa..8e5b279937d 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardfactory.cpp @@ -480,7 +480,7 @@ QString JsonWizardFactory::localizedString(const QVariant &value) } return QString(); } - return QCoreApplication::translate("ProjectExplorer::JsonWizardFactory", value.toByteArray()); + return QCoreApplication::translate("ProjectExplorer::JsonWizard", value.toByteArray()); } bool JsonWizardFactory::isAvailable(Core::Id platformId) const diff --git a/src/plugins/qmakeprojectmanager/makestep.ui b/src/plugins/qmakeprojectmanager/makestep.ui index 9856fd7d2c7..7c706054a89 100644 --- a/src/plugins/qmakeprojectmanager/makestep.ui +++ b/src/plugins/qmakeprojectmanager/makestep.ui @@ -7,16 +7,17 @@ 0 0 220 - 46 + 62 - - - QFormLayout::AllNonFixedFieldsGrow - - - 0 - + + + + + Override %1: + + + @@ -30,13 +31,6 @@ - - - - Override %1: - - - diff --git a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp index f158754a897..fba83df7b8d 100644 --- a/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp +++ b/src/plugins/qmlprofiler/qmlprofilerclientmanager.cpp @@ -259,14 +259,18 @@ void QmlProfilerClientManager::tryToConnect() d->connectionTimer.stop(); d->connectionAttempts = 0; } else if (d->connection && d->connection->socketState() != QAbstractSocket::ConnectedState) { - // Replace the connection after trying for some time. On some operating systems (OSX) the - // very first connection to a TCP server takes a very long time to get established. + if (d->connectionAttempts < 3) { + // Replace the connection after trying for some time. On some operating systems (OSX) the + // very first connection to a TCP server takes a very long time to get established. - // delete directly here, so that any pending events aren't delivered. We don't want the - // connection first to be established and then torn down again. - delete d->connection; - d->connection = 0; - connectTcpClient(d->tcpPort); + // delete directly here, so that any pending events aren't delivered. We don't want the + // connection first to be established and then torn down again. + delete d->connection; + d->connection = 0; + connectTcpClient(d->tcpPort); + } else if (!d->connection->isConnecting()) { + d->connection->connectToHost(d->tcpHost, d->tcpPort); + } } else if (d->connectionAttempts == 50) { d->connectionTimer.stop(); d->connectionAttempts = 0; diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index a9ff6ba352d..ed862ce0190 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -302,16 +302,17 @@ static QString sysroot(RunConfiguration *runConfig) AnalyzerRunControl *QmlProfilerTool::createRunControl(RunConfiguration *runConfiguration) { - QmlProfilerRunConfigurationAspect *aspect = static_cast( - runConfiguration->extraAspect(Constants::SETTINGS)); - QTC_ASSERT(aspect, return 0); - - QmlProfilerSettings *settings = static_cast(aspect->currentSettings()); - QTC_ASSERT(settings, return 0); - - d->m_profilerConnections->setFlushInterval(settings->flushEnabled() ? - settings->flushInterval() : 0); - d->m_profilerConnections->setAggregateTraces(settings->aggregateTraces()); + if (runConfiguration) { + QmlProfilerRunConfigurationAspect *aspect = static_cast( + runConfiguration->extraAspect(Constants::SETTINGS)); + if (aspect) { + if (QmlProfilerSettings *settings = static_cast(aspect->currentSettings())) { + d->m_profilerConnections->setFlushInterval(settings->flushEnabled() ? + settings->flushInterval() : 0); + d->m_profilerConnections->setAggregateTraces(settings->aggregateTraces()); + } + } + } return new QmlProfilerRunControl(runConfiguration, this); } diff --git a/tests/system/objects.map b/tests/system/objects.map index ea119cdb44d..dc49f301408 100644 --- a/tests/system/objects.map +++ b/tests/system/objects.map @@ -42,7 +42,6 @@ :CMake Wizard.Cancel_QPushButton {text='Cancel' type='QPushButton' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'} :CMake Wizard.Finish_QPushButton {text~='(Finish|Done)' type='QPushButton' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'} :CMake Wizard.Generator:_QLabel {text='Generator:' type='QLabel' unnamed='1' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'} -:CMake Wizard.Next_QPushButton {name='__qt__passive_wizardbutton1' text~='(Next.*|Continue)' type='QPushButton' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'} :CMake Wizard.Run CMake_QPushButton {text='Run CMake' type='QPushButton' unnamed='1' visible='1' window=':CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard'} :CMake Wizard_CMakeProjectManager::Internal::CMakeOpenProjectWizard {type='CMakeProjectManager::Internal::CMakeOpenProjectWizard' unnamed='1' visible='1' windowTitle='CMake Wizard'} :Cannot Open Project.OK_QPushButton {text='OK' type='QPushButton' unnamed='1' visible='1' window=':Cannot Open Project_QMessageBox'}