forked from qt-creator/qt-creator
Debugger: Create more uniform summary for debugger selection
Change-Id: I82ddcae84e4ff8d4776aa5fa988bb49b943b8d6f Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
This commit is contained in:
@@ -53,12 +53,12 @@ DebuggerRunConfigurationAspect::DebuggerRunConfigurationAspect(Target *target)
|
|||||||
setConfigWidgetCreator([this] {
|
setConfigWidgetCreator([this] {
|
||||||
Layouting::Grid builder;
|
Layouting::Grid builder;
|
||||||
builder.addRow({m_cppAspect});
|
builder.addRow({m_cppAspect});
|
||||||
builder.addRow({m_pythonAspect});
|
|
||||||
auto info = new QLabel(
|
auto info = new QLabel(
|
||||||
Tr::tr("<a href=\""
|
Tr::tr("<a href=\""
|
||||||
"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>"));
|
||||||
builder.addRow({m_qmlAspect, info});
|
builder.addRow({m_qmlAspect, info});
|
||||||
|
builder.addRow({m_pythonAspect});
|
||||||
connect(info, &QLabel::linkActivated, [](const QString &link) {
|
connect(info, &QLabel::linkActivated, [](const QString &link) {
|
||||||
Core::HelpManager::showHelpUrl(link);
|
Core::HelpManager::showHelpUrl(link);
|
||||||
});
|
});
|
||||||
@@ -76,26 +76,28 @@ DebuggerRunConfigurationAspect::DebuggerRunConfigurationAspect(Target *target)
|
|||||||
builder.attachTo(innerPane);
|
builder.attachTo(innerPane);
|
||||||
|
|
||||||
const auto setSummaryText = [this, details] {
|
const auto setSummaryText = [this, details] {
|
||||||
QStringList items;
|
const auto describe = [](const TriStateAspect &aspect, const QString &name) {
|
||||||
if (m_cppAspect() == TriState::Enabled)
|
if (aspect() == TriState::Enabled)
|
||||||
items.append(Tr::tr("Enable C++ debugger."));
|
return Tr::tr("Enable %1 debugger.").arg(name);
|
||||||
else if (m_cppAspect() == TriState::Default)
|
if (aspect() == TriState::Disabled)
|
||||||
items.append(Tr::tr("Try to determine need for C++ debugger."));
|
return Tr::tr("Disable %1 debugger.").arg(name);
|
||||||
|
return Tr::tr("Try to determine need for %1 debugger.").arg(name);
|
||||||
|
};
|
||||||
|
|
||||||
if (m_qmlAspect() == TriState::Enabled)
|
details->setSummaryText(QStringList{
|
||||||
items.append(Tr::tr("Enable QML debugger."));
|
describe(m_cppAspect, "C++"),
|
||||||
else if (m_qmlAspect() == TriState::Default)
|
describe(m_qmlAspect, "QML"),
|
||||||
items.append(Tr::tr("Try to determine need for QML debugger."));
|
describe(m_pythonAspect, "Python"),
|
||||||
|
m_overrideStartupAspect().isEmpty()
|
||||||
items.append(m_overrideStartupAspect().isEmpty()
|
? Tr::tr("No additional startup commands.")
|
||||||
? Tr::tr("Without additional startup commands.")
|
: Tr::tr("Use additional startup commands.")
|
||||||
: Tr::tr("With additional startup commands."));
|
}.join(" "));
|
||||||
details->setSummaryText(items.join(" "));
|
|
||||||
};
|
};
|
||||||
setSummaryText();
|
setSummaryText();
|
||||||
|
|
||||||
connect(&m_cppAspect, &BaseAspect::changed, this, setSummaryText);
|
connect(&m_cppAspect, &BaseAspect::changed, this, setSummaryText);
|
||||||
connect(&m_qmlAspect, &BaseAspect::changed, this, setSummaryText);
|
connect(&m_qmlAspect, &BaseAspect::changed, this, setSummaryText);
|
||||||
|
connect(&m_pythonAspect, &BaseAspect::changed, this, setSummaryText);
|
||||||
connect(&m_overrideStartupAspect, &BaseAspect::changed, this, setSummaryText);
|
connect(&m_overrideStartupAspect, &BaseAspect::changed, this, setSummaryText);
|
||||||
|
|
||||||
return details;
|
return details;
|
||||||
@@ -179,7 +181,6 @@ bool DebuggerRunConfigurationAspect::useQmlDebugger() const
|
|||||||
if (!languages.contains(ProjectExplorer::Constants::QMLJS_LANGUAGE_ID))
|
if (!languages.contains(ProjectExplorer::Constants::QMLJS_LANGUAGE_ID))
|
||||||
return projectHasQmlDefines(m_target->project());
|
return projectHasQmlDefines(m_target->project());
|
||||||
|
|
||||||
//
|
|
||||||
// Try to find a build configuration to check whether qml debugging is enabled there
|
// Try to find a build configuration to check whether qml debugging is enabled there
|
||||||
if (BuildConfiguration *bc = m_target->activeBuildConfiguration()) {
|
if (BuildConfiguration *bc = m_target->activeBuildConfiguration()) {
|
||||||
if (const auto aspect = bc->aspect<QtSupport::QmlDebuggingAspect>())
|
if (const auto aspect = bc->aspect<QtSupport::QmlDebuggingAspect>())
|
||||||
|
|||||||
Reference in New Issue
Block a user