summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodecompletion.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-02-13 15:20:48 +0100
committerThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-02-13 15:58:12 +0100
commit5a0a084c3130e0401eed687795371c2a49b4b635 (patch)
treeb580388a922fe978d4de283e464c6cb6d2f1d8e6 /src/plugins/cpptools/cppcodecompletion.cpp
parentb8726d503f2b6f3475794032308d68386361e7f1 (diff)
downloadqt-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.cpp9
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) {