diff --git a/src/libs/utils/CMakeLists.txt b/src/libs/utils/CMakeLists.txt index defbbf27943..e3bbfcf7a97 100644 --- a/src/libs/utils/CMakeLists.txt +++ b/src/libs/utils/CMakeLists.txt @@ -147,6 +147,7 @@ add_qtc_library(Utils runextensions.cpp runextensions.h savefile.cpp savefile.h scopedswap.h + searchresultitem.cpp searchresultitem.h set_algorithm.h settingsaccessor.cpp settingsaccessor.h settingsselector.cpp settingsselector.h diff --git a/src/libs/utils/searchresultitem.cpp b/src/libs/utils/searchresultitem.cpp new file mode 100644 index 00000000000..74881bd3962 --- /dev/null +++ b/src/libs/utils/searchresultitem.cpp @@ -0,0 +1,59 @@ +// Copyright (C) 2023 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include "searchresultitem.h" + +namespace Utils { + +int Search::TextRange::length(const QString &text) const +{ + if (begin.line == end.line) + return end.column - begin.column; + + const int lineCount = end.line - begin.line; + int index = text.indexOf(QChar::LineFeed); + int currentLine = 1; + while (index > 0 && currentLine < lineCount) { + ++index; + index = text.indexOf(QChar::LineFeed, index); + ++currentLine; + } + + if (index < 0) + return 0; + + return index - begin.column + end.column; +} + +SearchResultColor::SearchResultColor(const QColor &textBg, const QColor &textFg, + const QColor &highlightBg, const QColor &highlightFg, + const QColor &functionBg, const QColor &functionFg) + : textBackground(textBg) + , textForeground(textFg) + , highlightBackground(highlightBg) + , highlightForeground(highlightFg) + , containingFunctionBackground(functionBg) + , containingFunctionForeground(functionFg) +{ + if (!highlightBackground.isValid()) + highlightBackground = textBackground; + if (!highlightForeground.isValid()) + highlightForeground = textForeground; + if (!containingFunctionBackground.isValid()) + containingFunctionBackground = textBackground; + if (!containingFunctionForeground.isValid()) + containingFunctionForeground = textForeground; +} + +QTCREATOR_UTILS_EXPORT size_t qHash(SearchResultColor::Style style, uint seed) +{ + int a = int(style); + return ::qHash(a, seed); +} + +void SearchResultItem::setMainRange(int line, int column, int length) +{ + m_mainRange = {{line, column}, {line, column + length}}; +} + +} // namespace Utils diff --git a/src/plugins/coreplugin/find/searchresultitem.h b/src/libs/utils/searchresultitem.h similarity index 58% rename from src/plugins/coreplugin/find/searchresultitem.h rename to src/libs/utils/searchresultitem.h index d33df65f0a0..558374704e8 100644 --- a/src/plugins/coreplugin/find/searchresultitem.h +++ b/src/libs/utils/searchresultitem.h @@ -1,82 +1,78 @@ -// Copyright (C) 2016 The Qt Company Ltd. +// Copyright (C) 2023 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 #pragma once -#include "searchresultcolor.h" +#include "utils_global.h" #include #include +#include +#include #include #include #include #include -namespace Core { +namespace Utils { namespace Search { -class TextPosition +class QTCREATOR_UTILS_EXPORT TextPosition { public: - TextPosition() = default; - TextPosition(int line, int column) : line(line), column(column) {} - int line = -1; // (0 or -1 for no line number) int column = -1; // 0-based starting position for a mark (-1 for no mark) - bool operator<(const TextPosition &other) + bool operator<(const TextPosition &other) const { return line < other.line || (line == other.line && column < other.column); } }; -class TextRange +class QTCREATOR_UTILS_EXPORT TextRange { public: - TextRange() = default; - TextRange(TextPosition begin, TextPosition end) : begin(begin), end(end) {} - QString mid(const QString &text) const { return text.mid(begin.column, length(text)); } - - int length(const QString &text) const - { - if (begin.line == end.line) - return end.column - begin.column; - - const int lineCount = end.line - begin.line; - int index = text.indexOf(QChar::LineFeed); - int currentLine = 1; - while (index > 0 && currentLine < lineCount) { - ++index; - index = text.indexOf(QChar::LineFeed, index); - ++currentLine; - } - - if (index < 0) - return 0; - - return index - begin.column + end.column; - } + int length(const QString &text) const; TextPosition begin; TextPosition end; - bool operator<(const TextRange &other) - { return begin < other.begin; } + bool operator<(const TextRange &other) const { return begin < other.begin; } }; } // namespace Search -class CORE_EXPORT SearchResultItem +class QTCREATOR_UTILS_EXPORT SearchResultColor +{ +public: + enum class Style { Default, Alt1, Alt2 }; + + SearchResultColor() = default; + SearchResultColor(const QColor &textBg, const QColor &textFg, + const QColor &highlightBg, const QColor &highlightFg, + const QColor &functionBg, const QColor &functionFg); + + QColor textBackground; + QColor textForeground; + QColor highlightBackground; + QColor highlightForeground; + QColor containingFunctionBackground; + QColor containingFunctionForeground; + +private: + QTCREATOR_UTILS_EXPORT friend size_t qHash(Style style, uint seed); +}; + +using SearchResultColors = QHash; + +class QTCREATOR_UTILS_EXPORT SearchResultItem { public: QStringList path() const { return m_path; } void setPath(const QStringList &path) { m_path = path; } - void setFilePath(const Utils::FilePath &filePath) - { - m_path = QStringList{filePath.toUserOutput()}; - } + void setFilePath(const Utils::FilePath &filePath) { m_path = {filePath.toUserOutput()}; } QString lineText() const { return m_lineText; } void setLineText(const QString &text) { m_lineText = text; } @@ -89,14 +85,7 @@ public: Search::TextRange mainRange() const { return m_mainRange; } void setMainRange(const Search::TextRange &mainRange) { m_mainRange = mainRange; } - void setMainRange(int line, int column, int length) - { - m_mainRange = {}; - m_mainRange.begin.line = line; - m_mainRange.begin.column = column; - m_mainRange.end.line = m_mainRange.begin.line; - m_mainRange.end.column = m_mainRange.begin.column + length; - } + void setMainRange(int line, int column, int length); bool useTextEditorFont() const { return m_useTextEditorFont; } void setUseTextEditorFont(bool useTextEditorFont) { m_useTextEditorFont = useTextEditorFont; } @@ -109,9 +98,9 @@ public: std::optional containingFunctionName() const { return m_containingFunctionName; } - void setContainingFunctionName(std::optional containingFunctionName) + void setContainingFunctionName(const std::optional &containingFunctionName) { - m_containingFunctionName = std::move(containingFunctionName); + m_containingFunctionName = containingFunctionName; } private: @@ -126,7 +115,7 @@ private: std::optional m_containingFunctionName; }; -} // namespace Core +} // namespace Utils -Q_DECLARE_METATYPE(Core::SearchResultItem) -Q_DECLARE_METATYPE(Core::Search::TextPosition) +Q_DECLARE_METATYPE(Utils::SearchResultItem) +Q_DECLARE_METATYPE(Utils::Search::TextPosition) diff --git a/src/libs/utils/utils.qbs b/src/libs/utils/utils.qbs index 4f628616a10..fa766b8bc4a 100644 --- a/src/libs/utils/utils.qbs +++ b/src/libs/utils/utils.qbs @@ -275,6 +275,8 @@ Project { "savefile.cpp", "savefile.h", "scopedswap.h", + "searchresultitem.cpp", + "searchresultitem.h", "set_algorithm.h", "settingsaccessor.cpp", "settingsaccessor.h", diff --git a/src/plugins/clangcodemodel/clangdclient.h b/src/plugins/clangcodemodel/clangdclient.h index 6b495ddb73c..c8a71edf3ce 100644 --- a/src/plugins/clangcodemodel/clangdclient.h +++ b/src/plugins/clangcodemodel/clangdclient.h @@ -3,12 +3,12 @@ #pragma once -#include #include #include #include #include #include +#include #include @@ -119,7 +119,7 @@ public: signals: void indexingFinished(); - void foundReferences(const QList &items); + void foundReferences(const QList &items); void findUsagesDone(); void helpItemGathered(const Core::HelpItem &helpItem); void highlightingResultsReady(const TextEditor::HighlightingResults &results, diff --git a/src/plugins/clangcodemodel/clangdfindreferences.h b/src/plugins/clangcodemodel/clangdfindreferences.h index d904db31f41..c975fc164f3 100644 --- a/src/plugins/clangcodemodel/clangdfindreferences.h +++ b/src/plugins/clangcodemodel/clangdfindreferences.h @@ -3,9 +3,9 @@ #pragma once -#include #include #include +#include #include @@ -35,7 +35,7 @@ public: ~ClangdFindReferences(); signals: - void foundReferences(const QList &items); + void foundReferences(const QList &items); void done(); private: diff --git a/src/plugins/clangcodemodel/test/clangdtests.cpp b/src/plugins/clangcodemodel/test/clangdtests.cpp index 1d9f4436648..5fdff3164d9 100644 --- a/src/plugins/clangcodemodel/test/clangdtests.cpp +++ b/src/plugins/clangcodemodel/test/clangdtests.cpp @@ -43,6 +43,7 @@ using namespace CppEditor::Tests; using namespace LanguageClient; using namespace ProjectExplorer; using namespace TextEditor; +using namespace Utils; namespace ClangCodeModel { namespace Internal { @@ -97,7 +98,7 @@ ClangdTest::~ClangdTest() delete m_projectDir; } -Utils::FilePath ClangdTest::filePath(const QString &fileName) const +FilePath ClangdTest::filePath(const QString &fileName) const { return m_projectDir->absolutePath(fileName); } @@ -139,7 +140,7 @@ void ClangdTest::initTestCase() { const QString clangdFromEnv = Utils::qtcEnvironmentVariable("QTC_CLANGD"); if (!clangdFromEnv.isEmpty()) - CppEditor::ClangdSettings::setClangdFilePath(Utils::FilePath::fromString(clangdFromEnv)); + CppEditor::ClangdSettings::setClangdFilePath(FilePath::fromString(clangdFromEnv)); const auto clangd = CppEditor::ClangdSettings::instance().clangdFilePath(); if (clangd.isEmpty() || !clangd.exists()) QSKIP("clangd binary not found"); @@ -408,13 +409,13 @@ void ClangdTestFollowSymbol::test() timer.setSingleShot(true); QEventLoop loop; QObject::connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit); - Utils::Link actualLink; - const auto handler = [&actualLink, &loop](const Utils::Link &l) { + Link actualLink; + const auto handler = [&actualLink, &loop](const Link &l) { actualLink = l; loop.quit(); }; QTextCursor cursor(doc->document()); - const int pos = Utils::Text::positionInText(doc->document(), sourceLine, sourceColumn); + const int pos = Text::positionInText(doc->document(), sourceLine, sourceColumn); cursor.setPosition(pos); client()->followSymbol(doc, cursor, nullptr, handler, true, goToType ? FollowTo::SymbolType : FollowTo::SymbolDef, false); @@ -520,15 +521,14 @@ void ClangdTestLocalReferences::test() QEventLoop loop; QObject::connect(&timer, &QTimer::timeout, &loop, &QEventLoop::quit); QList actualRanges; - const auto handler = [&actualRanges, &loop](const QString &symbol, - const Utils::Links &links, int) { - for (const Utils::Link &link : links) + const auto handler = [&actualRanges, &loop](const QString &symbol, const Links &links, int) { + for (const Link &link : links) actualRanges << Range(link.targetLine, link.targetColumn, symbol.length()); loop.quit(); }; QTextCursor cursor(doc->document()); - const int pos = Utils::Text::positionInText(doc->document(), sourceLine, sourceColumn); + const int pos = Text::positionInText(doc->document(), sourceLine, sourceColumn); cursor.setPosition(pos); client()->findLocalUsages(doc, cursor, std::move(handler)); timer.start(10000); @@ -659,7 +659,7 @@ void ClangdTestTooltips::test() connect(client(), &ClangdClient::helpItemGathered, &loop, handler); QTextCursor cursor(doc->document()); - const int pos = Utils::Text::positionInText(doc->document(), line, column); + const int pos = Text::positionInText(doc->document(), line, column); cursor.setPosition(pos); editor->editorWidget()->processTooltipRequest(cursor); @@ -1316,11 +1316,11 @@ void ClangdTestHighlighting::test() const TextEditor::TextDocument * const doc = document("highlighting.cpp"); QVERIFY(doc); - const int startPos = Utils::Text::positionInText(doc->document(), firstLine, startColumn); - const int endPos = Utils::Text::positionInText(doc->document(), lastLine, endColumn); + const int startPos = Text::positionInText(doc->document(), firstLine, startColumn); + const int endPos = Text::positionInText(doc->document(), lastLine, endColumn); const auto lessThan = [=](const TextEditor::HighlightingResult &r, int) { - return Utils::Text::positionInText(doc->document(), r.line, r.column) < startPos; + return Text::positionInText(doc->document(), r.line, r.column) < startPos; }; const auto findResults = [=] { TextEditor::HighlightingResults results; @@ -1328,7 +1328,7 @@ void ClangdTestHighlighting::test() if (it == m_results.cend()) return results; while (it != m_results.cend()) { - const int resultEndPos = Utils::Text::positionInText(doc->document(), it->line, + const int resultEndPos = Text::positionInText(doc->document(), it->line, it->column) + it->length; if (resultEndPos > endPos) break; @@ -1439,7 +1439,7 @@ public: { const int pos = currentPosition(); QPair lineAndColumn; - Utils::Text::convertPosition(m_doc, pos, &lineAndColumn.first, &lineAndColumn.second); + Text::convertPosition(m_doc, pos, &lineAndColumn.first, &lineAndColumn.second); return lineAndColumn; } @@ -1864,7 +1864,7 @@ void ClangdTestCompletion::startCollectingHighlightingInfo() { m_documentsWithHighlighting.clear(); connect(client(), &ClangdClient::highlightingResultsReady, this, - [this](const HighlightingResults &, const Utils::FilePath &file) { + [this](const HighlightingResults &, const FilePath &file) { m_documentsWithHighlighting.insert(file); }); } @@ -1881,7 +1881,7 @@ void ClangdTestCompletion::getProposal(const QString &fileName, if (cursorPos) *cursorPos = pos; int line, column; - Utils::Text::convertPosition(doc->document(), pos, &line, &column); + Text::convertPosition(doc->document(), pos, &line, &column); const auto editor = qobject_cast( EditorManager::openEditorAt({doc->filePath(), line, column - 1})); QVERIFY(editor); diff --git a/src/plugins/clangcodemodel/test/clangdtests.h b/src/plugins/clangcodemodel/test/clangdtests.h index 2a8f33579c2..f5740db5ec6 100644 --- a/src/plugins/clangcodemodel/test/clangdtests.h +++ b/src/plugins/clangcodemodel/test/clangdtests.h @@ -4,11 +4,11 @@ #pragma once #include -#include #include #include #include #include +#include #include #include @@ -74,7 +74,7 @@ private slots: void test(); private: - QList m_actualResults; + QList m_actualResults; }; class ClangdTestFollowSymbol : public ClangdTest diff --git a/src/plugins/coreplugin/CMakeLists.txt b/src/plugins/coreplugin/CMakeLists.txt index 17d1af01e39..a7d1e6cf20f 100644 --- a/src/plugins/coreplugin/CMakeLists.txt +++ b/src/plugins/coreplugin/CMakeLists.txt @@ -72,8 +72,6 @@ add_qtc_plugin(Core find/ifindsupport.cpp find/ifindsupport.h find/itemviewfind.cpp find/itemviewfind.h find/optionspopup.cpp find/optionspopup.h - find/searchresultcolor.h - find/searchresultitem.h find/searchresulttreeitemdelegate.cpp find/searchresulttreeitemdelegate.h find/searchresulttreeitemroles.h find/searchresulttreeitems.cpp find/searchresulttreeitems.h diff --git a/src/plugins/coreplugin/coreplugin.cpp b/src/plugins/coreplugin/coreplugin.cpp index 043bdba74d1..448d8e6a33d 100644 --- a/src/plugins/coreplugin/coreplugin.cpp +++ b/src/plugins/coreplugin/coreplugin.cpp @@ -35,6 +35,7 @@ #include #include #include +#include #include #include #include @@ -71,7 +72,7 @@ void CorePlugin::setupSystemEnvironment() CorePlugin::CorePlugin() { qRegisterMetaType(); - qRegisterMetaType(); + qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType(); qRegisterMetaType(); diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index 459183224ca..3adf5b461c2 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -306,8 +306,6 @@ Project { "itemviewfind.h", "optionspopup.cpp", "optionspopup.h", - "searchresultcolor.h", - "searchresultitem.h", "searchresulttreeitemdelegate.cpp", "searchresulttreeitemdelegate.h", "searchresulttreeitemroles.h", diff --git a/src/plugins/coreplugin/editormanager/editormanager.cpp b/src/plugins/coreplugin/editormanager/editormanager.cpp index f84465303fb..6f1856f162f 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.cpp +++ b/src/plugins/coreplugin/editormanager/editormanager.cpp @@ -24,7 +24,6 @@ #include "../editormanager/ieditorfactory_p.h" #include "../editormanager/iexternaleditor.h" #include "../fileutils.h" -#include "../find/searchresultitem.h" #include "../findplaceholder.h" #include "../icore.h" #include "../iversioncontrol.h" @@ -52,6 +51,7 @@ #include #include #include +#include #include #include diff --git a/src/plugins/coreplugin/editormanager/editormanager.h b/src/plugins/coreplugin/editormanager/editormanager.h index 6118d15c3dd..09218f42c3e 100644 --- a/src/plugins/coreplugin/editormanager/editormanager.h +++ b/src/plugins/coreplugin/editormanager/editormanager.h @@ -22,18 +22,14 @@ QT_BEGIN_NAMESPACE class QMenu; QT_END_NAMESPACE -namespace Utils { class MimeType; } +namespace Utils { class SearchResultItem; } namespace Core { class IDocument; class LocatorFilterEntry; -class SearchResultItem; -namespace Internal { -class EditorManagerPrivate; -class MainWindow; -} // namespace Internal +namespace Internal { class MainWindow; } class CORE_EXPORT EditorManagerPlaceHolder final : public QWidget { @@ -79,7 +75,7 @@ public: bool *newEditor = nullptr); static IEditor *openEditor(const LocatorFilterEntry &entry); - static void openEditorAtSearchResult(const SearchResultItem &item, + static void openEditorAtSearchResult(const Utils::SearchResultItem &item, Utils::Id editorId = {}, OpenEditorFlags flags = NoFlags, bool *newEditor = nullptr); diff --git a/src/plugins/coreplugin/find/searchresultcolor.h b/src/plugins/coreplugin/find/searchresultcolor.h deleted file mode 100644 index a6bc46b4e18..00000000000 --- a/src/plugins/coreplugin/find/searchresultcolor.h +++ /dev/null @@ -1,52 +0,0 @@ -// Copyright (C) 2016 The Qt Company Ltd. -// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 - -#pragma once - -#include "../core_global.h" - -#include -#include - -namespace Core { - -class CORE_EXPORT SearchResultColor -{ -public: - enum class Style { Default, Alt1, Alt2 }; - - SearchResultColor() = default; - SearchResultColor(const QColor &textBg, const QColor &textFg, - const QColor &highlightBg, const QColor &highlightFg, - const QColor &functionBg, const QColor &functionFg - ) - : textBackground(textBg), textForeground(textFg), - highlightBackground(highlightBg), highlightForeground(highlightFg), - containingFunctionBackground(functionBg),containingFunctionForeground(functionFg) - { - if (!highlightBackground.isValid()) - highlightBackground = textBackground; - if (!highlightForeground.isValid()) - highlightForeground = textForeground; - if (!containingFunctionBackground.isValid()) - containingFunctionBackground = textBackground; - if (!containingFunctionForeground.isValid()) - containingFunctionForeground = textForeground; - } - - friend auto qHash(SearchResultColor::Style style) - { - return QT_PREPEND_NAMESPACE(qHash(int(style))); - } - - QColor textBackground; - QColor textForeground; - QColor highlightBackground; - QColor highlightForeground; - QColor containingFunctionBackground; - QColor containingFunctionForeground; -}; - -using SearchResultColors = QHash; - -} // namespace Core diff --git a/src/plugins/coreplugin/find/searchresulttreeitems.cpp b/src/plugins/coreplugin/find/searchresulttreeitems.cpp index 79ccc2429d0..9aa8a765db9 100644 --- a/src/plugins/coreplugin/find/searchresulttreeitems.cpp +++ b/src/plugins/coreplugin/find/searchresulttreeitems.cpp @@ -3,10 +3,12 @@ #include "searchresulttreeitems.h" +#include + namespace Core { namespace Internal { -SearchResultTreeItem::SearchResultTreeItem(const SearchResultItem &item, +SearchResultTreeItem::SearchResultTreeItem(const Utils::SearchResultItem &item, SearchResultTreeItem *parent) : item(item), m_parent(parent), @@ -79,7 +81,8 @@ int SearchResultTreeItem::insertionIndex(const QString &text, SearchResultTreeIt return insertionPosition - m_children.begin(); } -int SearchResultTreeItem::insertionIndex(const SearchResultItem &item, SearchResultTreeItem **existingItem) const +int SearchResultTreeItem::insertionIndex(const Utils::SearchResultItem &item, + SearchResultTreeItem **existingItem) const { return insertionIndex(item.lineText(), existingItem); } @@ -89,13 +92,13 @@ void SearchResultTreeItem::insertChild(int index, SearchResultTreeItem *child) m_children.insert(index, child); } -void SearchResultTreeItem::insertChild(int index, const SearchResultItem &item) +void SearchResultTreeItem::insertChild(int index, const Utils::SearchResultItem &item) { auto child = new SearchResultTreeItem(item, this); insertChild(index, child); } -void SearchResultTreeItem::appendChild(const SearchResultItem &item) +void SearchResultTreeItem::appendChild(const Utils::SearchResultItem &item) { insertChild(m_children.count(), item); } diff --git a/src/plugins/coreplugin/find/searchresulttreeitems.h b/src/plugins/coreplugin/find/searchresulttreeitems.h index 4d4b3530393..dbbc27d8861 100644 --- a/src/plugins/coreplugin/find/searchresulttreeitems.h +++ b/src/plugins/coreplugin/find/searchresulttreeitems.h @@ -5,8 +5,7 @@ #include "searchresultwindow.h" -#include -#include +#include namespace Core { namespace Internal { @@ -14,7 +13,7 @@ namespace Internal { class SearchResultTreeItem { public: - explicit SearchResultTreeItem(const SearchResultItem &item = SearchResultItem(), + explicit SearchResultTreeItem(const Utils::SearchResultItem &item = {}, SearchResultTreeItem *parent = nullptr); virtual ~SearchResultTreeItem(); @@ -22,10 +21,10 @@ public: SearchResultTreeItem *parent() const; SearchResultTreeItem *childAt(int index) const; int insertionIndex(const QString &text, SearchResultTreeItem **existingItem) const; - int insertionIndex(const SearchResultItem &item, SearchResultTreeItem **existingItem) const; + int insertionIndex(const Utils::SearchResultItem &item, SearchResultTreeItem **existingItem) const; void insertChild(int index, SearchResultTreeItem *child); - void insertChild(int index, const SearchResultItem &item); - void appendChild(const SearchResultItem &item); + void insertChild(int index, const Utils::SearchResultItem &item); + void appendChild(const Utils::SearchResultItem &item); int childrenCount() const; int rowOfItem() const; void clearChildren(); @@ -36,7 +35,7 @@ public: bool isGenerated() const { return m_isGenerated; } void setGenerated(bool value) { m_isGenerated = value; } - SearchResultItem item; + Utils::SearchResultItem item; private: SearchResultTreeItem *m_parent; diff --git a/src/plugins/coreplugin/find/searchresulttreemodel.cpp b/src/plugins/coreplugin/find/searchresulttreemodel.cpp index cf00cf755a2..6692848f9f8 100644 --- a/src/plugins/coreplugin/find/searchresulttreemodel.cpp +++ b/src/plugins/coreplugin/find/searchresulttreemodel.cpp @@ -6,12 +6,15 @@ #include "searchresulttreeitemroles.h" #include +#include #include #include #include #include +using namespace Utils; + namespace Core { namespace Internal { diff --git a/src/plugins/coreplugin/find/searchresulttreemodel.h b/src/plugins/coreplugin/find/searchresulttreemodel.h index 6727fc56b4c..37f163fe0ad 100644 --- a/src/plugins/coreplugin/find/searchresulttreemodel.h +++ b/src/plugins/coreplugin/find/searchresulttreemodel.h @@ -4,7 +4,6 @@ #pragma once #include "searchresultwindow.h" -#include "searchresultcolor.h" #include #include @@ -25,8 +24,9 @@ public: void setFilter(SearchResultFilter *filter); void setShowReplaceUI(bool show); - void setTextEditorFont(const QFont &font, const SearchResultColors &colors); - QList addResults(const QList &items, SearchResult::AddMode mode); + void setTextEditorFont(const QFont &font, const Utils::SearchResultColors &colors); + QList addResults(const QList &items, + SearchResult::AddMode mode); void clear(); QModelIndex next(const QModelIndex &idx, bool includeGenerated = false, bool *wrapped = nullptr) const; diff --git a/src/plugins/coreplugin/find/searchresulttreeview.cpp b/src/plugins/coreplugin/find/searchresulttreeview.cpp index e5ac5b4719c..dca9f0835d0 100644 --- a/src/plugins/coreplugin/find/searchresulttreeview.cpp +++ b/src/plugins/coreplugin/find/searchresulttreeview.cpp @@ -7,11 +7,14 @@ #include "searchresulttreeitemdelegate.h" #include +#include #include #include #include +using namespace Utils; + namespace Core { namespace Internal { @@ -31,7 +34,7 @@ public: }; SearchResultTreeView::SearchResultTreeView(QWidget *parent) - : Utils::TreeView(parent) + : TreeView(parent) , m_model(new SearchResultFilterModel(this)) , m_autoExpandResults(false) { diff --git a/src/plugins/coreplugin/find/searchresulttreeview.h b/src/plugins/coreplugin/find/searchresulttreeview.h index 9ddbb06cd15..4e81ed86920 100644 --- a/src/plugins/coreplugin/find/searchresulttreeview.h +++ b/src/plugins/coreplugin/find/searchresulttreeview.h @@ -6,9 +6,9 @@ #include "searchresultwindow.h" #include +#include namespace Core { -class SearchResultColor; namespace Internal { @@ -22,11 +22,11 @@ public: explicit SearchResultTreeView(QWidget *parent = nullptr); void setAutoExpandResults(bool expand); - void setTextEditorFont(const QFont &font, const SearchResultColors &colors); + void setTextEditorFont(const QFont &font, const Utils::SearchResultColors &colors); void setTabWidth(int tabWidth); SearchResultFilterModel *model() const; - void addResults(const QList &items, SearchResult::AddMode mode); + void addResults(const QList &items, SearchResult::AddMode mode); void setFilter(SearchResultFilter *filter); bool hasFilter() const; void showFilterWidget(QWidget *parent); @@ -35,7 +35,7 @@ public: bool event(QEvent *e) override; signals: - void jumpToSearchResult(const SearchResultItem &item); + void jumpToSearchResult(const Utils::SearchResultItem &item); void filterInvalidated(); void filterChanged(); diff --git a/src/plugins/coreplugin/find/searchresultwidget.h b/src/plugins/coreplugin/find/searchresultwidget.h index 8ec0096a601..3761606ccce 100644 --- a/src/plugins/coreplugin/find/searchresultwidget.h +++ b/src/plugins/coreplugin/find/searchresultwidget.h @@ -6,6 +6,7 @@ #include "searchresultwindow.h" #include +#include #include @@ -33,7 +34,7 @@ public: QWidget *additionalReplaceWidget() const; void setAdditionalReplaceWidget(QWidget *widget); - void addResults(const QList &items, SearchResult::AddMode mode); + void addResults(const QList &items, SearchResult::AddMode mode); int count() const; bool isSearching() const { return m_searching; } @@ -52,7 +53,7 @@ public: void notifyVisibilityChanged(bool visible); - void setTextEditorFont(const QFont &font, const SearchResultColors &colors); + void setTextEditorFont(const QFont &font, const Utils::SearchResultColors &colors); void setTabWidth(int tabWidth); void setAutoExpandResults(bool expand); @@ -76,8 +77,9 @@ public slots: void sendRequestPopup(); signals: - void activated(const Core::SearchResultItem &item); - void replaceButtonClicked(const QString &replaceText, const QList &checkedItems, bool preserveCase); + void activated(const Utils::SearchResultItem &item); + void replaceButtonClicked(const QString &replaceText, + const QList &checkedItems, bool preserveCase); void replaceTextChanged(const QString &replaceText); void searchAgainRequested(); void canceled(); @@ -91,7 +93,7 @@ signals: void navigateStateChanged(); private: - void handleJumpToSearchResult(const SearchResultItem &item); + void handleJumpToSearchResult(const Utils::SearchResultItem &item); void handleReplaceButton(); void doReplace(); void cancel(); @@ -101,7 +103,7 @@ private: void continueAfterSizeWarning(); void cancelAfterSizeWarning(); - QList checkedItems() const; + QList checkedItems() const; void updateMatchesFoundLabel(); SearchResultTreeView *m_searchResultTreeView = nullptr; diff --git a/src/plugins/coreplugin/find/searchresultwindow.cpp b/src/plugins/coreplugin/find/searchresultwindow.cpp index bd3fcc97d07..524629289fc 100644 --- a/src/plugins/coreplugin/find/searchresultwindow.cpp +++ b/src/plugins/coreplugin/find/searchresultwindow.cpp @@ -52,12 +52,6 @@ namespace Core { \internal */ -/*! - \class Core::SearchResultItem - \inmodule QtCreator - \internal -*/ - namespace Internal { class InternalScrollArea : public QScrollArea @@ -110,7 +104,7 @@ namespace Internal { QList m_searchResults; int m_currentIndex; QFont m_font; - SearchResultColors m_colors; + Utils::SearchResultColors m_colors; int m_tabWidth; }; @@ -260,14 +254,14 @@ using namespace Core::Internal; */ /*! - \fn void Core::SearchResult::activated(const Core::SearchResultItem &item) + \fn void Core::SearchResult::activated(const Utils::SearchResultItem &item) Indicates that the user activated the search result \a item by double-clicking it, for example. */ /*! \fn void Core::SearchResult::replaceButtonClicked(const QString &replaceText, - const QList &checkedItems, + const QList &checkedItems, bool preserveCase) Indicates that the user initiated a text replace by selecting @@ -577,7 +571,8 @@ void SearchResultWindow::setFocus() /*! \internal */ -void SearchResultWindow::setTextEditorFont(const QFont &font, const SearchResultColors &colors) +void SearchResultWindow::setTextEditorFont(const QFont &font, + const Utils::SearchResultColors &colors) { d->m_font = font; d->m_colors = colors; @@ -837,7 +832,7 @@ void SearchResult::setAdditionalReplaceWidget(QWidget *widget) \sa addResults() */ -void SearchResult::addResult(const SearchResultItem &item) +void SearchResult::addResult(const Utils::SearchResultItem &item) { m_widget->addResults({item}, AddOrdered); } @@ -848,7 +843,7 @@ void SearchResult::addResult(const SearchResultItem &item) \sa addResult() */ -void SearchResult::addResults(const QList &items, AddMode mode) +void SearchResult::addResults(const QList &items, AddMode mode) { m_widget->addResults(items, mode); emit countChanged(m_widget->count()); diff --git a/src/plugins/coreplugin/find/searchresultwindow.h b/src/plugins/coreplugin/find/searchresultwindow.h index da1bcf67e41..d2a0dc8d31c 100644 --- a/src/plugins/coreplugin/find/searchresultwindow.h +++ b/src/plugins/coreplugin/find/searchresultwindow.h @@ -3,11 +3,10 @@ #pragma once -#include "searchresultcolor.h" -#include "searchresultitem.h" - #include +#include + #include #include #include @@ -19,9 +18,10 @@ class QFont; QT_END_NAMESPACE namespace Core { + namespace Internal { - class SearchResultWindowPrivate; - class SearchResultWidget; +class SearchResultWindowPrivate; +class SearchResultWidget; } class SearchResultWindow; @@ -31,7 +31,7 @@ class CORE_EXPORT SearchResultFilter : public QObject public: virtual QWidget *createWidget() = 0; - virtual bool matches(const SearchResultItem &item) const = 0; + virtual bool matches(const Utils::SearchResultItem &item) const = 0; signals: void filterChanged(); @@ -59,8 +59,8 @@ public: bool isInteractive() const { return !m_finishedHandler; } public slots: - void addResult(const SearchResultItem &item); - void addResults(const QList &items, AddMode mode); + void addResult(const Utils::SearchResultItem &item); + void addResults(const QList &items, AddMode mode); void setFilter(SearchResultFilter *filter); // Takes ownership void finishSearch(bool canceled, const QString &reason = {}); void setTextToReplace(const QString &textToReplace); @@ -70,8 +70,8 @@ public slots: void popup(); signals: - void activated(const Core::SearchResultItem &item); - void replaceButtonClicked(const QString &replaceText, const QList &checkedItems, bool preserveCase); + void activated(const Utils::SearchResultItem &item); + void replaceButtonClicked(const QString &replaceText, const QList &checkedItems, bool preserveCase); void replaceTextChanged(const QString &replaceText); void canceled(); void paused(bool paused); @@ -125,7 +125,7 @@ public: void goToPrev() override; bool canNavigate() const override; - void setTextEditorFont(const QFont &font, const SearchResultColors &colors); + void setTextEditorFont(const QFont &font, const Utils::SearchResultColors &colors); void setTabWidth(int width); void openNewSearchPanel(); diff --git a/src/plugins/cppeditor/cppfindreferences.cpp b/src/plugins/cppeditor/cppfindreferences.cpp index 17f599dca8e..6194e649cb4 100644 --- a/src/plugins/cppeditor/cppfindreferences.cpp +++ b/src/plugins/cppeditor/cppfindreferences.cpp @@ -743,10 +743,9 @@ void CppFindReferences::findMacroUses(const CPlusPlus::Macro ¯o, const QStri setupSearch(search); SearchResultWindow::instance()->popup(IOutputPane::ModeSwitch | IOutputPane::WithFocus); - connect(search, &SearchResult::activated, - [](const Core::SearchResultItem& item) { - Core::EditorManager::openEditorAtSearchResult(item); - }); + connect(search, &SearchResult::activated, search, [](const SearchResultItem &item) { + Core::EditorManager::openEditorAtSearchResult(item); + }); const CPlusPlus::Snapshot snapshot = m_modelManager->snapshot(); const WorkingCopy workingCopy = m_modelManager->workingCopy(); diff --git a/src/plugins/cppeditor/cppfindreferences.h b/src/plugins/cppeditor/cppfindreferences.h index 54f40bf4cfe..cbd1a9bf4ab 100644 --- a/src/plugins/cppeditor/cppfindreferences.h +++ b/src/plugins/cppeditor/cppfindreferences.h @@ -9,30 +9,29 @@ #include #include #include +#include -#include -#include #include +#include #include -QT_FORWARD_DECLARE_CLASS(QTimer) +QT_BEGIN_NAMESPACE +class QTimer; +QT_END_NAMESPACE -namespace Core { -class SearchResultItem; -class SearchResult; -} // namespace Core +namespace Core { class SearchResult; } namespace CppEditor { class CppModelManager; -Core::SearchResultColor::Style CPPEDITOR_EXPORT +Utils::SearchResultColor::Style CPPEDITOR_EXPORT colorStyleForUsageType(CPlusPlus::Usage::Tags tags); class CPPEDITOR_EXPORT CppSearchResultFilter : public Core::SearchResultFilter { QWidget *createWidget() override; - bool matches(const Core::SearchResultItem &item) const override; + bool matches(const Utils::SearchResultItem &item) const override; void setValue(bool &member, bool value); @@ -79,7 +78,7 @@ public: private: void setupSearch(Core::SearchResult *search); void onReplaceButtonClicked(Core::SearchResult *search, const QString &text, - const QList &items, bool preserveCase); + const QList &items, bool preserveCase); void searchAgain(Core::SearchResult *search); void findUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context, diff --git a/src/plugins/cppeditor/cppindexingsupport.cpp b/src/plugins/cppeditor/cppindexingsupport.cpp index 455355470b9..be150b2d393 100644 --- a/src/plugins/cppeditor/cppindexingsupport.cpp +++ b/src/plugins/cppeditor/cppindexingsupport.cpp @@ -10,13 +10,13 @@ #include "cppsourceprocessor.h" #include "searchsymbols.h" -#include #include #include #include #include +#include #include #include @@ -54,7 +54,7 @@ class WriteTaskFileForDiagnostics public: WriteTaskFileForDiagnostics() { - const QString fileName = Utils::TemporaryDirectory::masterDirectoryPath() + const QString fileName = TemporaryDirectory::masterDirectoryPath() + "/qtc_findErrorsIndexing.diagnostics." + QDateTime::currentDateTime().toString("yyMMdd_HHmm") + ".tasks"; @@ -139,7 +139,7 @@ void indexFindErrors(QPromise &promise, const ParseParams params) BuiltinEditorDocumentParser parser(FilePath::fromString(file)); parser.setReleaseSourceAndAST(false); parser.update({CppModelManager::instance()->workingCopy(), nullptr, - Utils::Language::Cxx, false}); + Language::Cxx, false}); CPlusPlus::Document::Ptr document = parser.document(); QTC_ASSERT(document, return); @@ -241,7 +241,7 @@ void parse(QPromise &promise, const ParseParams params) } // anonymous namespace -void SymbolSearcher::runSearch(QPromise &promise) +void SymbolSearcher::runSearch(QPromise &promise) { promise.setProgressRange(0, m_snapshot.size()); promise.setProgressValue(0); @@ -264,7 +264,7 @@ void SymbolSearcher::runSearch(QPromise &promise) if (promise.isCanceled()) break; if (m_fileNames.isEmpty() || m_fileNames.contains(it.value()->filePath().path())) { - QVector resultItems; + QList resultItems; auto filter = [&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult { if (matcher.match(info->symbolName()).hasMatch()) { QString text = info->symbolName(); @@ -277,7 +277,7 @@ void SymbolSearcher::runSearch(QPromise &promise) text = info->representDeclaration(); } - Core::SearchResultItem item; + SearchResultItem item; item.setPath(scope.split(QLatin1String("::"), Qt::SkipEmptyParts)); item.setLineText(text); item.setIcon(info->icon()); @@ -288,7 +288,7 @@ void SymbolSearcher::runSearch(QPromise &promise) return IndexItem::Recurse; }; search(it.value())->visitAllChildren(filter); - for (const Core::SearchResultItem &item : std::as_const(resultItems)) + for (const SearchResultItem &item : std::as_const(resultItems)) promise.addResult(item); } ++it; diff --git a/src/plugins/cppeditor/cppindexingsupport.h b/src/plugins/cppeditor/cppindexingsupport.h index 0c2f631aae3..b5aa68585d6 100644 --- a/src/plugins/cppeditor/cppindexingsupport.h +++ b/src/plugins/cppeditor/cppindexingsupport.h @@ -11,7 +11,7 @@ #include -namespace Core { class SearchResultItem; } +namespace Utils { class SearchResultItem; } namespace CppEditor { @@ -44,7 +44,7 @@ public: }; SymbolSearcher(const SymbolSearcher::Parameters ¶meters, const QSet &fileNames); - void runSearch(QPromise &promise); + void runSearch(QPromise &promise); private: const CPlusPlus::Snapshot m_snapshot; diff --git a/src/plugins/cppeditor/symbolsearcher_test.cpp b/src/plugins/cppeditor/symbolsearcher_test.cpp index 009afae5d50..ade5b356207 100644 --- a/src/plugins/cppeditor/symbolsearcher_test.cpp +++ b/src/plugins/cppeditor/symbolsearcher_test.cpp @@ -35,10 +35,10 @@ public: return m_symbolName == other.m_symbolName && m_scope == other.m_scope; } - static ResultDataList fromSearchResultList(const QList &entries) + static ResultDataList fromSearchResultList(const QList &entries) { ResultDataList result; - for (const Core::SearchResultItem &entry : entries) + for (const Utils::SearchResultItem &entry : entries) result << ResultData(entry.lineText(), entry.path().join(QLatin1String("::"))); return result; } @@ -77,7 +77,7 @@ public: const QScopedPointer symbolSearcher( new SymbolSearcher(searchParameters, QSet{testFile})); - QFuture search + QFuture search = Utils::asyncRun(&SymbolSearcher::runSearch, symbolSearcher.data()); search.waitForFinished(); ResultDataList results = ResultData::fromSearchResultList(search.results()); diff --git a/src/plugins/cppeditor/symbolsfindfilter.h b/src/plugins/cppeditor/symbolsfindfilter.h index 61866aae4db..a77f5873606 100644 --- a/src/plugins/cppeditor/symbolsfindfilter.h +++ b/src/plugins/cppeditor/symbolsfindfilter.h @@ -6,7 +6,6 @@ #include "searchsymbols.h" #include -#include #include #include @@ -16,6 +15,7 @@ #include namespace Core { class SearchResult; } +namespace Utils { class SearchResultItem; } namespace CppEditor { class CppModelManager; @@ -52,10 +52,10 @@ signals: void symbolsToSearchChanged(); private: - void openEditor(const Core::SearchResultItem &item); + void openEditor(const Utils::SearchResultItem &item); - void addResults(QFutureWatcher *watcher, int begin, int end); - void finish(QFutureWatcher *watcher); + void addResults(QFutureWatcher *watcher, int begin, int end); + void finish(QFutureWatcher *watcher); void cancel(Core::SearchResult *search); void setPaused(Core::SearchResult *search, bool paused); void onTaskStarted(Utils::Id type); @@ -67,7 +67,7 @@ private: CppModelManager *m_manager; bool m_enabled; - QMap *, QPointer > m_watchers; + QMap *, QPointer > m_watchers; QPointer m_currentSearch; SearchSymbols::SymbolTypes m_symbolsToSearch; SearchScope m_scope; diff --git a/src/plugins/git/gitgrep.h b/src/plugins/git/gitgrep.h index 119751102c5..5df131baaba 100644 --- a/src/plugins/git/gitgrep.h +++ b/src/plugins/git/gitgrep.h @@ -5,9 +5,14 @@ #include -QT_FORWARD_DECLARE_CLASS(QCheckBox); +QT_BEGIN_NAMESPACE +class QCheckBox; +QT_END_NAMESPACE -namespace Utils { class FancyLineEdit; } +namespace Utils { +class FancyLineEdit; +class SearchResultItem; +} namespace Git::Internal { @@ -28,7 +33,7 @@ public: QFuture executeSearch( const TextEditor::FileFindParameters ¶meters, TextEditor::BaseFileFind *baseFileFind) override; - Core::IEditor *openEditor(const Core::SearchResultItem &item, + Core::IEditor *openEditor(const Utils::SearchResultItem &item, const TextEditor::FileFindParameters ¶meters) override; private: diff --git a/src/plugins/languageclient/languageclientsymbolsupport.cpp b/src/plugins/languageclient/languageclientsymbolsupport.cpp index d67fc6580aa..73317fb6fe4 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.cpp +++ b/src/plugins/languageclient/languageclientsymbolsupport.cpp @@ -193,7 +193,7 @@ bool SymbolSupport::supportsFindUsages(TextEditor::TextDocument *document) const struct ItemData { - Core::Search::TextRange range; + Utils::Search::TextRange range; QVariant userData; }; @@ -216,12 +216,12 @@ QStringList SymbolSupport::getFileContents(const Utils::FilePath &filePath) return fileContent.split("\n"); } -QList generateSearchResultItems( +QList generateSearchResultItems( const QMap> &rangesInDocument, Core::SearchResult *search = nullptr, bool limitToProjects = false) { - QList result; + QList result; const bool renaming = search && search->supportsReplace(); QString oldSymbolName; QVariantList userData; @@ -233,7 +233,7 @@ QList generateSearchResultItems( for (auto it = rangesInDocument.begin(); it != rangesInDocument.end(); ++it) { const Utils::FilePath &filePath = it.key(); - Core::SearchResultItem item; + Utils::SearchResultItem item; item.setFilePath(filePath); item.setUseTextEditorFont(true); if (renaming && limitToProjects) { @@ -264,7 +264,7 @@ QList generateSearchResultItems( return result; } -QList generateSearchResultItems( +QList generateSearchResultItems( const LanguageClientArray &locations, const DocumentUri::PathMapper &pathMapper) { if (locations.isNull()) @@ -291,7 +291,7 @@ void SymbolSupport::handleFindReferencesResponse(const FindReferencesRequest::Re Tr::tr("Find References with %1 for:").arg(m_client->name()), "", wordUnderCursor); search->addResults(generateSearchResultItems(*result, m_client->hostPathMapper()), Core::SearchResult::AddOrdered); - connect(search, &Core::SearchResult::activated, [](const Core::SearchResultItem &item) { + connect(search, &Core::SearchResult::activated, [](const Utils::SearchResultItem &item) { Core::EditorManager::openEditorAtSearchResult(item); }); search->finishSearch(false); @@ -463,7 +463,7 @@ void SymbolSupport::requestRename(const TextDocumentPositionParams &positionPara search->popup(); } -QList generateReplaceItems(const WorkspaceEdit &edits, +QList generateReplaceItems(const WorkspaceEdit &edits, Core::SearchResult *search, bool limitToProjects, const DocumentUri::PathMapper &pathMapper) @@ -506,7 +506,7 @@ Core::SearchResult *SymbolSupport::createSearch(const TextDocumentPositionParams if (callback) search->makeNonInteractive(callback); - connect(search, &Core::SearchResult::activated, [](const Core::SearchResultItem &item) { + connect(search, &Core::SearchResult::activated, [](const Utils::SearchResultItem &item) { Core::EditorManager::openEditorAtSearchResult(item); }); connect(search, &Core::SearchResult::replaceTextChanged, this, [this, search, positionParams]() { @@ -524,7 +524,7 @@ Core::SearchResult *SymbolSupport::createSearch(const TextDocumentPositionParams connect(search, &Core::SearchResult::replaceButtonClicked, this, [this, search, resetConnection](const QString & /*replaceText*/, - const QList &checkedItems) { + const QList &checkedItems) { applyRename(checkedItems, search); disconnect(resetConnection); }); @@ -571,12 +571,12 @@ void SymbolSupport::handleRenameResponse(Core::SearchResult *search, } } -void SymbolSupport::applyRename(const QList &checkedItems, +void SymbolSupport::applyRename(const QList &checkedItems, Core::SearchResult *search) { QSet affectedNonOpenFilePaths; QMap> editsForDocuments; - for (const Core::SearchResultItem &item : checkedItems) { + for (const Utils::SearchResultItem &item : checkedItems) { const auto filePath = Utils::FilePath::fromString(item.path().value(0)); if (!m_client->documentForFilePath(filePath)) affectedNonOpenFilePaths << filePath; @@ -616,12 +616,12 @@ QString SymbolSupport::derivePlaceholder(const QString &oldSymbol, const QString return m_defaultSymbolMapper ? m_defaultSymbolMapper(oldSymbol) : oldSymbol; } -Core::Search::TextRange SymbolSupport::convertRange(const Range &range) +Utils::Search::TextRange SymbolSupport::convertRange(const Range &range) { - auto convertPosition = [](const Position &pos) { - return Core::Search::TextPosition(pos.line() + 1, pos.character()); + const auto convertPosition = [](const Position &pos) { + return Utils::Search::TextPosition{pos.line() + 1, pos.character()}; }; - return Core::Search::TextRange(convertPosition(range.start()), convertPosition(range.end())); + return {convertPosition(range.start()), convertPosition(range.end())}; } void SymbolSupport::setDefaultRenamingSymbolMapper(const SymbolMapper &mapper) diff --git a/src/plugins/languageclient/languageclientsymbolsupport.h b/src/plugins/languageclient/languageclientsymbolsupport.h index a4b910a9dbd..c9960c5c1c3 100644 --- a/src/plugins/languageclient/languageclientsymbolsupport.h +++ b/src/plugins/languageclient/languageclientsymbolsupport.h @@ -5,18 +5,15 @@ #include "languageclient_global.h" -#include #include #include +#include + #include -namespace Core { -class SearchResult; -class SearchResultItem; -} - +namespace Core { class SearchResult; } namespace LanguageServerProtocol { class MessageId; } namespace LanguageClient { @@ -46,7 +43,7 @@ public: const std::function &callback = {}, bool preferLowerCaseFileNames = true); - static Core::Search::TextRange convertRange(const LanguageServerProtocol::Range &range); + static Utils::Search::TextRange convertRange(const LanguageServerProtocol::Range &range); static QStringList getFileContents(const Utils::FilePath &filePath); using SymbolMapper = std::function; @@ -76,7 +73,7 @@ private: const std::function &callback, bool preferLowerCaseFileNames); void handleRenameResponse(Core::SearchResult *search, const LanguageServerProtocol::RenameRequest::Response &response); - void applyRename(const QList &checkedItems, Core::SearchResult *search); + void applyRename(const QList &checkedItems, Core::SearchResult *search); QString derivePlaceholder(const QString &oldSymbol, const QString &newSymbol); Client *m_client = nullptr; diff --git a/src/plugins/qmljseditor/qmljsfindreferences.cpp b/src/plugins/qmljseditor/qmljsfindreferences.cpp index 72e4f7c35d2..a660dbbb986 100644 --- a/src/plugins/qmljseditor/qmljsfindreferences.cpp +++ b/src/plugins/qmljseditor/qmljsfindreferences.cpp @@ -992,7 +992,7 @@ void FindReferences::displayResults(int first, int last) this, &FindReferences::onReplaceButtonClicked); } connect(m_currentSearch.data(), &SearchResult::activated, - [](const Core::SearchResultItem& item) { + [](const Utils::SearchResultItem& item) { Core::EditorManager::openEditorAtSearchResult(item); }); connect(m_currentSearch.data(), &SearchResult::canceled, this, &FindReferences::cancel); @@ -1013,7 +1013,7 @@ void FindReferences::displayResults(int first, int last) } for (int index = first; index != last; ++index) { Usage result = m_watcher.future().resultAt(index); - SearchResultItem item; + Utils::SearchResultItem item; item.setFilePath(result.path); item.setLineText(result.lineText); item.setMainRange(result.line, result.col, result.len); @@ -1041,7 +1041,8 @@ void FindReferences::setPaused(bool paused) m_watcher.setPaused(paused); } -void FindReferences::onReplaceButtonClicked(const QString &text, const QList &items, bool preserveCase) +void FindReferences::onReplaceButtonClicked(const QString &text, + const QList &items, bool preserveCase) { const Utils::FilePaths filePaths = TextEditor::BaseFileFind::replaceAll(text, items, diff --git a/src/plugins/qmljseditor/qmljsfindreferences.h b/src/plugins/qmljseditor/qmljsfindreferences.h index 22bdff0a954..b4040f080b3 100644 --- a/src/plugins/qmljseditor/qmljsfindreferences.h +++ b/src/plugins/qmljseditor/qmljsfindreferences.h @@ -7,6 +7,7 @@ #include #include +#include #include #include @@ -14,10 +15,7 @@ QT_FORWARD_DECLARE_CLASS(QTimer) -namespace Core { -class SearchResultItem; -class SearchResult; -} // namespace Core +namespace Core { class SearchResult; } namespace QmlJSEditor { @@ -64,7 +62,8 @@ private: void searchFinished(); void cancel(); void setPaused(bool paused); - void onReplaceButtonClicked(const QString &text, const QList &items, bool preserveCase); + void onReplaceButtonClicked(const QString &text, const QList &items, + bool preserveCase); QPointer m_currentSearch; QFutureWatcher m_watcher; diff --git a/src/plugins/silversearcher/findinfilessilversearcher.h b/src/plugins/silversearcher/findinfilessilversearcher.h index 3a5363d7137..af59e3d4b79 100644 --- a/src/plugins/silversearcher/findinfilessilversearcher.h +++ b/src/plugins/silversearcher/findinfilessilversearcher.h @@ -33,7 +33,7 @@ public: void writeSettings(QSettings *settings) const override; QFuture executeSearch( const TextEditor::FileFindParameters ¶meters, TextEditor::BaseFileFind *) override; - Core::IEditor *openEditor(const Core::SearchResultItem &item, + Core::IEditor *openEditor(const Utils::SearchResultItem &item, const TextEditor::FileFindParameters ¶meters) override; private: diff --git a/src/plugins/texteditor/basefilefind.cpp b/src/plugins/texteditor/basefilefind.cpp index f23d52ccb5e..5dabbda05b1 100644 --- a/src/plugins/texteditor/basefilefind.cpp +++ b/src/plugins/texteditor/basefilefind.cpp @@ -51,7 +51,7 @@ public: QVariant parameters() const override { return {}; } void readSettings(QSettings * /*settings*/) override {} void writeSettings(QSettings * /*settings*/) const override {} - QFuture executeSearch( + QFuture executeSearch( const TextEditor::FileFindParameters ¶meters, BaseFileFind *baseFileFind) override { @@ -65,7 +65,7 @@ public: TextDocument::openedTextDocumentContents()); } - Core::IEditor *openEditor(const Core::SearchResultItem &/*item*/, + Core::IEditor *openEditor(const SearchResultItem &/*item*/, const TextEditor::FileFindParameters &/*parameters*/) override { return nullptr; diff --git a/src/plugins/texteditor/basefilefind.h b/src/plugins/texteditor/basefilefind.h index 71811978146..53d085662a1 100644 --- a/src/plugins/texteditor/basefilefind.h +++ b/src/plugins/texteditor/basefilefind.h @@ -4,20 +4,24 @@ #pragma once #include "texteditor_global.h" -#include #include #include +#include +#include + #include -namespace Utils { class FileIterator; } namespace Core { class IEditor; class SearchResult; -class SearchResultItem; } // namespace Core +namespace Utils { +class FileIterator; +} + namespace TextEditor { namespace Internal { @@ -54,7 +58,7 @@ public: virtual void writeSettings(QSettings *settings) const = 0; virtual QFuture executeSearch( const FileFindParameters ¶meters, BaseFileFind *baseFileFind) = 0; - virtual Core::IEditor *openEditor(const Core::SearchResultItem &item, + virtual Core::IEditor *openEditor(const Utils::SearchResultItem &item, const FileFindParameters ¶meters) = 0; bool isEnabled() const; void setEnabled(bool enabled); @@ -82,7 +86,7 @@ public: /* returns the list of unique files that were passed in items */ static Utils::FilePaths replaceAll(const QString &txt, - const QList &items, + const QList &items, bool preserveCase = false); virtual Utils::FileIterator *files(const QStringList &nameFilters, const QStringList &exclusionFilters, @@ -111,9 +115,9 @@ signals: void currentSearchEngineChanged(); private: - void openEditor(Core::SearchResult *result, const Core::SearchResultItem &item); + void openEditor(Core::SearchResult *result, const Utils::SearchResultItem &item); void doReplace(const QString &txt, - const QList &items, + const QList &items, bool preserveCase); void hideHighlightAll(bool visible); void searchAgain(Core::SearchResult *search); diff --git a/tests/unit/unittest/compare-operators.h b/tests/unit/unittest/compare-operators.h index dc3b3357a2e..891fdfec034 100644 --- a/tests/unit/unittest/compare-operators.h +++ b/tests/unit/unittest/compare-operators.h @@ -3,9 +3,9 @@ #pragma once -#include +#include -namespace Core { +namespace Utils { namespace Search { inline