From 3ef43f56c72694b7586d16246903e2a036c8edcb Mon Sep 17 00:00:00 2001
From: dt <qtc-committer@nokia.com>
Date: Tue, 13 Jul 2010 17:16:43 +0200
Subject: [PATCH] Move qmltaskmanager from qmlproject plugin to qmljseditor

---
 src/plugins/qmljseditor/qmljseditor.pro        |  6 ++++--
 src/plugins/qmljseditor/qmljseditorconstants.h |  2 +-
 src/plugins/qmljseditor/qmljseditorplugin.cpp  | 13 +++++++++++++
 src/plugins/qmljseditor/qmljseditorplugin.h    |  2 ++
 .../qmltaskmanager.cpp                         | 11 +++--------
 .../qmltaskmanager.h                           |  6 +++---
 .../qmlprojectmanager/qmlprojectconstants.h    |  2 --
 .../qmlprojectmanager/qmlprojectmanager.cpp    |  1 -
 .../qmlprojectmanager/qmlprojectmanager.pro    |  2 --
 .../qmlprojectmanager/qmlprojectplugin.cpp     | 18 +-----------------
 .../qmlprojectmanager/qmlprojectplugin.h       |  4 ----
 11 files changed, 27 insertions(+), 40 deletions(-)
 rename src/plugins/{qmlprojectmanager => qmljseditor}/qmltaskmanager.cpp (91%)
 rename src/plugins/{qmlprojectmanager => qmljseditor}/qmltaskmanager.h (95%)

diff --git a/src/plugins/qmljseditor/qmljseditor.pro b/src/plugins/qmljseditor/qmljseditor.pro
index e35f6e40e30..e2de54e54cb 100644
--- a/src/plugins/qmljseditor/qmljseditor.pro
+++ b/src/plugins/qmljseditor/qmljseditor.pro
@@ -25,7 +25,8 @@ HEADERS += \
     qmljsrefactoringchanges.h \
     qmljscomponentfromobjectdef.h \
     qmljsoutline.h \
-    qmloutlinemodel.h
+    qmloutlinemodel.h \
+    qmltaskmanager.h
 
 SOURCES += \
     qmljscodecompletion.cpp \
@@ -43,7 +44,8 @@ SOURCES += \
     qmljsrefactoringchanges.cpp \
     qmljscomponentfromobjectdef.cpp \
     qmljsoutline.cpp \
-    qmloutlinemodel.cpp
+    qmloutlinemodel.cpp \
+    qmltaskmanager.cpp
 
 RESOURCES += qmljseditor.qrc
 OTHER_FILES += QmlJSEditor.pluginspec QmlJSEditor.mimetypes.xml
diff --git a/src/plugins/qmljseditor/qmljseditorconstants.h b/src/plugins/qmljseditor/qmljseditorconstants.h
index 0db49ad417f..f3df94ff8c6 100644
--- a/src/plugins/qmljseditor/qmljseditorconstants.h
+++ b/src/plugins/qmljseditor/qmljseditorconstants.h
@@ -49,7 +49,7 @@ const char * const FOLLOW_SYMBOL_UNDER_CURSOR = "QmlJSEditor.FollowSymbolUnderCu
 const char * const QML_MIMETYPE = "application/x-qml";
 const char * const JS_MIMETYPE = "application/javascript";
 
-
+const char *const TASK_CATEGORY_QML = "Task.Category.Qml";
 
 } // namespace Constants
 } // namespace QmlJSEditor
diff --git a/src/plugins/qmljseditor/qmljseditorplugin.cpp b/src/plugins/qmljseditor/qmljseditorplugin.cpp
index 944d34ae4ce..f67dd204fe7 100644
--- a/src/plugins/qmljseditor/qmljseditorplugin.cpp
+++ b/src/plugins/qmljseditor/qmljseditorplugin.cpp
@@ -40,6 +40,7 @@
 #include "qmljspreviewrunner.h"
 #include "qmljsquickfix.h"
 #include "qmljs/qmljsicons.h"
+#include "qmltaskmanager.h"
 
 #include <qmldesigner/qmldesignerconstants.h>
 
@@ -52,6 +53,7 @@
 #include <coreplugin/actionmanager/actioncontainer.h>
 #include <coreplugin/actionmanager/command.h>
 #include <coreplugin/editormanager/editormanager.h>
+#include <projectexplorer/taskhub.h>
 #include <extensionsystem/pluginmanager.h>
 #include <texteditor/fontsettings.h>
 #include <texteditor/storagesettings.h>
