Utils: Move SearchResultItem/Color into Utils

It's going to be reused inside FileSearch.

Change-Id: I8993d7158ff31c311c2283d32bc43465a8946a52
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
Jarek Kobus
2023-05-05 15:51:11 +02:00
parent 2c61eac1cb
commit 8b3aa900da
38 changed files with 266 additions and 265 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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 <utils/filepath.h>
#include <utils/hostosinfo.h>
#include <QColor>
#include <QHash>
#include <QIcon>
#include <QStringList>
#include <QVariant>
#include <optional>
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<SearchResultColor::Style, SearchResultColor>;
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<QString> containingFunctionName() const { return m_containingFunctionName; }
void setContainingFunctionName(std::optional<QString> containingFunctionName)
void setContainingFunctionName(const std::optional<QString> &containingFunctionName)
{
m_containingFunctionName = std::move(containingFunctionName);
m_containingFunctionName = containingFunctionName;
}
private:
@@ -126,7 +115,7 @@ private:
std::optional<QString> 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)

View File

@@ -275,6 +275,8 @@ Project {
"savefile.cpp",
"savefile.h",
"scopedswap.h",
"searchresultitem.cpp",
"searchresultitem.h",
"set_algorithm.h",
"settingsaccessor.cpp",
"settingsaccessor.h",

View File

@@ -3,12 +3,12 @@
#pragma once
#include <coreplugin/find/searchresultitem.h>
#include <cppeditor/baseeditordocumentparser.h>
#include <cppeditor/cppcodemodelsettings.h>
#include <cppeditor/cursorineditor.h>
#include <languageclient/client.h>
#include <utils/link.h>
#include <utils/searchresultitem.h>
#include <QVersionNumber>
@@ -119,7 +119,7 @@ public:
signals:
void indexingFinished();
void foundReferences(const QList<Core::SearchResultItem> &items);
void foundReferences(const QList<Utils::SearchResultItem> &items);
void findUsagesDone();
void helpItemGathered(const Core::HelpItem &helpItem);
void highlightingResultsReady(const TextEditor::HighlightingResults &results,

View File

@@ -3,9 +3,9 @@
#pragma once
#include <coreplugin/find/searchresultitem.h>
#include <cppeditor/cursorineditor.h>
#include <utils/link.h>
#include <utils/searchresultitem.h>
#include <QObject>
@@ -35,7 +35,7 @@ public:
~ClangdFindReferences();
signals:
void foundReferences(const QList<Core::SearchResultItem> &items);
void foundReferences(const QList<Utils::SearchResultItem> &items);
void done();
private:

View File

@@ -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<Range> 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<int, int> 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<BaseTextEditor *>(
EditorManager::openEditorAt({doc->filePath(), line, column - 1}));
QVERIFY(editor);

View File

@@ -4,11 +4,11 @@
#pragma once
#include <cppeditor/cpptoolstestcase.h>
#include <coreplugin/find/searchresultitem.h>
#include <texteditor/blockrange.h>
#include <texteditor/codeassist/genericproposal.h>
#include <texteditor/semantichighlighter.h>
#include <utils/fileutils.h>
#include <utils/searchresultitem.h>
#include <QHash>
#include <QObject>
@@ -74,7 +74,7 @@ private slots:
void test();
private:
QList<Core::SearchResultItem> m_actualResults;
QList<Utils::SearchResultItem> m_actualResults;
};
class ClangdTestFollowSymbol : public ClangdTest

View File

@@ -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

View File

@@ -35,6 +35,7 @@
#include <utils/mimeutils.h>
#include <utils/pathchooser.h>
#include <utils/savefile.h>
#include <utils/searchresultitem.h>
#include <utils/stringutils.h>
#include <utils/theme/theme.h>
#include <utils/theme/theme_p.h>
@@ -71,7 +72,7 @@ void CorePlugin::setupSystemEnvironment()
CorePlugin::CorePlugin()
{
qRegisterMetaType<Id>();
qRegisterMetaType<Core::Search::TextPosition>();
qRegisterMetaType<Utils::Search::TextPosition>();
qRegisterMetaType<Utils::CommandLine>();
qRegisterMetaType<Utils::FilePath>();
qRegisterMetaType<Utils::Environment>();

View File

@@ -306,8 +306,6 @@ Project {
"itemviewfind.h",
"optionspopup.cpp",
"optionspopup.h",
"searchresultcolor.h",
"searchresultitem.h",
"searchresulttreeitemdelegate.cpp",
"searchresulttreeitemdelegate.h",
"searchresulttreeitemroles.h",

View File

@@ -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 <utils/mimeutils.h>
#include <utils/overridecursor.h>
#include <utils/qtcassert.h>
#include <utils/searchresultitem.h>
#include <utils/stringutils.h>
#include <utils/utilsicons.h>

View File

@@ -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);

View File

@@ -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 <QColor>
#include <QHash>
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<SearchResultColor::Style, SearchResultColor>;
} // namespace Core

View File

@@ -3,10 +3,12 @@
#include "searchresulttreeitems.h"
#include <utils/searchresultitem.h>
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);
}

