diff options
Diffstat (limited to 'src/plugins/qmlinspector')
-rw-r--r-- | src/plugins/qmlinspector/qmlinspector.cpp | 4 | ||||
-rw-r--r-- | src/plugins/qmlinspector/qmlinspectorplugin.cpp | 24 | ||||
-rw-r--r-- | src/plugins/qmlinspector/qmlinspectorplugin.h | 1 |
3 files changed, 12 insertions, 17 deletions
diff --git a/src/plugins/qmlinspector/qmlinspector.cpp b/src/plugins/qmlinspector/qmlinspector.cpp index d4dc1ea055..13ec7530b6 100644 --- a/src/plugins/qmlinspector/qmlinspector.cpp +++ b/src/plugins/qmlinspector/qmlinspector.cpp @@ -192,12 +192,14 @@ bool QmlInspector::connectToViewer() m_conn = 0; } - ProjectExplorer::Project *project = ProjectExplorer::ProjectExplorerPlugin::instance()->currentProject(); + ProjectExplorer::Project *project = ProjectExplorer::ProjectExplorerPlugin::instance()->startupProject(); if (!project) { emit statusMessage(tr("No active project, debugging canceled.")); return false; } + // FIXME if we have c++ project with qml files in it, it would make sense to be able to start + // the qml inspector simultaneously for that project. however, now it's not possible. QmlProjectManager::QmlProjectRunConfiguration* config = qobject_cast<QmlProjectManager::QmlProjectRunConfiguration*>(project->activeTarget()->activeRunConfiguration()); if (!config) { diff --git a/src/plugins/qmlinspector/qmlinspectorplugin.cpp b/src/plugins/qmlinspector/qmlinspectorplugin.cpp index 1d8c8414c7..8eb3b18a49 100644 --- a/src/plugins/qmlinspector/qmlinspectorplugin.cpp +++ b/src/plugins/qmlinspector/qmlinspectorplugin.cpp @@ -37,8 +37,7 @@ #include <qmljseditor/qmljseditorconstants.h> #include <coreplugin/modemanager.h> -#include <coreplugin/editormanager/ieditor.h> -#include <coreplugin/editormanager/editormanager.h> +#include <projectexplorer/projectexplorer.h> #include <extensionsystem/pluginmanager.h> #include <coreplugin/icore.h> @@ -117,7 +116,7 @@ void QmlInspectorPlugin::extensionsInitialized() { ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance(); Debugger::DebuggerUISwitcher *uiSwitcher = pluginManager->getObject<Debugger::DebuggerUISwitcher>(); - //connect(uiSwitcher, SIGNAL(languageChanged(QString)), SLOT(activateDebugger(QString))); + connect(uiSwitcher, SIGNAL(dockArranged(QString)), SLOT(setDockWidgetArrangement(QString))); ProjectExplorer::ProjectExplorerPlugin *pex = ProjectExplorer::ProjectExplorerPlugin::instance(); @@ -143,18 +142,13 @@ void QmlInspectorPlugin::extensionsInitialized() uiSwitcher->setToolbar(Qml::Constants::LANG_QML, configBar); } -void QmlInspectorPlugin::activateDebugger(const QString &langName) -{ - if (langName == Qml::Constants::LANG_QML) { - m_inspector->connectToViewer(); - } -} - void QmlInspectorPlugin::activateDebuggerForProject(ProjectExplorer::Project *project, const QString &runMode) { if (runMode == ProjectExplorer::Constants::DEBUGMODE) { - QmlProjectManager::QmlProject *qmlproj = qobject_cast<QmlProjectManager::QmlProject*>(project); - if (qmlproj) + // FIXME we probably want to activate the debugger for other projects than QmlProjects, + // if they contain Qml files. Some kind of options should exist for this behavior. + //QmlProjectManager::QmlProject *qmlproj = qobject_cast<QmlProjectManager::QmlProject*>(project); + //if (qmlproj) m_connectionTimer->start(); } @@ -180,10 +174,10 @@ void QmlInspectorPlugin::prepareDebugger(Core::IMode *mode) if (mode->id() != Debugger::Constants::MODE_DEBUG) return; - Core::EditorManager *editorManager = Core::EditorManager::instance(); + ProjectExplorer::ProjectExplorerPlugin *pex = ProjectExplorer::ProjectExplorerPlugin::instance(); - if (editorManager->currentEditor() && - editorManager->currentEditor()->id() == QmlJSEditor::Constants::C_QMLJSEDITOR_ID) { + if (pex->startupProject() && pex->startupProject()->id() == "QmlProjectManager.QmlProject") + { ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance(); Debugger::DebuggerUISwitcher *uiSwitcher = pluginManager->getObject<Debugger::DebuggerUISwitcher>(); uiSwitcher->setActiveLanguage(Qml::Constants::LANG_QML); diff --git a/src/plugins/qmlinspector/qmlinspectorplugin.h b/src/plugins/qmlinspector/qmlinspectorplugin.h index 9a592156f5..3db22835ae 100644 --- a/src/plugins/qmlinspector/qmlinspectorplugin.h +++ b/src/plugins/qmlinspector/qmlinspectorplugin.h @@ -63,7 +63,6 @@ public: virtual void shutdown(); public slots: - void activateDebugger(const QString &langName); void activateDebuggerForProject(ProjectExplorer::Project *project, const QString &runMode); void setDockWidgetArrangement(const QString &activeLanguage); |