DebuggerAspect: Simplify handling of Qml debugging

There should not be a need to have the linkQmlDebuggingLibrary Q_PROPERTY
anymore. The property is added for the benefit of the DebuggerAspect, which
can just check relevant BuildConfigurationAspect directly.

Change-Id: Ic47ca9e26911e096564fe77bd14bebe959b4f116
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Tobias Hunger
2020-02-17 14:25:30 +01:00
parent a68aee95a1
commit 39cddf5d03
7 changed files with 7 additions and 48 deletions

View File

@@ -195,12 +195,6 @@ bool CMakeBuildConfiguration::fromMap(const QVariantMap &map)
return true;
}
FilePath CMakeBuildConfiguration::shadowBuildDirectory(const FilePath &projectFilePath,
const Kit *k,
const QString &bcName,
@@ -382,12 +376,6 @@ void CMakeBuildConfiguration::setWarning(const QString &message)
emit warningOccured(m_warning);
}
bool CMakeBuildConfiguration::isQmlDebuggingEnabled() const
{
return aspect<QtSupport::QmlDebuggingAspect>()->setting() == TriState::Enabled;
}
QString CMakeBuildConfiguration::error() const
{
return m_error;

View File

@@ -46,11 +46,6 @@ class CMakeBuildConfiguration final : public ProjectExplorer::BuildConfiguration
{
Q_OBJECT
// used in DebuggerRunConfigurationAspect
Q_PROPERTY(bool linkQmlDebuggingLibrary
READ isQmlDebuggingEnabled
NOTIFY configurationForCMakeChanged)
friend class ProjectExplorer::BuildConfigurationFactory;
CMakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
~CMakeBuildConfiguration() final;
@@ -96,8 +91,6 @@ private:
void setError(const QString &message);
void setWarning(const QString &message);
bool isQmlDebuggingEnabled() const;
CMakeConfig m_configurationForCMake;
CMakeConfig m_initialConfiguration;
QString m_error;

View File

@@ -27,17 +27,18 @@
#include "debuggerconstants.h"
#include <coreplugin/helpmanager.h>
#include <coreplugin/icontext.h>
#include <coreplugin/icore.h>
#include <coreplugin/helpmanager.h>
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/buildstep.h>
#include <projectexplorer/buildsteplist.h>
#include <projectexplorer/kitinformation.h>
#include <projectexplorer/project.h>
#include <projectexplorer/projectexplorerconstants.h>
#include <projectexplorer/runconfiguration.h>
#include <projectexplorer/target.h>
#include <projectexplorer/buildconfiguration.h>
#include <projectexplorer/buildstep.h>
#include <projectexplorer/buildsteplist.h>
#include <qtsupport/qtbuildaspects.h>
#include <QCheckBox>
#include <QDebug>
@@ -242,12 +243,9 @@ bool DebuggerRunConfigurationAspect::useQmlDebugger() const
//
// Try to find a build configuration to check whether qml debugging is enabled there
// (Using the Qt metatype system to avoid a hard build system dependency)
//
if (BuildConfiguration *bc = m_target->activeBuildConfiguration()) {
const QVariant linkProperty = bc->property("linkQmlDebuggingLibrary");
if (linkProperty.isValid() && linkProperty.canConvert(QVariant::Bool))
return linkProperty.toBool();
const auto aspect = bc->aspect<QtSupport::QmlDebuggingAspect>();
return aspect && aspect->setting() == TriState::Enabled;
}
return !languages.contains(ProjectExplorer::Constants::CXX_LANGUAGE_ID);

View File

@@ -311,11 +311,6 @@ QString QbsBuildConfiguration::equivalentCommandLine(const QbsBuildStepData &ste
return commandLine.arguments();
}
bool QbsBuildConfiguration::isQmlDebuggingEnabled() const
{
return qmlDebuggingSetting() == TriState::Enabled;
}
TriState QbsBuildConfiguration::qmlDebuggingSetting() const
{
return aspect<QtSupport::QmlDebuggingAspect>()->setting();

View File

@@ -61,11 +61,6 @@ class QbsBuildConfiguration final : public ProjectExplorer::BuildConfiguration
{
Q_OBJECT
// used in DebuggerRunConfigurationAspect
Q_PROPERTY(bool linkQmlDebuggingLibrary
READ isQmlDebuggingEnabled
NOTIFY qbsConfigurationChanged)
friend class ProjectExplorer::BuildConfigurationFactory;
QbsBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
~QbsBuildConfiguration() final;
@@ -90,7 +85,6 @@ public:
QString configurationName() const;
QString equivalentCommandLine(const QbsBuildStepData &stepData) const;
bool isQmlDebuggingEnabled() const;
ProjectExplorer::TriState qmlDebuggingSetting() const;
ProjectExplorer::TriState qtQuickCompilerSetting() const;
ProjectExplorer::TriState separateDebugInfoSetting() const;

View File

@@ -427,11 +427,6 @@ TriState QmakeBuildConfiguration::qmlDebugging() const
return aspect<QmlDebuggingAspect>()->setting();
}
bool QmakeBuildConfiguration::linkQmlDebuggingLibrary() const
{
return qmlDebugging() == TriState::Enabled;
}
void QmakeBuildConfiguration::forceQmlDebugging(bool enable)
{
aspect<QmlDebuggingAspect>()->setSetting(enable ? TriState::Enabled : TriState::Disabled);

View File

@@ -44,9 +44,6 @@ class QMAKEPROJECTMANAGER_EXPORT QmakeBuildConfiguration : public ProjectExplore
{
Q_OBJECT
// used in DebuggerRunConfigurationAspect
Q_PROPERTY(bool linkQmlDebuggingLibrary READ linkQmlDebuggingLibrary NOTIFY qmlDebuggingChanged)
public:
QmakeBuildConfiguration(ProjectExplorer::Target *target, Core::Id id);
~QmakeBuildConfiguration() override;
@@ -103,7 +100,6 @@ public:
void forceSeparateDebugInfo(bool sepDebugInfo);
ProjectExplorer::TriState qmlDebugging() const;
bool linkQmlDebuggingLibrary() const;
void forceQmlDebugging(bool enable);
ProjectExplorer::TriState useQtQuickCompiler() const;