From 214e0bf35b4bb7b55ce7691a397df2878c8ec45d Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Mon, 12 Jul 2010 12:46:50 +0200
Subject: [PATCH] Add a instance() method to the search result window
 singleton.

---
 src/plugins/cpptools/cppfindreferences.cpp      | 2 +-
 src/plugins/find/searchresultwindow.cpp         | 8 ++++++++
 src/plugins/find/searchresultwindow.h           | 2 ++
 src/plugins/projectexplorer/projectexplorer.cpp | 4 ++--
 src/plugins/texteditor/texteditorplugin.cpp     | 2 +-
 5 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index 194b4ed7909..d785bf1097b 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -148,7 +148,7 @@ public:
 CppFindReferences::CppFindReferences(CppTools::CppModelManagerInterface *modelManager)
     : QObject(modelManager),
       _modelManager(modelManager),
-      _resultWindow(ExtensionSystem::PluginManager::instance()->getObject<Find::SearchResultWindow>())
+      _resultWindow(Find::SearchResultWindow::instance())
 {
     m_watcher.setPendingResultsLimit(1);
     connect(&m_watcher, SIGNAL(resultsReadyAt(int,int)), this, SLOT(displayResults(int,int)));
diff --git a/src/plugins/find/searchresultwindow.cpp b/src/plugins/find/searchresultwindow.cpp
index 45b69f4d753..4ee0eea4bc1 100644
--- a/src/plugins/find/searchresultwindow.cpp
+++ b/src/plugins/find/searchresultwindow.cpp
@@ -211,8 +211,11 @@ namespace Internal {
 
 using namespace Find::Internal;
 
+SearchResultWindow *SearchResultWindow::m_instance = 0;
+
 SearchResultWindow::SearchResultWindow() : d(new SearchResultWindowPrivate)
 {
+    m_instance = this;
     d->m_widget = new QStackedWidget;
     d->m_widget->setWindowTitle(displayName());
 
@@ -271,6 +274,11 @@ SearchResultWindow::~SearchResultWindow()
     delete d;
 }
 
+SearchResultWindow *SearchResultWindow::instance()
+{
+    return m_instance;
+}
+
 void SearchResultWindow::setTextToReplace(const QString &textToReplace)
 {
     d->m_replaceTextEdit->setText(textToReplace);
diff --git a/src/plugins/find/searchresultwindow.h b/src/plugins/find/searchresultwindow.h
index 47a80c24682..92e58cebbb5 100644
--- a/src/plugins/find/searchresultwindow.h
+++ b/src/plugins/find/searchresultwindow.h
@@ -82,6 +82,7 @@ public:
 
     SearchResultWindow();
     virtual ~SearchResultWindow();
+    static SearchResultWindow *instance();
 
     QWidget *outputWidget(QWidget *);
     QList<QWidget*> toolBarWidgets() const;
@@ -129,6 +130,7 @@ private:
     QList<SearchResultItem> checkedItems() const;
 
     Internal::SearchResultWindowPrivate *d;
+    static SearchResultWindow *m_instance;
 };
 
 } // namespace Find
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index f9142768820..a1f6f8aa8c4 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -318,11 +318,11 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er
 
     ExtensionSystem::PluginManager *pm = ExtensionSystem::PluginManager::instance();
     AllProjectsFind *allProjectsFind = new AllProjectsFind(this,
-        pm->getObject<Find::SearchResultWindow>());
+        Find::SearchResultWindow::instance());
     addAutoReleasedObject(allProjectsFind);
 
     CurrentProjectFind *currentProjectFind = new CurrentProjectFind(this,
-        pm->getObject<Find::SearchResultWindow>());
+        Find::SearchResultWindow::instance());
     addAutoReleasedObject(currentProjectFind);
 
     addAutoReleasedObject(new LocalApplicationRunControlFactory);
diff --git a/src/plugins/texteditor/texteditorplugin.cpp b/src/plugins/texteditor/texteditorplugin.cpp
index e314ae3de35..3c68486cac9 100644
--- a/src/plugins/texteditor/texteditorplugin.cpp
+++ b/src/plugins/texteditor/texteditorplugin.cpp
@@ -157,7 +157,7 @@ void TextEditorPlugin::extensionsInitialized()
 
     ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
 
-    m_searchResultWindow = pluginManager->getObject<Find::SearchResultWindow>();
+    m_searchResultWindow = Find::SearchResultWindow::instance();
 
     m_outlineFactory->setWidgetFactories(pluginManager->getObjects<TextEditor::IOutlineWidgetFactory>());
 
-- 
GitLab