@@ -180,11 +182,22 @@ bool QmlJSEditorPlugin::initialize(const QStringList & /*arguments*/, QString *e
 
     addAutoReleasedObject(new QmlJSOutlineWidgetFactory);
 
+    m_qmlTaskManager = new QmlTaskManager;
+    addAutoReleasedObject(m_qmlTaskManager);
+
+    connect(m_modelManager, SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
+            m_qmlTaskManager, SLOT(documentChangedOnDisk(QmlJS::Document::Ptr)));
+    connect(m_modelManager, SIGNAL(aboutToRemoveFiles(QStringList)),
+            m_qmlTaskManager, SLOT(documentsRemoved(QStringList)));
+
     return true;
 }
 
 void QmlJSEditorPlugin::extensionsInitialized()
 {
+    ProjectExplorer::TaskHub *taskHub =
+        ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::TaskHub>();
+    taskHub->addCategory(Constants::TASK_CATEGORY_QML, tr("QML"));
 }
 
 ExtensionSystem::IPlugin::ShutdownFlag QmlJSEditorPlugin::aboutToShutdown()
diff --git a/src/plugins/qmljseditor/qmljseditorplugin.h b/src/plugins/qmljseditor/qmljseditorplugin.h
index 9fa7ba4a97e..fb19f78afd4 100644
--- a/src/plugins/qmljseditor/qmljseditorplugin.h
+++ b/src/plugins/qmljseditor/qmljseditorplugin.h
@@ -65,6 +65,7 @@ class QmlJSEditorFactory;
 class QmlJSTextEditor;
 class QmlJSPreviewRunner;
 class QmlJSQuickFixCollector;
+class QmlTaskManager;
 
 class QmlJSEditorPlugin : public ExtensionSystem::IPlugin
 {
@@ -112,6 +113,7 @@ private:
 
     QTimer *m_quickFixTimer;
     QPointer<TextEditor::ITextEditable> m_currentTextEditable;
+    QmlTaskManager *m_qmlTaskManager;
 };
 
 } // namespace Internal
diff --git a/src/plugins/qmlprojectmanager/qmltaskmanager.cpp b/src/plugins/qmljseditor/qmltaskmanager.cpp
similarity index 91%
rename from src/plugins/qmlprojectmanager/qmltaskmanager.cpp
rename to src/plugins/qmljseditor/qmltaskmanager.cpp
index fc8905f2b81..30cd0a9dbe2 100644
--- a/src/plugins/qmlprojectmanager/qmltaskmanager.cpp
+++ b/src/plugins/qmljseditor/qmltaskmanager.cpp
@@ -28,14 +28,15 @@
 **************************************************************************/
 
 #include "qmltaskmanager.h"
-#include "qmlprojectconstants.h"
+#include "qmljseditorconstants.h"
 
 #include <extensionsystem/pluginmanager.h>
 #include <projectexplorer/taskhub.h>
+#include <qmljs/qmljsmodelmanagerinterface.h>
 
 #include <QDebug>
 
