diff --git a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp index 5c8713e4735..c4095912e8a 100644 --- a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp +++ b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp @@ -176,14 +176,12 @@ void DebuggerRunConfigWidget::update() void DebuggerRunConfigWidget::qmlDebugServerPortChanged(int port) { - m_aspect->m_qmlDebugServerPort = port; + m_aspect->d.qmlDebugServerPort = port; } void DebuggerRunConfigWidget::useCppDebuggerClicked(bool on) { - m_aspect->m_useCppDebugger = on - ? DebuggerRunConfigurationAspect::EnabledLanguage - : DebuggerRunConfigurationAspect::DisabledLanguage; + m_aspect->d.useCppDebugger = on ? EnabledLanguage : DisabledLanguage; if (!on && !m_useQmlDebugger->isChecked()) { m_useQmlDebugger->setChecked(true); useQmlDebuggerClicked(true); @@ -198,9 +196,7 @@ void DebuggerRunConfigWidget::useQmlDebuggerToggled(bool on) void DebuggerRunConfigWidget::useQmlDebuggerClicked(bool on) { - m_aspect->m_useQmlDebugger = on - ? DebuggerRunConfigurationAspect::EnabledLanguage - : DebuggerRunConfigurationAspect::DisabledLanguage; + m_aspect->d.useQmlDebugger = on ? EnabledLanguage : DisabledLanguage; if (!on && !m_useCppDebugger->isChecked()) { m_useCppDebugger->setChecked(true); useCppDebuggerClicked(true); @@ -209,7 +205,7 @@ void DebuggerRunConfigWidget::useQmlDebuggerClicked(bool on) void DebuggerRunConfigWidget::useMultiProcessToggled(bool on) { - m_aspect->m_useMultiProcess = on; + m_aspect->d.useMultiProcess = on; } } // namespace Internal @@ -220,11 +216,7 @@ void DebuggerRunConfigWidget::useMultiProcessToggled(bool on) DebuggerRunConfigurationAspect::DebuggerRunConfigurationAspect( RunConfiguration *rc) : - IRunConfigurationAspect(rc), - m_useCppDebugger(AutoEnabledLanguage), - m_useQmlDebugger(AutoEnabledLanguage), - m_qmlDebugServerPort(Constants::QML_DEFAULT_DEBUG_SERVER_PORT), - m_useMultiProcess(false) + IRunConfigurationAspect(rc) { setId("DebuggerAspect"); setDisplayName(tr("Debugger settings")); @@ -232,27 +224,27 @@ DebuggerRunConfigurationAspect::DebuggerRunConfigurationAspect( void DebuggerRunConfigurationAspect::setUseQmlDebugger(bool value) { - m_useQmlDebugger = value ? EnabledLanguage : DisabledLanguage; + d.useQmlDebugger = value ? EnabledLanguage : DisabledLanguage; runConfiguration()->requestRunActionsUpdate(); } void DebuggerRunConfigurationAspect::setUseCppDebugger(bool value) { - m_useCppDebugger = value ? EnabledLanguage : DisabledLanguage; + d.useCppDebugger = value ? EnabledLanguage : DisabledLanguage; runConfiguration()->requestRunActionsUpdate(); } bool DebuggerRunConfigurationAspect::useCppDebugger() const { - if (m_useCppDebugger == DebuggerRunConfigurationAspect::AutoEnabledLanguage) + if (d.useCppDebugger == AutoEnabledLanguage) return runConfiguration()->target()->project()->projectLanguages().contains( ProjectExplorer::Constants::LANG_CXX); - return m_useCppDebugger == DebuggerRunConfigurationAspect::EnabledLanguage; + return d.useCppDebugger == EnabledLanguage; } bool DebuggerRunConfigurationAspect::useQmlDebugger() const { - if (m_useQmlDebugger == DebuggerRunConfigurationAspect::AutoEnabledLanguage) { + if (d.useQmlDebugger == AutoEnabledLanguage) { // // Try to find a build step (qmake) to check whether qml debugging is enabled there // (Using the Qt metatype system to avoid a hard qt4projectmanager dependency) @@ -271,27 +263,27 @@ bool DebuggerRunConfigurationAspect::useQmlDebugger() const return languages.contains(ProjectExplorer::Constants::LANG_QMLJS) && !languages.contains(ProjectExplorer::Constants::LANG_CXX); } - return m_useQmlDebugger == DebuggerRunConfigurationAspect::EnabledLanguage; + return d.useQmlDebugger == EnabledLanguage; } uint DebuggerRunConfigurationAspect::qmlDebugServerPort() const { - return m_qmlDebugServerPort; + return d.qmlDebugServerPort; } void DebuggerRunConfigurationAspect::setQmllDebugServerPort(uint port) { - m_qmlDebugServerPort = port; + d.qmlDebugServerPort = port; } bool DebuggerRunConfigurationAspect::useMultiProcess() const { - return m_useMultiProcess; + return d.useMultiProcess; } void DebuggerRunConfigurationAspect::setUseMultiProcess(bool value) { - m_useMultiProcess = value; + d.useMultiProcess = value; } bool DebuggerRunConfigurationAspect::isQmlDebuggingSpinboxSuppressed() const @@ -305,29 +297,29 @@ bool DebuggerRunConfigurationAspect::isQmlDebuggingSpinboxSuppressed() const void DebuggerRunConfigurationAspect::toMap(QVariantMap &map) const { - map.insert(QLatin1String(USE_CPP_DEBUGGER_KEY), m_useCppDebugger == EnabledLanguage); - map.insert(QLatin1String(USE_CPP_DEBUGGER_AUTO_KEY), m_useCppDebugger == AutoEnabledLanguage); - map.insert(QLatin1String(USE_QML_DEBUGGER_KEY), m_useQmlDebugger == EnabledLanguage); - map.insert(QLatin1String(USE_QML_DEBUGGER_AUTO_KEY), m_useQmlDebugger == AutoEnabledLanguage); - map.insert(QLatin1String(QML_DEBUG_SERVER_PORT_KEY), m_qmlDebugServerPort); - map.insert(QLatin1String(USE_MULTIPROCESS_KEY), m_useMultiProcess); + map.insert(QLatin1String(USE_CPP_DEBUGGER_KEY), d.useCppDebugger == EnabledLanguage); + map.insert(QLatin1String(USE_CPP_DEBUGGER_AUTO_KEY), d.useCppDebugger == AutoEnabledLanguage); + map.insert(QLatin1String(USE_QML_DEBUGGER_KEY), d.useQmlDebugger == EnabledLanguage); + map.insert(QLatin1String(USE_QML_DEBUGGER_AUTO_KEY), d.useQmlDebugger == AutoEnabledLanguage); + map.insert(QLatin1String(QML_DEBUG_SERVER_PORT_KEY), d.qmlDebugServerPort); + map.insert(QLatin1String(USE_MULTIPROCESS_KEY), d.useMultiProcess); } void DebuggerRunConfigurationAspect::fromMap(const QVariantMap &map) { if (map.value(QLatin1String(USE_CPP_DEBUGGER_AUTO_KEY), false).toBool()) { - m_useCppDebugger = AutoEnabledLanguage; + d.useCppDebugger = AutoEnabledLanguage; } else { bool useCpp = map.value(QLatin1String(USE_CPP_DEBUGGER_KEY), false).toBool(); - m_useCppDebugger = useCpp ? EnabledLanguage : DisabledLanguage; + d.useCppDebugger = useCpp ? EnabledLanguage : DisabledLanguage; } if (map.value(QLatin1String(USE_QML_DEBUGGER_AUTO_KEY), false).toBool()) { - m_useQmlDebugger = AutoEnabledLanguage; + d.useQmlDebugger = AutoEnabledLanguage; } else { bool useQml = map.value(QLatin1String(USE_QML_DEBUGGER_KEY), false).toBool(); - m_useQmlDebugger = useQml ? EnabledLanguage : DisabledLanguage; + d.useQmlDebugger = useQml ? EnabledLanguage : DisabledLanguage; } - m_useMultiProcess = map.value(QLatin1String(USE_MULTIPROCESS_KEY), false).toBool(); + d.useMultiProcess = map.value(QLatin1String(USE_MULTIPROCESS_KEY), false).toBool(); } DebuggerRunConfigurationAspect *DebuggerRunConfigurationAspect::create diff --git a/src/plugins/debugger/debuggerrunconfigurationaspect.h b/src/plugins/debugger/debuggerrunconfigurationaspect.h index fe1d2b30d58..1c1642e2f46 100644 --- a/src/plugins/debugger/debuggerrunconfigurationaspect.h +++ b/src/plugins/debugger/debuggerrunconfigurationaspect.h @@ -32,6 +32,7 @@ #define DEBUGGERRUNCONFIGURATIONASPECT_H #include "debugger_global.h" +#include "debuggerconstants.h" #include @@ -39,6 +40,21 @@ namespace Debugger { namespace Internal { class DebuggerRunConfigWidget; } +enum DebuggerLanguageStatus { + DisabledLanguage = 0, + EnabledLanguage, + AutoEnabledLanguage +}; + +class DEBUGGER_EXPORT DebuggerRunConfigurationAspectData +{ +public: + DebuggerLanguageStatus useCppDebugger = AutoEnabledLanguage; + DebuggerLanguageStatus useQmlDebugger = AutoEnabledLanguage; + uint qmlDebugServerPort = Constants::QML_DEFAULT_DEBUG_SERVER_PORT; + bool useMultiProcess = false; +}; + class DEBUGGER_EXPORT DebuggerRunConfigurationAspect : public ProjectExplorer::IRunConfigurationAspect { @@ -48,12 +64,6 @@ public: DebuggerRunConfigurationAspect(ProjectExplorer::RunConfiguration *runConfiguration); DebuggerRunConfigurationAspect *create(ProjectExplorer::RunConfiguration *runConfiguration) const; - enum DebuggerLanguageStatus { - DisabledLanguage = 0, - EnabledLanguage, - AutoEnabledLanguage - }; - void fromMap(const QVariantMap &map); void toMap(QVariantMap &map) const; @@ -70,12 +80,8 @@ public: bool isQmlDebuggingSpinboxSuppressed() const; private: - DebuggerLanguageStatus m_useCppDebugger; - DebuggerLanguageStatus m_useQmlDebugger; - uint m_qmlDebugServerPort; - bool m_useMultiProcess; - friend class Internal::DebuggerRunConfigWidget; + DebuggerRunConfigurationAspectData d; }; } // namespace Debugger