diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-03-13 14:15:58 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@digia.com> | 2014-06-02 16:22:17 +0200 |
commit | 20c4f523abe3f01c2c04431acfb24ea35c7c0f77 (patch) | |
tree | 8c8887230861d9a122bd311bd491aa339ebcee7f /src/plugins/cpptools/cpplocatorfilter.cpp | |
parent | f26d6a76a4a0bb20e5985a5b5b881cc42b4b7856 (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.cpp | 31 |
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()); } |