diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-06-18 10:58:11 +0200 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-06-18 10:58:35 +0200 |
commit | 491675559d77dc24223cd16a106f1e1d896bef8b (patch) | |
tree | 2e4f4be30999b5f5fb42e497d94efca5c27e55b2 /src/plugins/cpptools/cppcodecompletion.cpp | |
parent | 2ad794c54f841b23664f9f8beffb5466b4c11cc9 (diff) | |
download | qt-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.cpp | 13 |
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; |