From 3e9f333769c500b2b8614c49c228eb3d338e70a6 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@nokia.com>
Date: Wed, 22 Sep 2010 14:16:29 +0200
Subject: [PATCH] QmlDebugger: Enable basic debugging without QmlInspector
 plugin

Enable setting breakpoints, and showing the script console even if
the QmlInspector plugin is not loaded.

Reviewed-by: hjk
---
 src/plugins/debugger/debuggerconstants.h             | 1 +
 src/plugins/debugger/debuggerplugin.cpp              | 2 ++
 src/plugins/qmljsinspector/qmljsinspector.cpp        | 2 +-
 src/plugins/qmljsinspector/qmljsinspectorconstants.h | 1 -
 src/plugins/qmljsinspector/qmljsinspectorplugin.cpp  | 5 -----
 5 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/src/plugins/debugger/debuggerconstants.h b/src/plugins/debugger/debuggerconstants.h
index b1505eb3d28..7850f36cbd6 100644
--- a/src/plugins/debugger/debuggerconstants.h
+++ b/src/plugins/debugger/debuggerconstants.h
@@ -52,6 +52,7 @@ const char * const M_DEBUG_VIEWS               = "Debugger.Menu.View.Debug";
 
 const char * const C_DEBUGMODE          = "Debugger.DebugMode";
 const char * const C_CPPDEBUGGER        = "Gdb Debugger";
+const char * const C_QMLDEBUGGER        = "Qml/JavaScript Debugger";
 
 const char * const DEBUGGER_COMMON_SETTINGS_ID = "A.Common";
 const char * const DEBUGGER_COMMON_SETTINGS_NAME =
diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp
index 620161f8c64..beb66390eaa 100644
--- a/src/plugins/debugger/debuggerplugin.cpp
+++ b/src/plugins/debugger/debuggerplugin.cpp
@@ -1088,6 +1088,7 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments, QString *er
 
     const Core::Context globalcontext(CC::C_GLOBAL);
     const Core::Context cppDebuggercontext(C_CPPDEBUGGER);
+    const Core::Context qmlDebuggerContext(C_QMLDEBUGGER);
     const Core::Context cppeditorcontext(CppEditor::Constants::C_CPPEDITOR);
 
     m_stopIcon = QIcon(_(":/debugger/images/debugger_stop_small.png"));
@@ -1260,6 +1261,7 @@ bool DebuggerPluginPrivate::initialize(const QStringList &arguments, QString *er
     m_uiSwitcher = new DebuggerUISwitcher(m_debugMode, this);
     ExtensionSystem::PluginManager::instance()->addObject(m_uiSwitcher);
     m_uiSwitcher->addLanguage(CppLanguage, tr("C++"), cppDebuggercontext);
+    m_uiSwitcher->addLanguage(QmlLanguage, tr("QML/JavaScript"), qmlDebuggerContext);
 
     // Dock widgets
     m_breakDock = m_uiSwitcher->createDockWidget(CppLanguage, m_breakWindow);
diff --git a/src/plugins/qmljsinspector/qmljsinspector.cpp b/src/plugins/qmljsinspector/qmljsinspector.cpp
index b58bc6a8f8f..4f0c39fe0eb 100644
--- a/src/plugins/qmljsinspector/qmljsinspector.cpp
+++ b/src/plugins/qmljsinspector/qmljsinspector.cpp
@@ -569,7 +569,7 @@ void InspectorUi::setupDockWidgets()
 {
     Debugger::DebuggerUISwitcher *uiSwitcher = Debugger::DebuggerUISwitcher::instance();
 
-    m_toolbar->createActions(Core::Context(Constants::C_INSPECTOR));
+    m_toolbar->createActions(Core::Context(Debugger::Constants::C_QMLDEBUGGER));
     m_toolbar->setObjectName("QmlInspectorToolbar");
 
     m_crumblePath = new ContextCrumblePath;
diff --git a/src/plugins/qmljsinspector/qmljsinspectorconstants.h b/src/plugins/qmljsinspector/qmljsinspectorconstants.h
index c7db285f40a..049d8ac477c 100644
--- a/src/plugins/qmljsinspector/qmljsinspectorconstants.h
+++ b/src/plugins/qmljsinspector/qmljsinspectorconstants.h
@@ -35,7 +35,6 @@ namespace Constants {
 const char * const RUN = "QmlInspector.Run";
 const char * const STOP = "QmlInspector.Stop";
 
-const char * const C_INSPECTOR = "QmlInspector";
 const char * const COMPLETE_THIS = "QmlInspector.CompleteThis";
 
 const char * const M_DEBUG_SIMULTANEOUSLY = "QmlInspector.Menu.SimultaneousDebug";
diff --git a/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp b/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp
index 189db441138..a972d1ba505 100644
--- a/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp
+++ b/src/plugins/qmljsinspector/qmljsinspectorplugin.cpp
@@ -105,11 +105,6 @@ bool InspectorPlugin::initialize(const QStringList &arguments, QString *errorStr
     Q_UNUSED(arguments);
     Q_UNUSED(errorString);
 
-    ExtensionSystem::PluginManager *pluginManager = ExtensionSystem::PluginManager::instance();
-    Debugger::DebuggerUISwitcher *uiSwitcher = pluginManager->getObject<Debugger::DebuggerUISwitcher>();
-
-    uiSwitcher->addLanguage(Debugger::QmlLanguage, tr("QML"), Core::Context(C_INSPECTOR));
-
     return true;
 }
 
-- 
GitLab