-namespace QmlProjectManager {
+namespace QmlJSEditor {
 namespace Internal {
 
 QmlTaskManager::QmlTaskManager(QObject *parent) :
@@ -45,12 +46,6 @@ QmlTaskManager::QmlTaskManager(QObject *parent) :
     m_taskHub = ExtensionSystem::PluginManager::instance()->getObject<ProjectExplorer::TaskHub>();
 }
 
-QmlTaskManager *QmlTaskManager::instance()
-{
-    ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
-    return pluginManager->getObject<QmlTaskManager>();
-}
-
 void QmlTaskManager::documentChangedOnDisk(QmlJS::Document::Ptr doc)
 {
     const QString fileName = doc->fileName();
diff --git a/src/plugins/qmlprojectmanager/qmltaskmanager.h b/src/plugins/qmljseditor/qmltaskmanager.h
similarity index 95%
rename from src/plugins/qmlprojectmanager/qmltaskmanager.h
rename to src/plugins/qmljseditor/qmltaskmanager.h
index 74e9d0a313f..18ccc828c69 100644
--- a/src/plugins/qmlprojectmanager/qmltaskmanager.h
+++ b/src/plugins/qmljseditor/qmltaskmanager.h
@@ -42,7 +42,7 @@ namespace ProjectExplorer {
 class TaskHub;
 } // namespace ProjectExplorer
 
-namespace QmlProjectManager {
+namespace QmlJSEditor {
 namespace Internal {
 
 class QmlTaskManager : public QObject
@@ -51,7 +51,7 @@ class QmlTaskManager : public QObject
 public:
     QmlTaskManager(QObject *parent = 0);
 
-    static QmlTaskManager *instance();
+    void extensionsInitialized();
 
 public slots:
     void documentChangedOnDisk(QmlJS::Document::Ptr doc);
@@ -67,6 +67,6 @@ private:
 };
 
 } // Internal
-} // QmlProjectManager
+} // QmlJSEditor
 
 #endif // QMLTASKMANAGER_H
diff --git a/src/plugins/qmlprojectmanager/qmlprojectconstants.h b/src/plugins/qmlprojectmanager/qmlprojectconstants.h
index 1fd04264a0f..3cd4d9c7e09 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectconstants.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectconstants.h
@@ -47,8 +47,6 @@ const char *const FILES_EDITOR_ID    = "Qt4.QmlProjectEditor";
 const char *const FILES_EDITOR_DISPLAY_NAME = QT_TRANSLATE_NOOP("OpenWith::Editors", ".qmlproject Editor");
 const char *const FILES_MIMETYPE     = QMLMIMETYPE;
 
-const char *const TASK_CATEGORY_QML = "Task.Category.Qml";
-
 // Wizard category
 const char * const QML_WIZARD_CATEGORY = "F.Projects"; // (after Qt)
 const char * const QML_WIZARD_TR_SCOPE = "QmlProjectManager";
diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
index 683bc64f89f..8a810319a66 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.cpp
@@ -30,7 +30,6 @@
 #include "qmlprojectmanager.h"
 #include "qmlprojectconstants.h"
 #include "qmlproject.h"
-#include "qmltaskmanager.h"
 
 #include <coreplugin/icore.h>
 #include <coreplugin/ifile.h>
diff --git a/src/plugins/qmlprojectmanager/qmlprojectmanager.pro b/src/plugins/qmlprojectmanager/qmlprojectmanager.pro
index 3fca4d496c2..d97c600458e 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectmanager.pro
+++ b/src/plugins/qmlprojectmanager/qmlprojectmanager.pro
@@ -19,7 +19,6 @@ HEADERS += qmlproject.h \
     qmlprojectrunconfiguration.h \
     qmlprojectrunconfigurationfactory.h \
     qmlprojectapplicationwizard.h \
-    qmltaskmanager.h \
     qmlprojectmanager_global.h \
     qmlprojectmanagerconstants.h \
     qmlprojecttarget.h
@@ -33,7 +32,6 @@ SOURCES += qmlproject.cpp \
     qmlprojectrunconfiguration.cpp \
     qmlprojectrunconfigurationfactory.cpp \
     qmlprojectapplicationwizard.cpp \
-    qmltaskmanager.cpp \
     qmlprojecttarget.cpp
 RESOURCES += qmlproject.qrc
 
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index 44229263ce0..622f594079c 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -35,7 +35,6 @@
 #include "qmlproject.h"
 #include "qmlprojectrunconfigurationfactory.h"
 #include "qmlprojectruncontrol.h"
-#include "qmltaskmanager.h"
 #include "fileformat/qmlprojectfileformat.h"
 
 #include <extensionsystem/pluginmanager.h>
@@ -47,15 +46,13 @@
 #include <texteditor/texteditoractionhandler.h>
 
 #include <projectexplorer/taskhub.h>
-#include <qmljs/qmljsmodelmanagerinterface.h>
 
 #include <QtCore/QtPlugin>
 
 namespace QmlProjectManager {
 namespace Internal {
 
-QmlProjectPlugin::QmlProjectPlugin() :
-        m_qmlTaskManager(0)
+QmlProjectPlugin::QmlProjectPlugin()
 { }
 
 QmlProjectPlugin::~QmlProjectPlugin()
@@ -76,9 +73,6 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage)
 
     Manager *manager = new Manager;
 
-    m_qmlTaskManager = new QmlTaskManager(this);
-    addAutoReleasedObject(m_qmlTaskManager);
-
     addAutoReleasedObject(manager);
     addAutoReleasedObject(new Internal::QmlProjectRunConfigurationFactory);
     addAutoReleasedObject(new Internal::QmlRunControlFactory);
@@ -94,16 +88,6 @@ bool QmlProjectPlugin::initialize(const QStringList &, QString *errorMessage)
 
 void QmlProjectPlugin::extensionsInitialized()
 {
-    ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
-    ProjectExplorer::TaskHub *taskHub = pluginManager->getObject<ProjectExplorer::TaskHub>();
-    taskHub->addCategory(Constants::TASK_CATEGORY_QML, tr("QML"));
-
-    QmlJS::ModelManagerInterface *modelManager = pluginManager->getObject<QmlJS::ModelManagerInterface>();
-    Q_ASSERT(modelManager);
-    connect(modelManager, SIGNAL(documentChangedOnDisk(QmlJS::Document::Ptr)),
-            m_qmlTaskManager, SLOT(documentChangedOnDisk(QmlJS::Document::Ptr)));
-    connect(modelManager, SIGNAL(aboutToRemoveFiles(QStringList)),
-            m_qmlTaskManager, SLOT(documentsRemoved(QStringList)));
 }
 
 } // namespace Internal
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.h b/src/plugins/qmlprojectmanager/qmlprojectplugin.h
index 140a16f2c59..7fb905d8204 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.h
@@ -38,7 +38,6 @@ namespace QmlProjectManager {
 namespace Internal {
 
 class ProjectFilesFactory;
-class QmlTaskManager;
 
 class QmlProjectPlugin: public ExtensionSystem::IPlugin
 {
@@ -50,9 +49,6 @@ public:
 
     virtual bool initialize(const QStringList &arguments, QString *errorString);
     virtual void extensionsInitialized();
-
-private:
-    QmlTaskManager *m_qmlTaskManager;
 };
 
 } // namespace Internal
-- 
GitLab