From 72ad68e91394a5a009421604ae6e54f529606813 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen Date: Wed, 15 May 2013 11:20:17 +0200 Subject: C++: show function declarations in the locator. When searching for functions/methods in the locator, also show function and method declarations. Task-number: QTCREATORBUG-8862 Change-Id: Ie86bfe82403d79a903d769860a472e2a20a2b9d0 Reviewed-by: Nikolai Kosjar --- src/plugins/cpptools/searchsymbols.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/plugins/cpptools') diff --git a/src/plugins/cpptools/searchsymbols.cpp b/src/plugins/cpptools/searchsymbols.cpp index 8c9ed918a0..9fe3a6104e 100644 --- a/src/plugins/cpptools/searchsymbols.cpp +++ b/src/plugins/cpptools/searchsymbols.cpp @@ -138,8 +138,15 @@ bool SearchSymbols::visit(Namespace *symbol) bool SearchSymbols::visit(Declaration *symbol) { - if (!(symbolsToSearchFor & SymbolSearcher::Declarations)) - return false; + if (!(symbolsToSearchFor & SymbolSearcher::Declarations)) { + // if we're searching for functions, still allow function declarations to show up. + if (symbolsToSearchFor & SymbolSearcher::Functions) { + if (!symbol->type()->asFunctionType()) + return false; + } else { + return false; + } + } QString name = symbolName(symbol); QString scopedName = scopedSymbolName(name); @@ -147,7 +154,9 @@ bool SearchSymbols::visit(Declaration *symbol) separateScope ? symbol->unqualifiedName() : 0); appendItem(separateScope ? type : scopedName, separateScope ? _scope : type, - ModelItemInfo::Declaration, symbol); + symbol->type()->asFunctionType() ? ModelItemInfo::Method + : ModelItemInfo::Declaration, + symbol); return false; } -- cgit v1.2.1