forked from qt-creator/qt-creator
DebuggerRunConfigurationAspect: Update based on project languages
Update when the list of languages in a project changes. Change-Id: I2ed1089b8c7a6358b1c398d388b8ad2143ec432e Reviewed-by: Daniel Teske <daniel.teske@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -74,6 +74,7 @@ private slots:
|
|||||||
void useQmlDebuggerToggled(bool on);
|
void useQmlDebuggerToggled(bool on);
|
||||||
void qmlDebugServerPortChanged(int port);
|
void qmlDebugServerPortChanged(int port);
|
||||||
void useMultiProcessToggled(bool on);
|
void useMultiProcessToggled(bool on);
|
||||||
|
void update();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
DebuggerRunConfigurationAspect *m_aspect; // not owned
|
DebuggerRunConfigurationAspect *m_aspect; // not owned
|
||||||
@@ -104,15 +105,9 @@ DebuggerRunConfigWidget::DebuggerRunConfigWidget(DebuggerRunConfigurationAspect
|
|||||||
"qthelp://org.qt-project.qtcreator/doc/creator-debugging-qml.html"
|
"qthelp://org.qt-project.qtcreator/doc/creator-debugging-qml.html"
|
||||||
"\">What are the prerequisites?</a>"));
|
"\">What are the prerequisites?</a>"));
|
||||||
|
|
||||||
m_useCppDebugger->setChecked(m_aspect->useCppDebugger());
|
|
||||||
m_useQmlDebugger->setChecked(m_aspect->useQmlDebugger());
|
|
||||||
|
|
||||||
m_debugServerPort->setValue(m_aspect->qmlDebugServerPort());
|
|
||||||
|
|
||||||
static const QByteArray env = qgetenv("QTC_DEBUGGER_MULTIPROCESS");
|
static const QByteArray env = qgetenv("QTC_DEBUGGER_MULTIPROCESS");
|
||||||
m_useMultiProcess =
|
m_useMultiProcess =
|
||||||
new QCheckBox(tr("Enable Debugging of Subprocesses"), this);
|
new QCheckBox(tr("Enable Debugging of Subprocesses"), this);
|
||||||
m_useMultiProcess->setChecked(m_aspect->useMultiProcess());
|
|
||||||
m_useMultiProcess->setVisible(env.toInt());
|
m_useMultiProcess->setVisible(env.toInt());
|
||||||
|
|
||||||
connect(m_qmlDebuggerInfoLabel, SIGNAL(linkActivated(QString)),
|
connect(m_qmlDebuggerInfoLabel, SIGNAL(linkActivated(QString)),
|
||||||
@@ -126,20 +121,6 @@ DebuggerRunConfigWidget::DebuggerRunConfigWidget(DebuggerRunConfigurationAspect
|
|||||||
connect(m_useMultiProcess, SIGNAL(toggled(bool)),
|
connect(m_useMultiProcess, SIGNAL(toggled(bool)),
|
||||||
SLOT(useMultiProcessToggled(bool)));
|
SLOT(useMultiProcessToggled(bool)));
|
||||||
|
|
||||||
if (m_aspect->areQmlDebuggingOptionsSuppressed()) {
|
|
||||||
m_debugServerPortLabel->hide();
|
|
||||||
m_debugServerPort->hide();
|
|
||||||
m_useQmlDebugger->hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
if (m_aspect->areCppDebuggingOptionsSuppressed())
|
|
||||||
m_useCppDebugger->hide();
|
|
||||||
|
|
||||||
if (m_aspect->isQmlDebuggingSpinboxSuppressed()) {
|
|
||||||
m_debugServerPort->hide();
|
|
||||||
m_debugServerPortLabel->hide();
|
|
||||||
}
|
|
||||||
|
|
||||||
QHBoxLayout *qmlLayout = new QHBoxLayout;
|
QHBoxLayout *qmlLayout = new QHBoxLayout;
|
||||||
qmlLayout->setMargin(0);
|
qmlLayout->setMargin(0);
|
||||||
qmlLayout->addWidget(m_useQmlDebugger);
|
qmlLayout->addWidget(m_useQmlDebugger);
|
||||||
@@ -154,6 +135,29 @@ DebuggerRunConfigWidget::DebuggerRunConfigWidget(DebuggerRunConfigurationAspect
|
|||||||
layout->addLayout(qmlLayout);
|
layout->addLayout(qmlLayout);
|
||||||
layout->addWidget(m_useMultiProcess);
|
layout->addWidget(m_useMultiProcess);
|
||||||
setLayout(layout);
|
setLayout(layout);
|
||||||
|
|
||||||
|
connect(aspect->runConfiguration()->target()->project(), SIGNAL(projectLanguagesUpdated()),
|
||||||
|
this, SLOT(update()));
|
||||||
|
update();
|
||||||
|
}
|
||||||
|
|
||||||
|
void DebuggerRunConfigWidget::update()
|
||||||
|
{
|
||||||
|
m_useCppDebugger->setChecked(m_aspect->useCppDebugger());
|
||||||
|
m_useQmlDebugger->setChecked(m_aspect->useQmlDebugger());
|
||||||
|
|
||||||
|
m_debugServerPort->setValue(m_aspect->qmlDebugServerPort());
|
||||||
|
|
||||||
|
m_useMultiProcess->setChecked(m_aspect->useMultiProcess());
|
||||||
|
|
||||||
|
m_useQmlDebugger->setVisible(!m_aspect->areQmlDebuggingOptionsSuppressed());
|
||||||
|
m_qmlDebuggerInfoLabel->setVisible(!m_aspect->areQmlDebuggingOptionsSuppressed());
|
||||||
|
m_debugServerPortLabel->setVisible(!m_aspect->areQmlDebuggingOptionsSuppressed()
|
||||||
|
&& !m_aspect->isQmlDebuggingSpinboxSuppressed());
|
||||||
|
m_debugServerPort->setVisible(!m_aspect->areQmlDebuggingOptionsSuppressed()
|
||||||
|
&& !m_aspect->isQmlDebuggingSpinboxSuppressed());
|
||||||
|
|
||||||
|
m_useCppDebugger->setVisible(!m_aspect->areCppDebuggingOptionsSuppressed());
|
||||||
}
|
}
|
||||||
|
|
||||||
void DebuggerRunConfigWidget::qmlDebugServerPortChanged(int port)
|
void DebuggerRunConfigWidget::qmlDebugServerPortChanged(int port)
|
||||||
@@ -233,11 +237,13 @@ void DebuggerRunConfigurationAspect::setUseCppDebugger(bool value)
|
|||||||
|
|
||||||
bool DebuggerRunConfigurationAspect::useCppDebugger() const
|
bool DebuggerRunConfigurationAspect::useCppDebugger() const
|
||||||
{
|
{
|
||||||
return m_useCppDebugger;
|
return m_useCppDebugger && !areCppDebuggingOptionsSuppressed();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DebuggerRunConfigurationAspect::useQmlDebugger() const
|
bool DebuggerRunConfigurationAspect::useQmlDebugger() const
|
||||||
{
|
{
|
||||||
|
if (areQmlDebuggingOptionsSuppressed())
|
||||||
|
return false;
|
||||||
if (m_useQmlDebugger == DebuggerRunConfigurationAspect::AutoEnableQmlDebugger)
|
if (m_useQmlDebugger == DebuggerRunConfigurationAspect::AutoEnableQmlDebugger)
|
||||||
return m_runConfiguration->target()->project()->projectLanguages().contains(
|
return m_runConfiguration->target()->project()->projectLanguages().contains(
|
||||||
ProjectExplorer::Constants::LANG_QMLJS);
|
ProjectExplorer::Constants::LANG_QMLJS);
|
||||||
@@ -323,7 +329,6 @@ ProjectExplorer::RunConfigWidget *DebuggerRunConfigurationAspect::createConfigur
|
|||||||
{
|
{
|
||||||
if (areCppDebuggingOptionsSuppressed() && areQmlDebuggingOptionsSuppressed())
|
if (areCppDebuggingOptionsSuppressed() && areQmlDebuggingOptionsSuppressed())
|
||||||
return 0;
|
return 0;
|
||||||
else
|
|
||||||
return new Internal::DebuggerRunConfigWidget(this);
|
return new Internal::DebuggerRunConfigWidget(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user