summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/plugins/cpptools/cppcodecompletion.cpp16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index c0e832fba9..56e7f73f22 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1063,10 +1063,18 @@ bool CppCodeCompletion::completeConstructorOrFunction(const QList<TypeOfExpressi
Overview overview;
overview.setShowArgumentNames(true);
- TextEditor::CompletionItem item(this);
- item.text = overview(f->type());
- item.text = item.text.mid(1, item.text.size()-2);
- m_completions.append(item);
+ // get rid of parentheses and cv-qualifiers
+ QString completion = overview(f->type());
+ if (f->isVolatile() || f->isConst())
+ completion = completion.mid(1, completion.lastIndexOf(')') - 1);
+ else
+ completion = completion.mid(1, completion.size() - 2);
+
+ if (completion.size()) {
+ TextEditor::CompletionItem item(this);
+ item.text = completion;
+ m_completions.append(item);
+ }
}
return true;
}