summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@digia.com>2013-05-15 11:20:17 +0200
committerNikolai Kosjar <nikolai.kosjar@digia.com>2013-05-15 16:55:54 +0200
commit72ad68e91394a5a009421604ae6e54f529606813 (patch)
treed85aaeb439f4869c4a29420bfca89ee43de16aab /src/plugins/cpptools
parentdf22d163fb469e55e2cea2a78240935e380bd638 (diff)
downloadqt-creator-72ad68e91394a5a009421604ae6e54f529606813.tar.gz
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 <nikolai.kosjar@digia.com>
Diffstat (limited to 'src/plugins/cpptools')
-rw-r--r--src/plugins/cpptools/searchsymbols.cpp15
1 files changed, 12 insertions, 3 deletions
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;
}