View File

@@ -5,8 +5,7 @@
#include "searchresultwindow.h"
#include <QString>
#include <QList>
#include <utils/searchresultitem.h>
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;

View File

@@ -6,12 +6,15 @@
#include "searchresulttreeitemroles.h"
#include <utils/algorithm.h>
#include <utils/searchresultitem.h>
#include <QApplication>
#include <QFont>
#include <QFontMetrics>
#include <QDebug>
using namespace Utils;
namespace Core {
namespace Internal {

View File

@@ -4,7 +4,6 @@
#pragma once
#include "searchresultwindow.h"
#include "searchresultcolor.h"
#include <QFont>
#include <QSortFilterProxyModel>
@@ -25,8 +24,9 @@ public:
void setFilter(SearchResultFilter *filter);
void setShowReplaceUI(bool show);
void setTextEditorFont(const QFont &font, const SearchResultColors &colors);
QList<QModelIndex> addResults(const QList<SearchResultItem> &items, SearchResult::AddMode mode);
void setTextEditorFont(const QFont &font, const Utils::SearchResultColors &colors);
QList<QModelIndex> addResults(const QList<Utils::SearchResultItem> &items,
SearchResult::AddMode mode);
void clear();
QModelIndex next(const QModelIndex &idx, bool includeGenerated = false,
bool *wrapped = nullptr) const;

View File

@@ -7,11 +7,14 @@
#include "searchresulttreeitemdelegate.h"
#include <utils/qtcassert.h>
#include <utils/searchresultitem.h>
#include <QHeaderView>
#include <QKeyEvent>
#include <QVBoxLayout>
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)
{

View File

@@ -6,9 +6,9 @@
#include "searchresultwindow.h"
#include <utils/itemviews.h>
#include <utils/searchresultitem.h>
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<SearchResultItem> &items, SearchResult::AddMode mode);
void addResults(const QList<Utils::SearchResultItem> &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();

View File

@@ -6,6 +6,7 @@
#include "searchresultwindow.h"
#include <utils/infobar.h>
#include <utils/searchresultitem.h>
#include <QWidget>
@@ -33,7 +34,7 @@ public:
QWidget *additionalReplaceWidget() const;
void setAdditionalReplaceWidget(QWidget *widget);
void addResults(const QList<SearchResultItem> &items, SearchResult::AddMode mode);
void addResults(const QList<Utils::SearchResultItem> &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<Core::SearchResultItem> &checkedItems, bool preserveCase);
void activated(const Utils::SearchResultItem &item);
void replaceButtonClicked(const QString &replaceText,
const QList<Utils::SearchResultItem> &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<SearchResultItem> checkedItems() const;
QList<Utils::SearchResultItem> checkedItems() const;
void updateMatchesFoundLabel();
SearchResultTreeView *m_searchResultTreeView = nullptr;

View File

@@ -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<SearchResult *> 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<Core::SearchResultItem> &checkedItems,
const QList<Utils::SearchResultItem> &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<SearchResultItem> &items, AddMode mode)
void SearchResult::addResults(const QList<Utils::SearchResultItem> &items, AddMode mode)
{
m_widget->addResults(items, mode);
emit countChanged(m_widget->count());

View File

@@ -3,11 +3,10 @@
#pragma once
#include "searchresultcolor.h"
#include "searchresultitem.h"
#include <coreplugin/ioutputpane.h>
#include <utils/searchresultitem.h>
#include <QVariant>
#include <QStringList>
#include <QIcon>
@@ -19,6 +18,7 @@ class QFont;
QT_END_NAMESPACE
namespace Core {
namespace Internal {
class SearchResultWindowPrivate;
class SearchResultWidget;
@@ -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<SearchResultItem> &items, AddMode mode);
void addResult(const Utils::SearchResultItem &item);
void addResults(const QList<Utils::SearchResultItem> &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<Core::SearchResultItem> &checkedItems, bool preserveCase);
void activated(const Utils::SearchResultItem &item);
void replaceButtonClicked(const QString &replaceText, const QList<Utils::SearchResultItem> &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();

View File

@@ -743,8 +743,7 @@ void CppFindReferences::findMacroUses(const CPlusPlus::Macro &macro, const QStri
setupSearch(search);
SearchResultWindow::instance()->popup(IOutputPane::ModeSwitch | IOutputPane::WithFocus);
connect(search, &SearchResult::activated,
[](const Core::SearchResultItem& item) {
connect(search, &SearchResult::activated, search, [](const SearchResultItem &item) {
Core::EditorManager::openEditorAtSearchResult(item);
});

View File

@@ -9,30 +9,29 @@
#include <cplusplus/FindUsages.h>
#include <utils/filepath.h>
#include <utils/link.h>
#include <utils/searchresultitem.h>
#include <QObject>
#include <QPointer>
#include <QFuture>
#include <QPointer>
#include <functional>
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<Core::SearchResultItem> &items, bool preserveCase);
const QList<Utils::SearchResultItem> &items, bool preserveCase);
void searchAgain(Core::SearchResult *search);
void findUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context,

View File

@@ -10,13 +10,13 @@
#include "cppsourceprocessor.h"
#include "searchsymbols.h"
#include <coreplugin/find/searchresultitem.h>
#include <coreplugin/progressmanager/progressmanager.h>
#include <cplusplus/LookupContext.h>
#include <utils/async.h>
#include <utils/filepath.h>
#include <utils/searchresultitem.h>
#include <utils/stringutils.h>
#include <utils/temporarydirectory.h>
@@ -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<void> &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<void> &promise, const ParseParams params)
} // anonymous namespace
void SymbolSearcher::runSearch(QPromise<Core::SearchResultItem> &promise)
void SymbolSearcher::runSearch(QPromise<SearchResultItem> &promise)
{
promise.setProgressRange(0, m_snapshot.size());
promise.setProgressValue(0);
@@ -264,7 +264,7 @@ void SymbolSearcher::runSearch(QPromise<Core::SearchResultItem> &promise)
if (promise.isCanceled())
break;
if (m_fileNames.isEmpty() || m_fileNames.contains(it.value()->filePath().path())) {
QVector<Core::SearchResultItem> resultItems;
QList<SearchResultItem> 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<Core::SearchResultItem> &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<Core::SearchResultItem> &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;

View File

@@ -11,7 +11,7 @@
#include <QFuture>
namespace Core { class SearchResultItem; }
namespace Utils { class SearchResultItem; }
namespace CppEditor {
@@ -44,7 +44,7 @@ public:
};
SymbolSearcher(const SymbolSearcher::Parameters &parameters, const QSet<QString> &fileNames);
void runSearch(QPromise<Core::SearchResultItem> &promise);
void runSearch(QPromise<Utils::SearchResultItem> &promise);
private:
const CPlusPlus::Snapshot m_snapshot;

View File

@@ -35,10 +35,10 @@ public:
return m_symbolName == other.m_symbolName && m_scope == other.m_scope;
}
static ResultDataList fromSearchResultList(const QList<Core::SearchResultItem> &entries)
static ResultDataList fromSearchResultList(const QList<Utils::SearchResultItem> &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> symbolSearcher(
new SymbolSearcher(searchParameters, QSet<QString>{testFile}));
QFuture<Core::SearchResultItem> search
QFuture<Utils::SearchResultItem> search
= Utils::asyncRun(&SymbolSearcher::runSearch, symbolSearcher.data());
search.waitForFinished();
ResultDataList results = ResultData::fromSearchResultList(search.results());

View File

@@ -6,7 +6,6 @@
#include "searchsymbols.h"
#include <coreplugin/find/ifindfilter.h>
#include <coreplugin/find/searchresultitem.h>
#include <coreplugin/find/searchresultwindow.h>
#include <QFutureWatcher>
@@ -16,6 +15,7 @@
#include <QRadioButton>
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<Core::SearchResultItem> *watcher, int begin, int end);
void finish(QFutureWatcher<Core::SearchResultItem> *watcher);
void addResults(QFutureWatcher<Utils::SearchResultItem> *watcher, int begin, int end);
void finish(QFutureWatcher<Utils::SearchResultItem> *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<QFutureWatcher<Core::SearchResultItem> *, QPointer<Core::SearchResult> > m_watchers;
QMap<QFutureWatcher<Utils::SearchResultItem> *, QPointer<Core::SearchResult> > m_watchers;
QPointer<Core::SearchResult> m_currentSearch;
SearchSymbols::SymbolTypes m_symbolsToSearch;
SearchScope m_scope;

View File

@@ -5,9 +5,14 @@
#include <texteditor/basefilefind.h>
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<Utils::FileSearchResultList> executeSearch(
const TextEditor::FileFindParameters &parameters,
TextEditor::BaseFileFind *baseFileFind) override;
Core::IEditor *openEditor(const Core::SearchResultItem &item,
Core::IEditor *openEditor(const Utils::SearchResultItem &item,
const TextEditor::FileFindParameters &parameters) override;
private:

View File

@@ -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<Core::SearchResultItem> generateSearchResultItems(
QList<Utils::SearchResultItem> generateSearchResultItems(
const QMap<Utils::FilePath, QList<ItemData>> &rangesInDocument,
Core::SearchResult *search = nullptr,
bool limitToProjects = false)
{
QList<Core::SearchResultItem> result;
QList<Utils::SearchResultItem> result;
const bool renaming = search && search->supportsReplace();
QString oldSymbolName;
QVariantList userData;
@@ -233,7 +233,7 @@ QList<Core::SearchResultItem> 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<Core::SearchResultItem> generateSearchResultItems(
return result;
}
QList<Core::SearchResultItem> generateSearchResultItems(
QList<Utils::SearchResultItem> generateSearchResultItems(
const LanguageClientArray<Location> &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<Core::SearchResultItem> generateReplaceItems(const WorkspaceEdit &edits,
QList<Utils::SearchResultItem> 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<Core::SearchResultItem> &checkedItems) {
const QList<Utils::SearchResultItem> &checkedItems) {
applyRename(checkedItems, search);
disconnect(resetConnection);
});
@@ -571,12 +571,12 @@ void SymbolSupport::handleRenameResponse(Core::SearchResult *search,
}
}
void SymbolSupport::applyRename(const QList<Core::SearchResultItem> &checkedItems,
void SymbolSupport::applyRename(const QList<Utils::SearchResultItem> &checkedItems,
Core::SearchResult *search)
{
QSet<Utils::FilePath> affectedNonOpenFilePaths;
QMap<Utils::FilePath, QList<TextEdit>> 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)

View File

@@ -5,18 +5,15 @@
#include "languageclient_global.h"
#include <coreplugin/find/searchresultitem.h>
#include <texteditor/textdocument.h>
#include <languageserverprotocol/languagefeatures.h>
#include <utils/searchresultitem.h>
#include <functional>
namespace Core {
class SearchResult;
class SearchResultItem;
}
namespace Core { class SearchResult; }
namespace LanguageServerProtocol { class MessageId; }
namespace LanguageClient {
@@ -46,7 +43,7 @@ public:
const std::function<void()> &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<QString(const QString &)>;
@@ -76,7 +73,7 @@ private:
const std::function<void()> &callback, bool preferLowerCaseFileNames);
void handleRenameResponse(Core::SearchResult *search,
const LanguageServerProtocol::RenameRequest::Response &response);
void applyRename(const QList<Core::SearchResultItem> &checkedItems, Core::SearchResult *search);
void applyRename(const QList<Utils::SearchResultItem> &checkedItems, Core::SearchResult *search);
QString derivePlaceholder(const QString &oldSymbol, const QString &newSymbol);
Client *m_client = nullptr;

View File

@@ -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<SearchResultItem> &items, bool preserveCase)
void FindReferences::onReplaceButtonClicked(const QString &text,
const QList<Utils::SearchResultItem> &items, bool preserveCase)
{
const Utils::FilePaths filePaths = TextEditor::BaseFileFind::replaceAll(text,
items,

View File

@@ -7,6 +7,7 @@
#include <utils/filepath.h>
#include <utils/futuresynchronizer.h>
#include <utils/searchresultitem.h>
#include <QObject>
#include <QFutureWatcher>
@@ -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<Core::SearchResultItem> &items, bool preserveCase);
void onReplaceButtonClicked(const QString &text, const QList<Utils::SearchResultItem> &items,
bool preserveCase);
QPointer<Core::SearchResult> m_currentSearch;
QFutureWatcher<Usage> m_watcher;

View File

@@ -33,7 +33,7 @@ public:
void writeSettings(QSettings *settings) const override;
QFuture<Utils::FileSearchResultList> executeSearch(
const TextEditor::FileFindParameters &parameters, TextEditor::BaseFileFind *) override;
Core::IEditor *openEditor(const Core::SearchResultItem &item,
Core::IEditor *openEditor(const Utils::SearchResultItem &item,
const TextEditor::FileFindParameters &parameters) override;
private:

View File

@@ -51,7 +51,7 @@ public:
QVariant parameters() const override { return {}; }
void readSettings(QSettings * /*settings*/) override {}
void writeSettings(QSettings * /*settings*/) const override {}
QFuture<Utils::FileSearchResultList> executeSearch(
QFuture<FileSearchResultList> executeSearch(
const TextEditor::FileFindParameters &parameters,
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;

View File

@@ -4,20 +4,24 @@
#pragma once
#include "texteditor_global.h"
#include <utils/filesearch.h>
#include <coreplugin/find/ifindfilter.h>
#include <coreplugin/find/searchresultwindow.h>
#include <utils/filesearch.h>
#include <utils/searchresultitem.h>
#include <QFuture>
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<Utils::FileSearchResultList> executeSearch(
const FileFindParameters &parameters, BaseFileFind *baseFileFind) = 0;
virtual Core::IEditor *openEditor(const Core::SearchResultItem &item,
virtual Core::IEditor *openEditor(const Utils::SearchResultItem &item,
const FileFindParameters &parameters) = 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<Core::SearchResultItem> &items,
const QList<Utils::SearchResultItem> &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<Core::SearchResultItem> &items,
const QList<Utils::SearchResultItem> &items,
bool preserveCase);
void hideHighlightAll(bool visible);
void searchAgain(Core::SearchResult *search);

View File

@@ -3,9 +3,9 @@
#pragma once
#include <coreplugin/find/searchresultitem.h>
#include <utils/searchresultitem.h>
namespace Core {
namespace Utils {
namespace Search {
inline