diff --git a/.github/workflows/build_cmake.yml b/.github/workflows/build_cmake.yml index d866f1f6d70..c32b57e4c3c 100644 --- a/.github/workflows/build_cmake.yml +++ b/.github/workflows/build_cmake.yml @@ -8,7 +8,7 @@ on: env: QT_VERSION: 6.6.0 - MACOS_DEPLOYMENT_TARGET: 10.15 + MACOS_DEPLOYMENT_TARGET: 11.0 CLANG_VERSION: 17.0.1 ELFUTILS_VERSION: 0.175 CMAKE_VERSION: 3.21.1 diff --git a/README.md b/README.md index 37ff3eecabf..b124562ba03 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,11 @@ https://doc.qt.io/qtcreator/creator-overview.html The standalone binary packages support the following platforms: * Windows 10 (64-bit) or later -* (K)Ubuntu Linux 20.04 (64-bit) or later -* macOS 10.15 or later +* (K)Ubuntu Linux 22.04 (64-bit) or later +* macOS 11 or later + +When you compile Qt Creator yourself, the Qt version that you build with +determines the supported platforms. ## Contributing diff --git a/cmake/QtCreatorIDEBranding.cmake b/cmake/QtCreatorIDEBranding.cmake index 33abd0e3f56..17ad5c2acae 100644 --- a/cmake/QtCreatorIDEBranding.cmake +++ b/cmake/QtCreatorIDEBranding.cmake @@ -1,6 +1,6 @@ -set(IDE_VERSION "12.0.1") # The IDE version. +set(IDE_VERSION "12.0.2") # The IDE version. set(IDE_VERSION_COMPAT "12.0.0") # The IDE Compatibility version. -set(IDE_VERSION_DISPLAY "12.0.1") # The IDE display version. +set(IDE_VERSION_DISPLAY "12.0.2") # The IDE display version. set(IDE_COPYRIGHT_YEAR "2023") # The IDE current copyright year. set(IDE_SETTINGSVARIANT "QtProject") # The IDE settings variation. diff --git a/coin/instructions/common_environment.yaml b/coin/instructions/common_environment.yaml index 0f651d187a8..6d4fe73802e 100644 --- a/coin/instructions/common_environment.yaml +++ b/coin/instructions/common_environment.yaml @@ -13,7 +13,7 @@ instructions: variableValue: "https://ci-files02-hki.ci.qt.io/packages/jenkins/archive/qt/6.6/6.6.0-released/Qt" - type: EnvironmentVariable variableName: QTC_QT_MODULES - variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquickcontrols2 qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine" + variableValue: "qt5compat qtbase qtdeclarative qtimageformats qtquick3d qtquicktimeline qtserialport qtshadertools qtsvg qttools qttranslations qtwebengine" - type: EnvironmentVariable variableName: MACOSX_DEPLOYMENT_TARGET variableValue: 10.15 diff --git a/doc/qtcreator/images/qtcreator-build-configuration-set-clicolor-force.webp b/doc/qtcreator/images/qtcreator-build-configuration-set-clicolor-force.webp new file mode 100644 index 00000000000..fcb66513a39 Binary files /dev/null and b/doc/qtcreator/images/qtcreator-build-configuration-set-clicolor-force.webp differ diff --git a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc index 9c971d24798..0ac1ae4ba96 100644 --- a/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc +++ b/doc/qtcreator/src/cmake/creator-projects-cmake-building.qdoc @@ -1,4 +1,4 @@ -// Copyright (C) 2023 The Qt Company Ltd. +// Copyright (C) 2024 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only /*! @@ -183,6 +183,16 @@ To hide the output, select the \inlineimage icons/rightsidebaricon.png (\uicontrol {Hide/Show Right Sidebar}) button or press \key {Alt+Shift+0}. + \section1 CLICOLOR_FORCE Environment Variable + + \QC sets the environment variable \c CLICOLOR_FORCE to \e 1 to show + ANSI-colored output for CMake. This might affect the process output. + + If the output looks incorrect or different from earlier \QC versions, try + setting \c CLICOLOR_FORCE to \e 0 in \uicontrol {Use Build Environment}. + + \image qtcreator-build-configuration-set-clicolor-force.webp {Build Environment with CLICOLOR_FORCE set} + \section1 CMake Build Steps \QC builds CMake projects by running \c {cmake . --build}, which then runs diff --git a/doc/qtcreator/src/overview/creator-only/creator-desktop-platforms.qdoc b/doc/qtcreator/src/overview/creator-only/creator-desktop-platforms.qdoc index 8e1722f59d0..fa69e12be39 100644 --- a/doc/qtcreator/src/overview/creator-only/creator-desktop-platforms.qdoc +++ b/doc/qtcreator/src/overview/creator-only/creator-desktop-platforms.qdoc @@ -25,7 +25,7 @@ \section1 Linux - (K)Ubuntu Linux 20.04 (64-bit) or later is supported. + (K)Ubuntu Linux 22.04 (64-bit) or later is supported. To build Qt applications using \QC on Linux, you usually need the following: @@ -51,7 +51,7 @@ \section1 macOS - \macos 10.15 or later is supported with the Xcode tools for your \macos + \macos 11.0 or later is supported with the Xcode tools for your \macos version available in the Mac App Store. \section1 Windows diff --git a/qbs/modules/qtc/qtc.qbs b/qbs/modules/qtc/qtc.qbs index 6007489259e..79a55ad8456 100644 --- a/qbs/modules/qtc/qtc.qbs +++ b/qbs/modules/qtc/qtc.qbs @@ -7,7 +7,7 @@ Module { property string qtcreator_display_version: '12.0.1' property string ide_version_major: '12' property string ide_version_minor: '0' - property string ide_version_release: '1' + property string ide_version_release: '2' property string qtcreator_version: ide_version_major + '.' + ide_version_minor + '.' + ide_version_release diff --git a/src/libs/qmljs/qmljsinterpreter.h b/src/libs/qmljs/qmljsinterpreter.h index 8ca9f4ec26c..9ea0f450218 100644 --- a/src/libs/qmljs/qmljsinterpreter.h +++ b/src/libs/qmljs/qmljsinterpreter.h @@ -1125,6 +1125,11 @@ public: [[maybe_unused]] const Document *context, [[maybe_unused]] ValueOwner *valueOwner, [[maybe_unused]] Snapshot *snapshot) {} + virtual Utils::FilePaths prioritizeImportPaths([[maybe_unused]] const Document *context, + const Utils::FilePaths &importPaths) + { + return importPaths; + } }; } // namespace QmlJS diff --git a/src/libs/qmljs/qmljslink.cpp b/src/libs/qmljs/qmljslink.cpp index b837037b7c8..97c00e1c8d9 100644 --- a/src/libs/qmljs/qmljslink.cpp +++ b/src/libs/qmljs/qmljslink.cpp @@ -219,6 +219,7 @@ Context::ImportsPerDocument LinkPrivate::linkImports() document.data(), m_valueOwner, &m_snapshot); + m_importPaths = provider->prioritizeImportPaths(document.data(), m_importPaths); } populateImportedTypes(imports, document); diff --git a/src/libs/solutions/terminal/terminalview.cpp b/src/libs/solutions/terminal/terminalview.cpp index 2244ea62d73..1d3779955af 100644 --- a/src/libs/solutions/terminal/terminalview.cpp +++ b/src/libs/solutions/terminal/terminalview.cpp @@ -386,10 +386,13 @@ QString TerminalView::textFromSelection() const if (!d->m_selection) return {}; + if (d->m_selection->start == d->m_selection->end) + return {}; + CellIterator it = d->m_surface->iteratorAt(d->m_selection->start); CellIterator end = d->m_surface->iteratorAt(d->m_selection->end); - if (it.position() >= end.position()) { + if (it.position() > end.position()) { qCWarning(selectionLog) << "Invalid selection: start >= end"; return {}; } @@ -1070,7 +1073,7 @@ void TerminalView::mousePressEvent(QMouseEvent *event) } if (event->button() == Qt::LeftButton) { - if (std::chrono::system_clock::now() - d->m_lastDoubleClick < 500ms) { + if (d->m_selection && std::chrono::system_clock::now() - d->m_lastDoubleClick < 500ms) { d->m_selectLineMode = true; const Selection newSelection{d->m_surface->gridToPos( {0, diff --git a/src/libs/tracing/traceevent.h b/src/libs/tracing/traceevent.h index d9de9641797..99a17814a85 100644 --- a/src/libs/tracing/traceevent.h +++ b/src/libs/tracing/traceevent.h @@ -14,6 +14,11 @@ namespace Timeline { class TraceEvent : public SafeCastable { public: + TraceEvent(const TraceEvent &) = default; + TraceEvent(TraceEvent &&) = default; + TraceEvent &operator=(const TraceEvent &) = default; + TraceEvent &operator=(TraceEvent &&) = default; + qint64 timestamp() const { return m_timestamp; } void setTimestamp(qint64 timestamp) { m_timestamp = timestamp; } @@ -29,11 +34,6 @@ protected: : m_timestamp(timestamp), m_typeIndex(typeIndex), m_classId(classId) {} - TraceEvent(const TraceEvent &) = default; - TraceEvent(TraceEvent &&) = default; - TraceEvent &operator=(const TraceEvent &) = default; - TraceEvent &operator=(TraceEvent &&) = default; - private: qint64 m_timestamp; qint32 m_typeIndex; diff --git a/src/libs/tracing/traceeventtype.h b/src/libs/tracing/traceeventtype.h index 1a2be2694b8..fd87ba141a4 100644 --- a/src/libs/tracing/traceeventtype.h +++ b/src/libs/tracing/traceeventtype.h @@ -15,6 +15,11 @@ namespace Timeline { class TraceEventType : public SafeCastable { public: + TraceEventType(const TraceEventType &) = default; + TraceEventType(TraceEventType &&) = default; + TraceEventType &operator=(const TraceEventType &) = default; + TraceEventType &operator=(TraceEventType &&) = default; + const QString &displayName() const { return m_displayName; } void setDisplayName(const QString &displayName) { m_displayName = displayName; } @@ -28,11 +33,6 @@ protected: : m_displayName(displayName), m_classId(classId), m_feature(feature) {} - TraceEventType(const TraceEventType &) = default; - TraceEventType(TraceEventType &&) = default; - TraceEventType &operator=(const TraceEventType &) = default; - TraceEventType &operator=(TraceEventType &&) = default; - private: QString m_displayName; qint32 m_classId; diff --git a/src/libs/utils/treemodel.cpp b/src/libs/utils/treemodel.cpp index fe96b9c83e4..4649bb43c86 100644 --- a/src/libs/utils/treemodel.cpp +++ b/src/libs/utils/treemodel.cpp @@ -604,7 +604,7 @@ TreeItem::~TreeItem() { QTC_CHECK(m_parent == nullptr); QTC_CHECK(m_model == nullptr); - removeChildren(); + removeChildrenSilently(); } TreeItem *TreeItem::childAt(int pos) const @@ -714,6 +714,13 @@ void TreeItem::removeChildren() } } +void TreeItem::removeChildrenSilently() +{ + if (childCount() == 0) + return; + clear(); +} + void TreeItem::sortChildren(const std::function &cmp) { if (m_model) { @@ -1060,6 +1067,13 @@ TreeItem *BaseTreeModel::rootItem() const } void BaseTreeModel::setRootItem(TreeItem *item) +{ + beginResetModel(); + setRootItemInternal(item); + endResetModel(); +} + +void BaseTreeModel::setRootItemInternal(TreeItem *item) { QTC_ASSERT(item, return); QTC_ASSERT(item->m_model == nullptr, return); @@ -1067,19 +1081,17 @@ void BaseTreeModel::setRootItem(TreeItem *item) QTC_ASSERT(item != m_root, return); QTC_CHECK(m_root); - beginResetModel(); if (m_root) { QTC_CHECK(m_root->m_parent == nullptr); QTC_CHECK(m_root->m_model == this); // needs to be done explicitly before setting the model to 0, otherwise it might lead to a // crash inside a view or proxy model, especially if there are selected items - m_root->removeChildren(); + m_root->removeChildrenSilently(); m_root->m_model = nullptr; delete m_root; } m_root = item; item->propagateModel(this); - endResetModel(); } void BaseTreeModel::setHeader(const QStringList &displays) diff --git a/src/libs/utils/treemodel.h b/src/libs/utils/treemodel.h index a8cc073fcff..fa960698b67 100644 --- a/src/libs/utils/treemodel.h +++ b/src/libs/utils/treemodel.h @@ -39,6 +39,7 @@ public: void removeChildAt(int pos); void removeChildren(); + void removeChildrenSilently(); void sortChildren(const std::function &cmp); void update(); void updateAll(); @@ -180,7 +181,8 @@ protected: void clear(); TreeItem *rootItem() const; - void setRootItem(TreeItem *item); + void setRootItem(TreeItem *item); // resets the model + void setRootItemInternal(TreeItem *item); TreeItem *itemForIndex(const QModelIndex &) const; QModelIndex indexForItem(const TreeItem *needle) const; diff --git a/src/plugins/android/androidplugin.cpp b/src/plugins/android/androidplugin.cpp index 9eeee4dad29..0430973b5df 100644 --- a/src/plugins/android/androidplugin.cpp +++ b/src/plugins/android/androidplugin.cpp @@ -126,10 +126,8 @@ void AndroidPlugin::kitsRestored() return v->targetDeviceTypes().contains(Android::Constants::ANDROID_DEVICE_TYPE); }).isEmpty(); - if (!AndroidConfigurations::currentConfig().sdkFullyConfigured() && qtForAndroidInstalled) { - connect(Core::ICore::instance(), &Core::ICore::coreOpened, this, - &AndroidPlugin::askUserAboutAndroidSetup, Qt::QueuedConnection); - } + if (!AndroidConfigurations::currentConfig().sdkFullyConfigured() && qtForAndroidInstalled) + askUserAboutAndroidSetup(); AndroidConfigurations::registerNewToolChains(); AndroidConfigurations::updateAutomaticKitList(); diff --git a/src/plugins/clangformat/clangformatbaseindenter.cpp b/src/plugins/clangformat/clangformatbaseindenter.cpp index 605ed2801c0..158d0c48cac 100644 --- a/src/plugins/clangformat/clangformatbaseindenter.cpp +++ b/src/plugins/clangformat/clangformatbaseindenter.cpp @@ -392,6 +392,7 @@ Utils::ChangeSet convertReplacements(const QTextDocument *doc, .size(); QString replacementText = QString::fromStdString(replacement.getReplacementText().str()); + replacementText.replace("\r", ""); auto sameCharAt = [&](int replacementOffset) { if (replacementText.size() <= replacementOffset || replacementOffset < 0) return false; @@ -782,7 +783,8 @@ void ClangFormatBaseIndenter::autoIndent(const QTextCursor &cursor, } } -clang::format::FormatStyle overrideStyle(const Utils::FilePath &fileName) +clang::format::FormatStyle ClangFormatBaseIndenter::overrideStyle( + const Utils::FilePath &fileName) const { const ProjectExplorer::Project *projectForFile = ProjectExplorer::ProjectManager::projectForFile(fileName); @@ -792,6 +794,9 @@ clang::format::FormatStyle overrideStyle(const Utils::FilePath &fileName) ? projectForFile->editorConfiguration()->codeStyle("Cpp")->currentPreferences() : TextEditor::TextEditorSettings::codeStyle("Cpp")->currentPreferences(); + if (m_overriddenPreferences) + preferences = m_overriddenPreferences->currentPreferences(); + Utils::FilePath filePath = filePathToCurrentSettings(preferences); if (!filePath.exists()) @@ -854,4 +859,9 @@ const clang::format::FormatStyle &ClangFormatBaseIndenter::styleForFile() const return m_cachedStyle.style; } +void ClangFormatBaseIndenter::setOverriddenPreferences(TextEditor::ICodeStylePreferences *preferences) +{ + m_overriddenPreferences = preferences; +} + } // namespace ClangFormat diff --git a/src/plugins/clangformat/clangformatbaseindenter.h b/src/plugins/clangformat/clangformatbaseindenter.h index 70d59661710..69eac8a3ba2 100644 --- a/src/plugins/clangformat/clangformatbaseindenter.h +++ b/src/plugins/clangformat/clangformatbaseindenter.h @@ -49,6 +49,8 @@ public: const clang::format::FormatStyle &styleForFile() const; + void setOverriddenPreferences(TextEditor::ICodeStylePreferences *preferences); + protected: virtual bool formatCodeInsteadOfIndent() const { return false; } virtual bool formatWhileTyping() const { return false; } @@ -84,6 +86,9 @@ private: }; mutable CachedStyle m_cachedStyle; + + clang::format::FormatStyle overrideStyle(const Utils::FilePath &fileName) const; + TextEditor::ICodeStylePreferences *m_overriddenPreferences = nullptr; }; } // namespace ClangFormat diff --git a/src/plugins/clangformat/clangformatconfigwidget.cpp b/src/plugins/clangformat/clangformatconfigwidget.cpp index e3328bb2695..4a1fe4955af 100644 --- a/src/plugins/clangformat/clangformatconfigwidget.cpp +++ b/src/plugins/clangformat/clangformatconfigwidget.cpp @@ -129,7 +129,9 @@ ClangFormatConfigWidget::ClangFormatConfigWidget(TextEditor::ICodeStylePreferenc displaySettings.m_visualizeWhitespace = true; d->preview->setDisplaySettings(displaySettings); d->preview->setPlainText(QLatin1String(CppEditor::Constants::DEFAULT_CODE_STYLE_SNIPPETS[0])); - d->preview->textDocument()->setIndenter(new ClangFormatIndenter(d->preview->document())); + auto *indenter = new ClangFormatIndenter(d->preview->document()); + indenter->setOverriddenPreferences(codeStyle); + d->preview->textDocument()->setIndenter(indenter); d->preview->textDocument()->setFontSettings(TextEditor::TextEditorSettings::fontSettings()); d->preview->textDocument()->setSyntaxHighlighter(new CppEditor::CppHighlighter); d->preview->textDocument()->indenter()->setFileName(fileName); @@ -271,7 +273,7 @@ void ClangFormatConfigWidget::updatePreview() QTextCursor cursor(d->preview->document()); cursor.setPosition(0); cursor.movePosition(QTextCursor::End, QTextCursor::KeepAnchor); - d->preview->textDocument()->autoIndent(cursor); + d->preview->textDocument()->autoFormatOrIndent(cursor); } std::string ClangFormatConfigWidget::readFile(const QString &path) diff --git a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp index 4c93e3150d9..9ed58160eaf 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildsystem.cpp @@ -216,7 +216,8 @@ void CMakeBuildSystem::requestDebugging() bool CMakeBuildSystem::supportsAction(Node *context, ProjectAction action, const Node *node) const { - if (dynamic_cast(context)) + const auto cmakeTarget = dynamic_cast(context); + if (cmakeTarget && cmakeTarget->productType() != ProductType::Other) return action == ProjectAction::AddNewFile || action == ProjectAction::AddExistingFile || action == ProjectAction::AddExistingDirectory || action == ProjectAction::Rename || action == ProjectAction::RemoveFile; @@ -1623,7 +1624,9 @@ CMakeBuildConfiguration *CMakeBuildSystem::cmakeBuildConfiguration() const static FilePaths librarySearchPaths(const CMakeBuildSystem *bs, const QString &buildKey) { const CMakeBuildTarget cmakeBuildTarget - = Utils::findOrDefault(bs->buildTargets(), Utils::equal(&CMakeBuildTarget::title, buildKey)); + = Utils::findOrDefault(bs->buildTargets(), [buildKey](const auto &target) { + return target.title == buildKey && target.targetType != UtilityType; + }); return cmakeBuildTarget.libraryDirectories; } diff --git a/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp b/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp index 8d63ee0fa91..5ca776e99fb 100644 --- a/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp +++ b/src/plugins/cmakeprojectmanager/cmakelocatorfilter.cpp @@ -48,10 +48,6 @@ static LocatorMatcherTasks cmakeMatchers(const BuildAcceptor &acceptor) continue; const int index = target.title.indexOf(input, 0, Qt::CaseInsensitive); if (index >= 0) { - const FilePath path = target.backtrace.isEmpty() - ? cmakeProject->projectFilePath() - : target.backtrace.last().path; - const int line = target.backtrace.isEmpty() ? 0 : target.backtrace.last().line; const FilePath projectPath = cmakeProject->projectFilePath(); const QString displayName = target.title; LocatorFilterEntry entry; @@ -62,11 +58,20 @@ static LocatorMatcherTasks cmakeMatchers(const BuildAcceptor &acceptor) return AcceptResult(); }; } - entry.linkForEditor = {path, line}; - entry.extraInfo = path.shortNativePath(); + bool realTarget = false; + if (!target.backtrace.isEmpty() && target.targetType != UtilityType) { + const FilePath path = target.backtrace.last().path; + const int line = target.backtrace.last().line; + entry.linkForEditor = {path, line}; + entry.extraInfo = path.shortNativePath(); + realTarget = true; + } else { + entry.extraInfo = projectPath.shortNativePath(); + } entry.highlightInfo = {index, int(input.length())}; entry.filePath = cmakeProject->projectFilePath(); - entries.append(entry); + if (acceptor || realTarget) + entries.append(entry); } } } diff --git a/src/plugins/coreplugin/editormanager/documentmodel.cpp b/src/plugins/coreplugin/editormanager/documentmodel.cpp index e8183401bf6..d7eb164dd2e 100644 --- a/src/plugins/coreplugin/editormanager/documentmodel.cpp +++ b/src/plugins/coreplugin/editormanager/documentmodel.cpp @@ -307,6 +307,8 @@ QVariant DocumentModelPrivate::data(const QModelIndex &index, int role) const return QVariant(); case Qt::ToolTipRole: return entry->filePath().isEmpty() ? entry->displayName() : entry->filePath().toUserOutput(); + case DocumentModel::FilePathRole: + return entry->filePath().toVariant(); default: break; } diff --git a/src/plugins/coreplugin/editormanager/documentmodel.h b/src/plugins/coreplugin/editormanager/documentmodel.h index 6c7d0f0be32..3ac2a52c202 100644 --- a/src/plugins/coreplugin/editormanager/documentmodel.h +++ b/src/plugins/coreplugin/editormanager/documentmodel.h @@ -69,6 +69,8 @@ public: static QList editorsForDocuments(const QList &entries); static QList editorsForOpenedDocuments(); + static const int FilePathRole = Qt::UserRole + 23; + private: DocumentModel(); }; diff --git a/src/plugins/coreplugin/editormanager/openeditorsview.cpp b/src/plugins/coreplugin/editormanager/openeditorsview.cpp index ebf2d751ec9..34e58565a94 100644 --- a/src/plugins/coreplugin/editormanager/openeditorsview.cpp +++ b/src/plugins/coreplugin/editormanager/openeditorsview.cpp @@ -17,6 +17,8 @@ #include #include +using namespace Utils; + namespace Core::Internal { class ProxyModel : public QAbstractProxyModel @@ -253,8 +255,8 @@ QVariant ProxyModel::data(const QModelIndex &index, int role) const const QVariant sourceDecoration = QAbstractProxyModel::data(index, role); if (sourceDecoration.isValid()) return sourceDecoration; - const QString fileName = QAbstractProxyModel::data(index, Qt::DisplayRole).toString(); - return Utils::FileIconProvider::icon(Utils::FilePath::fromString(fileName)); + const QVariant filePath = QAbstractProxyModel::data(index, DocumentModel::FilePathRole); + return FileIconProvider::icon(FilePath::fromVariant(filePath)); } return QAbstractProxyModel::data(index, role); diff --git a/src/plugins/coreplugin/externaltool.cpp b/src/plugins/coreplugin/externaltool.cpp index c65cfe80882..7328e024dba 100644 --- a/src/plugins/coreplugin/externaltool.cpp +++ b/src/plugins/coreplugin/externaltool.cpp @@ -623,10 +623,8 @@ void ExternalToolRunner::run() } m_process = new Process(this); connect(m_process, &Process::done, this, &ExternalToolRunner::done); - connect(m_process, &Process::readyReadStandardOutput, - this, &ExternalToolRunner::readStandardOutput); - connect(m_process, &Process::readyReadStandardError, - this, &ExternalToolRunner::readStandardError); + m_process->setStdOutLineCallback([this](const QString &s) { readStandardOutput(s); }); + m_process->setStdErrLineCallback([this](const QString &s) { readStandardError(s); }); if (!m_resolvedWorkingDirectory.isEmpty()) m_process->setWorkingDirectory(m_resolvedWorkingDirectory); const CommandLine cmd{m_resolvedExecutable, m_resolvedArguments, CommandLine::Raw}; @@ -665,30 +663,29 @@ void ExternalToolRunner::done() deleteLater(); } -void ExternalToolRunner::readStandardOutput() +static QString stripNewline(const QString &output) +{ + if (output.endsWith('\n')) + return output.chopped(1); + return output; +} + +void ExternalToolRunner::readStandardOutput(const QString &output) { if (m_tool->outputHandling() == ExternalTool::Ignore) return; - const QByteArray data = m_process->readAllRawStandardOutput(); - const QString output = m_outputCodec->toUnicode(data.constData(), - data.length(), - &m_outputCodecState); if (m_tool->outputHandling() == ExternalTool::ShowInPane) - MessageManager::writeSilently(output); + MessageManager::writeSilently(stripNewline(output)); else if (m_tool->outputHandling() == ExternalTool::ReplaceSelection) m_processOutput.append(output); } -void ExternalToolRunner::readStandardError() +void ExternalToolRunner::readStandardError(const QString &output) { if (m_tool->errorHandling() == ExternalTool::Ignore) return; - const QByteArray data = m_process->readAllRawStandardError(); - const QString output = m_outputCodec->toUnicode(data.constData(), - data.length(), - &m_errorCodecState); if (m_tool->errorHandling() == ExternalTool::ShowInPane) - MessageManager::writeSilently(output); + MessageManager::writeSilently(stripNewline(output)); else if (m_tool->errorHandling() == ExternalTool::ReplaceSelection) m_processOutput.append(output); } diff --git a/src/plugins/coreplugin/externaltool.h b/src/plugins/coreplugin/externaltool.h index 15b420f1808..2d26291fc1d 100644 --- a/src/plugins/coreplugin/externaltool.h +++ b/src/plugins/coreplugin/externaltool.h @@ -115,8 +115,8 @@ public: private: void done(); - void readStandardOutput(); - void readStandardError(); + void readStandardOutput(const QString &output); + void readStandardError(const QString &output); void run(); bool resolve(); @@ -128,6 +128,7 @@ private: Utils::FilePath m_resolvedWorkingDirectory; Utils::Environment m_resolvedEnvironment; Utils::Process *m_process; + // TODO remove codec handling, that is done by Process now QTextCodec *m_outputCodec; QTextCodec::ConverterState m_outputCodecState; QTextCodec::ConverterState m_errorCodecState; diff --git a/src/plugins/coreplugin/welcomepagehelper.cpp b/src/plugins/coreplugin/welcomepagehelper.cpp index d80942f13d4..d12e427b2fc 100644 --- a/src/plugins/coreplugin/welcomepagehelper.cpp +++ b/src/plugins/coreplugin/welcomepagehelper.cpp @@ -811,10 +811,24 @@ ListModel *SectionedGridView::addSection(const Section §ion, const QListinsertWidget(position, sectionLabel); vbox->insertWidget(position + 1, gridView); + struct ItemHash + { + std::size_t operator()(ListItem *item) const { return std::hash{}(item->name); } + }; + struct ItemEqual + { + bool operator()(ListItem *lhs, ListItem *rhs) const + { + return lhs->name == rhs->name && lhs->description == rhs->description; + } + }; + // add the items also to the all products model to be able to search correctly - const QSet allItems = toSet(m_allItemsModel->items()); - const QList newItems = filtered(items, [&allItems](ListItem *item) { - return !allItems.contains(item); + const QList allItems = m_allItemsModel->items(); + const std::unordered_set uniqueItems{allItems.constBegin(), + allItems.constEnd()}; + const QList newItems = filtered(items, [&uniqueItems](ListItem *item) { + return uniqueItems.find(item) == uniqueItems.end(); }); m_allItemsModel->appendItems(newItems); diff --git a/src/plugins/cppeditor/cppcodestylesettingspage.cpp b/src/plugins/cppeditor/cppcodestylesettingspage.cpp index 383efef58df..cea4e5c0bc4 100644 --- a/src/plugins/cppeditor/cppcodestylesettingspage.cpp +++ b/src/plugins/cppeditor/cppcodestylesettingspage.cpp @@ -605,6 +605,11 @@ public: m_codeStyleEditor->apply(); } + void finish() final + { + m_codeStyleEditor->finish(); + } + CppCodeStylePreferences *m_pageCppCodeStylePreferences = nullptr; CodeStyleEditorWidget *m_codeStyleEditor; }; diff --git a/src/plugins/cppeditor/cppoutlinemodel.cpp b/src/plugins/cppeditor/cppoutlinemodel.cpp index 068dc310b1e..c03236f274e 100644 --- a/src/plugins/cppeditor/cppoutlinemodel.cpp +++ b/src/plugins/cppeditor/cppoutlinemodel.cpp @@ -219,7 +219,7 @@ void OutlineModel::rebuild() auto root = new SymbolItem; if (m_cppDocument) buildTree(root, true); - setRootItem(root); + setRootItemInternal(root); endResetModel(); } diff --git a/src/plugins/cppeditor/cpptoolsreuse.cpp b/src/plugins/cppeditor/cpptoolsreuse.cpp index 06bf220382a..fa1df1e6fe7 100644 --- a/src/plugins/cppeditor/cpptoolsreuse.cpp +++ b/src/plugins/cppeditor/cpptoolsreuse.cpp @@ -782,6 +782,7 @@ SearchResultItems symbolOccurrencesInDeclarationComments( QList symbolOccurrencesInText(const QTextDocument &doc, QStringView text, int offset, const QString &symbolName) { + QTC_ASSERT(!symbolName.isEmpty(), return QList()); QList ranges; int index = 0; while (true) { diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp index 09755f68e6d..70fccf669e1 100644 --- a/src/plugins/debugger/gdb/gdbengine.cpp +++ b/src/plugins/debugger/gdb/gdbengine.cpp @@ -4407,6 +4407,13 @@ void GdbEngine::setupInferior() if (rp.breakOnMain) runCommand({"tbreak " + mainFunction()}); + if (!rp.solibSearchPath.isEmpty()) { + DebuggerCommand cmd("appendSolibSearchPath"); + cmd.arg("path", transform(rp.solibSearchPath, &FilePath::path)); + cmd.arg("separator", HostOsInfo::pathListSeparator()); + runCommand(cmd); + } + if (rp.startMode == AttachToRemoteProcess) { handleInferiorPrepared(); @@ -4429,13 +4436,6 @@ void GdbEngine::setupInferior() // if (!remoteArch.isEmpty()) // postCommand("set architecture " + remoteArch); - if (!rp.solibSearchPath.isEmpty()) { - DebuggerCommand cmd("appendSolibSearchPath"); - for (const FilePath &filePath : rp.solibSearchPath) - cmd.arg("path", filePath.path()); - cmd.arg("separator", HostOsInfo::pathListSeparator()); - runCommand(cmd); - } if (!args.isEmpty()) runCommand({"-exec-arguments " + args}); diff --git a/src/plugins/fakevim/fakevimplugin.cpp b/src/plugins/fakevim/fakevimplugin.cpp index f14cbbb2027..8cb623c0879 100644 --- a/src/plugins/fakevim/fakevimplugin.cpp +++ b/src/plugins/fakevim/fakevimplugin.cpp @@ -1048,6 +1048,7 @@ void FakeVimPluginPrivate::initialize() INSTALL_HANDLER, Context(Core::Constants::C_GLOBAL), true); cmd->setDefaultKeySequence(QKeySequence(useMacShortcuts ? Tr::tr("Meta+Shift+Y,Meta+Shift+Y") : Tr::tr("Alt+Y,Alt+Y"))); + connect(cmd->action(), &QAction::triggered, [this] { settings().writeSettings(); }); ActionContainer *advancedMenu = ActionManager::actionContainer(Core::Constants::M_EDIT_ADVANCED); diff --git a/src/plugins/ios/iosdeploystep.cpp b/src/plugins/ios/iosdeploystep.cpp index 3f80d9d931a..354f40132da 100644 --- a/src/plugins/ios/iosdeploystep.cpp +++ b/src/plugins/ios/iosdeploystep.cpp @@ -236,7 +236,7 @@ bool IosDeployStep::checkProvisioningProfile() return true; const QStringList deviceIds = provisionPlist.value("ProvisionedDevices").toStringList(); - const QString targetId = device->uniqueDeviceID(); + const QString targetId = device->uniqueInternalDeviceId(); for (const QString &deviceId : deviceIds) { if (deviceId == targetId) return true; diff --git a/src/plugins/languageclient/languageclientcompletionassist.cpp b/src/plugins/languageclient/languageclientcompletionassist.cpp index 96aebde7850..56ac11bdede 100644 --- a/src/plugins/languageclient/languageclientcompletionassist.cpp +++ b/src/plugins/languageclient/languageclientcompletionassist.cpp @@ -317,7 +317,7 @@ public: }); setProposal(m_processor->start(std::move(interface)), prefix); - if (!m_processor->running()) { + if (m_processor && !m_processor->running()) { delete m_processor; m_processor = nullptr; } diff --git a/src/plugins/mcusupport/mcusupportimportprovider.cpp b/src/plugins/mcusupport/mcusupportimportprovider.cpp index b78baf8bd94..f83dec6cb70 100644 --- a/src/plugins/mcusupport/mcusupportimportprovider.cpp +++ b/src/plugins/mcusupport/mcusupportimportprovider.cpp @@ -119,6 +119,30 @@ void McuSupportImportProvider::loadBuiltins(ImportsPerDocument *importsPerDocume import.info = ImportInfo::moduleImport("qul", {1, 0}, QString()); getInterfacesImport(context->fileName(), importsPerDocument, import, valueOwner, snapshot); imports->append(import); +} + +FilePaths McuSupportImportProvider::prioritizeImportPaths(const Document *context, + const FilePaths &importPaths) +{ + if (!context) + return importPaths; + const std::optional cmakeFilesPathOpt = getTargetBuildFolder(context->fileName()); + if (!cmakeFilesPathOpt) + return importPaths; + FilePaths ret; + // qmltocpp uses an incomplete QtQuick folder present in the build folder + // to avoid taking precedence over the correct qul_install/include/*/StyleDefault + // move the import path to be last + std::copy_if(importPaths.cbegin(), + importPaths.cend(), + std::back_inserter(ret), + [cmakeFilesPathOpt](const FilePath &path) { return path != *cmakeFilesPathOpt; }); + + // nothing was removed + if (ret.size() == importPaths.size()) + return importPaths; + ret.push_back(*cmakeFilesPathOpt); + return ret; }; void McuSupportImportProvider::getInterfacesImport(const FilePath &path, @@ -156,6 +180,7 @@ std::optional McuSupportImportProvider::getFileModule(const FilePath & const FilePath &inputFile) const { const auto doc = QJsonDocument::fromJson(inputFile.fileContents().value_or("")); + if (!doc.isObject()) return {}; diff --git a/src/plugins/mcusupport/mcusupportimportprovider.h b/src/plugins/mcusupport/mcusupportimportprovider.h index 829fa711505..5ed198989be 100644 --- a/src/plugins/mcusupport/mcusupportimportprovider.h +++ b/src/plugins/mcusupport/mcusupportimportprovider.h @@ -29,6 +29,9 @@ public: ValueOwner *valueOwner, Snapshot *snapshot) override; + virtual Utils::FilePaths prioritizeImportPaths(const Document *context, + const Utils::FilePaths &importPaths) override; + // Add to the interfaces needed for a document // path: opened qml document // importsPerDocument: imports available in the document (considered imported) diff --git a/src/plugins/projectexplorer/abi.cpp b/src/plugins/projectexplorer/abi.cpp index 07365fc5dd0..d1bd01b89bc 100644 --- a/src/plugins/projectexplorer/abi.cpp +++ b/src/plugins/projectexplorer/abi.cpp @@ -2,6 +2,7 @@ // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #include "abi.h" +#include "projectexplorerconstants.h" #include #include @@ -437,6 +438,18 @@ static Abis abiOf(const QByteArray &data) return result; } +static QString androidAbiFromAbi(const Abi &abi) +{ + QString androidAbi; + if (abi.architecture() == Abi::Architecture::ArmArchitecture) + androidAbi = QLatin1String(abi.wordWidth() == 64 ? Constants::ANDROID_ABI_ARM64_V8A + : Constants::ANDROID_ABI_ARMEABI_V7A); + else + androidAbi = QLatin1String(abi.wordWidth() == 64 ? Constants::ANDROID_ABI_X86_64 + : Constants::ANDROID_ABI_X86); + return androidAbi; +} + // -------------------------------------------------------------------------- // Abi // -------------------------------------------------------------------------- @@ -908,7 +921,11 @@ Abi Abi::fromString(const QString &abiString) return Abi(architecture, os, flavor, format, 0); } - return Abi(architecture, os, flavor, format, wordWidth); + Abi abi(architecture, os, flavor, format, wordWidth); + if (abi.os() == LinuxOS && abi.osFlavor() == AndroidLinuxFlavor) + abi.m_param = androidAbiFromAbi(abi); + + return abi; } Abi::Architecture Abi::architectureFromString(const QString &a) diff --git a/src/plugins/projectexplorer/customtoolchain.cpp b/src/plugins/projectexplorer/customtoolchain.cpp index f2ec50ed54a..5c8ac1e80cb 100644 --- a/src/plugins/projectexplorer/customtoolchain.cpp +++ b/src/plugins/projectexplorer/customtoolchain.cpp @@ -305,6 +305,7 @@ bool CustomToolChain::operator ==(const ToolChain &other) const auto customTc = static_cast(&other); return m_makeCommand == customTc->m_makeCommand + && compilerCommand() == customTc->compilerCommand() && targetAbi() == customTc->targetAbi() && m_predefinedMacros == customTc->m_predefinedMacros && m_builtInHeaderPaths == customTc->m_builtInHeaderPaths; diff --git a/src/plugins/projectexplorer/projectnodes.cpp b/src/plugins/projectexplorer/projectnodes.cpp index e1edbd7d930..59bd647e934 100644 --- a/src/plugins/projectexplorer/projectnodes.cpp +++ b/src/plugins/projectexplorer/projectnodes.cpp @@ -348,7 +348,7 @@ FilePath Node::pathOrDirectory(bool dir) const QTC_CHECK(!location.needsDevice()); QFileInfo fi = location.toFileInfo(); - while ((!fi.exists() || !fi.isDir()) && !fi.isRoot()) + while ((!fi.exists() || !fi.isDir()) && !fi.isRoot() && (fi.fileName() != fi.absolutePath())) fi.setFile(fi.absolutePath()); return FilePath::fromString(fi.absoluteFilePath()); } diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 5e5d29c30d9..de41610cd47 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -78,7 +78,7 @@ class QtVersionData { public: // Update version if you add data members! - static const int version = 2; + static const int version = 3; bool installed = true; bool hasExamples = false; @@ -207,8 +207,11 @@ public: hostDataPath = FilePath::fromSettings(map.value("HostDataPath")); hostPrefixPath = FilePath::fromSettings(map.value("HostPrefixPath")); auto it = map.find("QtAbis"); - if (it != map.end()) - qtAbis = Utils::transform(it.value().toStringList(), &Abi::fromString); + if (it != map.end()) { + const auto qtAbisList = it.value().toStringList(); + if (!qtAbisList.isEmpty()) + qtAbis = Utils::transform(qtAbisList, &Abi::fromString); + } versionInfo = fromStore(map.value("VersionInfo").value()); } }; diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index 3d67706b77f..d8593cb1fd8 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -363,7 +363,8 @@ void ExamplesViewController::updateExamples() const QStringList sources = m_exampleSetModel->exampleSources(&examplesInstallPath, &demosInstallPath, - &qtVersion); + &qtVersion, + m_isExamples); QStringList categoryOrder; QList items; for (const QString &exampleSource : sources) { @@ -493,12 +494,15 @@ QtVersion *ExampleSetModel::findHighestQtVersion(const QtVersions &versions) con QStringList ExampleSetModel::exampleSources(QString *examplesInstallPath, QString *demosInstallPath, - QVersionNumber *qtVersion) + QVersionNumber *qtVersion, + bool isExamples) { QStringList sources; - // Qt Creator shipped tutorials - sources << ":/qtsupport/qtcreator_tutorials.xml"; + if (!isExamples) { + // Qt Creator shipped tutorials + sources << ":/qtsupport/qtcreator_tutorials.xml"; + } QString examplesPath; QString demosPath; diff --git a/src/plugins/qtsupport/exampleslistmodel.h b/src/plugins/qtsupport/exampleslistmodel.h index 142f1c72f6c..a54ac8bc7b7 100644 --- a/src/plugins/qtsupport/exampleslistmodel.h +++ b/src/plugins/qtsupport/exampleslistmodel.h @@ -41,7 +41,8 @@ public: bool selectExampleSet(int index); QStringList exampleSources(QString *examplesInstallPath, QString *demosInstallPath, - QVersionNumber *qtVersion); + QVersionNumber *qtVersion, + bool isExamples); bool selectedQtSupports(const Utils::Id &target) const; signals: diff --git a/src/plugins/remotelinux/killappstep.cpp b/src/plugins/remotelinux/killappstep.cpp index b70e597fb84..80c86584200 100644 --- a/src/plugins/remotelinux/killappstep.cpp +++ b/src/plugins/remotelinux/killappstep.cpp @@ -58,7 +58,11 @@ GroupItem KillAppStep::deployRecipe() addProgressMessage(Tr::tr("Failed to kill remote application. " "Assuming it was not running.")); }; - return DeviceProcessKillerTask(setupHandler, doneHandler, errorHandler); + const Group root { + finishAllAndDone, + DeviceProcessKillerTask(setupHandler, doneHandler, errorHandler) + }; + return root; } KillAppStepFactory::KillAppStepFactory() diff --git a/src/plugins/texteditor/markdowneditor.cpp b/src/plugins/texteditor/markdowneditor.cpp index 935d215f321..877b032465a 100644 --- a/src/plugins/texteditor/markdowneditor.cpp +++ b/src/plugins/texteditor/markdowneditor.cpp @@ -20,7 +20,9 @@ #include #include +#include #include +#include #include #include #include @@ -70,9 +72,22 @@ public: // preview m_previewWidget = new QTextBrowser(); - m_previewWidget->setOpenExternalLinks(true); + m_previewWidget->setOpenLinks(false); // we want to open files in QtC, not the browser m_previewWidget->setFrameShape(QFrame::NoFrame); new Utils::MarkdownHighlighter(m_previewWidget->document()); + connect(m_previewWidget, &QTextBrowser::anchorClicked, this, [this](const QUrl &link) { + if (link.hasFragment() && link.path().isEmpty() && link.scheme().isEmpty()) { + // local anchor + m_previewWidget->scrollToAnchor(link.fragment(QUrl::FullyEncoded)); + } else if (link.isLocalFile() || link.scheme().isEmpty()) { + // absolute path or relative (to the document) + // open in Qt Creator + EditorManager::openEditor( + document()->filePath().parentDir().resolvePath(link.path())); + } else { + QDesktopServices::openUrl(link); + } + }); // editor m_textEditorWidget = new TextEditorWidget; @@ -170,6 +185,26 @@ public: m_previewRestoreScrollPosition.reset(); m_previewWidget->setMarkdown(m_document->plainText()); + // Add anchors to headings. This should actually be done by Qt QTBUG-120518 + for (QTextBlock block = m_previewWidget->document()->begin(); block.isValid(); + block = block.next()) { + QTextBlockFormat fmt = block.blockFormat(); + if (fmt.hasProperty(QTextFormat::HeadingLevel)) { + QTextCharFormat cFormat = block.charFormat(); + QString anchor; + const QString text = block.text(); + for (const QChar &c : text) { + if (c == ' ') + anchor.append('-'); + else if (c == '_' || c == '-' || c.isDigit() || c.isLetter()) + anchor.append(c.toLower()); + } + cFormat.setAnchor(true); + cFormat.setAnchorNames({anchor}); + QTextCursor cursor(block); + cursor.setBlockCharFormat(cFormat); + } + } m_previewWidget->horizontalScrollBar()->setValue(positions.x()); m_previewWidget->verticalScrollBar()->setValue(positions.y()); diff --git a/src/plugins/texteditor/texteditor.cpp b/src/plugins/texteditor/texteditor.cpp index 2f53051062f..65e1b9f3a6a 100644 --- a/src/plugins/texteditor/texteditor.cpp +++ b/src/plugins/texteditor/texteditor.cpp @@ -8563,7 +8563,7 @@ QAction * TextEditorWidget::insertExtraToolBarWidget(TextEditorWidget::Side side findLeftMostAction); return d->m_toolBar->insertWidget(before, widget); } else { - return d->m_toolBar->insertWidget(d->m_fileEncodingLabelAction, widget); + return d->m_toolBar->insertWidget(d->m_fileLineEndingAction, widget); } } diff --git a/src/share/3rdparty/package-manager/auto-setup.cmake b/src/share/3rdparty/package-manager/auto-setup.cmake index 59a43692dfb..a2e30686f9f 100644 --- a/src/share/3rdparty/package-manager/auto-setup.cmake +++ b/src/share/3rdparty/package-manager/auto-setup.cmake @@ -31,6 +31,14 @@ macro(qtc_auto_setup_compiler_standard toolchainFile) endif() endforeach() endforeach() + + # Forward important CMake variables to the package manager in the toolchain file + foreach(fwd_var CMAKE_MSVC_RUNTIME_LIBRARY CMAKE_SYSROOT CMAKE_OSX_SYSROOT CMAKE_OSX_ARCHITECTURES) + if (${fwd_var}) + file(APPEND "${toolchainFile}" + "set(${fwd_var} ${${fwd_var}})\n") + endif() + endforeach() endmacro() # @@ -101,47 +109,61 @@ macro(qtc_auto_setup_conan) "include(\"${CMAKE_TOOLCHAIN_FILE}\")\n") endif() - file(WRITE "${CMAKE_BINARY_DIR}/conan-dependencies/CMakeLists.txt" " - cmake_minimum_required(VERSION 3.15) + file(WRITE "${CMAKE_BINARY_DIR}/conan-dependencies/CMakeLists.txt" " + cmake_minimum_required(VERSION 3.15) - unset(CMAKE_PROJECT_INCLUDE_BEFORE CACHE) - project(conan-setup) + unset(CMAKE_PROJECT_INCLUDE_BEFORE CACHE) + project(conan-setup) - if (${conan_version} VERSION_GREATER_EQUAL 2.0) - set(CONAN_COMMAND \"${conan_program}\") - include(\"${CMAKE_CURRENT_LIST_DIR}/conan_provider.cmake\") - conan_profile_detect_default() - detect_host_profile(\"${CMAKE_BINARY_DIR}/conan-dependencies/conan_host_profile\") + if (${conan_version} VERSION_GREATER_EQUAL 2.0) + set(CONAN_COMMAND \"${conan_program}\") + include(\"${CMAKE_CURRENT_LIST_DIR}/conan_provider.cmake\") + conan_profile_detect_default() + detect_host_profile(\"${CMAKE_BINARY_DIR}/conan-dependencies/conan_host_profile\") + set(build_types \${CMAKE_BUILD_TYPE}) + if (CMAKE_CONFIGURATION_TYPES) + set(build_types \${CMAKE_CONFIGURATION_TYPES}) + endif() + + foreach(type \${build_types}) conan_install( -pr \"${CMAKE_BINARY_DIR}/conan-dependencies/conan_host_profile\" --build=${QT_CREATOR_CONAN_BUILD_POLICY} - -s build_type=${CMAKE_BUILD_TYPE} + -s build_type=\${type} -g CMakeDeps) + endforeach() - get_property(CONAN_INSTALL_SUCCESS GLOBAL PROPERTY CONAN_INSTALL_SUCCESS) - if (CONAN_INSTALL_SUCCESS) - get_property(CONAN_GENERATORS_FOLDER GLOBAL PROPERTY CONAN_GENERATORS_FOLDER) - file(WRITE \"${CMAKE_BINARY_DIR}/conan-dependencies/conan_paths.cmake\" \" - list(PREPEND CMAKE_PREFIX_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\") - list(PREPEND CMAKE_MODULE_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\") - list(REMOVE_DUPLICATES CMAKE_PREFIX_PATH) - list(REMOVE_DUPLICATES CMAKE_MODULE_PATH) - set(CMAKE_PREFIX_PATH \\\"\\\${CMAKE_PREFIX_PATH}\\\" CACHE STRING \\\"\\\" FORCE) - set(CMAKE_MODULE_PATH \\\"\\\${CMAKE_MODULE_PATH}\\\" CACHE STRING \\\"\\\" FORCE) - \") - endif() - else() - include(\"${CMAKE_CURRENT_LIST_DIR}/conan.cmake\") - conan_cmake_run( - CONANFILE \"${conanfile_txt}\" - INSTALL_FOLDER \"${CMAKE_BINARY_DIR}/conan-dependencies\" - GENERATORS cmake_paths cmake_find_package json - BUILD ${QT_CREATOR_CONAN_BUILD_POLICY} - ENV CONAN_CMAKE_TOOLCHAIN_FILE=\"${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake\" - ) + get_property(CONAN_INSTALL_SUCCESS GLOBAL PROPERTY CONAN_INSTALL_SUCCESS) + if (CONAN_INSTALL_SUCCESS) + get_property(CONAN_GENERATORS_FOLDER GLOBAL PROPERTY CONAN_GENERATORS_FOLDER) + file(WRITE \"${CMAKE_BINARY_DIR}/conan-dependencies/conan_paths.cmake\" \" + list(PREPEND CMAKE_PREFIX_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\") + list(PREPEND CMAKE_MODULE_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\") + list(PREPEND CMAKE_FIND_ROOT_PATH \\\"\${CONAN_GENERATORS_FOLDER}\\\") + list(REMOVE_DUPLICATES CMAKE_PREFIX_PATH) + list(REMOVE_DUPLICATES CMAKE_MODULE_PATH) + list(REMOVE_DUPLICATES CMAKE_FIND_ROOT_PATH) + set(CMAKE_PREFIX_PATH \\\"\\\${CMAKE_PREFIX_PATH}\\\" CACHE STRING \\\"\\\" FORCE) + set(CMAKE_MODULE_PATH \\\"\\\${CMAKE_MODULE_PATH}\\\" CACHE STRING \\\"\\\" FORCE) + set(CMAKE_FIND_ROOT_PATH \\\"\\\${CMAKE_FIND_ROOT_PATH}\\\" CACHE STRING \\\"\\\" FORCE) + \") endif() - ") + else() + include(\"${CMAKE_CURRENT_LIST_DIR}/conan.cmake\") + conan_cmake_run( + CONANFILE \"${conanfile_txt}\" + INSTALL_FOLDER \"${CMAKE_BINARY_DIR}/conan-dependencies\" + GENERATORS cmake_paths cmake_find_package json + BUILD ${QT_CREATOR_CONAN_BUILD_POLICY} + ENV CONAN_CMAKE_TOOLCHAIN_FILE=\"${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake\" + ) + endif() + ") + + if (NOT DEFINED CMAKE_BUILD_TYPE AND NOT DEFINED CMAKE_CONFIGURATION_TYPES) + set(CMAKE_CONFIGURATION_TYPES "Debug;Release") + endif() execute_process(COMMAND ${CMAKE_COMMAND} -S "${CMAKE_BINARY_DIR}/conan-dependencies/" @@ -150,6 +172,7 @@ macro(qtc_auto_setup_conan) -D "CMAKE_TOOLCHAIN_FILE=${CMAKE_BINARY_DIR}/conan-dependencies/toolchain.cmake" -G ${CMAKE_GENERATOR} -D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -D "CMAKE_CONFIGURATION_TYPES=${CMAKE_CONFIGURATION_TYPES}" RESULT_VARIABLE result ) if (result EQUAL 0) diff --git a/src/shared/qbs b/src/shared/qbs index b1d6a0518a3..aa044048f0b 160000 --- a/src/shared/qbs +++ b/src/shared/qbs @@ -1 +1 @@ -Subproject commit b1d6a0518a38bf37928233d31f764132081f85ed +Subproject commit aa044048f0b3573ddda09d1b7a4483af9eed3de4 diff --git a/tests/manual/debugger/simple/simple_test_app.cpp b/tests/manual/debugger/simple/simple_test_app.cpp index f32c1baaf15..066346c2ce7 100644 --- a/tests/manual/debugger/simple/simple_test_app.cpp +++ b/tests/manual/debugger/simple/simple_test_app.cpp @@ -3984,7 +3984,7 @@ namespace qstring { // Check string "HiDu" QString. // Continue. delete pstring; - dummyStatement(&str, &string, pstring); + dummyStatement(&str, &string, &pstring); } void testQString4() diff --git a/tests/system/suite_general/tst_default_settings/test.py b/tests/system/suite_general/tst_default_settings/test.py index 95391864c24..a91ddb5245d 100644 --- a/tests/system/suite_general/tst_default_settings/test.py +++ b/tests/system/suite_general/tst_default_settings/test.py @@ -207,7 +207,8 @@ def __getExpectedCompilers__(): for c in ('clang++', 'clang', 'afl-clang', 'clang-[0-9]', 'clang-[0-9].[0-9]', 'clang-1[0-9]', 'clang-1[0-9].[0-9]', '*g++*', '*gcc*'): - compilers.extend(findAllFilesInPATH(c)) + filesInPath = set(findAllFilesInPATH(c)) + compilers.extend(filesInPath | set(map(os.path.realpath, filesInPath))) if platform.system() == 'Darwin': for compilerExe in ('clang++', 'clang'): xcodeClang = getOutputFromCmdline(["xcrun", "--find", compilerExe]).strip("\n") diff --git a/tests/system/suite_general/tst_opencreator_qbs/testdata/projecttree_creator.tsv b/tests/system/suite_general/tst_opencreator_qbs/testdata/projecttree_creator.tsv index 241ce7f8791..15dd125bc7d 100644 --- a/tests/system/suite_general/tst_opencreator_qbs/testdata/projecttree_creator.tsv +++ b/tests/system/suite_general/tst_opencreator_qbs/testdata/projecttree_creator.tsv @@ -623,7 +623,6 @@ "textfinder.pro" "4" "qtdesignstudio" "2" "studiodoc.pro" "3" -"doc.pri" "2" "doc_targets.pri" "2" "share" "1" "qtcreator" "2" @@ -696,47 +695,32 @@ "autogenerated.pri" "6" "data" "5" "data.pro" "6" -"syntax-highlighting.pro" "5" "syntax-highlighting_dependencies.pri" "5" "yaml-cpp" "4" "yaml-cpp.pri" "5" "yaml-cpp.pro" "5" -"yaml-cpp_dependencies.pri" "5" "advanceddockingsystem" "3" "linux" "4" "linux.pri" "5" -"advanceddockingsystem-lib.pri" "4" "advanceddockingsystem.pro" "4" -"advanceddockingsystem_dependencies.pri" "4" "aggregation" "3" "examples" "4" "text" "5" "text.pro" "6" "examples.pro" "5" -"aggregation.pro" "4" "aggregation_dependencies.pri" "4" "clangsupport" "3" -"clangsupport-lib.pri" "4" "clangsupport.pro" "4" -"clangsupport_dependencies.pri" "4" "cplusplus" "3" -"cplusplus-lib.pri" "4" "cplusplus.pro" "4" -"cplusplus_dependencies.pri" "4" "extensionsystem" "3" -"extensionsystem.pro" "4" "extensionsystem_dependencies.pri" "4" "glsl" "3" -"glsl-lib.pri" "4" "glsl.pro" "4" -"glsl_dependencies.pri" "4" "languageserverprotocol" "3" -"languageserverprotocol.pro" "4" "languageserverprotocol_dependencies.pri" "4" "languageutils" "3" -"languageutils-lib.pri" "4" "languageutils.pro" "4" -"languageutils_dependencies.pri" "4" "modelinglib" "3" "qmt" "4" "qmt.pri" "5" @@ -744,24 +728,17 @@ "qstringparser.pri" "5" "qtserialization" "4" "qtserialization.pri" "5" -"modelinglib.pro" "4" "modelinglib_dependencies.pri" "4" "qmldebug" "3" -"qmldebug-lib.pri" "4" "qmldebug.pro" "4" -"qmldebug_dependencies.pri" "4" "qmleditorwidgets" "3" "easingpane" "4" "easingpane.pri" "5" -"qmleditorwidgets-lib.pri" "4" "qmleditorwidgets.pro" "4" -"qmleditorwidgets_dependencies.pri" "4" "qmljs" "3" "parser" "4" "parser.pri" "5" -"qmljs-lib.pri" "4" "qmljs.pro" "4" -"qmljs_dependencies.pri" "4" "qt-breakpad" "3" "qtcrashhandler" "4" "qtcrashhandler.pro" "5" @@ -774,13 +751,9 @@ "sqlite" "3" "sqlite-lib.pri" "4" "sqlite-source.pri" "4" -"sqlite.pro" "4" -"sqlite_dependencies.pri" "4" "ssh" "3" -"ssh.pro" "4" "ssh_dependencies.pri" "4" "tracing" "3" -"tracing.pro" "4" "tracing_dependencies.pri" "4" "utils" "3" "mimetypes" "4" @@ -789,13 +762,10 @@ "touchbar.pri" "5" "process_ctrlc_stub.pro" "4" "process_stub.pro" "4" -"utils-lib.pri" "4" "utils.pro" "4" -"utils_dependencies.pri" "4" "libs.pro" "3" "plugins" "2" "android" "3" -"android.pro" "4" "android_dependencies.pri" "4" "autotest" "3" "unit_test" "4" @@ -850,10 +820,8 @@ "gtest_dependency.pri" "7" "tests.pro" "7" "simple_gt.pro" "6" -"autotest.pro" "4" "autotest_dependencies.pri" "4" "autotoolsprojectmanager" "3" -"autotoolsprojectmanager.pro" "4" "autotoolsprojectmanager_dependencies.pri" "4" "baremetal" "3" "debugservers" "4" @@ -861,24 +829,18 @@ "gdbservers.pri" "6" "uvsc" "5" "uvscservers.pri" "6" -"baremetal.pro" "4" "baremetal_dependencies.pri" "4" "bazaar" "3" -"bazaar.pro" "4" "bazaar_dependencies.pri" "4" "beautifier" "3" -"beautifier.pro" "4" "beautifier_dependencies.pri" "4" "bineditor" "3" -"bineditor.pro" "4" "bineditor_dependencies.pri" "4" "bookmarks" "3" -"bookmarks.pro" "4" "bookmarks_dependencies.pri" "4" "boot2qt" "3" "device-detection" "4" "device-detection.pri" "5" -"boot2qt.pro" "4" "boot2qt_dependencies.pri" "4" "clangcodemodel" "3" "completion" "5" @@ -895,13 +857,10 @@ "qt-widgets-app.pro" "6" "tooltips" "5" "tooltips.pro" "6" -"clangcodemodel.pro" "4" "clangcodemodel_dependencies.pri" "4" "clangcodemodelunittestfiles.pri" "4" "clangformat" "3" -"clangformat-source.pri" "4" "clangformat.pro" "4" -"clangformat_dependencies.pri" "4" "clangtools" "3" "unit-tests" "4" "clangtidy_clazy" "5" @@ -918,49 +877,37 @@ "simple-library.pro" "6" "stdc++11-includes" "5" "stdc++11-includes.pro" "6" -"clangtools.pro" "4" "clangtools_dependencies.pri" "4" "clangtoolsunittestfiles.pri" "4" "classview" "3" -"classview.pro" "4" "classview_dependencies.pri" "4" "clearcase" "3" -"clearcase.pro" "4" "clearcase_dependencies.pri" "4" "cmakeprojectmanager" "3" -"cmakeprojectmanager.pro" "4" "cmakeprojectmanager_dependencies.pri" "4" "compilationdatabaseprojectmanager" "3" -"compilationdatabaseprojectmanager.pro" "4" "compilationdatabaseprojectmanager_dependencies.pri" "4" "conan" "3" -"conan.pro" "4" "conan_dependencies.pri" "4" "coreplugin" "3" "find" "4" "find.pri" "5" "locator" "4" "locator.pri" "5" -"coreplugin.pro" "4" "coreplugin_dependencies.pri" "4" "corepluginunittestfiles.pri" "4" "cpaster" "3" "frontend" "4" "frontend.pro" "5" -"cpaster.pro" "4" "cpaster_dependencies.pri" "4" "cppcheck" "3" -"cppcheck.pro" "4" "cppcheck_dependencies.pri" "4" "cppeditor" "3" -"cppeditor.pro" "4" "cppeditor_dependencies.pri" "4" "cppeditorunittestfiles.pri" "4" "ctfvisualizer" "3" -"ctfvisualizer.pro" "4" "ctfvisualizer_dependencies.pri" "4" "cvs" "3" -"cvs.pro" "4" "cvs_dependencies.pri" "4" "debugger" "3" "analyzer" "4" @@ -982,102 +929,74 @@ "simple.pro" "5" "uvsc" "4" "uvsc.pri" "5" -"debugger.pro" "4" "debugger_dependencies.pri" "4" "debuggerunittestfiles.pri" "4" "ptracepreload.pro" "4" "designer" "3" "cpp" "4" "cpp.pri" "5" -"designer.pro" "4" "designer_dependencies.pri" "4" "diffeditor" "3" -"diffeditor.pro" "4" "diffeditor_dependencies.pri" "4" "docker" "3" -"docker.pro" "4" "docker_dependencies.pri" "4" "emacskeys" "3" -"emacskeys.pro" "4" "emacskeys_dependencies.pri" "4" "fakevim" "3" -"fakevim.pro" "4" "fakevim_dependencies.pri" "4" "genericprojectmanager" "3" -"genericprojectmanager.pro" "4" "genericprojectmanager_dependencies.pri" "4" "git" "3" "gerrit" "4" "gerrit.pri" "5" -"git.pro" "4" "git_dependencies.pri" "4" "glsleditor" "3" -"glsleditor.pro" "4" "glsleditor_dependencies.pri" "4" "helloworld" "3" -"helloworld.pro" "4" "helloworld_dependencies.pri" "4" "help" "3" -"help.pro" "4" "help_dependencies.pri" "4" "imageviewer" "3" -"imageviewer.pro" "4" "imageviewer_dependencies.pri" "4" "incredibuild" "3" -"incredibuild.pro" "4" "incredibuild_dependencies.pri" "4" "ios" "3" -"ios.pro" "4" "ios_dependencies.pri" "4" "languageclient" "3" -"languageclient.pro" "4" "languageclient_dependencies.pri" "4" "macros" "3" -"macros.pro" "4" "macros_dependencies.pri" "4" "marketplace" "3" -"marketplace.pro" "4" "marketplace_dependencies.pri" "4" "mcusupport" "3" -"mcusupport.pro" "4" "mcusupport_dependencies.pri" "4" "mercurial" "3" -"mercurial.pro" "4" "mercurial_dependencies.pri" "4" "mesonprojectmanager" "3" -"mesonprojectmanager.pro" "4" "mesonprojectmanager_dependencies.pri" "4" "modeleditor" "3" -"modeleditor.pro" "4" "modeleditor_dependencies.pri" "4" "nim" "3" -"nim.pro" "4" "nim_dependencies.pri" "4" "perforce" "3" -"perforce.pro" "4" "perforce_dependencies.pri" "4" "perfprofiler" "3" "tests" "4" "tests.pri" "5" -"perfprofiler.pro" "4" "perfprofiler_dependencies.pri" "4" "projectexplorer" "3" "customwizard" "4" "customwizard.pri" "5" "jsonwizard" "4" "jsonwizard.pri" "5" -"projectexplorer.pro" "4" "projectexplorer_dependencies.pri" "4" "python" "3" -"python.pro" "4" "python_dependencies.pri" "4" "qbsprojectmanager" "3" -"qbsprojectmanager.pro" "4" "qbsprojectmanager_dependencies.pri" "4" "qmakeprojectmanager" "3" "customwidgetwizard" "4" "customwidgetwizard.pri" "5" -"qmakeprojectmanager.pro" "4" "qmakeprojectmanager_dependencies.pri" "4" "qmldesigner" "3" "assetexporterplugin" "4" @@ -1143,9 +1062,7 @@ "filemanager" "5" "filemanager.pri" "6" "instances" "5" -"instances-lib.pri" "6" "instances.pri" "6" -"designercore-lib.pri" "5" "designercore.pri" "5" "iwidgetplugin.pri" "5" "qmlpreviewplugin" "4" @@ -1155,45 +1072,35 @@ "qtquickplugin.pri" "5" "qtquickplugin.pro" "5" "plugindestdir.pri" "4" -"qmldesigner.pro" "4" "qmldesigner_dependencies.pri" "4" "qmldesignerplugin.pri" "4" "qmldesignerplugin.pro" "4" "qmldesignerunittestfiles.pri" "4" "qmljseditor" "3" -"qmljseditor.pro" "4" "qmljseditor_dependencies.pri" "4" "qmljstools" "3" -"qmljstools.pro" "4" "qmljstools_dependencies.pri" "4" "qmlpreview" "3" "tests" "4" "tests.pri" "5" -"qmlpreview.pro" "4" "qmlpreview_dependencies.pri" "4" "qmlprofiler" "3" "tests" "4" "tests.pri" "5" -"qmlprofiler.pro" "4" "qmlprofiler_dependencies.pri" "4" "qmlprojectmanager" "3" "fileformat" "4" "fileformat.pri" "5" -"qmlprojectmanager.pro" "4" "qmlprojectmanager_dependencies.pri" "4" "qnx" "3" -"qnx.pro" "4" "qnx_dependencies.pri" "4" "qtsupport" "3" -"qtsupport.pro" "4" "qtsupport_dependencies.pri" "4" "remotelinux" "3" -"remotelinux.pro" "4" "remotelinux_dependencies.pri" "4" "resourceeditor" "3" "qrceditor" "4" "qrceditor.pri" "5" -"resourceeditor.pro" "4" "resourceeditor_dependencies.pri" "4" "scxmleditor" "3" "common" "4" @@ -1202,51 +1109,37 @@ "outputpane.pri" "5" "plugin_interface" "4" "plugin_interface.pri" "5" -"scxmleditor.pro" "4" "scxmleditor_dependencies.pri" "4" "serialterminal" "3" -"serialterminal.pro" "4" "serialterminal_dependencies.pri" "4" "silversearcher" "3" -"silversearcher.pro" "4" "silversearcher_dependencies.pri" "4" "studiowelcome" "3" -"studiowelcome.pro" "4" "studiowelcome_dependencies.pri" "4" "subversion" "3" -"subversion.pro" "4" "subversion_dependencies.pri" "4" "tasklist" "3" -"tasklist.pro" "4" "tasklist_dependencies.pri" "4" "texteditor" "3" -"texteditor.pro" "4" "texteditor_dependencies.pri" "4" "todo" "3" -"todo.pro" "4" "todo_dependencies.pri" "4" "updateinfo" "3" -"updateinfo.pro" "4" "updateinfo_dependencies.pri" "4" "valgrind" "3" "callgrind" "4" "callgrind.pri" "5" "xmlprotocol" "4" "xmlprotocol.pri" "5" -"valgrind.pro" "4" "valgrind_dependencies.pri" "4" "valgrind_test.pri" "4" "vcsbase" "3" -"vcsbase.pro" "4" "vcsbase_dependencies.pri" "4" "webassembly" "3" -"webassembly.pro" "4" "webassembly_dependencies.pri" "4" "welcome" "3" -"welcome.pro" "4" "welcome_dependencies.pri" "4" "winrt" "3" -"winrt.pro" "4" "winrt_dependencies.pri" "4" "plugins.pro" "3" "share" "2" @@ -1608,7 +1501,6 @@ "script" "4" "script.pro" "5" "simple" "4" -"simple.pro" "5" "simple_test_app.pro" "5" "simple_test_plugin.pro" "5" "spacy path" "4" @@ -1691,8 +1583,6 @@ "unit.pro" "3" "tests.pro" "2" "docs.pri" "1" -"qtcreator.pri" "1" -"qtcreator.pro" "1" "qtcreator_ide_branding.pri" "1" "qtcreator_testvars.pri" "1" "qtcreatordata.pri" "1" @@ -1704,7 +1594,6 @@ "SourceCodePro-Bold.ttf" "3" "SourceCodePro-It.ttf" "3" "SourceCodePro-Regular.ttf" "3" -"SourceCodePro.txt" "3" "package-manager" "2" "auto-setup.cmake" "3" "conan.cmake" "3" @@ -1749,39 +1638,12 @@ "glsl" "2" "glsl_120.frag" "3" "glsl_120.vert" "3" -"glsl_120_common.glsl" "3" "glsl_330.frag" "3" "glsl_330.vert" "3" -"glsl_330_common.glsl" "3" "glsl_es_100.frag" "3" "glsl_es_100.vert" "3" -"glsl_es_100_common.glsl" "3" "modeleditor" "2" "standard.def" "3" -"qml-type-descriptions" "2" -"builtins.qmltypes" "3" -"qbs-base.qmltypes" "3" -"qmlproject-bundle.json" "3" -"qmlproject.qmltypes" "3" -"qmlruntime.qmltypes" "3" -"qmltypes-bundle.json" "3" -"qt-labs-folderlistmodel.qmltypes" "3" -"qt-labs-gestures.qmltypes" "3" -"qt-labs-particles.qmltypes" "3" -"qt5QtQuick2-bundle.json" "3" -"qtmobility-connectivity.qmltypes" "3" -"qtmobility-contacts.qmltypes" "3" -"qtmobility-feedback.qmltypes" "3" -"qtmobility-gallery.qmltypes" "3" -"qtmobility-location.qmltypes" "3" -"qtmobility-messaging.qmltypes" "3" -"qtmobility-organizer.qmltypes" "3" -"qtmobility-publishsubscribe.qmltypes" "3" -"qtmobility-sensors.qmltypes" "3" -"qtmobility-serviceframework.qmltypes" "3" -"qtmobility-systeminfo.qmltypes" "3" -"qtmultimediakit.qmltypes" "3" -"qtwebkit.qmltypes" "3" "commands" "3" "captureddatacommand.h" "4" "changeauxiliarycommand.cpp" "4" @@ -1876,7 +1738,6 @@ "propertyvaluecontainer.h" "4" "reparentcontainer.cpp" "4" "reparentcontainer.h" "4" -"sharedmemory.h" "4" "sharedmemory_qt.cpp" "4" "sharedmemory_unix.cpp" "4" "html" "3" @@ -2001,7 +1862,6 @@ "qml2puppet" "3" "editor3d" "4" "qt5compat" "5" -"qquick3darealight.cpp" "6" "qquick3darealight_p.h" "6" "camerageometry.cpp" "5" "camerageometry.h" "5" @@ -2107,13 +1967,11 @@ "qmlprivategate.cpp" "4" "qmlprivategate.h" "4" "qmlprivategate.pri" "4" -"qmlprivategate_56.cpp" "4" "types" "3" "enumeration.h" "4" "types.pri" "4" "editor3d_qt5.qrc" "3" "editor3d_qt6.qrc" "3" -"qmlpuppet.qrc" "3" "qmlpuppet_utilities.pri" "3" "qmldesigner" "2" "itemLibraryQmlSources" "3" @@ -2168,7 +2026,6 @@ "down-arrow@2x.png" "7" "expression.png" "7" "expression@2x.png" "7" -"icon-gradient-list.png" "7" "icon_color_conical_gradient.png" "7" "icon_color_gradient.png" "7" "icon_color_none.png" "7" @@ -2462,7 +2319,6 @@ "GridView.png" "4" "Image.png" "4" "InfoBanner.png" "4" -"item-icon16.png" "4" "Item.png" "4" "ListButton.png" "4" "ListDelegate.png" "4" @@ -2510,7 +2366,6 @@ "styles" "2" "creator-dark.xml" "3" "dark.xml" "3" -"default.xml" "3" "default_classic.xml" "3" "grayscale.xml" "3" "inkpot.xml" "3" @@ -2525,8 +2380,6 @@ "tpl_resources.qrc" "4" "tpl_single.cpp" "4" "tpl_single.h" "4" -"tpl_widget.cpp" "4" -"tpl_widget.h" "4" "tpl_widget_include.pri" "4" "tpl_widget_lib.pro" "4" "wizards" "3" @@ -2535,12 +2388,8 @@ "catch2_tst.cpp" "6" "googlecommon.js" "6" "gtest_dependency.pri" "6" -"tst.pro" "6" -"tst.qbs" "6" -"tst.txt" "6" "tst_main.cpp" "6" "tst_qml.tmpl" "6" -"tst_src.cpp" "6" "tst_src_gt.cpp" "6" "autotest.png" "5" "autotest@2x.png" "5" @@ -2652,7 +2501,6 @@ "CMakeLists.txt" "6" "lib.cpp" "6" "lib.h" "6" -"lib_global.h" "6" "meson.build" "6" "project.json" "6" "project.pro" "6" @@ -2721,7 +2569,6 @@ "widget" "6" "main.pyproject" "7" "wizard.json" "7" -"main.pyproject" "6" "main_empty.py" "6" "main_mainwindow.py" "6" "main_qtquick.py" "6" @@ -2795,7 +2642,6 @@ "myplugin.cpp" "5" "myplugin.h" "5" "MyPlugin.json.in" "5" -"myplugin_global.h" "5" "mypluginconstants.h" "5" "qtcreatorplugin.png" "5" "qtcreatorplugin@2x.png" "5" @@ -2805,11 +2651,9 @@ "themes" "2" "dark.creatortheme" "3" "default.creatortheme" "3" -"design-light.creatortheme" "3" "design.creatortheme" "3" "flat-dark.creatortheme" "3" "flat-light.creatortheme" "3" -"flat.creatortheme" "3" "Sources" "0" "src.qbs:6" "1" "app_version_header" "1" @@ -3054,7 +2898,6 @@ "pp-engine.h" "5" "pp-scanner.cpp" "5" "pp-scanner.h" "5" -"pp.h" "5" "PPToken.cpp" "5" "PPToken.h" "5" "PreprocessorClient.cpp" "5" @@ -3165,7 +3008,6 @@ "invoker.h" "4" "iplugin.cpp" "4" "iplugin.h" "4" -"iplugin_p.h" "4" "optionsparser.cpp" "4" "optionsparser.h" "4" "plugindetailsview.cpp" "4" @@ -3179,10 +3021,8 @@ "pluginerrorview.ui" "4" "pluginmanager.cpp" "4" "pluginmanager.h" "4" -"pluginmanager_p.h" "4" "pluginspec.cpp" "4" "pluginspec.h" "4" -"pluginspec_p.h" "4" "pluginview.cpp" "4" "pluginview.h" "4" "GLSL" "2" @@ -3191,7 +3031,6 @@ "glsl.qbs:45" "4" "glslparser.cpp" "4" "glslparser.h" "4" -"glslparsertable.cpp" "4" "glslparsertable_p.h" "4" "Group 4" "3" "glsl.qbs:56" "4" @@ -3682,7 +3521,6 @@ "qxmlinarchive.h" "5" "qxmloutarchive.h" "5" "reference.h" "5" -"serialize.h" "5" "serialize_basic.h" "5" "serialize_container.h" "5" "serialize_enum.h" "5" @@ -3842,7 +3680,6 @@ "tile-icon-hor-scale.png" "7" "tile-icon-vert-crop.png" "7" "tile-icon-vert-scale.png" "7" -"tile-icon.png" "7" "tr.png" "7" "tr@2x.png" "7" "underline-h-icon.png" "7" @@ -3931,25 +3768,18 @@ "qmljsviewercontext.h" "5" "Parser" "4" "qmljs.qbs:58" "5" -"qmldirparser.cpp" "5" "qmldirparser_p.h" "5" -"qmlimportresolver.cpp" "5" "qmlimportresolver_p.h" "5" -"qmljsast.cpp" "5" "qmljsast_p.h" "5" "qmljsastfwd_p.h" "5" -"qmljsastvisitor.cpp" "5" "qmljsastvisitor_p.h" "5" "qmljsengine_p.cpp" "5" "qmljsengine_p.h" "5" "qmljsglobal_p.h" "5" -"qmljsgrammar.cpp" "5" "qmljsgrammar_p.h" "5" "qmljskeywords_p.h" "5" -"qmljslexer.cpp" "5" "qmljslexer_p.h" "5" "qmljsmemorypool_p.h" "5" -"qmljsparser.cpp" "5" "qmljsparser_p.h" "5" "qmljssourcelocation_p.h" "5" "standard pch file (gui)" "4" @@ -4059,7 +3889,6 @@ "sshkeycreationdialog.cpp" "4" "sshkeycreationdialog.h" "4" "sshkeycreationdialog.ui" "4" -"sshlogging.cpp" "4" "sshlogging_p.h" "4" "sshprocess.cpp" "4" "sshprocess.h" "4" @@ -4147,8 +3976,8 @@ "licenses" "6" "LICENSE.GPLv2" "7" "LICENSE.GPLv3" "7" -"LICENSE.LGPLv21" "7" "LICENSE.LGPLv3" "7" +"LICENSE.LGPLv21" "7" "alert.xml" "6" "autoconf.xml" "6" "bash.xml" "6" @@ -4178,14 +4007,10 @@ "syntax-highlighting.qbs:43" "5" "abstracthighlighter.cpp" "5" "abstracthighlighter.h" "5" -"abstracthighlighter_p.h" "5" -"context.cpp" "5" "context_p.h" "5" -"contextswitch.cpp" "5" "contextswitch_p.h" "5" "definition.cpp" "5" "definition.h" "5" -"definition_p.h" "5" "definitiondownloader.cpp" "5" "definitiondownloader.h" "5" "definitionref_p.h" "5" @@ -4193,30 +4018,22 @@ "foldingregion.h" "5" "format.cpp" "5" "format.h" "5" -"format_p.h" "5" "htmlhighlighter.cpp" "5" "htmlhighlighter.h" "5" -"keywordlist.cpp" "5" "keywordlist_p.h" "5" "matchresult_p.h" "5" "repository.cpp" "5" "repository.h" "5" -"repository_p.h" "5" -"rule.cpp" "5" "rule_p.h" "5" "state.cpp" "5" "state.h" "5" -"state_p.h" "5" "syntaxhighlighter.cpp" "5" "syntaxhighlighter.h" "5" "textstyledata_p.h" "5" "theme.cpp" "5" "theme.h" "5" -"themedata.cpp" "5" "themedata_p.h" "5" -"wildcardmatcher.cpp" "5" "wildcardmatcher_p.h" "5" -"worddelimiters.cpp" "5" "worddelimiters_p.h" "5" "xml_p.h" "5" "standard pch file (gui)" "4" @@ -4265,32 +4082,26 @@ "safecastable.h" "5" "timelineabstractrenderer.cpp" "5" "timelineabstractrenderer.h" "5" -"timelineabstractrenderer_p.h" "5" "timelineformattime.cpp" "5" "timelineformattime.h" "5" "timelineitemsrenderpass.cpp" "5" "timelineitemsrenderpass.h" "5" "timelinemodel.cpp" "5" "timelinemodel.h" "5" -"timelinemodel_p.h" "5" "timelinemodelaggregator.cpp" "5" "timelinemodelaggregator.h" "5" "timelinenotesmodel.cpp" "5" "timelinenotesmodel.h" "5" -"timelinenotesmodel_p.h" "5" "timelinenotesrenderpass.cpp" "5" "timelinenotesrenderpass.h" "5" "timelineoverviewrenderer.cpp" "5" "timelineoverviewrenderer.h" "5" -"timelineoverviewrenderer_p.h" "5" "timelinerenderer.cpp" "5" "timelinerenderer.h" "5" -"timelinerenderer_p.h" "5" "timelinerenderpass.cpp" "5" "timelinerenderpass.h" "5" "timelinerenderstate.cpp" "5" "timelinerenderstate.h" "5" -"timelinerenderstate_p.h" "5" "timelineselectionrenderpass.cpp" "5" "timelineselectionrenderpass.h" "5" "timelinetheme.cpp" "5" @@ -4364,19 +4175,12 @@ "utils.qbs:379" "5" "mimedatabase.cpp" "5" "mimedatabase.h" "5" -"mimedatabase_p.h" "5" -"mimeglobpattern.cpp" "5" "mimeglobpattern_p.h" "5" -"mimemagicrule.cpp" "5" "mimemagicrule_p.h" "5" -"mimemagicrulematcher.cpp" "5" "mimemagicrulematcher_p.h" "5" -"mimeprovider.cpp" "5" "mimeprovider_p.h" "5" "mimetype.cpp" "5" "mimetype.h" "5" -"mimetype_p.h" "5" -"mimetypeparser.cpp" "5" "mimetypeparser_p.h" "5" "ProcessHandle_macos" "4" "utils.qbs:371" "5" @@ -4393,7 +4197,6 @@ "utils.qbs:332" "5" "theme.cpp" "5" "theme.h" "5" -"theme_p.h" "5" "Theme_macos" "4" "utils.qbs:362" "5" "theme_mac.h" "5" @@ -4407,9 +4210,7 @@ "tooltip.h" "5" "TouchBar implementation" "4" "utils.qbs:406" "5" -"touchbar_appdelegate_mac.mm" "5" "touchbar_appdelegate_mac_p.h" "5" -"touchbar_mac.mm" "5" "touchbar_mac_p.h" "5" "TouchBar stub" "4" "utils.qbs:416" "5" @@ -4459,20 +4260,12 @@ "collapse@2x.png" "5" "compile_error_taskbar.png" "5" "compile_error_taskbar@2x.png" "5" -"crumblepath-segment-first-hover.png" "5" -"crumblepath-segment-first-hover@2x.png" "5" "crumblepath-segment-first.png" "5" "crumblepath-segment-first@2x.png" "5" -"crumblepath-segment-last-hover.png" "5" -"crumblepath-segment-last-hover@2x.png" "5" "crumblepath-segment-last.png" "5" "crumblepath-segment-last@2x.png" "5" -"crumblepath-segment-middle-hover.png" "5" -"crumblepath-segment-middle-hover@2x.png" "5" "crumblepath-segment-middle.png" "5" "crumblepath-segment-middle@2x.png" "5" -"crumblepath-segment-single-hover.png" "5" -"crumblepath-segment-single-hover@2x.png" "5" "crumblepath-segment-single.png" "5" "crumblepath-segment-single@2x.png" "5" "dark_fileicon.png" "5" @@ -4525,26 +4318,18 @@ "fittoview@2x.png" "5" "home.png" "5" "home@2x.png" "5" -"iconoverlay_add.png" "5" -"iconoverlay_add@2x.png" "5" "iconoverlay_add_background.png" "5" "iconoverlay_add_background@2x.png" "5" "iconoverlay_add_small.png" "5" "iconoverlay_add_small@2x.png" "5" -"iconoverlay_error.png" "5" -"iconoverlay_error@2x.png" "5" "iconoverlay_error_background.png" "5" "iconoverlay_error_background@2x.png" "5" "iconoverlay_reset.png" "5" "iconoverlay_reset@2x.png" "5" -"iconoverlay_warning.png" "5" -"iconoverlay_warning@2x.png" "5" "iconoverlay_warning_background.png" "5" "iconoverlay_warning_background@2x.png" "5" "info.png" "5" "info@2x.png" "5" -"inputfield.png" "5" -"inputfield@2x.png" "5" "inputfield_disabled.png" "5" "inputfield_disabled@2x.png" "5" "interrupt_small.png" "5" @@ -4585,10 +4370,6 @@ "online@2x.png" "5" "pan.png" "5" "pan@2x.png" "5" -"panel_button.png" "5" -"panel_button@2x.png" "5" -"panel_button_checked.png" "5" -"panel_button_checked@2x.png" "5" "panel_button_checked_hover.png" "5" "panel_button_checked_hover@2x.png" "5" "panel_button_hover.png" "5" @@ -5042,20 +4823,12 @@ "collapse@2x.png" "7" "compile_error_taskbar.png" "7" "compile_error_taskbar@2x.png" "7" -"crumblepath-segment-first-hover.png" "7" -"crumblepath-segment-first-hover@2x.png" "7" "crumblepath-segment-first.png" "7" "crumblepath-segment-first@2x.png" "7" -"crumblepath-segment-last-hover.png" "7" -"crumblepath-segment-last-hover@2x.png" "7" "crumblepath-segment-last.png" "7" "crumblepath-segment-last@2x.png" "7" -"crumblepath-segment-middle-hover.png" "7" -"crumblepath-segment-middle-hover@2x.png" "7" "crumblepath-segment-middle.png" "7" "crumblepath-segment-middle@2x.png" "7" -"crumblepath-segment-single-hover.png" "7" -"crumblepath-segment-single-hover@2x.png" "7" "crumblepath-segment-single.png" "7" "crumblepath-segment-single@2x.png" "7" "dark_fileicon.png" "7" @@ -5104,26 +4877,18 @@ "fittoview@2x.png" "7" "home.png" "7" "home@2x.png" "7" -"iconoverlay_add.png" "7" -"iconoverlay_add@2x.png" "7" "iconoverlay_add_background.png" "7" "iconoverlay_add_background@2x.png" "7" "iconoverlay_add_small.png" "7" "iconoverlay_add_small@2x.png" "7" -"iconoverlay_error.png" "7" -"iconoverlay_error@2x.png" "7" "iconoverlay_error_background.png" "7" "iconoverlay_error_background@2x.png" "7" "iconoverlay_reset.png" "7" "iconoverlay_reset@2x.png" "7" -"iconoverlay_warning.png" "7" -"iconoverlay_warning@2x.png" "7" "iconoverlay_warning_background.png" "7" "iconoverlay_warning_background@2x.png" "7" "info.png" "7" "info@2x.png" "7" -"inputfield.png" "7" -"inputfield@2x.png" "7" "inputfield_disabled.png" "7" "inputfield_disabled@2x.png" "7" "interrupt_small.png" "7" @@ -5158,10 +4923,6 @@ "online@2x.png" "7" "pan.png" "7" "pan@2x.png" "7" -"panel_button.png" "7" -"panel_button@2x.png" "7" -"panel_button_checked.png" "7" -"panel_button_checked@2x.png" "7" "panel_button_checked_hover.png" "7" "panel_button_checked_hover@2x.png" "7" "panel_button_hover.png" "7" @@ -5252,7 +5013,6 @@ "mimetypes" "6" "freedesktop.org.xml" "7" "f1.png" "7" -"utils_global.h" "4" "utilsicons.cpp" "4" "utilsicons.h" "4" "variablechooser.cpp" "4" @@ -5280,10 +5040,8 @@ "detail" "6" "bool_type.h" "7" "impl.h" "7" -"iterator.h" "7" "iterator_fwd.h" "7" "memory.h" "7" -"node.h" "7" "node_data.h" "7" "node_iterator.h" "7" "node_ref.h" "7" @@ -5333,7 +5091,6 @@ "exp.h" "5" "indentation.h" "5" "memory.cpp" "5" -"node.cpp" "5" "node_data.cpp" "5" "nodebuilder.cpp" "5" "nodebuilder.h" "5" @@ -5390,7 +5147,6 @@ "androiddevice@2x.png" "7" "androiddevicesmall.png" "7" "androiddevicesmall@2x.png" "7" -"android_global.h" "4" "androidavdmanager.cpp" "4" "androidavdmanager.h" "4" "androidbuildapkstep.cpp" "4" @@ -5461,7 +5217,6 @@ "androidsdkpackage.h" "4" "androidservicewidget.cpp" "4" "androidservicewidget.h" "4" -"androidservicewidget_p.h" "4" "androidsettingswidget.cpp" "4" "androidsettingswidget.h" "4" "androidsettingswidget.ui" "4" @@ -5758,7 +5513,6 @@ "text@2x.png" "6" "visual.png" "6" "visual@2x.png" "6" -"autotest_global.h" "3" "autotestconstants.h" "3" "autotesticons.h" "3" "autotestplugin.cpp" "3" @@ -6116,7 +5870,6 @@ "qdbdevice@2x.png" "7" "qdbdevicesmall.png" "7" "qdbdevicesmall@2x.png" "7" -"qdb_global.h" "4" "qdbconstants.h" "4" "qdbdeployconfigurationfactory.cpp" "4" "qdbdeployconfigurationfactory.h" "4" @@ -6714,13 +6467,10 @@ "coreplugin.qbs:179" "5" "actioncontainer.cpp" "5" "actioncontainer.h" "5" -"actioncontainer_p.h" "5" "actionmanager.cpp" "5" "actionmanager.h" "5" -"actionmanager_p.h" "5" "command.cpp" "5" "command.h" "5" -"command_p.h" "5" "commandbutton.cpp" "5" "commandbutton.h" "5" "commandmappings.cpp" "5" @@ -6768,12 +6518,10 @@ "coreplugin.qbs:213" "5" "documentmodel.cpp" "5" "documentmodel.h" "5" -"documentmodel_p.h" "5" "editorarea.cpp" "5" "editorarea.h" "5" "editormanager.cpp" "5" "editormanager.h" "5" -"editormanager_p.h" "5" "editorview.cpp" "5" "editorview.h" "5" "editorwindow.cpp" "5" @@ -6782,7 +6530,6 @@ "ieditor.h" "5" "ieditorfactory.cpp" "5" "ieditorfactory.h" "5" -"ieditorfactory_p.h" "5" "iexternaleditor.cpp" "5" "iexternaleditor.h" "5" "openeditorsview.cpp" "5" @@ -6861,7 +6608,6 @@ "settingscategory_core@2x.png" "8" "settingscategory_design.png" "8" "settingscategory_design@2x.png" "8" -"core_global.h" "5" "coreconstants.h" "5" "coreicons.cpp" "5" "coreicons.h" "5" @@ -6888,12 +6634,8 @@ "fancyactionbar.qrc" "5" "/fancyactionbar" "6" "images" "7" -"mode_Design.png" "8" -"mode_Design@2x.png" "8" "mode_design_mask.png" "8" "mode_design_mask@2x.png" "8" -"mode_Edit.png" "8" -"mode_Edit@2x.png" "8" "mode_edit_mask.png" "8" "mode_edit_mask@2x.png" "8" "fancytabwidget.cpp" "5" @@ -6915,7 +6657,6 @@ "helpitem.h" "5" "helpmanager.cpp" "5" "helpmanager.h" "5" -"helpmanager_implementation.h" "5" "icontext.cpp" "5" "icontext.h" "5" "icore.cpp" "5" @@ -7060,7 +6801,6 @@ "progressbar.h" "5" "progressmanager.cpp" "5" "progressmanager.h" "5" -"progressmanager_p.h" "5" "progressview.cpp" "5" "progressview.h" "5" "ProgressManager_mac" "4" @@ -7292,7 +7032,6 @@ "qt_c.png" "6" "qt_cpp.png" "6" "qt_h.png" "6" -"cppeditor_global.h" "3" "cppeditorconstants.h" "3" "cppeditordocument.cpp" "3" "cppeditordocument.h" "3" @@ -7575,21 +7314,15 @@ "breakpoint_pending_overlay.png" "8" "breakpoint_pending_overlay@2x.png" "8" "debugger_breakpoints.png" "8" -"debugger_continue.png" "8" -"debugger_continue@2x.png" "8" "debugger_continue_1_mask.png" "8" "debugger_continue_1_mask@2x.png" "8" "debugger_continue_2_mask.png" "8" "debugger_continue_2_mask@2x.png" "8" "debugger_empty_14.png" "8" -"debugger_interrupt.png" "8" -"debugger_interrupt@2x.png" "8" "debugger_interrupt_mask.png" "8" "debugger_interrupt_mask@2x.png" "8" "debugger_restart_small.png" "8" "debugger_restart_small@2x.png" "8" -"debugger_reversemode.png" "8" -"debugger_reversemode@2x.png" "8" "debugger_reversemode_background.png" "8" "debugger_reversemode_background@2x.png" "8" "debugger_singleinstructionmode.png" "8" @@ -7600,16 +7333,10 @@ "debugger_stepout_small@2x.png" "8" "debugger_stepover_small.png" "8" "debugger_stepover_small@2x.png" "8" -"debugger_stop.png" "8" -"debugger_stop@2x.png" "8" "debugger_stop_mask.png" "8" "debugger_stop_mask@2x.png" "8" -"location.png" "8" -"location@2x.png" "8" "location_background.png" "8" "location_background@2x.png" "8" -"macos_touchbar_debug.png" "8" -"macos_touchbar_debug@2x.png" "8" "macos_touchbar_debug_continue.png" "8" "macos_touchbar_debug_continue@2x.png" "8" "macos_touchbar_debug_exit.png" "8" @@ -7622,8 +7349,6 @@ "macos_touchbar_debug_step_out@2x.png" "8" "macos_touchbar_debug_step_over.png" "8" "macos_touchbar_debug_step_over@2x.png" "8" -"mode_debug.png" "8" -"mode_debug@2x.png" "8" "mode_debug_mask.png" "8" "mode_debug_mask@2x.png" "8" "pin.xpm" "8" @@ -7635,7 +7360,6 @@ "settingscategory_debugger@2x.png" "8" "tracepointoverlay.png" "8" "tracepointoverlay@2x.png" "8" -"debugger_global.h" "5" "debuggeractions.cpp" "5" "debuggeractions.h" "5" "debuggerconstants.h" "5" @@ -7731,21 +7455,15 @@ "breakpoint_pending_overlay.png" "5" "breakpoint_pending_overlay@2x.png" "5" "debugger_breakpoints.png" "5" -"debugger_continue.png" "5" -"debugger_continue@2x.png" "5" "debugger_continue_1_mask.png" "5" "debugger_continue_1_mask@2x.png" "5" "debugger_continue_2_mask.png" "5" "debugger_continue_2_mask@2x.png" "5" "debugger_empty_14.png" "5" -"debugger_interrupt.png" "5" -"debugger_interrupt@2x.png" "5" "debugger_interrupt_mask.png" "5" "debugger_interrupt_mask@2x.png" "5" "debugger_restart_small.png" "5" "debugger_restart_small@2x.png" "5" -"debugger_reversemode.png" "5" -"debugger_reversemode@2x.png" "5" "debugger_reversemode_background.png" "5" "debugger_reversemode_background@2x.png" "5" "debugger_singleinstructionmode.png" "5" @@ -7756,16 +7474,10 @@ "debugger_stepout_small@2x.png" "5" "debugger_stepover_small.png" "5" "debugger_stepover_small@2x.png" "5" -"debugger_stop.png" "5" -"debugger_stop@2x.png" "5" "debugger_stop_mask.png" "5" "debugger_stop_mask@2x.png" "5" -"location.png" "5" -"location@2x.png" "5" "location_background.png" "5" "location_background@2x.png" "5" -"macos_touchbar_debug.png" "5" -"macos_touchbar_debug@2x.png" "5" "macos_touchbar_debug_continue.png" "5" "macos_touchbar_debug_continue@2x.png" "5" "macos_touchbar_debug_exit.png" "5" @@ -7778,8 +7490,6 @@ "macos_touchbar_debug_step_out@2x.png" "5" "macos_touchbar_debug_step_over.png" "5" "macos_touchbar_debug_step_over@2x.png" "5" -"mode_debug.png" "5" -"mode_debug@2x.png" "5" "mode_debug_mask.png" "5" "mode_debug_mask@2x.png" "5" "pin.xpm" "5" @@ -7968,7 +7678,6 @@ "topbar@2x.png" "6" "unifieddiff.png" "6" "unifieddiff@2x.png" "6" -"diffeditor_global.h" "3" "diffeditorconstants.h" "3" "diffeditorcontroller.cpp" "3" "diffeditorcontroller.h" "3" @@ -8270,8 +7979,6 @@ "images" "7" "macos_touchbar_help.png" "8" "macos_touchbar_help@2x.png" "8" -"mode_help.png" "8" -"mode_help@2x.png" "8" "mode_help_mask.png" "8" "mode_help_mask@2x.png" "8" "settingscategory_help.png" "8" @@ -8467,7 +8174,6 @@ "languageclient@2x.png" "6" "settingscategory_languageclient.png" "6" "settingscategory_languageclient@2x.png" "6" -"languageclient_global.h" "3" "languageclientcompletionassist.cpp" "3" "languageclientcompletionassist.h" "3" "languageclientformatter.cpp" "3" @@ -8504,10 +8210,6 @@ "snippet.h" "3" "LogoImages" "2" "logo.qbs:3" "3" -"128x128" "3" -"logo.qbs:42" "4" -"128" "4" -"QtProject-qtcreator.png" "5" "16x16" "3" "logo.qbs:7" "4" "16" "4" @@ -8516,10 +8218,6 @@ "logo.qbs:14" "4" "24" "4" "QtProject-qtcreator.png" "5" -"256x256" "3" -"logo.qbs:49" "4" -"256" "4" -"QtProject-qtcreator.png" "5" "32x32" "3" "logo.qbs:21" "4" "32" "4" @@ -8528,14 +8226,22 @@ "logo.qbs:28" "4" "48" "4" "QtProject-qtcreator.png" "5" -"512x512" "3" -"logo.qbs:56" "4" -"512" "4" -"QtProject-qtcreator.png" "5" "64x64" "3" "logo.qbs:35" "4" "64" "4" "QtProject-qtcreator.png" "5" +"128x128" "3" +"logo.qbs:42" "4" +"128" "4" +"QtProject-qtcreator.png" "5" +"256x256" "3" +"logo.qbs:49" "4" +"256" "4" +"QtProject-qtcreator.png" "5" +"512x512" "3" +"logo.qbs:56" "4" +"512" "4" +"QtProject-qtcreator.png" "5" "Macros" "2" "macros.qbs:3" "3" "PluginMetaData" "3" @@ -8628,7 +8334,6 @@ "wizard.json" "7" "icon.png" "6" "icon@2x.png" "6" -"mcusupport_global.h" "3" "mcusupportcmakemapper.cpp" "3" "mcusupportcmakemapper.h" "3" "mcusupportconstants.h" "3" @@ -8910,8 +8615,6 @@ "jsextension.h" "3" "modeldocument.cpp" "3" "modeldocument.h" "3" -"modeleditor.cpp" "3" -"modeleditor.h" "3" "modeleditor_constants.h" "3" "modeleditor_global.h" "3" "modeleditor_plugin.cpp" "3" @@ -9107,7 +8810,6 @@ "tracepoints.sh" "5" "/QtCreator/PerfProfiler" "4" "PerfProfilerFlameGraphView.qml" "5" -"perfprofiler_global.h" "3" "perfprofilerconstants.h" "3" "perfprofilerflamegraphmodel.cpp" "3" "perfprofilerflamegraphmodel.h" "3" @@ -9381,8 +9083,6 @@ "images" "7" "analyzer_overlay_small.png" "8" "analyzer_overlay_small@2x.png" "8" -"build.png" "8" -"build@2x.png" "8" "build_hammerhandle_mask.png" "8" "build_hammerhandle_mask@2x.png" "8" "build_hammerhead_mask.png" "8" @@ -9444,8 +9144,6 @@ "fileoverlay_unknown@2x.png" "8" "importasproject.png" "8" "importasproject@2x.png" "8" -"mode_project.png" "8" -"mode_project@2x.png" "8" "mode_project_mask.png" "8" "mode_project_mask@2x.png" "8" "ProjectDependencies.png" "8" @@ -9453,8 +9151,6 @@ "rebuildhammerhandles@2x.png" "8" "rebuildhammerheads.png" "8" "rebuildhammerheads@2x.png" "8" -"run.png" "8" -"run@2x.png" "8" "run_mask.png" "8" "run_mask@2x.png" "8" "RunSettings.png" "8" @@ -9469,7 +9165,6 @@ "targetpanel_bottom.png" "8" "unconfigured.png" "8" "window.png" "8" -"projectexplorer_export.h" "5" "projectexplorerconstants.cpp" "5" "projectexplorerconstants.h" "5" "projectexplorericons.cpp" "5" @@ -9570,8 +9265,6 @@ "projectexplorer.qbs:235" "5" "analyzer_overlay_small.png" "5" "analyzer_overlay_small@2x.png" "5" -"build.png" "5" -"build@2x.png" "5" "build_32.png" "5" "build_hammerhandle_mask.png" "5" "build_hammerhandle_mask@2x.png" "5" @@ -9636,8 +9329,6 @@ "findproject.png" "5" "importasproject.png" "5" "importasproject@2x.png" "5" -"mode_project.png" "5" -"mode_project@2x.png" "5" "mode_project_mask.png" "5" "mode_project_mask@2x.png" "5" "ProjectDependencies.png" "5" @@ -9645,8 +9336,6 @@ "rebuildhammerhandles@2x.png" "5" "rebuildhammerheads.png" "5" "rebuildhammerheads@2x.png" "5" -"run.png" "5" -"run@2x.png" "5" "run_mask.png" "5" "run_mask@2x.png" "5" "RunSettings.png" "5" @@ -9665,7 +9354,6 @@ "projectexplorer.qbs:175" "5" "jsonfieldpage.cpp" "5" "jsonfieldpage.h" "5" -"jsonfieldpage_p.h" "5" "jsonfilepage.cpp" "5" "jsonfilepage.h" "5" "jsonkitspage.cpp" "5" @@ -9682,8 +9370,6 @@ "jsonwizardfilegenerator.h" "5" "jsonwizardgeneratorfactory.cpp" "5" "jsonwizardgeneratorfactory.h" "5" -"jsonwizardpagefactory.cpp" "5" -"jsonwizardpagefactory.h" "5" "jsonwizardpagefactory_p.cpp" "5" "jsonwizardpagefactory_p.h" "5" "jsonwizardscannergenerator.cpp" "5" @@ -9781,7 +9467,6 @@ "QbsProjectManager.json.in" "4" "qbs qml type info" "3" "qbsprojectmanager.qbs:68" "4" -"qbs-bundle.json" "4" "qbs.qmltypes" "4" "standard pch file (gui)" "3" "QtcProduct.qbs:100" "4" @@ -9828,7 +9513,6 @@ "images" "5" "settingscategory_qbsprojectmanager.png" "6" "settingscategory_qbsprojectmanager@2x.png" "6" -"qbsprojectmanager_global.h" "3" "qbsprojectmanagerconstants.h" "3" "qbsprojectmanagerplugin.cpp" "3" "qbsprojectmanagerplugin.h" "3" @@ -9907,7 +9591,6 @@ "dark_headers.png" "8" "dark_sources.png" "8" "dark_unknown.png" "8" -"qmakeprojectmanager_global.h" "5" "qmakeprojectmanagerconstants.h" "5" "qmakeprojectmanagerplugin.cpp" "5" "qmakeprojectmanagerplugin.h" "5" @@ -10204,9 +9887,6 @@ "global_record_keyframes@2x.png" "10" "is_keyframe.png" "10" "is_keyframe@2x.png" "10" -"keyframe-16px.png" "10" -"keyframe.png" "10" -"keyframe@2x.png" "10" "keyframe_autobezier_active.png" "10" "keyframe_autobezier_active@2x.png" "10" "keyframe_autobezier_inactive.png" "10" @@ -10610,7 +10290,6 @@ "import.cpp" "7" "internalbindingproperty.cpp" "7" "internalbindingproperty.h" "7" -"internalnode.cpp" "7" "internalnode_p.h" "7" "internalnodeabstractproperty.cpp" "7" "internalnodeabstractproperty.h" "7" @@ -10624,7 +10303,6 @@ "internalsignalhandlerproperty.h" "7" "internalvariantproperty.cpp" "7" "internalvariantproperty.h" "7" -"model.cpp" "7" "model_p.h" "7" "modelmerger.cpp" "7" "modelnode.cpp" "7" @@ -10700,7 +10378,6 @@ "raise@2x.png" "10" "row.png" "10" "row@2x.png" "10" -"componentcore_constants.h" "7" "crumblebar.cpp" "7" "crumblebar.h" "7" "designeractionmanager.cpp" "7" @@ -10715,8 +10392,6 @@ "hdrimage.h" "7" "layoutingridlayout.cpp" "7" "layoutingridlayout.h" "7" -"modelnodecontextmenu.cpp" "7" -"modelnodecontextmenu.h" "7" "modelnodecontextmenu_helper.cpp" "7" "modelnodecontextmenu_helper.h" "7" "modelnodeoperations.cpp" "7" @@ -10828,8 +10503,6 @@ "scrubhandle-48.png" "9" "scrubhandle-disabled-24.png" "9" "scrubhandle-disabled-48.png" "9" -"snapping.png" "9" -"snapping@2x.png" "9" "snapping_and_anchoring.png" "9" "snapping_and_anchoring@2x.png" "9" "formeditorannotationicon.cpp" "7" @@ -10930,30 +10603,30 @@ "itemlibrary.qrc" "7" "/ItemLibrary" "8" "images" "9" -"asset_font_128.png" "10" -"asset_font_192.png" "10" -"asset_font_256.png" "10" "asset_font_32.png" "10" -"asset_font_384.png" "10" "asset_font_48.png" "10" "asset_font_64.png" "10" "asset_font_96.png" "10" -"asset_shader_128.png" "10" -"asset_shader_192.png" "10" -"asset_shader_256.png" "10" +"asset_font_128.png" "10" +"asset_font_192.png" "10" +"asset_font_256.png" "10" +"asset_font_384.png" "10" "asset_shader_32.png" "10" -"asset_shader_384.png" "10" "asset_shader_48.png" "10" "asset_shader_64.png" "10" "asset_shader_96.png" "10" -"asset_sound_128.png" "10" -"asset_sound_192.png" "10" -"asset_sound_256.png" "10" +"asset_shader_128.png" "10" +"asset_shader_192.png" "10" +"asset_shader_256.png" "10" +"asset_shader_384.png" "10" "asset_sound_32.png" "10" -"asset_sound_384.png" "10" "asset_sound_48.png" "10" "asset_sound_64.png" "10" "asset_sound_96.png" "10" +"asset_sound_128.png" "10" +"asset_sound_192.png" "10" +"asset_sound_256.png" "10" +"asset_sound_384.png" "10" "browse.png" "10" "browse@2x.png" "10" "item-3D_model-icon.png" "10" @@ -11163,76 +10836,55 @@ "qtquickplugin.qbs:23" "5" "images" "5" "animated-image-icon.png" "6" -"animated-image-icon16.png" "6" "animated-image-icon@2x.png" "6" "audio-output-16px.png" "6" "audio-output-24px.png" "6" "audio-output-24px@2x.png" "6" "border-image-icon.png" "6" -"border-image-icon16.png" "6" "border-image-icon@2x.png" "6" -"column-positioner-icon-16px.png" "6" "column-positioner-icon.png" "6" "column-positioner-icon@2x.png" "6" "component-icon.png" "6" -"component-icon16.png" "6" "component-icon@2x.png" "6" "default-icon.png" "6" "flickable-icon.png" "6" -"flickable-icon16.png" "6" "flickable-icon@2x.png" "6" "flipable-icon.png" "6" "flipable-icon16.png" "6" -"flow-positioner-icon-16px.png" "6" "flow-positioner-icon.png" "6" "flow-positioner-icon@2x.png" "6" "focusscope-icon.png" "6" -"focusscope-icon16.png" "6" "focusscope-icon@2x.png" "6" -"grid-positioner-icon-16px.png" "6" "grid-positioner-icon.png" "6" "grid-positioner-icon@2x.png" "6" "gridview-icon.png" "6" -"gridview-icon16.png" "6" "gridview-icon@2x.png" "6" "image-icon.png" "6" -"image-icon16.png" "6" "image-icon@2x.png" "6" "item-icon.png" "6" -"item-icon16.png" "6" "item-icon@2x.png" "6" "listview-icon.png" "6" -"listview-icon16.png" "6" "listview-icon@2x.png" "6" "loader-icon.png" "6" -"loader-icon16.png" "6" "loader-icon@2x.png" "6" "media-player-16px.png" "6" "media-player-24px.png" "6" "media-player-24px@2x.png" "6" "mouse-area-icon.png" "6" -"mouse-area-icon16.png" "6" "mouse-area-icon@2x.png" "6" "pathview-icon.png" "6" -"pathview-icon16.png" "6" "pathview-icon@2x.png" "6" "rect-icon.png" "6" -"rect-icon16.png" "6" "rect-icon@2x.png" "6" "repeater-icon.png" "6" -"repeater-icon16.png" "6" "repeater-icon@2x.png" "6" -"row-positioner-icon-16px.png" "6" "row-positioner-icon.png" "6" "row-positioner-icon@2x.png" "6" "text-edit-icon.png" "6" -"text-edit-icon16.png" "6" "text-edit-icon@2x.png" "6" "text-icon.png" "6" -"text-icon16.png" "6" "text-icon@2x.png" "6" "text-input-icon.png" "6" -"text-input-icon16.png" "6" "text-input-icon@2x.png" "6" "video-16px.png" "6" "video-24px.png" "6" @@ -11262,76 +10914,55 @@ "/qtquickplugin" "5" "images" "6" "animated-image-icon.png" "7" -"animated-image-icon16.png" "7" "animated-image-icon@2x.png" "7" "audio-output-16px.png" "7" "audio-output-24px.png" "7" "audio-output-24px@2x.png" "7" "border-image-icon.png" "7" -"border-image-icon16.png" "7" "border-image-icon@2x.png" "7" -"column-positioner-icon-16px.png" "7" "column-positioner-icon.png" "7" "column-positioner-icon@2x.png" "7" "component-icon.png" "7" -"component-icon16.png" "7" "component-icon@2x.png" "7" "default-icon.png" "7" "flickable-icon.png" "7" -"flickable-icon16.png" "7" "flickable-icon@2x.png" "7" "flipable-icon.png" "7" "flipable-icon16.png" "7" -"flow-positioner-icon-16px.png" "7" "flow-positioner-icon.png" "7" "flow-positioner-icon@2x.png" "7" "focusscope-icon.png" "7" -"focusscope-icon16.png" "7" "focusscope-icon@2x.png" "7" -"grid-positioner-icon-16px.png" "7" "grid-positioner-icon.png" "7" "grid-positioner-icon@2x.png" "7" "gridview-icon.png" "7" -"gridview-icon16.png" "7" "gridview-icon@2x.png" "7" "image-icon.png" "7" -"image-icon16.png" "7" "image-icon@2x.png" "7" "item-icon.png" "7" -"item-icon16.png" "7" "item-icon@2x.png" "7" "listview-icon.png" "7" -"listview-icon16.png" "7" "listview-icon@2x.png" "7" "loader-icon.png" "7" -"loader-icon16.png" "7" "loader-icon@2x.png" "7" "media-player-16px.png" "7" "media-player-24px.png" "7" "media-player-24px@2x.png" "7" "mouse-area-icon.png" "7" -"mouse-area-icon16.png" "7" "mouse-area-icon@2x.png" "7" "pathview-icon.png" "7" -"pathview-icon16.png" "7" "pathview-icon@2x.png" "7" "rect-icon.png" "7" -"rect-icon16.png" "7" "rect-icon@2x.png" "7" "repeater-icon.png" "7" -"repeater-icon16.png" "7" "repeater-icon@2x.png" "7" -"row-positioner-icon-16px.png" "7" "row-positioner-icon.png" "7" "row-positioner-icon@2x.png" "7" "text-edit-icon.png" "7" -"text-edit-icon16.png" "7" "text-edit-icon@2x.png" "7" "text-icon.png" "7" -"text-icon16.png" "7" "text-icon@2x.png" "7" "text-input-icon.png" "7" -"text-input-icon16.png" "7" "text-input-icon@2x.png" "7" "video-16px.png" "7" "video-24px.png" "7" @@ -11387,11 +11018,9 @@ "qmljseditingsettingspage.ui" "3" "qmljseditor.cpp" "3" "qmljseditor.h" "3" -"qmljseditor_global.h" "3" "qmljseditorconstants.h" "3" "qmljseditordocument.cpp" "3" "qmljseditordocument.h" "3" -"qmljseditordocument_p.h" "3" "qmljseditorplugin.cpp" "3" "qmljseditorplugin.h" "3" "qmljsfindreferences.cpp" "3" @@ -11467,7 +11096,6 @@ "images" "5" "settingscategory_qml.png" "6" "settingscategory_qml@2x.png" "6" -"qmljstools_global.h" "3" "qmljstoolsconstants.h" "3" "qmljstoolsplugin.cpp" "3" "qmljstoolsplugin.h" "3" @@ -11715,7 +11343,6 @@ "qnxdevice@2x.png" "6" "qnxdevicesmall.png" "6" "qnxdevicesmall@2x.png" "6" -"qnx_export.h" "3" "qnxanalyzesupport.cpp" "3" "qnxanalyzesupport.h" "3" "qnxbaseqtconfigwidget.cpp" "3" @@ -11790,14 +11417,12 @@ "qmakebuiltins.cpp" "5" "qmakeevaluator.cpp" "5" "qmakeevaluator.h" "5" -"qmakeevaluator_p.h" "5" "qmakeglobals.cpp" "5" "qmakeglobals.h" "5" "qmakeparser.cpp" "5" "qmakeparser.h" "5" "qmakevfs.cpp" "5" "qmakevfs.h" "5" -"registry.cpp" "5" "registry_p.h" "5" "QtVersion" "4" "qtsupport.qbs:111" "5" @@ -11858,7 +11483,6 @@ "dark_qt_qrc.png" "7" "images_areaofinterest.xml" "6" "qtcreator_tutorials.xml" "6" -"qtsupport_global.h" "4" "qtsupportconstants.h" "4" "qtsupportplugin.cpp" "4" "qtsupportplugin.h" "4" @@ -11931,8 +11555,6 @@ "/remotelinux" "5" "images" "6" "embeddedtarget.png" "7" -"remotelinux_constants.h" "4" -"remotelinux_export.h" "4" "remotelinuxcheckforfreediskspaceservice.cpp" "4" "remotelinuxcheckforfreediskspaceservice.h" "4" "remotelinuxcheckforfreediskspacestep.cpp" "4" @@ -12001,11 +11623,9 @@ "qrceditor.cpp" "5" "qrceditor.h" "5" "qrceditor.ui" "5" -"resourcefile.cpp" "5" "resourcefile_p.h" "5" "resourceview.cpp" "5" "resourceview.h" "5" -"undocommands.cpp" "5" "undocommands_p.h" "5" "standard pch file (gui)" "4" "QtcProduct.qbs:100" "5" @@ -12064,9 +11684,7 @@ "initial.png" "7" "more_colors.png" "7" "navigator.png" "7" -"parallel.png" "7" "parallel_icon.png" "7" -"state.png" "7" "state_color.png" "7" "statistics.png" "7" "dragshapebutton.cpp" "4" @@ -12542,8 +12160,6 @@ "settingscategory_texteditor.png" "7" "settingscategory_texteditor@2x.png" "7" "snippet.png" "7" -"texteditor_global.h" "4" -"texteditor_p.h" "4" "texteditoractionhandler.cpp" "4" "texteditoractionhandler.h" "4" "texteditorconstants.cpp" "4" @@ -12657,7 +12273,6 @@ "callgrinddatamodel.h" "4" "callgrindfunction.cpp" "4" "callgrindfunction.h" "4" -"callgrindfunction_p.h" "4" "callgrindfunctioncall.cpp" "4" "callgrindfunctioncall.h" "4" "callgrindfunctioncycle.cpp" "4" @@ -12810,7 +12425,6 @@ "submit_arrow@2x.png" "6" "submit_db.png" "6" "submit_db@2x.png" "6" -"vcsbase_global.h" "3" "vcsbaseclient.cpp" "3" "vcsbaseclient.h" "3" "vcsbaseclientsettings.cpp" "3" @@ -12854,7 +12468,6 @@ "webassemblydevice@2x.png" "6" "webassemblydevicesmall.png" "6" "webassemblydevicesmall@2x.png" "6" -"webassembly_global.h" "3" "webassemblyconstants.h" "3" "webassemblydevice.cpp" "3" "webassemblydevice.h" "3" @@ -12899,8 +12512,6 @@ "download@2x.png" "6" "expandarrow.png" "6" "expandarrow@2x.png" "6" -"mode_welcome.png" "6" -"mode_welcome@2x.png" "6" "mode_welcome_mask.png" "6" "mode_welcome_mask@2x.png" "6" "new.png" "6" @@ -13877,10 +13488,6 @@ "identifier-expansion.4.out.cpp" "5" "identifier-expansion.5.cpp" "5" "identifier-expansion.5.out.cpp" "5" -"macro-test.cpp" "5" -"macro-test.out.cpp" "5" -"macro_expand.c" "5" -"macro_expand.out.c" "5" "macro_expand_1.cpp" "5" "macro_expand_1.out.cpp" "5" "macro_pounder_fn.c" "5" @@ -14133,10 +13740,7 @@ "test specs" "5" "test.qbs:17" "6" "testspecs" "6" -"simplespec.json" "7" "simplespec_experimental.json" "7" -"spec1.json" "7" -"spec2.json" "7" "spec_wrong2.json" "7" "spec_wrong3.json" "7" "spec_wrong4.json" "7" @@ -14145,7 +13749,6 @@ "testplugin.qbs:4" "5" "testplugin.cpp" "5" "testplugin.h" "5" -"testplugin_global.h" "5" "PluginManager autotests" "3" "pluginmanager.qbs:3" "4" "ExtensionSystem cirular plugins autotests" "4" @@ -14264,14 +13867,12 @@ "qmakebuiltins.cpp" "4" "qmakeevaluator.cpp" "4" "qmakeevaluator.h" "4" -"qmakeevaluator_p.h" "4" "qmakeglobals.cpp" "4" "qmakeglobals.h" "4" "qmakeparser.cpp" "4" "qmakeparser.h" "4" "qmakevfs.cpp" "4" "qmakevfs.h" "4" -"registry.cpp" "4" "registry_p.h" "4" "standard pch file (gui)" "3" "QtcProduct.qbs:100" "4" @@ -14774,7 +14375,6 @@ "callgrinddatamodel.h" "6" "callgrindfunction.cpp" "6" "callgrindfunction.h" "6" -"callgrindfunction_p.h" "6" "callgrindfunctioncall.cpp" "6" "callgrindfunctioncall.h" "6" "callgrindfunctioncycle.cpp" "6" @@ -14842,7 +14442,6 @@ "design.creatortheme" "7" "flat-dark.creatortheme" "7" "flat-light.creatortheme" "7" -"flat.creatortheme" "7" "themeselector.cpp" "5" "themeselector.h" "5" "tst_manual_widgets_tracing.cpp" "4" @@ -14857,7 +14456,6 @@ "design.creatortheme" "7" "flat-dark.creatortheme" "7" "flat-light.creatortheme" "7" -"flat.creatortheme" "7" "themeselector.cpp" "5" "themeselector.h" "5" "tst_manual_widgets_crumblepath.cpp" "4" @@ -14872,7 +14470,6 @@ "design.creatortheme" "7" "flat-dark.creatortheme" "7" "flat-light.creatortheme" "7" -"flat.creatortheme" "7" "themeselector.cpp" "5" "themeselector.h" "5" "tst_manual_widgets_infolabel.cpp" "4" @@ -14887,7 +14484,6 @@ "design.creatortheme" "7" "flat-dark.creatortheme" "7" "flat-light.creatortheme" "7" -"flat.creatortheme" "7" "themeselector.cpp" "5" "themeselector.h" "5" "tst_manual_widgets_manhattanstyle.cpp" "4"