ProjectExplorer: Remove an unneeded signal

The only ProjectConfigurationModel instance that needs to react to
runConfigurationsUpdated() was directly accessible at the only place
where the signal got emitted.
A number of further simplifications fell out of that.

Change-Id: I5e61409091c5a0b84667fa8f6da0d7de9fd40e0e
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Christian Kandeler
2025-03-11 10:47:43 +01:00
parent 35e6763b6e
commit b5673bc290
5 changed files with 11 additions and 24 deletions

View File

@@ -148,8 +148,6 @@ public:
, m_cleanSteps(bc, Constants::BUILDSTEPS_CLEAN)
, m_buildDirectoryAspect(bc, bc)
, m_tooltipAspect(bc)
, m_deployConfigurationModel(bc->target())
, m_runConfigurationModel(bc->target())
{}
bool m_clearSystemEnvironment = false;
@@ -770,8 +768,7 @@ void BuildConfiguration::updateDefaultRunConfigurations()
removeRunConfiguration(rc);
emit runConfigurationsUpdated();
if (this == target()->activeBuildConfiguration())
emit target()->runConfigurationsUpdated();
runConfigurationModel()->triggerUpdate();
}
const QList<RunConfiguration *> BuildConfiguration::runConfigurations() const

View File

@@ -3,12 +3,9 @@
#include "projectconfigurationmodel.h"
#include "buildconfiguration.h"
#include "deployconfiguration.h"
#include "projectconfiguration.h"
#include "projectexplorertr.h"
#include "runconfiguration.h"
#include "target.h"
#include <utils/stringutils.h>
@@ -27,13 +24,6 @@ static bool isOrderedBefore(const ProjectConfiguration *a, const ProjectConfigur
return Utils::caseFriendlyCompare(a->displayName(), b->displayName()) < 0;
}
ProjectConfigurationModel::ProjectConfigurationModel(Target *target)
{
connect(target, &Target::runConfigurationsUpdated, this, [this] {
emit dataChanged(index(0, 0), index(rowCount(), 0));
});
}
int ProjectConfigurationModel::rowCount(const QModelIndex &parent) const
{
return parent.isValid() ? 0 : m_projectConfigurations.size();
@@ -141,4 +131,9 @@ void ProjectConfigurationModel::removeProjectConfiguration(ProjectConfiguration
endRemoveRows();
}
void ProjectConfigurationModel::triggerUpdate()
{
emit dataChanged(index(0, 0), index(rowCount(), 0));
}
} // ProjectExplorer

View File

@@ -5,10 +5,7 @@
#include <QAbstractItemModel>
#include <functional>
namespace ProjectExplorer {
class Target;
class ProjectConfiguration;
// Documentation inside.
@@ -17,8 +14,6 @@ class ProjectConfigurationModel : public QAbstractListModel
Q_OBJECT
public:
explicit ProjectConfigurationModel(Target *target);
int rowCount(const QModelIndex &parent = QModelIndex()) const override;
int columnCount(const QModelIndex &parent = QModelIndex()) const override;
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
@@ -29,6 +24,8 @@ public:
void addProjectConfiguration(ProjectConfiguration *pc);
void removeProjectConfiguration(ProjectConfiguration *pc);
void triggerUpdate();
private:
void displayNameChanged(ProjectConfiguration *pc);

View File

@@ -61,9 +61,8 @@ static QString formatDeviceInfo(const ProjectExplorer::IDevice::DeviceInfo &inpu
class TargetPrivate
{
public:
TargetPrivate(Target *t, Kit *k) :
m_kit(k),
m_buildConfigurationModel(t)
TargetPrivate(Kit *k)
: m_kit(k)
{ }
QIcon m_overlayIcon;
@@ -83,7 +82,7 @@ public:
Target::Target(Project *project, Kit *k, _constructor_tag) :
QObject(project),
d(std::make_unique<TargetPrivate>(this, k))
d(std::make_unique<TargetPrivate>(k))
{
QTC_CHECK(d->m_kit);
connect(DeviceManager::instance(), &DeviceManager::updated, this, &Target::updateDeviceState);

View File

@@ -107,7 +107,6 @@ signals:
void removedRunConfiguration(ProjectExplorer::RunConfiguration *rc);
void addedRunConfiguration(ProjectExplorer::RunConfiguration *rc);
void activeRunConfigurationChanged(ProjectExplorer::RunConfiguration *rc);
void runConfigurationsUpdated();
void removedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
void addedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);