From 8d6ea451260699e731f36255166d1185ef6a0dcf Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Mon, 23 Sep 2013 10:51:39 +0200 Subject: [PATCH] CppTools: Show function args in current document filter Regression introduced by commit 190fb44. Change-Id: Ibd47b6d316e5ae976fb448aad5062eb5887f10e6 Reviewed-by: Erik Verbruggen --- .../cpptools/cppcurrentdocumentfilter.cpp | 6 ++- .../cpptools/cpplocatorfilter_test.cpp | 38 +++++++++---------- src/plugins/cpptools/searchsymbols.h | 4 +- 3 files changed, 26 insertions(+), 22 deletions(-) diff --git a/src/plugins/cpptools/cppcurrentdocumentfilter.cpp b/src/plugins/cpptools/cppcurrentdocumentfilter.cpp index 93b7e5907a0..13e5db7ce7a 100644 --- a/src/plugins/cpptools/cppcurrentdocumentfilter.cpp +++ b/src/plugins/cpptools/cppcurrentdocumentfilter.cpp @@ -98,8 +98,10 @@ QList CppCurrentDocumentFilter::matchesFor(QFutureInterfac QVariant id = qVariantFromValue(info); QString name = matchString; QString extraInfo = info.symbolScope; - if (info.type == ModelItemInfo::Method) - info.unqualifiedNameAndScope(matchString, &name, &extraInfo); + if (info.type == ModelItemInfo::Method) { + if (info.unqualifiedNameAndScope(matchString, &name, &extraInfo)) + name += info.symbolType; + } Locator::FilterEntry filterEntry(this, name, id, info.icon); filterEntry.extraInfo = extraInfo; diff --git a/src/plugins/cpptools/cpplocatorfilter_test.cpp b/src/plugins/cpptools/cpplocatorfilter_test.cpp index ea0b75d9dd2..e83eb6767ab 100644 --- a/src/plugins/cpptools/cpplocatorfilter_test.cpp +++ b/src/plugins/cpptools/cpplocatorfilter_test.cpp @@ -252,35 +252,35 @@ void CppToolsPlugin::test_cpplocatorfilters_CppCurrentDocumentFilter() << ResultData(_("int V1"), _("MyEnum")) << ResultData(_("int V2"), _("MyEnum")) << ResultData(_("MyClass"), _("")) - << ResultData(_("MyClass"), _("MyClass")) - << ResultData(_("functionDeclaredOnly"), _("MyClass")) - << ResultData(_("functionDefinedInClass"), _("MyClass")) - << ResultData(_("functionDefinedOutSideClass"), _("MyClass")) - << ResultData(_("functionDefinedOutSideClass"), _("MyClass")) + << ResultData(_("MyClass()"), _("MyClass")) + << ResultData(_("functionDeclaredOnly()"), _("MyClass")) + << ResultData(_("functionDefinedInClass(bool, int)"), _("MyClass")) + << ResultData(_("functionDefinedOutSideClass(char)"), _("MyClass")) + << ResultData(_("functionDefinedOutSideClass(char)"), _("MyClass")) << ResultData(_("int myVariable"), _("MyNamespace")) - << ResultData(_("myFunction"), _("MyNamespace")) + << ResultData(_("myFunction(bool, int)"), _("MyNamespace")) << ResultData(_("MyEnum"), _("MyNamespace")) << ResultData(_("int V1"), _("MyNamespace::MyEnum")) << ResultData(_("int V2"), _("MyNamespace::MyEnum")) << ResultData(_("MyClass"), _("MyNamespace")) - << ResultData(_("MyClass"), _("MyNamespace::MyClass")) - << ResultData(_("functionDeclaredOnly"), _("MyNamespace::MyClass")) - << ResultData(_("functionDefinedInClass"), _("MyNamespace::MyClass")) - << ResultData(_("functionDefinedOutSideClass"), _("MyNamespace::MyClass")) - << ResultData(_("functionDefinedOutSideClassAndNamespace"), _("MyNamespace::MyClass")) - << ResultData(_("functionDefinedOutSideClass"), _("MyNamespace::MyClass")) - << ResultData(_("functionDefinedOutSideClassAndNamespace"), _("MyNamespace::MyClass")) + << ResultData(_("MyClass()"), _("MyNamespace::MyClass")) + << ResultData(_("functionDeclaredOnly()"), _("MyNamespace::MyClass")) + << ResultData(_("functionDefinedInClass(bool, int)"), _("MyNamespace::MyClass")) + << ResultData(_("functionDefinedOutSideClass(char)"), _("MyNamespace::MyClass")) + << ResultData(_("functionDefinedOutSideClassAndNamespace(float)"), _("MyNamespace::MyClass")) + << ResultData(_("functionDefinedOutSideClass(char)"), _("MyNamespace::MyClass")) + << ResultData(_("functionDefinedOutSideClassAndNamespace(float)"), _("MyNamespace::MyClass")) << ResultData(_("int myVariable"), _("")) - << ResultData(_("myFunction"), _("")) + << ResultData(_("myFunction(bool, int)"), _("")) << ResultData(_("MyEnum"), _("")) << ResultData(_("int V1"), _("::MyEnum")) << ResultData(_("int V2"), _("::MyEnum")) << ResultData(_("MyClass"), _("")) - << ResultData(_("MyClass"), _("::MyClass")) - << ResultData(_("functionDeclaredOnly"), _("::MyClass")) - << ResultData(_("functionDefinedInClass"), _("::MyClass")) - << ResultData(_("functionDefinedOutSideClass"), _("::MyClass")) - << ResultData(_("functionDefinedOutSideClass"), _("::MyClass")) + << ResultData(_("MyClass()"), _("::MyClass")) + << ResultData(_("functionDeclaredOnly()"), _("::MyClass")) + << ResultData(_("functionDefinedInClass(bool, int)"), _("::MyClass")) + << ResultData(_("functionDefinedOutSideClass(char)"), _("::MyClass")) + << ResultData(_("functionDefinedOutSideClass(char)"), _("::MyClass")) << ResultData(_("main()"), _("")) ; diff --git a/src/plugins/cpptools/searchsymbols.h b/src/plugins/cpptools/searchsymbols.h index e47b78b2ceb..c81d8575123 100644 --- a/src/plugins/cpptools/searchsymbols.h +++ b/src/plugins/cpptools/searchsymbols.h @@ -94,7 +94,7 @@ struct CPPTOOLS_EXPORT ModelItemInfo : symbolScope + QLatin1String("::") + symbolName; } - void unqualifiedNameAndScope(const QString &defaultName, QString *name, QString *scope) const + bool unqualifiedNameAndScope(const QString &defaultName, QString *name, QString *scope) const { *name = defaultName; *scope = symbolScope; @@ -103,7 +103,9 @@ struct CPPTOOLS_EXPORT ModelItemInfo if (colonColonPosition != -1) { *name = qualifiedName.mid(colonColonPosition + 2); *scope = qualifiedName.left(colonColonPosition); + return true; } + return false; } static QString representDeclaration(const QString &name, const QString &type)