forked from qt-creator/qt-creator
CppLocatorFilter: Don't repeat CppLocatorData arg in c'tors
It's always the same instance of: CppEditor::CppModelManager::instance()->locatorData(). Change-Id: I7d8aa2da6f0055d91b519efb6ebdf2177794e0b7 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -47,7 +47,6 @@ class CppLocatorFilter : public CppEditor::CppLocatorFilter
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CppLocatorFilter()
|
CppLocatorFilter()
|
||||||
: CppEditor::CppLocatorFilter(CppEditor::CppModelManager::instance()->locatorData())
|
|
||||||
{
|
{
|
||||||
setId({});
|
setId({});
|
||||||
setDisplayName({});
|
setDisplayName({});
|
||||||
@@ -80,7 +79,6 @@ class CppClassesFilter : public CppEditor::CppClassesFilter
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CppClassesFilter()
|
CppClassesFilter()
|
||||||
: CppEditor::CppClassesFilter(CppEditor::CppModelManager::instance()->locatorData())
|
|
||||||
{
|
{
|
||||||
setId({});
|
setId({});
|
||||||
setDisplayName({});
|
setDisplayName({});
|
||||||
@@ -111,7 +109,6 @@ class CppFunctionsFilter : public CppEditor::CppFunctionsFilter
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CppFunctionsFilter()
|
CppFunctionsFilter()
|
||||||
: CppEditor::CppFunctionsFilter(CppEditor::CppModelManager::instance()->locatorData())
|
|
||||||
{
|
{
|
||||||
setId({});
|
setId({});
|
||||||
setDisplayName({});
|
setDisplayName({});
|
||||||
|
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "cppeditorconstants.h"
|
#include "cppeditorconstants.h"
|
||||||
#include "cppeditortr.h"
|
#include "cppeditortr.h"
|
||||||
|
#include "cpplocatordata.h"
|
||||||
|
|
||||||
#include <utils/algorithm.h>
|
#include <utils/algorithm.h>
|
||||||
|
|
||||||
@@ -14,8 +15,7 @@ using namespace Core;
|
|||||||
|
|
||||||
namespace CppEditor {
|
namespace CppEditor {
|
||||||
|
|
||||||
CppLocatorFilter::CppLocatorFilter(CppLocatorData *locatorData)
|
CppLocatorFilter::CppLocatorFilter()
|
||||||
: m_data(locatorData)
|
|
||||||
{
|
{
|
||||||
setId(Constants::LOCATOR_FILTER_ID);
|
setId(Constants::LOCATOR_FILTER_ID);
|
||||||
setDisplayName(Tr::tr(Constants::LOCATOR_FILTER_DISPLAY_NAME));
|
setDisplayName(Tr::tr(Constants::LOCATOR_FILTER_DISPLAY_NAME));
|
||||||
@@ -23,8 +23,6 @@ CppLocatorFilter::CppLocatorFilter(CppLocatorData *locatorData)
|
|||||||
setDefaultIncludedByDefault(false);
|
setDefaultIncludedByDefault(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
CppLocatorFilter::~CppLocatorFilter() = default;
|
|
||||||
|
|
||||||
LocatorFilterEntry CppLocatorFilter::filterEntryFromIndexItem(IndexItem::Ptr info)
|
LocatorFilterEntry CppLocatorFilter::filterEntryFromIndexItem(IndexItem::Ptr info)
|
||||||
{
|
{
|
||||||
const QVariant id = QVariant::fromValue(info);
|
const QVariant id = QVariant::fromValue(info);
|
||||||
@@ -52,7 +50,8 @@ QList<LocatorFilterEntry> CppLocatorFilter::matchesFor(
|
|||||||
const QRegularExpression shortRegexp =
|
const QRegularExpression shortRegexp =
|
||||||
hasColonColon ? createRegExp(entry.mid(entry.lastIndexOf("::") + 2)) : regexp;
|
hasColonColon ? createRegExp(entry.mid(entry.lastIndexOf("::") + 2)) : regexp;
|
||||||
|
|
||||||
m_data->filterAllFiles([&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult {
|
CppLocatorData *locatorData = CppModelManager::instance()->locatorData();
|
||||||
|
locatorData->filterAllFiles([&](const IndexItem::Ptr &info) -> IndexItem::VisitorResult {
|
||||||
if (future.isCanceled())
|
if (future.isCanceled())
|
||||||
return IndexItem::Break;
|
return IndexItem::Break;
|
||||||
const IndexItem::ItemType type = info->type();
|
const IndexItem::ItemType type = info->type();
|
||||||
@@ -112,8 +111,7 @@ QList<LocatorFilterEntry> CppLocatorFilter::matchesFor(
|
|||||||
return std::accumulate(std::begin(entries), std::end(entries), QList<LocatorFilterEntry>());
|
return std::accumulate(std::begin(entries), std::end(entries), QList<LocatorFilterEntry>());
|
||||||
}
|
}
|
||||||
|
|
||||||
CppClassesFilter::CppClassesFilter(CppLocatorData *locatorData)
|
CppClassesFilter::CppClassesFilter()
|
||||||
: CppLocatorFilter(locatorData)
|
|
||||||
{
|
{
|
||||||
setId(Constants::CLASSES_FILTER_ID);
|
setId(Constants::CLASSES_FILTER_ID);
|
||||||
setDisplayName(Tr::tr(Constants::CLASSES_FILTER_DISPLAY_NAME));
|
setDisplayName(Tr::tr(Constants::CLASSES_FILTER_DISPLAY_NAME));
|
||||||
@@ -121,8 +119,6 @@ CppClassesFilter::CppClassesFilter(CppLocatorData *locatorData)
|
|||||||
setDefaultIncludedByDefault(false);
|
setDefaultIncludedByDefault(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
CppClassesFilter::~CppClassesFilter() = default;
|
|
||||||
|
|
||||||
LocatorFilterEntry CppClassesFilter::filterEntryFromIndexItem(IndexItem::Ptr info)
|
LocatorFilterEntry CppClassesFilter::filterEntryFromIndexItem(IndexItem::Ptr info)
|
||||||
{
|
{
|
||||||
const QVariant id = QVariant::fromValue(info);
|
const QVariant id = QVariant::fromValue(info);
|
||||||
@@ -135,8 +131,7 @@ LocatorFilterEntry CppClassesFilter::filterEntryFromIndexItem(IndexItem::Ptr inf
|
|||||||
return filterEntry;
|
return filterEntry;
|
||||||
}
|
}
|
||||||
|
|
||||||
CppFunctionsFilter::CppFunctionsFilter(CppLocatorData *locatorData)
|
CppFunctionsFilter::CppFunctionsFilter()
|
||||||
: CppLocatorFilter(locatorData)
|
|
||||||
{
|
{
|
||||||
setId(Constants::FUNCTIONS_FILTER_ID);
|
setId(Constants::FUNCTIONS_FILTER_ID);
|
||||||
setDisplayName(Tr::tr(Constants::FUNCTIONS_FILTER_DISPLAY_NAME));
|
setDisplayName(Tr::tr(Constants::FUNCTIONS_FILTER_DISPLAY_NAME));
|
||||||
@@ -144,8 +139,6 @@ CppFunctionsFilter::CppFunctionsFilter(CppLocatorData *locatorData)
|
|||||||
setDefaultIncludedByDefault(false);
|
setDefaultIncludedByDefault(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
CppFunctionsFilter::~CppFunctionsFilter() = default;
|
|
||||||
|
|
||||||
LocatorFilterEntry CppFunctionsFilter::filterEntryFromIndexItem(IndexItem::Ptr info)
|
LocatorFilterEntry CppFunctionsFilter::filterEntryFromIndexItem(IndexItem::Ptr info)
|
||||||
{
|
{
|
||||||
const QVariant id = QVariant::fromValue(info);
|
const QVariant id = QVariant::fromValue(info);
|
||||||
|
@@ -4,7 +4,7 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "cppeditor_global.h"
|
#include "cppeditor_global.h"
|
||||||
#include "cpplocatordata.h"
|
#include "indexitem.h"
|
||||||
|
|
||||||
#include <coreplugin/locator/ilocatorfilter.h>
|
#include <coreplugin/locator/ilocatorfilter.h>
|
||||||
|
|
||||||
@@ -15,17 +15,13 @@ class CPPEDITOR_EXPORT CppLocatorFilter : public Core::ILocatorFilter
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CppLocatorFilter(CppLocatorData *locatorData);
|
explicit CppLocatorFilter();
|
||||||
~CppLocatorFilter() override;
|
|
||||||
|
|
||||||
QList<Core::LocatorFilterEntry> matchesFor(QFutureInterface<Core::LocatorFilterEntry> &future,
|
QList<Core::LocatorFilterEntry> matchesFor(QFutureInterface<Core::LocatorFilterEntry> &future,
|
||||||
const QString &entry) override;
|
const QString &entry) override;
|
||||||
protected:
|
protected:
|
||||||
virtual IndexItem::ItemType matchTypes() const { return IndexItem::All; }
|
virtual IndexItem::ItemType matchTypes() const { return IndexItem::All; }
|
||||||
virtual Core::LocatorFilterEntry filterEntryFromIndexItem(IndexItem::Ptr info);
|
virtual Core::LocatorFilterEntry filterEntryFromIndexItem(IndexItem::Ptr info);
|
||||||
|
|
||||||
protected:
|
|
||||||
CppLocatorData *m_data = nullptr;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class CPPEDITOR_EXPORT CppClassesFilter : public CppLocatorFilter
|
class CPPEDITOR_EXPORT CppClassesFilter : public CppLocatorFilter
|
||||||
@@ -33,8 +29,7 @@ class CPPEDITOR_EXPORT CppClassesFilter : public CppLocatorFilter
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CppClassesFilter(CppLocatorData *locatorData);
|
explicit CppClassesFilter();
|
||||||
~CppClassesFilter() override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
IndexItem::ItemType matchTypes() const override { return IndexItem::Class; }
|
IndexItem::ItemType matchTypes() const override { return IndexItem::Class; }
|
||||||
@@ -46,8 +41,7 @@ class CPPEDITOR_EXPORT CppFunctionsFilter : public CppLocatorFilter
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit CppFunctionsFilter(CppLocatorData *locatorData);
|
explicit CppFunctionsFilter();
|
||||||
~CppFunctionsFilter() override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
IndexItem::ItemType matchTypes() const override { return IndexItem::Function; }
|
IndexItem::ItemType matchTypes() const override { return IndexItem::Function; }
|
||||||
|
@@ -897,10 +897,10 @@ void CppModelManager::initCppTools()
|
|||||||
&d->m_locatorData, &CppLocatorData::onAboutToRemoveFiles);
|
&d->m_locatorData, &CppLocatorData::onAboutToRemoveFiles);
|
||||||
|
|
||||||
// Set up builtin filters
|
// Set up builtin filters
|
||||||
setLocatorFilter(std::make_unique<CppLocatorFilter>(&d->m_locatorData));
|
setLocatorFilter(std::make_unique<CppLocatorFilter>());
|
||||||
setClassesFilter(std::make_unique<CppClassesFilter>(&d->m_locatorData));
|
setClassesFilter(std::make_unique<CppClassesFilter>());
|
||||||
setIncludesFilter(std::make_unique<CppIncludesFilter>());
|
setIncludesFilter(std::make_unique<CppIncludesFilter>());
|
||||||
setFunctionsFilter(std::make_unique<CppFunctionsFilter>(&d->m_locatorData));
|
setFunctionsFilter(std::make_unique<CppFunctionsFilter>());
|
||||||
setSymbolsFindFilter(std::make_unique<SymbolsFindFilter>(this));
|
setSymbolsFindFilter(std::make_unique<SymbolsFindFilter>(this));
|
||||||
setCurrentDocumentFilter(
|
setCurrentDocumentFilter(
|
||||||
std::make_unique<Internal::CppCurrentDocumentFilter>(this));
|
std::make_unique<Internal::CppCurrentDocumentFilter>(this));
|
||||||
|
Reference in New Issue
Block a user