forked from qt-creator/qt-creator
SearchResultItem: Introduce SearchResultItems
And reuse it. Change-Id: Ia052297340f2bf2478fbfdb2427b45e30bd9d067 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
This commit is contained in:
@@ -115,7 +115,10 @@ private:
|
|||||||
std::optional<QString> m_containingFunctionName;
|
std::optional<QString> m_containingFunctionName;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
using SearchResultItems = QList<SearchResultItem>;
|
||||||
|
|
||||||
} // namespace Utils
|
} // namespace Utils
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(Utils::SearchResultItem)
|
Q_DECLARE_METATYPE(Utils::SearchResultItem)
|
||||||
|
Q_DECLARE_METATYPE(Utils::SearchResultItems)
|
||||||
Q_DECLARE_METATYPE(Utils::Search::TextPosition)
|
Q_DECLARE_METATYPE(Utils::Search::TextPosition)
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ public:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void indexingFinished();
|
void indexingFinished();
|
||||||
void foundReferences(const QList<Utils::SearchResultItem> &items);
|
void foundReferences(const Utils::SearchResultItems &items);
|
||||||
void findUsagesDone();
|
void findUsagesDone();
|
||||||
void helpItemGathered(const Core::HelpItem &helpItem);
|
void helpItemGathered(const Core::HelpItem &helpItem);
|
||||||
void highlightingResultsReady(const TextEditor::HighlightingResults &results,
|
void highlightingResultsReady(const TextEditor::HighlightingResults &results,
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public:
|
|||||||
const Position linkAsPosition;
|
const Position linkAsPosition;
|
||||||
const QPointer<SearchResult> search;
|
const QPointer<SearchResult> search;
|
||||||
const LinkHandler callback;
|
const LinkHandler callback;
|
||||||
QList<SearchResultItem> declDefItems;
|
SearchResultItems declDefItems;
|
||||||
bool openedExtraFileForLink = false;
|
bool openedExtraFileForLink = false;
|
||||||
bool declHasUsedTag = false;
|
bool declHasUsedTag = false;
|
||||||
bool recursiveCallDetected = false;
|
bool recursiveCallDetected = false;
|
||||||
@@ -89,7 +89,7 @@ public:
|
|||||||
const SearchResult *search,
|
const SearchResult *search,
|
||||||
const ReplacementData &replacementData,
|
const ReplacementData &replacementData,
|
||||||
const QString &newSymbolName,
|
const QString &newSymbolName,
|
||||||
const QList<SearchResultItem> &checkedItems,
|
const SearchResultItems &checkedItems,
|
||||||
bool preserveCase);
|
bool preserveCase);
|
||||||
void handleFindUsagesResult(const QList<Location> &locations);
|
void handleFindUsagesResult(const QList<Location> &locations);
|
||||||
void finishSearch();
|
void finishSearch();
|
||||||
@@ -143,7 +143,7 @@ ClangdFindReferences::ClangdFindReferences(ClangdClient *client, TextDocument *d
|
|||||||
d->search->setAdditionalReplaceWidget(renameFilesCheckBox);
|
d->search->setAdditionalReplaceWidget(renameFilesCheckBox);
|
||||||
const auto renameHandler =
|
const auto renameHandler =
|
||||||
[search = d->search](const QString &newSymbolName,
|
[search = d->search](const QString &newSymbolName,
|
||||||
const QList<SearchResultItem> &checkedItems,
|
const SearchResultItems &checkedItems,
|
||||||
bool preserveCase) {
|
bool preserveCase) {
|
||||||
const auto replacementData = search->userData().value<ReplacementData>();
|
const auto replacementData = search->userData().value<ReplacementData>();
|
||||||
Private::handleRenameRequest(search, replacementData, newSymbolName, checkedItems,
|
Private::handleRenameRequest(search, replacementData, newSymbolName, checkedItems,
|
||||||
@@ -151,7 +151,7 @@ ClangdFindReferences::ClangdFindReferences(ClangdClient *client, TextDocument *d
|
|||||||
};
|
};
|
||||||
connect(d->search, &SearchResult::replaceButtonClicked, renameHandler);
|
connect(d->search, &SearchResult::replaceButtonClicked, renameHandler);
|
||||||
}
|
}
|
||||||
connect(d->search, &SearchResult::activated, [](const SearchResultItem& item) {
|
connect(d->search, &SearchResult::activated, [](const SearchResultItem &item) {
|
||||||
EditorManager::openEditorAtSearchResult(item);
|
EditorManager::openEditorAtSearchResult(item);
|
||||||
});
|
});
|
||||||
if (d->search->isInteractive())
|
if (d->search->isInteractive())
|
||||||
@@ -243,7 +243,7 @@ void ClangdFindReferences::Private::handleRenameRequest(
|
|||||||
const SearchResult *search,
|
const SearchResult *search,
|
||||||
const ReplacementData &replacementData,
|
const ReplacementData &replacementData,
|
||||||
const QString &newSymbolName,
|
const QString &newSymbolName,
|
||||||
const QList<SearchResultItem> &checkedItems,
|
const SearchResultItems &checkedItems,
|
||||||
bool preserveCase)
|
bool preserveCase)
|
||||||
{
|
{
|
||||||
const Utils::FilePaths filePaths = BaseFileFind::replaceAll(newSymbolName, checkedItems,
|
const Utils::FilePaths filePaths = BaseFileFind::replaceAll(newSymbolName, checkedItems,
|
||||||
@@ -391,7 +391,7 @@ static Usage::Tags getUsageType(const ClangdAstPath &path, const QString &search
|
|||||||
void ClangdFindReferences::Private::addSearchResultsForFile(const FilePath &file,
|
void ClangdFindReferences::Private::addSearchResultsForFile(const FilePath &file,
|
||||||
const ReferencesFileData &fileData)
|
const ReferencesFileData &fileData)
|
||||||
{
|
{
|
||||||
QList<SearchResultItem> items;
|
SearchResultItems items;
|
||||||
qCDebug(clangdLog) << file << "has valid AST:" << fileData.ast.isValid();
|
qCDebug(clangdLog) << file << "has valid AST:" << fileData.ast.isValid();
|
||||||
const auto expectedDeclTypes = [this]() -> QStringList {
|
const auto expectedDeclTypes = [this]() -> QStringList {
|
||||||
if (checkUnusedData)
|
if (checkUnusedData)
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public:
|
|||||||
~ClangdFindReferences();
|
~ClangdFindReferences();
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void foundReferences(const QList<Utils::SearchResultItem> &items);
|
void foundReferences(const Utils::SearchResultItems &items);
|
||||||
void done();
|
void done();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ void ClangdTestFindReferences::initTestCase()
|
|||||||
ClangdTest::initTestCase();
|
ClangdTest::initTestCase();
|
||||||
CppEditor::codeModelSettings()->setCategorizeFindReferences(true);
|
CppEditor::codeModelSettings()->setCategorizeFindReferences(true);
|
||||||
connect(client(), &ClangdClient::foundReferences, this,
|
connect(client(), &ClangdClient::foundReferences, this,
|
||||||
[this](const QList<SearchResultItem> &results) {
|
[this](const SearchResultItems &results) {
|
||||||
if (results.isEmpty())
|
if (results.isEmpty())
|
||||||
return;
|
return;
|
||||||
if (results.first().path().first().endsWith("defs.h"))
|
if (results.first().path().first().endsWith("defs.h"))
|
||||||
@@ -205,8 +205,7 @@ void ClangdTestFindReferences::test_data()
|
|||||||
{
|
{
|
||||||
QTest::addColumn<QString>("fileName");
|
QTest::addColumn<QString>("fileName");
|
||||||
QTest::addColumn<int>("pos");
|
QTest::addColumn<int>("pos");
|
||||||
using ItemList = QList<SearchResultItem>;
|
QTest::addColumn<SearchResultItems>("expectedResults");
|
||||||
QTest::addColumn<ItemList>("expectedResults");
|
|
||||||
|
|
||||||
static const auto makeItem = [](int line, int column, Usage::Tags tags) {
|
static const auto makeItem = [](int line, int column, Usage::Tags tags) {
|
||||||
SearchResultItem item;
|
SearchResultItem item;
|
||||||
@@ -215,7 +214,7 @@ void ClangdTestFindReferences::test_data()
|
|||||||
return item;
|
return item;
|
||||||
};
|
};
|
||||||
|
|
||||||
QTest::newRow("struct member") << "defs.h" << 55 << ItemList{
|
QTest::newRow("struct member") << "defs.h" << 55 << SearchResultItems{
|
||||||
makeItem(2, 17, Usage::Tag::Read), makeItem(3, 15, Usage::Tag::Declaration),
|
makeItem(2, 17, Usage::Tag::Read), makeItem(3, 15, Usage::Tag::Declaration),
|
||||||
makeItem(6, 17, Usage::Tag::WritableRef), makeItem(8, 11, Usage::Tag::WritableRef),
|
makeItem(6, 17, Usage::Tag::WritableRef), makeItem(8, 11, Usage::Tag::WritableRef),
|
||||||
makeItem(9, 13, Usage::Tag::WritableRef), makeItem(10, 12, Usage::Tag::WritableRef),
|
makeItem(9, 13, Usage::Tag::WritableRef), makeItem(10, 12, Usage::Tag::WritableRef),
|
||||||
@@ -232,23 +231,23 @@ void ClangdTestFindReferences::test_data()
|
|||||||
makeItem(56, 7, Usage::Tag::Write), makeItem(56, 25, Usage::Tags()),
|
makeItem(56, 7, Usage::Tag::Write), makeItem(56, 25, Usage::Tags()),
|
||||||
makeItem(58, 13, Usage::Tag::Read), makeItem(58, 25, Usage::Tag::Read),
|
makeItem(58, 13, Usage::Tag::Read), makeItem(58, 25, Usage::Tag::Read),
|
||||||
makeItem(59, 7, Usage::Tag::Write), makeItem(59, 24, Usage::Tag::Read)};
|
makeItem(59, 7, Usage::Tag::Write), makeItem(59, 24, Usage::Tag::Read)};
|
||||||
QTest::newRow("constructor member initialization") << "defs.h" << 68 << ItemList{
|
QTest::newRow("constructor member initialization") << "defs.h" << 68 << SearchResultItems{
|
||||||
makeItem(2, 10, Usage::Tag::Write), makeItem(4, 8, Usage::Tag::Declaration)};
|
makeItem(2, 10, Usage::Tag::Write), makeItem(4, 8, Usage::Tag::Declaration)};
|
||||||
QTest::newRow("direct member initialization") << "defs.h" << 101 << ItemList{
|
QTest::newRow("direct member initialization") << "defs.h" << 101 << SearchResultItems{
|
||||||
makeItem(5, 21, Initialization), makeItem(45, 16, Usage::Tag::Read)};
|
makeItem(5, 21, Initialization), makeItem(45, 16, Usage::Tag::Read)};
|
||||||
|
|
||||||
ItemList pureVirtualRefs{makeItem(17, 17, Usage::Tag::Declaration),
|
SearchResultItems pureVirtualRefs{makeItem(17, 17, Usage::Tag::Declaration),
|
||||||
makeItem(21, 9, {Usage::Tag::Declaration, Usage::Tag::Override})};
|
makeItem(21, 9, {Usage::Tag::Declaration, Usage::Tag::Override})};
|
||||||
QTest::newRow("pure virtual declaration") << "defs.h" << 420 << pureVirtualRefs;
|
QTest::newRow("pure virtual declaration") << "defs.h" << 420 << pureVirtualRefs;
|
||||||
|
|
||||||
QTest::newRow("pointer variable") << "main.cpp" << 52 << ItemList{
|
QTest::newRow("pointer variable") << "main.cpp" << 52 << SearchResultItems{
|
||||||
makeItem(6, 10, Initialization), makeItem(8, 4, Usage::Tag::Write),
|
makeItem(6, 10, Initialization), makeItem(8, 4, Usage::Tag::Write),
|
||||||
makeItem(10, 4, Usage::Tag::Write), makeItem(24, 5, Usage::Tag::Write),
|
makeItem(10, 4, Usage::Tag::Write), makeItem(24, 5, Usage::Tag::Write),
|
||||||
makeItem(25, 11, Usage::Tag::WritableRef), makeItem(26, 11, Usage::Tag::Read),
|
makeItem(25, 11, Usage::Tag::WritableRef), makeItem(26, 11, Usage::Tag::Read),
|
||||||
makeItem(27, 10, Usage::Tag::WritableRef), makeItem(28, 10, Usage::Tag::Read),
|
makeItem(27, 10, Usage::Tag::WritableRef), makeItem(28, 10, Usage::Tag::Read),
|
||||||
makeItem(29, 11, Usage::Tag::Read), makeItem(30, 15, Usage::Tag::WritableRef),
|
makeItem(29, 11, Usage::Tag::Read), makeItem(30, 15, Usage::Tag::WritableRef),
|
||||||
makeItem(31, 22, Usage::Tag::Read)};
|
makeItem(31, 22, Usage::Tag::Read)};
|
||||||
QTest::newRow("struct variable") << "main.cpp" << 39 << ItemList{
|
QTest::newRow("struct variable") << "main.cpp" << 39 << SearchResultItems{
|
||||||
makeItem(5, 7, Usage::Tag::Declaration), makeItem(6, 15, Usage::Tag::WritableRef),
|
makeItem(5, 7, Usage::Tag::Declaration), makeItem(6, 15, Usage::Tag::WritableRef),
|
||||||
makeItem(8, 9, Usage::Tag::WritableRef), makeItem(9, 11, Usage::Tag::WritableRef),
|
makeItem(8, 9, Usage::Tag::WritableRef), makeItem(9, 11, Usage::Tag::WritableRef),
|
||||||
makeItem(11, 4, Usage::Tag::Write), makeItem(11, 11, Usage::Tag::WritableRef),
|
makeItem(11, 4, Usage::Tag::Write), makeItem(11, 11, Usage::Tag::WritableRef),
|
||||||
@@ -269,7 +268,7 @@ void ClangdTestFindReferences::test_data()
|
|||||||
|
|
||||||
// Some of these are conceptually questionable, as S is a type and thus we cannot "read from"
|
// Some of these are conceptually questionable, as S is a type and thus we cannot "read from"
|
||||||
// or "write to" it. But it probably matches the intuitive user expectation.
|
// or "write to" it. But it probably matches the intuitive user expectation.
|
||||||
QTest::newRow("struct type") << "defs.h" << 7 << ItemList{
|
QTest::newRow("struct type") << "defs.h" << 7 << SearchResultItems{
|
||||||
makeItem(1, 7, Usage::Tag::Declaration),
|
makeItem(1, 7, Usage::Tag::Declaration),
|
||||||
makeItem(2, 4, (Usage::Tags{Usage::Tag::Declaration, Usage::Tag::ConstructorDestructor})),
|
makeItem(2, 4, (Usage::Tags{Usage::Tag::Declaration, Usage::Tag::ConstructorDestructor})),
|
||||||
makeItem(20, 19, Usage::Tags()), makeItem(10, 9, Usage::Tag::WritableRef),
|
makeItem(20, 19, Usage::Tags()), makeItem(10, 9, Usage::Tag::WritableRef),
|
||||||
@@ -281,24 +280,24 @@ void ClangdTestFindReferences::test_data()
|
|||||||
makeItem(58, 10, Usage::Tag::Read), makeItem(58, 22, Usage::Tag::Read),
|
makeItem(58, 10, Usage::Tag::Read), makeItem(58, 22, Usage::Tag::Read),
|
||||||
makeItem(59, 4, Usage::Tag::Write), makeItem(59, 21, Usage::Tag::Read)};
|
makeItem(59, 4, Usage::Tag::Write), makeItem(59, 21, Usage::Tag::Read)};
|
||||||
|
|
||||||
QTest::newRow("struct type 2") << "defs.h" << 450 << ItemList{
|
QTest::newRow("struct type 2") << "defs.h" << 450 << SearchResultItems{
|
||||||
makeItem(20, 7, Usage::Tag::Declaration), makeItem(5, 4, Usage::Tags()),
|
makeItem(20, 7, Usage::Tag::Declaration), makeItem(5, 4, Usage::Tags()),
|
||||||
makeItem(13, 21, Usage::Tags()), makeItem(32, 8, Usage::Tags())};
|
makeItem(13, 21, Usage::Tags()), makeItem(32, 8, Usage::Tags())};
|
||||||
|
|
||||||
QTest::newRow("constructor") << "defs.h" << 627 << ItemList{
|
QTest::newRow("constructor") << "defs.h" << 627 << SearchResultItems{
|
||||||
makeItem(31, 4, (Usage::Tags{Usage::Tag::Declaration, Usage::Tag::ConstructorDestructor})),
|
makeItem(31, 4, (Usage::Tags{Usage::Tag::Declaration, Usage::Tag::ConstructorDestructor})),
|
||||||
makeItem(36, 7, Usage::Tag::ConstructorDestructor)};
|
makeItem(36, 7, Usage::Tag::ConstructorDestructor)};
|
||||||
|
|
||||||
QTest::newRow("subclass") << "defs.h" << 450 << ItemList{
|
QTest::newRow("subclass") << "defs.h" << 450 << SearchResultItems{
|
||||||
makeItem(20, 7, Usage::Tag::Declaration), makeItem(5, 4, Usage::Tags()),
|
makeItem(20, 7, Usage::Tag::Declaration), makeItem(5, 4, Usage::Tags()),
|
||||||
makeItem(13, 21, Usage::Tags()), makeItem(32, 8, Usage::Tags())};
|
makeItem(13, 21, Usage::Tags()), makeItem(32, 8, Usage::Tags())};
|
||||||
QTest::newRow("array variable") << "main.cpp" << 1134 << ItemList{
|
QTest::newRow("array variable") << "main.cpp" << 1134 << SearchResultItems{
|
||||||
makeItem(57, 8, Usage::Tag::Declaration), makeItem(58, 4, Usage::Tag::Write),
|
makeItem(57, 8, Usage::Tag::Declaration), makeItem(58, 4, Usage::Tag::Write),
|
||||||
makeItem(59, 15, Usage::Tag::Read)};
|
makeItem(59, 15, Usage::Tag::Read)};
|
||||||
QTest::newRow("free function") << "defs.h" << 510 << ItemList{
|
QTest::newRow("free function") << "defs.h" << 510 << SearchResultItems{
|
||||||
makeItem(24, 5, Usage::Tag::Declaration), makeItem(19, 4, Usage::Tags()),
|
makeItem(24, 5, Usage::Tag::Declaration), makeItem(19, 4, Usage::Tags()),
|
||||||
makeItem(25, 4, Usage::Tags()), makeItem(60, 26, Usage::Tag::Read)};
|
makeItem(25, 4, Usage::Tags()), makeItem(60, 26, Usage::Tag::Read)};
|
||||||
QTest::newRow("member function") << "defs.h" << 192 << ItemList{
|
QTest::newRow("member function") << "defs.h" << 192 << SearchResultItems{
|
||||||
makeItem(9, 12, Usage::Tag::Declaration), makeItem(40, 8, Usage::Tags())};
|
makeItem(9, 12, Usage::Tag::Declaration), makeItem(40, 8, Usage::Tags())};
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -309,7 +308,7 @@ void ClangdTestFindReferences::test()
|
|||||||
{
|
{
|
||||||
QFETCH(QString, fileName);
|
QFETCH(QString, fileName);
|
||||||
QFETCH(int, pos);
|
QFETCH(int, pos);
|
||||||
QFETCH(QList<SearchResultItem>, expectedResults);
|
QFETCH(SearchResultItems, expectedResults);
|
||||||
|
|
||||||
TextEditor::TextDocument * const doc = document(fileName);
|
TextEditor::TextDocument * const doc = document(fileName);
|
||||||
QVERIFY(doc);
|
QVERIFY(doc);
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ private slots:
|
|||||||
void test();
|
void test();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<Utils::SearchResultItem> m_actualResults;
|
Utils::SearchResultItems m_actualResults;
|
||||||
};
|
};
|
||||||
|
|
||||||
class ClangdTestFollowSymbol : public ClangdTest
|
class ClangdTestFollowSymbol : public ClangdTest
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ public:
|
|||||||
QModelIndex next(const QModelIndex &idx, bool includeGenerated = false, bool *wrapped = nullptr) const;
|
QModelIndex next(const QModelIndex &idx, bool includeGenerated = false, bool *wrapped = nullptr) const;
|
||||||
QModelIndex prev(const QModelIndex &idx, bool includeGenerated = false, bool *wrapped = nullptr) const;
|
QModelIndex prev(const QModelIndex &idx, bool includeGenerated = false, bool *wrapped = nullptr) const;
|
||||||
|
|
||||||
QList<QModelIndex> addResults(const QList<SearchResultItem> &items, SearchResult::AddMode mode);
|
QList<QModelIndex> addResults(const SearchResultItems &items, SearchResult::AddMode mode);
|
||||||
|
|
||||||
static SearchResultTreeItem *treeItemAtIndex(const QModelIndex &idx);
|
static SearchResultTreeItem *treeItemAtIndex(const QModelIndex &idx);
|
||||||
|
|
||||||
@@ -54,7 +54,7 @@ public slots:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
QModelIndex index(SearchResultTreeItem *item) const;
|
QModelIndex index(SearchResultTreeItem *item) const;
|
||||||
void addResultsToCurrentParent(const QList<SearchResultItem> &items, SearchResult::AddMode mode);
|
void addResultsToCurrentParent(const SearchResultItems &items, SearchResult::AddMode mode);
|
||||||
QSet<SearchResultTreeItem *> addPath(const QStringList &path);
|
QSet<SearchResultTreeItem *> addPath(const QStringList &path);
|
||||||
QVariant data(const SearchResultTreeItem *row, int role) const;
|
QVariant data(const SearchResultTreeItem *row, int role) const;
|
||||||
bool setCheckState(const QModelIndex &idx, Qt::CheckState checkState, bool firstCall = true);
|
bool setCheckState(const QModelIndex &idx, Qt::CheckState checkState, bool firstCall = true);
|
||||||
@@ -385,7 +385,8 @@ QSet<SearchResultTreeItem *> SearchResultTreeModel::addPath(const QStringList &p
|
|||||||
return pathNodes;
|
return pathNodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchResultTreeModel::addResultsToCurrentParent(const QList<SearchResultItem> &items, SearchResult::AddMode mode)
|
void SearchResultTreeModel::addResultsToCurrentParent(const SearchResultItems &items,
|
||||||
|
SearchResult::AddMode mode)
|
||||||
{
|
{
|
||||||
if (!m_currentParent)
|
if (!m_currentParent)
|
||||||
return;
|
return;
|
||||||
@@ -436,12 +437,12 @@ static bool lessThanByPath(const SearchResultItem &a, const SearchResultItem &b)
|
|||||||
* Adds the search result to the list of results, creating nodes for the path when
|
* Adds the search result to the list of results, creating nodes for the path when
|
||||||
* necessary.
|
* necessary.
|
||||||
*/
|
*/
|
||||||
QList<QModelIndex> SearchResultTreeModel::addResults(const QList<SearchResultItem> &items, SearchResult::AddMode mode)
|
QList<QModelIndex> SearchResultTreeModel::addResults(const SearchResultItems &items, SearchResult::AddMode mode)
|
||||||
{
|
{
|
||||||
QSet<SearchResultTreeItem *> pathNodes;
|
QSet<SearchResultTreeItem *> pathNodes;
|
||||||
QList<SearchResultItem> sortedItems = items;
|
SearchResultItems sortedItems = items;
|
||||||
std::stable_sort(sortedItems.begin(), sortedItems.end(), lessThanByPath);
|
std::stable_sort(sortedItems.begin(), sortedItems.end(), lessThanByPath);
|
||||||
QList<SearchResultItem> itemSet;
|
SearchResultItems itemSet;
|
||||||
for (const SearchResultItem &item : sortedItems) {
|
for (const SearchResultItem &item : sortedItems) {
|
||||||
m_editorFontIsUsed |= item.useTextEditorFont();
|
m_editorFontIsUsed |= item.useTextEditorFont();
|
||||||
if (!m_currentParent || (m_currentPath != item.path())) {
|
if (!m_currentParent || (m_currentPath != item.path())) {
|
||||||
@@ -580,7 +581,7 @@ void SearchResultFilterModel::setTextEditorFont(const QFont &font, const SearchR
|
|||||||
sourceModel()->setTextEditorFont(font, colors);
|
sourceModel()->setTextEditorFont(font, colors);
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<QModelIndex> SearchResultFilterModel::addResults(const QList<SearchResultItem> &items,
|
QList<QModelIndex> SearchResultFilterModel::addResults(const SearchResultItems &items,
|
||||||
SearchResult::AddMode mode)
|
SearchResult::AddMode mode)
|
||||||
{
|
{
|
||||||
QList<QModelIndex> sourceIndexes = sourceModel()->addResults(items, mode);
|
QList<QModelIndex> sourceIndexes = sourceModel()->addResults(items, mode);
|
||||||
|
|||||||
@@ -25,7 +25,7 @@ public:
|
|||||||
void setFilter(SearchResultFilter *filter);
|
void setFilter(SearchResultFilter *filter);
|
||||||
void setShowReplaceUI(bool show);
|
void setShowReplaceUI(bool show);
|
||||||
void setTextEditorFont(const QFont &font, const Utils::SearchResultColors &colors);
|
void setTextEditorFont(const QFont &font, const Utils::SearchResultColors &colors);
|
||||||
QList<QModelIndex> addResults(const QList<Utils::SearchResultItem> &items,
|
QList<QModelIndex> addResults(const Utils::SearchResultItems &items,
|
||||||
SearchResult::AddMode mode);
|
SearchResult::AddMode mode);
|
||||||
void clear();
|
void clear();
|
||||||
QModelIndex next(const QModelIndex &idx, bool includeGenerated = false,
|
QModelIndex next(const QModelIndex &idx, bool includeGenerated = false,
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ void SearchResultTreeView::clear()
|
|||||||
m_model->clear();
|
m_model->clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchResultTreeView::addResults(const QList<SearchResultItem> &items, SearchResult::AddMode mode)
|
void SearchResultTreeView::addResults(const SearchResultItems &items, SearchResult::AddMode mode)
|
||||||
{
|
{
|
||||||
const QList<QModelIndex> addedParents = m_model->addResults(items, mode);
|
const QList<QModelIndex> addedParents = m_model->addResults(items, mode);
|
||||||
if (m_autoExpandResults && !addedParents.isEmpty()) {
|
if (m_autoExpandResults && !addedParents.isEmpty()) {
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ public:
|
|||||||
void setTabWidth(int tabWidth);
|
void setTabWidth(int tabWidth);
|
||||||
|
|
||||||
SearchResultFilterModel *model() const;
|
SearchResultFilterModel *model() const;
|
||||||
void addResults(const QList<Utils::SearchResultItem> &items, SearchResult::AddMode mode);
|
void addResults(const Utils::SearchResultItems &items, SearchResult::AddMode mode);
|
||||||
void setFilter(SearchResultFilter *filter);
|
void setFilter(SearchResultFilter *filter);
|
||||||
bool hasFilter() const;
|
bool hasFilter() const;
|
||||||
void showFilterWidget(QWidget *parent);
|
void showFilterWidget(QWidget *parent);
|
||||||
|
|||||||
@@ -226,7 +226,7 @@ void SearchResultWidget::setAdditionalReplaceWidget(QWidget *widget)
|
|||||||
m_additionalReplaceWidget = widget;
|
m_additionalReplaceWidget = widget;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SearchResultWidget::addResults(const QList<SearchResultItem> &items, SearchResult::AddMode mode)
|
void SearchResultWidget::addResults(const SearchResultItems &items, SearchResult::AddMode mode)
|
||||||
{
|
{
|
||||||
bool firstItems = (m_count == 0);
|
bool firstItems = (m_count == 0);
|
||||||
m_count += items.size();
|
m_count += items.size();
|
||||||
@@ -496,9 +496,9 @@ void SearchResultWidget::searchAgain()
|
|||||||
emit searchAgainRequested();
|
emit searchAgainRequested();
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<SearchResultItem> SearchResultWidget::checkedItems() const
|
SearchResultItems SearchResultWidget::checkedItems() const
|
||||||
{
|
{
|
||||||
QList<SearchResultItem> result;
|
SearchResultItems result;
|
||||||
SearchResultFilterModel *model = m_searchResultTreeView->model();
|
SearchResultFilterModel *model = m_searchResultTreeView->model();
|
||||||
const int fileCount = model->rowCount();
|
const int fileCount = model->rowCount();
|
||||||
for (int i = 0; i < fileCount; ++i) {
|
for (int i = 0; i < fileCount; ++i) {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public:
|
|||||||
QWidget *additionalReplaceWidget() const;
|
QWidget *additionalReplaceWidget() const;
|
||||||
void setAdditionalReplaceWidget(QWidget *widget);
|
void setAdditionalReplaceWidget(QWidget *widget);
|
||||||
|
|
||||||
void addResults(const QList<Utils::SearchResultItem> &items, SearchResult::AddMode mode);
|
void addResults(const Utils::SearchResultItems &items, SearchResult::AddMode mode);
|
||||||
|
|
||||||
int count() const;
|
int count() const;
|
||||||
bool isSearching() const { return m_searching; }
|
bool isSearching() const { return m_searching; }
|
||||||
@@ -79,7 +79,7 @@ public slots:
|
|||||||
signals:
|
signals:
|
||||||
void activated(const Utils::SearchResultItem &item);
|
void activated(const Utils::SearchResultItem &item);
|
||||||
void replaceButtonClicked(const QString &replaceText,
|
void replaceButtonClicked(const QString &replaceText,
|
||||||
const QList<Utils::SearchResultItem> &checkedItems, bool preserveCase);
|
const Utils::SearchResultItems &checkedItems, bool preserveCase);
|
||||||
void replaceTextChanged(const QString &replaceText);
|
void replaceTextChanged(const QString &replaceText);
|
||||||
void searchAgainRequested();
|
void searchAgainRequested();
|
||||||
void canceled();
|
void canceled();
|
||||||
@@ -103,7 +103,7 @@ private:
|
|||||||
void continueAfterSizeWarning();
|
void continueAfterSizeWarning();
|
||||||
void cancelAfterSizeWarning();
|
void cancelAfterSizeWarning();
|
||||||
|
|
||||||
QList<Utils::SearchResultItem> checkedItems() const;
|
Utils::SearchResultItems checkedItems() const;
|
||||||
void updateMatchesFoundLabel();
|
void updateMatchesFoundLabel();
|
||||||
|
|
||||||
SearchResultTreeView *m_searchResultTreeView = nullptr;
|
SearchResultTreeView *m_searchResultTreeView = nullptr;
|
||||||
|
|||||||
@@ -261,7 +261,7 @@ using namespace Core::Internal;
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
\fn void Core::SearchResult::replaceButtonClicked(const QString &replaceText,
|
\fn void Core::SearchResult::replaceButtonClicked(const QString &replaceText,
|
||||||
const QList<Utils::SearchResultItem> &checkedItems,
|
const Utils::SearchResultItems &checkedItems,
|
||||||
bool preserveCase)
|
bool preserveCase)
|
||||||
|
|
||||||
Indicates that the user initiated a text replace by selecting
|
Indicates that the user initiated a text replace by selecting
|
||||||
@@ -843,7 +843,7 @@ void SearchResult::addResult(const Utils::SearchResultItem &item)
|
|||||||
|
|
||||||
\sa addResult()
|
\sa addResult()
|
||||||
*/
|
*/
|
||||||
void SearchResult::addResults(const QList<Utils::SearchResultItem> &items, AddMode mode)
|
void SearchResult::addResults(const Utils::SearchResultItems &items, AddMode mode)
|
||||||
{
|
{
|
||||||
m_widget->addResults(items, mode);
|
m_widget->addResults(items, mode);
|
||||||
emit countChanged(m_widget->count());
|
emit countChanged(m_widget->count());
|
||||||
|
|||||||
@@ -60,7 +60,7 @@ public:
|
|||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void addResult(const Utils::SearchResultItem &item);
|
void addResult(const Utils::SearchResultItem &item);
|
||||||
void addResults(const QList<Utils::SearchResultItem> &items, AddMode mode);
|
void addResults(const Utils::SearchResultItems &items, AddMode mode);
|
||||||
void setFilter(SearchResultFilter *filter); // Takes ownership
|
void setFilter(SearchResultFilter *filter); // Takes ownership
|
||||||
void finishSearch(bool canceled, const QString &reason = {});
|
void finishSearch(bool canceled, const QString &reason = {});
|
||||||
void setTextToReplace(const QString &textToReplace);
|
void setTextToReplace(const QString &textToReplace);
|
||||||
@@ -71,7 +71,8 @@ public slots:
|
|||||||
|
|
||||||
signals:
|
signals:
|
||||||
void activated(const Utils::SearchResultItem &item);
|
void activated(const Utils::SearchResultItem &item);
|
||||||
void replaceButtonClicked(const QString &replaceText, const QList<Utils::SearchResultItem> &checkedItems, bool preserveCase);
|
void replaceButtonClicked(const QString &replaceText,
|
||||||
|
const Utils::SearchResultItems &checkedItems, bool preserveCase);
|
||||||
void replaceTextChanged(const QString &replaceText);
|
void replaceTextChanged(const QString &replaceText);
|
||||||
void canceled();
|
void canceled();
|
||||||
void paused(bool paused);
|
void paused(bool paused);
|
||||||
|
|||||||
@@ -456,10 +456,8 @@ void CppFindReferences::setupSearch(Core::SearchResult *search)
|
|||||||
std::bind(&CppFindReferences::onReplaceButtonClicked, this, search, _1, _2, _3));
|
std::bind(&CppFindReferences::onReplaceButtonClicked, this, search, _1, _2, _3));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CppFindReferences::onReplaceButtonClicked(Core::SearchResult *search,
|
void CppFindReferences::onReplaceButtonClicked(Core::SearchResult *search, const QString &text,
|
||||||
const QString &text,
|
const SearchResultItems &items, bool preserveCase)
|
||||||
const QList<SearchResultItem> &items,
|
|
||||||
bool preserveCase)
|
|
||||||
{
|
{
|
||||||
const Utils::FilePaths filePaths = TextEditor::BaseFileFind::replaceAll(text, items, preserveCase);
|
const Utils::FilePaths filePaths = TextEditor::BaseFileFind::replaceAll(text, items, preserveCase);
|
||||||
if (!filePaths.isEmpty()) {
|
if (!filePaths.isEmpty()) {
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
void setupSearch(Core::SearchResult *search);
|
void setupSearch(Core::SearchResult *search);
|
||||||
void onReplaceButtonClicked(Core::SearchResult *search, const QString &text,
|
void onReplaceButtonClicked(Core::SearchResult *search, const QString &text,
|
||||||
const QList<Utils::SearchResultItem> &items, bool preserveCase);
|
const Utils::SearchResultItems &items, bool preserveCase);
|
||||||
void searchAgain(Core::SearchResult *search);
|
void searchAgain(Core::SearchResult *search);
|
||||||
|
|
||||||
void findUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context,
|
void findUsages(CPlusPlus::Symbol *symbol, const CPlusPlus::LookupContext &context,
|
||||||
|
|||||||
@@ -264,7 +264,7 @@ void SymbolSearcher::runSearch(QPromise<SearchResultItem> &promise)
|
|||||||
if (promise.isCanceled())
|
if (promise.isCanceled())
|
||||||
break;
|
break;
|
||||||
if (m_fileNames.isEmpty() || m_fileNames.contains(it.value()->filePath().path())) {
|
if (m_fileNames.isEmpty() || m_fileNames.contains(it.value()->filePath().path())) {
|
||||||
QList<SearchResultItem> resultItems;
|
SearchResultItems resultItems;
|
||||||
auto filter = [&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult {
|
auto filter = [&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult {
|
||||||
if (matcher.match(info->symbolName()).hasMatch()) {
|
if (matcher.match(info->symbolName()).hasMatch()) {
|
||||||
QString text = info->symbolName();
|
QString text = info->symbolName();
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ public:
|
|||||||
return m_symbolName == other.m_symbolName && m_scope == other.m_scope;
|
return m_symbolName == other.m_symbolName && m_scope == other.m_scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
static ResultDataList fromSearchResultList(const QList<Utils::SearchResultItem> &entries)
|
static ResultDataList fromSearchResultList(const Utils::SearchResultItems &entries)
|
||||||
{
|
{
|
||||||
ResultDataList result;
|
ResultDataList result;
|
||||||
for (const Utils::SearchResultItem &entry : entries)
|
for (const Utils::SearchResultItem &entry : entries)
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ void SymbolsFindFilter::addResults(QFutureWatcher<SearchResultItem> *watcher, in
|
|||||||
watcher->cancel();
|
watcher->cancel();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
QList<SearchResultItem> items;
|
SearchResultItems items;
|
||||||
for (int i = begin; i < end; ++i)
|
for (int i = begin; i < end; ++i)
|
||||||
items << watcher->resultAt(i);
|
items << watcher->resultAt(i);
|
||||||
search->addResults(items, SearchResult::AddSorted);
|
search->addResults(items, SearchResult::AddSorted);
|
||||||
|
|||||||
@@ -216,12 +216,12 @@ QStringList SymbolSupport::getFileContents(const Utils::FilePath &filePath)
|
|||||||
return fileContent.split("\n");
|
return fileContent.split("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Utils::SearchResultItem> generateSearchResultItems(
|
Utils::SearchResultItems generateSearchResultItems(
|
||||||
const QMap<Utils::FilePath, QList<ItemData>> &rangesInDocument,
|
const QMap<Utils::FilePath, QList<ItemData>> &rangesInDocument,
|
||||||
Core::SearchResult *search = nullptr,
|
Core::SearchResult *search = nullptr,
|
||||||
bool limitToProjects = false)
|
bool limitToProjects = false)
|
||||||
{
|
{
|
||||||
QList<Utils::SearchResultItem> result;
|
Utils::SearchResultItems result;
|
||||||
const bool renaming = search && search->supportsReplace();
|
const bool renaming = search && search->supportsReplace();
|
||||||
QString oldSymbolName;
|
QString oldSymbolName;
|
||||||
QVariantList userData;
|
QVariantList userData;
|
||||||
@@ -264,7 +264,7 @@ QList<Utils::SearchResultItem> generateSearchResultItems(
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Utils::SearchResultItem> generateSearchResultItems(
|
Utils::SearchResultItems generateSearchResultItems(
|
||||||
const LanguageClientArray<Location> &locations, const DocumentUri::PathMapper &pathMapper)
|
const LanguageClientArray<Location> &locations, const DocumentUri::PathMapper &pathMapper)
|
||||||
{
|
{
|
||||||
if (locations.isNull())
|
if (locations.isNull())
|
||||||
@@ -463,7 +463,7 @@ void SymbolSupport::requestRename(const TextDocumentPositionParams &positionPara
|
|||||||
search->popup();
|
search->popup();
|
||||||
}
|
}
|
||||||
|
|
||||||
QList<Utils::SearchResultItem> generateReplaceItems(const WorkspaceEdit &edits,
|
Utils::SearchResultItems generateReplaceItems(const WorkspaceEdit &edits,
|
||||||
Core::SearchResult *search,
|
Core::SearchResult *search,
|
||||||
bool limitToProjects,
|
bool limitToProjects,
|
||||||
const DocumentUri::PathMapper &pathMapper)
|
const DocumentUri::PathMapper &pathMapper)
|
||||||
@@ -524,7 +524,7 @@ Core::SearchResult *SymbolSupport::createSearch(const TextDocumentPositionParams
|
|||||||
|
|
||||||
connect(search, &Core::SearchResult::replaceButtonClicked, this,
|
connect(search, &Core::SearchResult::replaceButtonClicked, this,
|
||||||
[this, search, resetConnection](const QString & /*replaceText*/,
|
[this, search, resetConnection](const QString & /*replaceText*/,
|
||||||
const QList<Utils::SearchResultItem> &checkedItems) {
|
const Utils::SearchResultItems &checkedItems) {
|
||||||
applyRename(checkedItems, search);
|
applyRename(checkedItems, search);
|
||||||
disconnect(resetConnection);
|
disconnect(resetConnection);
|
||||||
});
|
});
|
||||||
@@ -571,7 +571,7 @@ void SymbolSupport::handleRenameResponse(Core::SearchResult *search,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SymbolSupport::applyRename(const QList<Utils::SearchResultItem> &checkedItems,
|
void SymbolSupport::applyRename(const Utils::SearchResultItems &checkedItems,
|
||||||
Core::SearchResult *search)
|
Core::SearchResult *search)
|
||||||
{
|
{
|
||||||
QSet<Utils::FilePath> affectedNonOpenFilePaths;
|
QSet<Utils::FilePath> affectedNonOpenFilePaths;
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ private:
|
|||||||
const std::function<void()> &callback, bool preferLowerCaseFileNames);
|
const std::function<void()> &callback, bool preferLowerCaseFileNames);
|
||||||
void handleRenameResponse(Core::SearchResult *search,
|
void handleRenameResponse(Core::SearchResult *search,
|
||||||
const LanguageServerProtocol::RenameRequest::Response &response);
|
const LanguageServerProtocol::RenameRequest::Response &response);
|
||||||
void applyRename(const QList<Utils::SearchResultItem> &checkedItems, Core::SearchResult *search);
|
void applyRename(const Utils::SearchResultItems &checkedItems, Core::SearchResult *search);
|
||||||
QString derivePlaceholder(const QString &oldSymbol, const QString &newSymbol);
|
QString derivePlaceholder(const QString &oldSymbol, const QString &newSymbol);
|
||||||
|
|
||||||
Client *m_client = nullptr;
|
Client *m_client = nullptr;
|
||||||
|
|||||||
@@ -992,7 +992,7 @@ void FindReferences::displayResults(int first, int last)
|
|||||||
this, &FindReferences::onReplaceButtonClicked);
|
this, &FindReferences::onReplaceButtonClicked);
|
||||||
}
|
}
|
||||||
connect(m_currentSearch.data(), &SearchResult::activated,
|
connect(m_currentSearch.data(), &SearchResult::activated,
|
||||||
[](const Utils::SearchResultItem& item) {
|
[](const Utils::SearchResultItem &item) {
|
||||||
Core::EditorManager::openEditorAtSearchResult(item);
|
Core::EditorManager::openEditorAtSearchResult(item);
|
||||||
});
|
});
|
||||||
connect(m_currentSearch.data(), &SearchResult::canceled, this, &FindReferences::cancel);
|
connect(m_currentSearch.data(), &SearchResult::canceled, this, &FindReferences::cancel);
|
||||||
@@ -1042,7 +1042,7 @@ void FindReferences::setPaused(bool paused)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void FindReferences::onReplaceButtonClicked(const QString &text,
|
void FindReferences::onReplaceButtonClicked(const QString &text,
|
||||||
const QList<Utils::SearchResultItem> &items, bool preserveCase)
|
const Utils::SearchResultItems &items, bool preserveCase)
|
||||||
{
|
{
|
||||||
const Utils::FilePaths filePaths = TextEditor::BaseFileFind::replaceAll(text,
|
const Utils::FilePaths filePaths = TextEditor::BaseFileFind::replaceAll(text,
|
||||||
items,
|
items,
|
||||||
|
|||||||
@@ -62,7 +62,7 @@ private:
|
|||||||
void searchFinished();
|
void searchFinished();
|
||||||
void cancel();
|
void cancel();
|
||||||
void setPaused(bool paused);
|
void setPaused(bool paused);
|
||||||
void onReplaceButtonClicked(const QString &text, const QList<Utils::SearchResultItem> &items,
|
void onReplaceButtonClicked(const QString &text, const Utils::SearchResultItems &items,
|
||||||
bool preserveCase);
|
bool preserveCase);
|
||||||
|
|
||||||
QPointer<Core::SearchResult> m_currentSearch;
|
QPointer<Core::SearchResult> m_currentSearch;
|
||||||
|
|||||||
@@ -223,7 +223,7 @@ static void displayResult(QFutureWatcher<FileSearchResultList> *watcher,
|
|||||||
SearchResult *search, int index)
|
SearchResult *search, int index)
|
||||||
{
|
{
|
||||||
const FileSearchResultList results = watcher->resultAt(index);
|
const FileSearchResultList results = watcher->resultAt(index);
|
||||||
QList<SearchResultItem> items;
|
SearchResultItems items;
|
||||||
for (const FileSearchResult &result : results) {
|
for (const FileSearchResult &result : results) {
|
||||||
SearchResultItem item;
|
SearchResultItem item;
|
||||||
item.setFilePath(result.fileName);
|
item.setFilePath(result.fileName);
|
||||||
@@ -330,8 +330,7 @@ void BaseFileFind::addSearchEngine(SearchEngine *searchEngine)
|
|||||||
setCurrentSearchEngine(0);
|
setCurrentSearchEngine(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BaseFileFind::doReplace(const QString &text,
|
void BaseFileFind::doReplace(const QString &text, const SearchResultItems &items,
|
||||||
const QList<SearchResultItem> &items,
|
|
||||||
bool preserveCase)
|
bool preserveCase)
|
||||||
{
|
{
|
||||||
const FilePaths files = replaceAll(text, items, preserveCase);
|
const FilePaths files = replaceAll(text, items, preserveCase);
|
||||||
@@ -472,8 +471,7 @@ void BaseFileFind::recheckEnabled(SearchResult *search)
|
|||||||
search->setSearchAgainEnabled(isEnabled());
|
search->setSearchAgainEnabled(isEnabled());
|
||||||
}
|
}
|
||||||
|
|
||||||
FilePaths BaseFileFind::replaceAll(const QString &text,
|
FilePaths BaseFileFind::replaceAll(const QString &text, const SearchResultItems &items,
|
||||||
const QList<SearchResultItem> &items,
|
|
||||||
bool preserveCase)
|
bool preserveCase)
|
||||||
{
|
{
|
||||||
if (items.isEmpty())
|
if (items.isEmpty())
|
||||||
@@ -481,7 +479,7 @@ FilePaths BaseFileFind::replaceAll(const QString &text,
|
|||||||
|
|
||||||
RefactoringChanges refactoring;
|
RefactoringChanges refactoring;
|
||||||
|
|
||||||
QHash<FilePath, QList<SearchResultItem> > changes;
|
QHash<FilePath, SearchResultItems> changes;
|
||||||
for (const SearchResultItem &item : items)
|
for (const SearchResultItem &item : items)
|
||||||
changes[FilePath::fromUserInput(item.path().constFirst())].append(item);
|
changes[FilePath::fromUserInput(item.path().constFirst())].append(item);
|
||||||
|
|
||||||
@@ -502,7 +500,7 @@ FilePaths BaseFileFind::replaceAll(const QString &text,
|
|||||||
|
|
||||||
for (auto it = changes.cbegin(), end = changes.cend(); it != end; ++it) {
|
for (auto it = changes.cbegin(), end = changes.cend(); it != end; ++it) {
|
||||||
const FilePath filePath = it.key();
|
const FilePath filePath = it.key();
|
||||||
const QList<SearchResultItem> changeItems = it.value();
|
const SearchResultItems changeItems = it.value();
|
||||||
|
|
||||||
ChangeSet changeSet;
|
ChangeSet changeSet;
|
||||||
RefactoringFilePtr file = refactoring.file(filePath);
|
RefactoringFilePtr file = refactoring.file(filePath);
|
||||||
|
|||||||
@@ -85,8 +85,7 @@ public:
|
|||||||
void addSearchEngine(SearchEngine *searchEngine);
|
void addSearchEngine(SearchEngine *searchEngine);
|
||||||
|
|
||||||
/* returns the list of unique files that were passed in items */
|
/* returns the list of unique files that were passed in items */
|
||||||
static Utils::FilePaths replaceAll(const QString &txt,
|
static Utils::FilePaths replaceAll(const QString &txt, const Utils::SearchResultItems &items,
|
||||||
const QList<Utils::SearchResultItem> &items,
|
|
||||||
bool preserveCase = false);
|
bool preserveCase = false);
|
||||||
virtual Utils::FileIterator *files(const QStringList &nameFilters,
|
virtual Utils::FileIterator *files(const QStringList &nameFilters,
|
||||||
const QStringList &exclusionFilters,
|
const QStringList &exclusionFilters,
|
||||||
@@ -116,9 +115,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void openEditor(Core::SearchResult *result, const Utils::SearchResultItem &item);
|
void openEditor(Core::SearchResult *result, const Utils::SearchResultItem &item);
|
||||||
void doReplace(const QString &txt,
|
void doReplace(const QString &txt, const Utils::SearchResultItems &items, bool preserveCase);
|
||||||
const QList<Utils::SearchResultItem> &items,
|
|
||||||
bool preserveCase);
|
|
||||||
void hideHighlightAll(bool visible);
|
void hideHighlightAll(bool visible);
|
||||||
void searchAgain(Core::SearchResult *search);
|
void searchAgain(Core::SearchResult *search);
|
||||||
virtual void recheckEnabled(Core::SearchResult *search);
|
virtual void recheckEnabled(Core::SearchResult *search);
|
||||||
|
|||||||
Reference in New Issue
Block a user