From 1969b2ebc0fa6ac624e4fc1506a302a56a00516c Mon Sep 17 00:00:00 2001 From: hjk <qtc-committer@nokia.com> Date: Wed, 28 Jan 2009 13:56:10 +0100 Subject: [PATCH] Fixes: some less caching of the ICore singleton pointer --- src/plugins/cpptools/cppcodecompletion.cpp | 14 +++++++------- src/plugins/cpptools/cppcodecompletion.h | 9 +-------- src/plugins/cpptools/cpptoolsplugin.cpp | 2 +- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index 824b7b4b1cb..df68e5778dc 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -74,9 +74,10 @@ using namespace CPlusPlus; namespace CppTools { namespace Internal { -class FunctionArgumentWidget : public QLabel { +class FunctionArgumentWidget : public QLabel +{ public: - FunctionArgumentWidget(Core::ICore *core); + FunctionArgumentWidget(); void showFunctionHint(Function *functionSymbol, const Snapshot &snapshot); protected: @@ -183,10 +184,10 @@ protected: using namespace CppTools::Internal; -FunctionArgumentWidget::FunctionArgumentWidget(Core::ICore *core) +FunctionArgumentWidget::FunctionArgumentWidget() : m_item(0) { - QObject *editorObject = core->editorManager()->currentEditor(); + QObject *editorObject = Core::ICore::instance()->editorManager()->currentEditor(); m_editor = qobject_cast<TextEditor::ITextEditor *>(editorObject); m_popupFrame = new QFrame(0, Qt::ToolTip|Qt::WindowStaysOnTopHint); @@ -311,9 +312,8 @@ void FunctionArgumentWidget::updateHintText() setText(text); } -CppCodeCompletion::CppCodeCompletion(CppModelManager *manager, Core::ICore *core) +CppCodeCompletion::CppCodeCompletion(CppModelManager *manager) : ICompletionCollector(manager), - m_core(core), m_manager(manager), m_caseSensitivity(Qt::CaseSensitive), m_autoInsertBraces(true), @@ -1030,7 +1030,7 @@ void CppCodeCompletion::complete(const TextEditor::CompletionItem &item) Function *function = symbol->type()->asFunction(); QTC_ASSERT(function, return); - m_functionArgumentWidget = new FunctionArgumentWidget(m_core); + m_functionArgumentWidget = new FunctionArgumentWidget(); m_functionArgumentWidget->showFunctionHint(function, typeOfExpression.snapshot()); } } else if (m_completionOperator == T_SIGNAL || m_completionOperator == T_SLOT) { diff --git a/src/plugins/cpptools/cppcodecompletion.h b/src/plugins/cpptools/cppcodecompletion.h index 6d4690babca..08a767ea6ce 100644 --- a/src/plugins/cpptools/cppcodecompletion.h +++ b/src/plugins/cpptools/cppcodecompletion.h @@ -34,23 +34,17 @@ #ifndef CPPCODECOMPLETION_H #define CPPCODECOMPLETION_H -// C++ front-end #include <ASTfwd.h> #include <FullySpecifiedType.h> #include <cplusplus/Icons.h> #include <cplusplus/Overview.h> #include <cplusplus/TypeOfExpression.h> -// Qt Creator #include <texteditor/icompletioncollector.h> -// Qt #include <QtCore/QObject> #include <QtCore/QPointer> -namespace Core { -class ICore; -} namespace TextEditor { class ITextEditor; @@ -66,7 +60,7 @@ class CppCodeCompletion : public TextEditor::ICompletionCollector { Q_OBJECT public: - CppCodeCompletion(CppModelManager *manager, Core::ICore *core); + explicit CppCodeCompletion(CppModelManager *manager); bool triggersCompletion(TextEditor::ITextEditable *editor); int startCompletion(TextEditor::ITextEditable *editor); @@ -131,7 +125,6 @@ private: TextEditor::ITextEditable *m_editor; int m_startPosition; // Position of the cursor from which completion started - Core::ICore *m_core; CppModelManager *m_manager; Qt::CaseSensitivity m_caseSensitivity; bool m_autoInsertBraces; diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp index 3a8c271a098..f70a766a46b 100644 --- a/src/plugins/cpptools/cpptoolsplugin.cpp +++ b/src/plugins/cpptools/cpptoolsplugin.cpp @@ -87,7 +87,7 @@ bool CppToolsPlugin::initialize(const QStringList &arguments, QString *error) // Objects m_modelManager = new CppModelManager(this); addAutoReleasedObject(m_modelManager); - m_completion = new CppCodeCompletion(m_modelManager, core); + m_completion = new CppCodeCompletion(m_modelManager); addAutoReleasedObject(m_completion); CppQuickOpenFilter *quickOpenFilter = new CppQuickOpenFilter(m_modelManager, core->editorManager()); -- GitLab