summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodecompletion.cpp
diff options
context:
space:
mode:
authorThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-02-16 18:34:56 +0100
committerThorbjørn Lindeijer <thorbjorn.lindeijer@nokia.com>2009-02-16 18:34:56 +0100
commitd94dd392cb3cbb0c39ec9eb5cce4deba4afc4c02 (patch)
treec7c4d1d828a517a8a53965dd0c8c190ddd81c2fb /src/plugins/cpptools/cppcodecompletion.cpp
parent100a6254f69c6326d8bd6bd41b2b90eba6dfa0bf (diff)
downloadqt-creator-d94dd392cb3cbb0c39ec9eb5cce4deba4afc4c02.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. (cherry picked from commit 5a0a084c3130e0401eed687795371c2a49b4b635) Conflicts: src/plugins/cpptools/cppcodecompletion.cpp
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 94258decc1..b9dc55f0b9 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()->asFunction();
QTC_ASSERT(function, return);
- m_functionArgumentWidget = new FunctionArgumentWidget();
+ // Recreate if necessary
+ if (!m_functionArgumentWidget)
+ m_functionArgumentWidget = new FunctionArgumentWidget;
+
m_functionArgumentWidget->showFunctionHint(function, typeOfExpression.lookupContext());
}
} else if (m_completionOperator == T_SIGNAL || m_completionOperator == T_SLOT) {