Merge remote-tracking branch 'origin/5.0'

Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri

Change-Id: I5dd6bd7d7e71c84a43b33c0aded673f3c4a57ef8
This commit is contained in:
Eike Ziller
2021-07-16 12:48:19 +02:00
7 changed files with 41 additions and 36 deletions

View File

@@ -43,10 +43,6 @@ if(${Qt5_VERSION} VERSION_LESS "6.2.0")
qml/tracing.qrc qml/tracing.qrc
) )
else() # < Qt 6.2 else() # < Qt 6.2
if (NOT TARGET Tracing)
return()
endif()
add_qtc_library(Tracing add_qtc_library(Tracing
FEATURE_INFO FEATURE_INFO
DEPENDS Utils Qt5::Qml Qt5::Quick DEPENDS Utils Qt5::Qml Qt5::Quick
@@ -55,6 +51,10 @@ else() # < Qt 6.2
${TEST_SOURCES} ${TEST_SOURCES}
) )
if (NOT TARGET Tracing)
return()
endif()
set(TRACING_QML_FILES set(TRACING_QML_FILES
qml/ButtonsBar.qml qml/ButtonsBar.qml
qml/CategoryLabel.qml qml/CategoryLabel.qml

View File

@@ -72,6 +72,9 @@ namespace ClangCodeModel {
namespace Internal { namespace Internal {
static Q_LOGGING_CATEGORY(clangdLog, "qtc.clangcodemodel.clangd", QtWarningMsg); static Q_LOGGING_CATEGORY(clangdLog, "qtc.clangcodemodel.clangd", QtWarningMsg);
static Q_LOGGING_CATEGORY(clangdLogServer, "qtc.clangcodemodel.clangd.server", QtWarningMsg);
static Q_LOGGING_CATEGORY(clangdLogAst, "qtc.clangcodemodel.clangd.ast", QtWarningMsg);
static Q_LOGGING_CATEGORY(clangdLogHighlight, "qtc.clangcodemodel.clangd.highlight", QtWarningMsg);
static QString indexingToken() { return "backgroundIndexProgress"; } static QString indexingToken() { return "backgroundIndexProgress"; }
class AstParams : public JsonObject class AstParams : public JsonObject
@@ -438,7 +441,7 @@ static BaseClientInterface *clientInterface(Project *project, const Utils::FileP
cmd.addArg("-j=" + QString::number(settings.workerThreadLimit())); cmd.addArg("-j=" + QString::number(settings.workerThreadLimit()));
if (!jsonDbDir.isEmpty()) if (!jsonDbDir.isEmpty())
cmd.addArg("--compile-commands-dir=" + jsonDbDir.toString()); cmd.addArg("--compile-commands-dir=" + jsonDbDir.toString());
if (clangdLog().isDebugEnabled()) if (clangdLogServer().isDebugEnabled())
cmd.addArgs({"--log=verbose", "--pretty"}); cmd.addArgs({"--log=verbose", "--pretty"});
const auto interface = new StdIOClientInterface; const auto interface = new StdIOClientInterface;
interface->setCommandLine(cmd); interface->setCommandLine(cmd);
@@ -1367,7 +1370,7 @@ void ClangdClient::gatherHelpItemForTooltip(const HoverRequest::Response &hoverR
if (children && !children->isEmpty()) if (children && !children->isEmpty())
node = children->first(); node = children->first();
} }
if (clangdLog().isDebugEnabled()) if (clangdLogAst().isDebugEnabled())
node.print(0); node.print(0);
QString type = node.type(); QString type = node.type();
@@ -1687,7 +1690,7 @@ void ClangdClient::Private::handleDeclDefSwitchReplies()
// Find the function declaration or definition associated with the cursor. // Find the function declaration or definition associated with the cursor.
// For instance, the cursor could be somwehere inside a function body or // For instance, the cursor could be somwehere inside a function body or
// on a function return type, or ... // on a function return type, or ...
if (clangdLog().isDebugEnabled()) if (clangdLogAst().isDebugEnabled())
switchDeclDefData->ast->print(0); switchDeclDefData->ast->print(0);
const Utils::optional<AstNode> functionNode = switchDeclDefData->getFunctionNode(); const Utils::optional<AstNode> functionNode = switchDeclDefData->getFunctionNode();
if (!functionNode) { if (!functionNode) {
@@ -1760,7 +1763,7 @@ static void collectExtraResults(QFutureInterface<TextEditor::HighlightingResult>
return; return;
const auto it = std::lower_bound(results.begin(), results.end(), result, lessThan); const auto it = std::lower_bound(results.begin(), results.end(), result, lessThan);
if (it == results.end() || *it != result) { if (it == results.end() || *it != result) {
qCDebug(clangdLog) << "adding additional highlighting result" qCDebug(clangdLogHighlight) << "adding additional highlighting result"
<< result.line << result.column << result.length; << result.line << result.column << result.length;
results.insert(it, result); results.insert(it, result);
return; return;
@@ -2317,7 +2320,7 @@ static void semanticHighlighter(QFutureInterface<TextEditor::HighlightingResult>
styles.mixinStyles.push_back(TextEditor::C_DECLARATION); styles.mixinStyles.push_back(TextEditor::C_DECLARATION);
if (isOutputParameter(token)) if (isOutputParameter(token))
styles.mixinStyles.push_back(TextEditor::C_OUTPUT_ARGUMENT); styles.mixinStyles.push_back(TextEditor::C_OUTPUT_ARGUMENT);
qCDebug(clangdLog) << "adding highlighting result" qCDebug(clangdLogHighlight) << "adding highlighting result"
<< token.line << token.column << token.length << int(styles.mainStyle); << token.line << token.column << token.length << int(styles.mainStyle);
return TextEditor::HighlightingResult(token.line, token.column, token.length, styles); return TextEditor::HighlightingResult(token.line, token.column, token.length, styles);
}; };
@@ -2350,7 +2353,8 @@ void ClangdClient::Private::handleSemanticTokens(TextEditor::TextDocument *doc,
{ {
qCDebug(clangdLog()) << "handling LSP tokens" << tokens.size(); qCDebug(clangdLog()) << "handling LSP tokens" << tokens.size();
for (const ExpandedSemanticToken &t : tokens) for (const ExpandedSemanticToken &t : tokens)
qCDebug(clangdLog) << '\t' << t.line << t.column << t.length << t.type << t.modifiers; qCDebug(clangdLogHighlight()) << '\t' << t.line << t.column << t.length << t.type
<< t.modifiers;
// TODO: Cache ASTs // TODO: Cache ASTs
AstParams params(TextDocumentIdentifier(DocumentUri::fromFilePath(doc->filePath()))); AstParams params(TextDocumentIdentifier(DocumentUri::fromFilePath(doc->filePath())));
@@ -2359,7 +2363,7 @@ void ClangdClient::Private::handleSemanticTokens(TextEditor::TextDocument *doc,
if (!q->documentOpen(doc)) if (!q->documentOpen(doc))
return; return;
const Utils::optional<AstNode> ast = response.result(); const Utils::optional<AstNode> ast = response.result();
if (ast && clangdLog().isDebugEnabled()) if (ast && clangdLogAst().isDebugEnabled())
ast->print(); ast->print();
const auto runner = [tokens, text = doc->document()->toPlainText(), const auto runner = [tokens, text = doc->document()->toPlainText(),

View File

@@ -734,7 +734,9 @@ void DockerDevicePrivate::tryCreateLocalFileAccess()
LOG("RES: " << m_shell->result() LOG("RES: " << m_shell->result()
<< " STDOUT: " << m_shell->readAllStandardOutput() << " STDOUT: " << m_shell->readAllStandardOutput()
<< " STDERR: " << m_shell->readAllStandardError()); << " STDERR: " << m_shell->readAllStandardError());
if (m_shell->exitCode() != 0) { // negative exit codes indicate problems like no docker daemon, missing permissions,
// no shell and seem to result in exit codes 125+
if (m_shell->exitCode() > 120) {
m_accessible = NoDaemon; m_accessible = NoDaemon;
LOG("DOCKER DAEMON NOT RUNNING?"); LOG("DOCKER DAEMON NOT RUNNING?");
MessageManager::writeFlashing(tr("Docker Daemon appears to be not running. " MessageManager::writeFlashing(tr("Docker Daemon appears to be not running. "

View File

@@ -48,10 +48,6 @@ if(${Qt5_VERSION} VERSION_LESS "6.2.0")
perfprofiler.qrc perfprofiler.qrc
) )
else() # < Qt 6.2 else() # < Qt 6.2
if (NOT TARGET PerfProfiler)
return()
endif()
add_qtc_plugin(PerfProfiler add_qtc_plugin(PerfProfiler
DEPENDS Tracing Qt5::QuickWidgets DEPENDS Tracing Qt5::QuickWidgets
PLUGIN_DEPENDS Core Debugger ProjectExplorer QtSupport PLUGIN_DEPENDS Core Debugger ProjectExplorer QtSupport
@@ -59,6 +55,10 @@ else() # < Qt 6.2
${TEST_SOURCES} ${TEST_SOURCES}
) )
if (NOT TARGET PerfProfiler)
return()
endif()
qt_add_resources(PerfProfiler perfprofiler qt_add_resources(PerfProfiler perfprofiler
PREFIX "/perfprofiler" PREFIX "/perfprofiler"
tracepoints.sh tracepoints.sh

View File

@@ -79,10 +79,6 @@ if(${Qt5_VERSION} VERSION_LESS "6.2.0")
qml/qmlprofiler.qrc qml/qmlprofiler.qrc
) )
else() # < Qt 6.2 else() # < Qt 6.2
if (NOT TARGET QmlProfiler)
return()
endif()
add_qtc_plugin(QmlProfiler add_qtc_plugin(QmlProfiler
DEPENDS QmlDebug QmlJS Tracing Qt5::QuickWidgets DEPENDS QmlDebug QmlJS Tracing Qt5::QuickWidgets
PLUGIN_DEPENDS Core Debugger ProjectExplorer QtSupport TextEditor PLUGIN_DEPENDS Core Debugger ProjectExplorer QtSupport TextEditor
@@ -90,6 +86,10 @@ else() # < Qt 6.2
${TEST_SOURCES} ${TEST_SOURCES}
) )
if (NOT TARGET QmlProfiler)
return()
endif()
set(QMLPROFILER_QML_FILES set(QMLPROFILER_QML_FILES
qml/QmlProfilerFlameGraphView.qml qml/QmlProfilerFlameGraphView.qml
) )

View File

@@ -92,9 +92,9 @@ QByteArray CodeStylePoolPrivate::generateUniqueId(const QByteArray &id) const
} }
} }
static QString customCodeStylesPath() static Utils::FilePath customCodeStylesPath()
{ {
return Core::ICore::userResourcePath("codestyles").toString(); return Core::ICore::userResourcePath("codestyles");
} }
CodeStylePool::CodeStylePool(ICodeStylePreferencesFactory *factory, QObject *parent) CodeStylePool::CodeStylePool(ICodeStylePreferencesFactory *factory, QObject *parent)
@@ -112,7 +112,7 @@ CodeStylePool::~CodeStylePool()
QString CodeStylePool::settingsDir() const QString CodeStylePool::settingsDir() const
{ {
const QString suffix = d->m_factory ? d->m_factory->languageId().toString() : QLatin1String("default"); const QString suffix = d->m_factory ? d->m_factory->languageId().toString() : QLatin1String("default");
return customCodeStylesPath().append(suffix); return customCodeStylesPath().pathAppended(suffix).toString();
} }
Utils::FilePath CodeStylePool::settingsPath(const QByteArray &id) const Utils::FilePath CodeStylePool::settingsPath(const QByteArray &id) const
@@ -261,7 +261,7 @@ void CodeStylePool::slotSaveCodeStyle()
void CodeStylePool::saveCodeStyle(ICodeStylePreferences *codeStyle) const void CodeStylePool::saveCodeStyle(ICodeStylePreferences *codeStyle) const
{ {
const QString codeStylesPath = customCodeStylesPath(); const QString codeStylesPath = customCodeStylesPath().toString();
// Create the base directory when it doesn't exist // Create the base directory when it doesn't exist
if (!QFile::exists(codeStylesPath) && !QDir().mkpath(codeStylesPath)) { if (!QFile::exists(codeStylesPath) && !QDir().mkpath(codeStylesPath)) {

View File

@@ -2976,18 +2976,19 @@ void tst_TestCore::testRewriterComponentId()
textEdit.setPlainText(QLatin1String(qmlString)); textEdit.setPlainText(QLatin1String(qmlString));
NotIndentingTextEditModifier textModifier(&textEdit); NotIndentingTextEditModifier textModifier(&textEdit);
QScopedPointer<Model> model(createModel("QtQuick.Rectangle", 2, 1)); QScopedPointer<Model> model(Model::create("QtQuick.Item", 2, 0));
QVERIFY(model.data()); QVERIFY(model.data());
QVERIFY(model->hasNodeMetaInfo("QtQuick.Item", 2, 1));
QScopedPointer<TestView> view(new TestView(model.data())); QScopedPointer<TestView> view(new TestView(model.data()));
QVERIFY(view.data()); QVERIFY(view.data());
model->attachView(view.data()); model->attachView(view.data());
QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView()); QScopedPointer<TestRewriterView> testRewriterView(new TestRewriterView());
QVERIFY(model->rewriterView()); QVERIFY(!model->rewriterView());
testRewriterView->setTextModifier(&textModifier); testRewriterView->setTextModifier(&textModifier);
model->attachView(testRewriterView.data()); model->attachView(testRewriterView.data());
QVERIFY(model->rewriterView());
QVERIFY(model->hasNodeMetaInfo("QtQuick.Item", 2, 1)); QVERIFY(model->hasNodeMetaInfo("QtQuick.Item", 2, 1));
@@ -3738,8 +3739,6 @@ void tst_TestCore::testCopyModelRewriter1()
QVERIFY(insertedNode.isValid()); QVERIFY(insertedNode.isValid());
childNode.nodeListProperty("data").reparentHere(insertedNode); childNode.nodeListProperty("data").reparentHere(insertedNode);
const QLatin1String expected( const QLatin1String expected(
"\n" "\n"