diff options
author | Tobias Hunger <[email protected]> | 2013-04-05 13:20:52 +0200 |
---|---|---|
committer | Tobias Hunger <[email protected]> | 2013-04-05 14:56:48 +0200 |
commit | ace68297425d5298af9ebfa9f289b4bc69ea3853 (patch) | |
tree | dab1a7cd5dc42ebcf183daa3c51a4b6860b13fe7 /src/plugins/debugger/debuggerrunconfigurationaspect.cpp | |
parent | fd1f2848922254179120a7d48472af55bd5e6eae (diff) |
DebuggerRunConfigurationAspect: Suppress widgets as necessary
Suppress widgets of the DebuggerRunConfigurationAspect widget as
required.
Change-Id: I4e384d4e725bd95bea51465e28e26ece3e2f5cc8
Reviewed-by: Tobias Hunger <[email protected]>
Diffstat (limited to 'src/plugins/debugger/debuggerrunconfigurationaspect.cpp')
-rw-r--r-- | src/plugins/debugger/debuggerrunconfigurationaspect.cpp | 60 |
1 files changed, 18 insertions, 42 deletions
diff --git a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp index 1aee092d952..d228994fab8 100644 --- a/src/plugins/debugger/debuggerrunconfigurationaspect.cpp +++ b/src/plugins/debugger/debuggerrunconfigurationaspect.cpp @@ -34,6 +34,7 @@ #include <coreplugin/icontext.h> #include <coreplugin/icore.h> #include <coreplugin/helpmanager.h> +#include <projectexplorer/kitinformation.h> #include <projectexplorer/project.h> #include <projectexplorer/projectexplorerconstants.h> #include <projectexplorer/runconfiguration.h> @@ -125,9 +126,6 @@ DebuggerRunConfigWidget::DebuggerRunConfigWidget(DebuggerRunConfigurationAspect connect(m_useMultiProcess, SIGNAL(toggled(bool)), SLOT(useMultiProcessToggled(bool))); - if (m_aspect->isDisplaySuppressed()) - hide(); - if (m_aspect->areQmlDebuggingOptionsSuppressed()) { m_debugServerPortLabel->hide(); m_debugServerPort->hide(); @@ -199,11 +197,7 @@ DebuggerRunConfigurationAspect::DebuggerRunConfigurationAspect( m_useCppDebugger(true), m_useQmlDebugger(AutoEnableQmlDebugger), m_qmlDebugServerPort(Constants::QML_DEFAULT_DEBUG_SERVER_PORT), - m_useMultiProcess(false), - m_suppressDisplay(false), - m_suppressQmlDebuggingOptions(false), - m_suppressCppDebuggingOptions(false), - m_suppressQmlDebuggingSpinbox(false) + m_useMultiProcess(false) { ctor(); } @@ -215,11 +209,7 @@ DebuggerRunConfigurationAspect::DebuggerRunConfigurationAspect( m_useCppDebugger(other->m_useCppDebugger), m_useQmlDebugger(other->m_useQmlDebugger), m_qmlDebugServerPort(other->m_qmlDebugServerPort), - m_useMultiProcess(other->m_useMultiProcess), - m_suppressDisplay(other->m_suppressDisplay), - m_suppressQmlDebuggingOptions(other->m_suppressQmlDebuggingOptions), - m_suppressCppDebuggingOptions(other->m_suppressCppDebuggingOptions), - m_suppressQmlDebuggingSpinbox(other->m_suppressQmlDebuggingSpinbox) + m_useMultiProcess(other->m_useMultiProcess) { ctor(); } @@ -274,44 +264,25 @@ void DebuggerRunConfigurationAspect::setUseMultiProcess(bool value) m_useMultiProcess = value; } -void DebuggerRunConfigurationAspect::suppressDisplay() -{ - m_suppressDisplay = true; -} - -void DebuggerRunConfigurationAspect::suppressQmlDebuggingOptions() -{ - m_suppressQmlDebuggingOptions = true; -} - -void DebuggerRunConfigurationAspect::suppressCppDebuggingOptions() -{ - m_suppressCppDebuggingOptions = true; -} - -void DebuggerRunConfigurationAspect::suppressQmlDebuggingSpinbox() -{ - m_suppressQmlDebuggingSpinbox = true; -} - -bool DebuggerRunConfigurationAspect::isDisplaySuppressed() const -{ - return m_suppressDisplay; -} - bool DebuggerRunConfigurationAspect::areQmlDebuggingOptionsSuppressed() const { - return m_suppressQmlDebuggingOptions; + return !m_runConfiguration->target()->project() + ->projectLanguages().contains(ProjectExplorer::Constants::LANG_QMLJS); } bool DebuggerRunConfigurationAspect::areCppDebuggingOptionsSuppressed() const { - return m_suppressCppDebuggingOptions; + return !m_runConfiguration->target()->project() + ->projectLanguages().contains(ProjectExplorer::Constants::LANG_CXX); } bool DebuggerRunConfigurationAspect::isQmlDebuggingSpinboxSuppressed() const { - return m_suppressQmlDebuggingSpinbox; + ProjectExplorer::Kit *k = m_runConfiguration->target()->kit(); + ProjectExplorer::IDevice::ConstPtr dev = ProjectExplorer::DeviceKitInformation::device(k); + if (dev.isNull()) + return false; + return dev->portsGatheringMethod().isNull(); // We know the free ports... } QString DebuggerRunConfigurationAspect::displayName() const @@ -350,13 +321,18 @@ DebuggerRunConfigurationAspect *DebuggerRunConfigurationAspect::clone( ProjectExplorer::RunConfigWidget *DebuggerRunConfigurationAspect::createConfigurationWidget() { - return new Internal::DebuggerRunConfigWidget(this); + if (areCppDebuggingOptionsSuppressed() && areQmlDebuggingOptionsSuppressed()) + return 0; + else + return new Internal::DebuggerRunConfigWidget(this); } void DebuggerRunConfigurationAspect::ctor() { connect(this, SIGNAL(debuggersChanged()), m_runConfiguration, SIGNAL(requestRunActionsUpdate())); + setUseCppDebugger(!areCppDebuggingOptionsSuppressed()); + setUseQmlDebugger(!areQmlDebuggingOptionsSuppressed()); } } // namespace Debugger |