diff options
| author | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2009-02-13 15:20:48 +0100 |
|---|---|---|
| committer | Thorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com> | 2009-02-13 15:58:12 +0100 |
| commit | 5a0a084c3130e0401eed687795371c2a49b4b635 (patch) | |
| tree | b580388a922fe978d4de283e464c6cb6d2f1d8e6 /src/plugins/cpptools/cppcodecompletion.cpp | |
| parent | b8726d503f2b6f3475794032308d68386361e7f1 (diff) | |
| download | qt-creator-5a0a084c3130e0401eed687795371c2a49b4b635.tar.gz | |
Reuse the function argument widget when possible
Now that we're showing this thing instantly, we can no longer rely on
the thing hiding cause of a focus change.
Diffstat (limited to 'src/plugins/cpptools/cppcodecompletion.cpp')
| -rw-r--r-- | src/plugins/cpptools/cppcodecompletion.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index ca1ef24bd4..7bb3a36c40 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -187,10 +187,10 @@ using namespace CppTools::Internal; FunctionArgumentWidget::FunctionArgumentWidget() : m_item(0) { - QObject *editorObject = Core::ICore::instance()->editorManager()->currentEditor(); + QObject *editorObject = Core::EditorManager::instance()->currentEditor(); m_editor = qobject_cast<TextEditor::ITextEditor *>(editorObject); - m_popupFrame = new QFrame(0, Qt::ToolTip|Qt::WindowStaysOnTopHint); + m_popupFrame = new QFrame(0, Qt::ToolTip | Qt::WindowStaysOnTopHint); m_popupFrame->setFocusPolicy(Qt::NoFocus); m_popupFrame->setAttribute(Qt::WA_DeleteOnClose); @@ -1069,7 +1069,10 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) Function *function = symbol->type()->asFunctionType(); QTC_ASSERT(function, return); - m_functionArgumentWidget = new FunctionArgumentWidget(); + // Recreate if necessary + if (!m_functionArgumentWidget) + m_functionArgumentWidget = new FunctionArgumentWidget; + m_functionArgumentWidget->showFunctionHint(function, typeOfExpression.snapshot()); } } else if (m_completionOperator == T_SIGNAL || m_completionOperator == T_SLOT) { |
