forked from qt-creator/qt-creator
ProjectExplorer: Move *ConfigurationModel ownership to target
The models hold essentially duplicated information besides the actual configuration lists that are already in the target and are only used in a context where the target is known and accessible. As the models keep track of all added or removed configurations and can be fed configurations of the right types only, the need to filter is gone. Change-Id: Iec2c6879223893297c71e7632310ac526b704237 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -83,7 +83,7 @@ BuildSettingsWidget::BuildSettingsWidget(Target *target) :
|
||||
hbox->addWidget(new QLabel(tr("Edit build configuration:"), this));
|
||||
m_buildConfigurationComboBox = new QComboBox(this);
|
||||
m_buildConfigurationComboBox->setSizeAdjustPolicy(QComboBox::AdjustToContents);
|
||||
m_buildConfigurationComboBox->setModel(new BuildConfigurationModel(m_target, this));
|
||||
m_buildConfigurationComboBox->setModel(m_target->buildConfigurationModel());
|
||||
hbox->addWidget(m_buildConfigurationComboBox);
|
||||
|
||||
m_addButton = new QPushButton(this);
|
||||
@@ -113,8 +113,8 @@ BuildSettingsWidget::BuildSettingsWidget(Target *target) :
|
||||
}
|
||||
|
||||
m_buildConfiguration = m_target->activeBuildConfiguration();
|
||||
auto model = static_cast<BuildConfigurationModel *>(m_buildConfigurationComboBox->model());
|
||||
m_buildConfigurationComboBox->setCurrentIndex(model->indexFor(m_buildConfiguration).row());
|
||||
m_buildConfigurationComboBox->setCurrentIndex(
|
||||
m_target->buildConfigurationModel()->indexFor(m_buildConfiguration));
|
||||
|
||||
updateAddButtonMenu();
|
||||
updateBuildSettings();
|
||||
@@ -217,8 +217,8 @@ void BuildSettingsWidget::updateBuildSettings()
|
||||
|
||||
void BuildSettingsWidget::currentIndexChanged(int index)
|
||||
{
|
||||
auto model = static_cast<BuildConfigurationModel *>(m_buildConfigurationComboBox->model());
|
||||
auto buildConfiguration = qobject_cast<BuildConfiguration *>(model->projectConfigurationAt(index));
|
||||
auto buildConfiguration = qobject_cast<BuildConfiguration *>(
|
||||
m_target->buildConfigurationModel()->projectConfigurationAt(index));
|
||||
SessionManager::setActiveBuildConfiguration(m_target, buildConfiguration, SetActive::Cascade);
|
||||
}
|
||||
|
||||
@@ -229,8 +229,8 @@ void BuildSettingsWidget::updateActiveConfiguration()
|
||||
|
||||
m_buildConfiguration = m_target->activeBuildConfiguration();
|
||||
|
||||
auto model = static_cast<BuildConfigurationModel *>(m_buildConfigurationComboBox->model());
|
||||
m_buildConfigurationComboBox->setCurrentIndex(model->indexFor(m_buildConfiguration).row());
|
||||
m_buildConfigurationComboBox->setCurrentIndex(
|
||||
m_target->buildConfigurationModel()->indexFor(m_buildConfiguration));
|
||||
|
||||
updateBuildSettings();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user