summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodecompletion.cpp
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2010-06-18 10:58:11 +0200
committerErik Verbruggen <erik.verbruggen@nokia.com>2010-06-18 10:58:35 +0200
commit491675559d77dc24223cd16a106f1e1d896bef8b (patch)
tree2e4f4be30999b5f5fb42e497d94efca5c27e55b2 /src/plugins/cpptools/cppcodecompletion.cpp
parent2ad794c54f841b23664f9f8beffb5466b4c11cc9 (diff)
downloadqt-creator-491675559d77dc24223cd16a106f1e1d896bef8b.tar.gz
Added snippet expansion to the C++ code completion.
Diffstat (limited to 'src/plugins/cpptools/cppcodecompletion.cpp')
-rw-r--r--src/plugins/cpptools/cppcodecompletion.cpp13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index 23de6cc446..6660b09775 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1623,8 +1623,17 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item)
{
Symbol *symbol = 0;
- if (item.data.isValid())
- symbol = item.data.value<Symbol *>();
+ if (item.data.isValid()) {
+ if (item.data.canConvert<QString>()) {
+ TextEditor::BaseTextEditor *edit = qobject_cast<TextEditor::BaseTextEditor *>(m_editor->widget());
+ QTextCursor tc = edit->textCursor();
+ tc.setPosition(m_startPosition, QTextCursor::KeepAnchor);
+ edit->insertCodeSnippet(tc, item.data.toString());
+ return;
+ } else {
+ symbol = item.data.value<Symbol *>();
+ }
+ }
QString toInsert;
QString extraChars;