diff --git a/src/plugins/qmljseditor/qmljseditor.pro b/src/plugins/qmljseditor/qmljseditor.pro index e35f6e40e303b73b76e39c677b02be38b41b89f0..e2de54e54cb14babe755855642f2673db58820f5 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 0db49ad417fcc5042c1c9b4c7a02bdb3c9640908..f3df94ff8c67fbf61116d79899b3a1814e0117fc 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 944d34ae4cee24504091bdda71a42a35e10d4030..f67dd204fe7593076d9f7ff7e71f3305379a7eca 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 9fa7ba4a97e916bd6d8290d6517a5b784f0a699c..fb19f78afd48a19f2e67d9945150c0c7c8162b7a 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 fc8905f2b81805faac869da50468b7f4a642923d..30cd0a9dbe2989858a74c011da400fa5b6a50b9f 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 74e9d0a313f3858743e6b3fffc4bdbe62cb9d8dd..18ccc828c69e6106bc7366a6778289b60a2857ab 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 1fd04264a0f9be2a570cb2751a3898ddbdfc3aac..3cd4d9c7e0971dbb56cfa71bb417b69ef607a9d1 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 683bc64f89f6088e3c0c6814082628bcfbe8b5b0..8a810319a66c947a5282cf6afc7856057bc9c374 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 3fca4d496c27e7ace933521ec134312a8fc91b8a..d97c600458e6471ffd53e496b51a770d005d627a 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 44229263ce0ab9ad91836245509de7aab0b5761b..622f594079cc38adba3721079cc95b7577cc77e0 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 140a16f2c595f6ac6fb4e52af7aa02adf156a132..7fb905d8204d276b2c51573bcf179690701b4855 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