aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cpptools/cpplocatorfilter.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2014-03-13 14:15:58 +0100
committerErik Verbruggen <erik.verbruggen@digia.com>2014-06-02 16:22:17 +0200
commit20c4f523abe3f01c2c04431acfb24ea35c7c0f77 (patch)
tree8c8887230861d9a122bd311bd491aa339ebcee7f /src/plugins/cpptools/cpplocatorfilter.cpp
parentf26d6a76a4a0bb20e5985a5b5b881cc42b4b7856 (diff)
C++: pass ModelItemInfo around wrapped in a QSharedPointer.
Change-Id: I36162ea589ad01cf2ba79fc931732422fc1e6983 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools/cpplocatorfilter.cpp')
-rw-r--r--src/plugins/cpptools/cpplocatorfilter.cpp31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/plugins/cpptools/cpplocatorfilter.cpp b/src/plugins/cpptools/cpplocatorfilter.cpp
index e4286e13ee1..21cd38854ca 100644
--- a/src/plugins/cpptools/cpplocatorfilter.cpp
+++ b/src/plugins/cpptools/cpplocatorfilter.cpp
@@ -47,13 +47,14 @@ CppLocatorFilter::~CppLocatorFilter()
{
}
-Core::LocatorFilterEntry CppLocatorFilter::filterEntryFromModelItemInfo(const CppTools::ModelItemInfo &info)
+Core::LocatorFilterEntry CppLocatorFilter::filterEntryFromModelItemInfo(ModelItemInfo::Ptr info)
{
const QVariant id = qVariantFromValue(info);
- Core::LocatorFilterEntry filterEntry(this, info.scopedSymbolName(), id, info.icon);
- filterEntry.extraInfo = info.type == ModelItemInfo::Class || info.type == ModelItemInfo::Enum
- ? info.shortNativeFilePath()
- : info.symbolType;
+ Core::LocatorFilterEntry filterEntry(this, info->scopedSymbolName(), id, info->icon());
+ if (info->type() == ModelItemInfo::Class || info->type() == ModelItemInfo::Enum)
+ filterEntry.extraInfo = info->shortNativeFilePath();
+ else
+ filterEntry.extraInfo = info->symbolType();
return filterEntry;
}
@@ -63,9 +64,9 @@ void CppLocatorFilter::refresh(QFutureInterface<void> &future)
Q_UNUSED(future)
}
-QList<QList<CppTools::ModelItemInfo> > CppLocatorFilter::itemsToMatchUserInputAgainst() const
+QList<QList<CppTools::ModelItemInfo::Ptr> > CppLocatorFilter::itemsToMatchUserInputAgainst() const
{
- return QList<QList<CppTools::ModelItemInfo> >()
+ return QList<QList<CppTools::ModelItemInfo::Ptr> >()
<< m_data->classes()
<< m_data->functions()
<< m_data->enums();
@@ -77,7 +78,8 @@ static bool compareLexigraphically(const Core::LocatorFilterEntry &a,
return a.displayName < b.displayName;
}
-QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(QFutureInterface<Core::LocatorFilterEntry> &future, const QString &origEntry)
+QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(
+ QFutureInterface<Core::LocatorFilterEntry> &future, const QString &origEntry)
{
QString entry = trimWildcards(origEntry);
QList<Core::LocatorFilterEntry> goodEntries;
@@ -91,12 +93,13 @@ QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(QFutureInterface<Co
bool hasColonColon = entry.contains(QLatin1String("::"));
const Qt::CaseSensitivity caseSensitivityForPrefix = caseSensitivity(entry);
- const QList<QList<CppTools::ModelItemInfo> > itemLists = itemsToMatchUserInputAgainst();
- foreach (const QList<CppTools::ModelItemInfo> &items, itemLists) {
- foreach (const ModelItemInfo &info, items) {
+ const QList<QList<CppTools::ModelItemInfo::Ptr> > itemLists = itemsToMatchUserInputAgainst();
+ foreach (const QList<CppTools::ModelItemInfo::Ptr> &items, itemLists) {
+ foreach (ModelItemInfo::Ptr info, items) {
if (future.isCanceled())
break;
- const QString matchString = hasColonColon ? info.scopedSymbolName() : info.symbolName;
+ const QString matchString = hasColonColon ? info->scopedSymbolName()
+ : info->symbolName();
if ((hasWildcard && regexp.exactMatch(matchString))
|| (!hasWildcard && matcher.indexIn(matchString) != -1)) {
const Core::LocatorFilterEntry filterEntry = filterEntryFromModelItemInfo(info);
@@ -119,6 +122,6 @@ QList<Core::LocatorFilterEntry> CppLocatorFilter::matchesFor(QFutureInterface<Co
void CppLocatorFilter::accept(Core::LocatorFilterEntry selection) const
{
- ModelItemInfo info = qvariant_cast<CppTools::ModelItemInfo>(selection.internalData);
- Core::EditorManager::openEditorAt(info.fileName, info.line, info.column);
+ ModelItemInfo::Ptr info = qvariant_cast<CppTools::ModelItemInfo::Ptr>(selection.internalData);
+ Core::EditorManager::openEditorAt(info->fileName(), info->line(), info->column());
}