diff options
author | Erik Verbruggen <erik.verbruggen@digia.com> | 2013-05-15 11:20:17 +0200 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@digia.com> | 2013-05-15 16:55:54 +0200 |
commit | 72ad68e91394a5a009421604ae6e54f529606813 (patch) | |
tree | d85aaeb439f4869c4a29420bfca89ee43de16aab /src/plugins/cpptools | |
parent | df22d163fb469e55e2cea2a78240935e380bd638 (diff) | |
download | qt-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.cpp | 15 |
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; } |