diff --git a/src/plugins/coreplugin/designmode.cpp b/src/plugins/coreplugin/designmode.cpp index 598f7cd136d..49f99650fae 100644 --- a/src/plugins/coreplugin/designmode.cpp +++ b/src/plugins/coreplugin/designmode.cpp @@ -247,13 +247,10 @@ void DesignMode::updateActions() void DesignMode::updateContext(Core::IMode *newMode, Core::IMode *oldMode) { - if (newMode == this) { - // Apply active context - Core::ICore::updateAdditionalContexts(Context(), d->m_activeContext); - } else if (oldMode == this) { - // Remove active context - Core::ICore::updateAdditionalContexts(d->m_activeContext, Context()); - } + if (newMode == this) + ICore::addAdditionalContext(d->m_activeContext); + else if (oldMode == this) + ICore::removeAdditionalContext(d->m_activeContext); } void DesignMode::setActiveContext(const Context &context) diff --git a/src/plugins/coreplugin/icore.cpp b/src/plugins/coreplugin/icore.cpp index 495b202fe42..256c06bf27b 100644 --- a/src/plugins/coreplugin/icore.cpp +++ b/src/plugins/coreplugin/icore.cpp @@ -514,6 +514,16 @@ void ICore::updateAdditionalContexts(const Context &remove, const Context &add) m_mainwindow->updateAdditionalContexts(remove, add); } +void ICore::addAdditionalContext(const Context &context) +{ + m_mainwindow->updateAdditionalContexts(Context(), context); +} + +void ICore::removeAdditionalContext(const Context &context) +{ + m_mainwindow->updateAdditionalContexts(context, Context()); +} + void ICore::addContextObject(IContext *context) { m_mainwindow->addContextObject(context); diff --git a/src/plugins/coreplugin/icore.h b/src/plugins/coreplugin/icore.h index 64ee8155dc5..8014b1548e3 100644 --- a/src/plugins/coreplugin/icore.h +++ b/src/plugins/coreplugin/icore.h @@ -107,6 +107,8 @@ public: // Adds and removes additional active contexts, these contexts are appended // to the currently active contexts. static void updateAdditionalContexts(const Context &remove, const Context &add); + static void addAdditionalContext(const Context &context); + static void removeAdditionalContext(const Context &context); static void addContextObject(IContext *context); static void removeContextObject(IContext *context); diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp index 650195ddf05..91f9c02a9fd 100644 --- a/src/plugins/debugger/debuggermainwindow.cpp +++ b/src/plugins/debugger/debuggermainwindow.cpp @@ -346,15 +346,14 @@ void DebuggerMainWindowPrivate::activateQmlCppLayout() if (m_previousDebugLanguages & QmlLanguage) { m_dockWidgetActiveStateQmlCpp = q->saveSettings(); - ICore::updateAdditionalContexts(qmlCppContext, Context()); + ICore::removeAdditionalContext(qmlCppContext); } else if (m_previousDebugLanguages & CppLanguage) { m_dockWidgetActiveStateCpp = q->saveSettings(); - ICore::updateAdditionalContexts(m_contextsForLanguage.value(CppLanguage), - Context()); + ICore::removeAdditionalContext(m_contextsForLanguage.value(CppLanguage)); } q->restoreSettings(m_dockWidgetActiveStateQmlCpp); - ICore::updateAdditionalContexts(Context(), qmlCppContext); + ICore::addAdditionalContext(qmlCppContext); } void DebuggerMainWindowPrivate::activateCppLayout() @@ -368,17 +367,16 @@ void DebuggerMainWindowPrivate::activateCppLayout() if (m_previousDebugLanguages & QmlLanguage) { m_dockWidgetActiveStateQmlCpp = q->saveSettings(); - ICore::updateAdditionalContexts(qmlCppContext, Context()); + ICore::removeAdditionalContext(qmlCppContext); } else if (m_previousDebugLanguages & CppLanguage) { m_dockWidgetActiveStateCpp = q->saveSettings(); - ICore::updateAdditionalContexts(m_contextsForLanguage.value(CppLanguage), - Context()); + ICore::removeAdditionalContext(m_contextsForLanguage.value(CppLanguage)); } q->restoreSettings(m_dockWidgetActiveStateCpp); const Context &cppContext = m_contextsForLanguage.value(CppLanguage); - ICore::updateAdditionalContexts(Context(), cppContext); + ICore::addAdditionalContext(cppContext); } void DebuggerMainWindow::setToolBar(DebuggerLanguage language, QWidget *widget) diff --git a/src/plugins/debugger/qml/qmlinspectoradapter.cpp b/src/plugins/debugger/qml/qmlinspectoradapter.cpp index c7ea47450d3..207a706673b 100644 --- a/src/plugins/debugger/qml/qmlinspectoradapter.cpp +++ b/src/plugins/debugger/qml/qmlinspectoradapter.cpp @@ -226,7 +226,7 @@ void QmlInspectorAdapter::toolsClientStateChanged(QmlDebugClient::State state) Core::Id(Constants::QML_UPDATE_ON_SAVE), m_inspectorToolsContext); - Core::ICore::updateAdditionalContexts(Core::Context(), m_inspectorToolsContext); + Core::ICore::addAdditionalContext(m_inspectorToolsContext); m_toolsClientConnected = true; onEngineStateChanged(m_engine->state()); @@ -246,7 +246,7 @@ void QmlInspectorAdapter::toolsClientStateChanged(QmlDebugClient::State state) Core::ActionManager::unregisterAction(m_updateOnSaveAction, Core::Id(Constants::QML_UPDATE_ON_SAVE)); - Core::ICore::updateAdditionalContexts(m_inspectorToolsContext, Core::Context()); + Core::ICore::removeAdditionalContext(m_inspectorToolsContext); enableTools(false); m_toolsClientConnected = false;