forked from qt-creator/qt-creator
Remove the "make active" links from build and run settings.
Show the state in the combo boxes instead.
This commit is contained in:
@@ -157,16 +157,8 @@ void BuildSettingsWidget::setupUi()
|
|||||||
vbox->addLayout(hbox);
|
vbox->addLayout(hbox);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_makeActiveLabel = new QLabel(this);
|
|
||||||
m_makeActiveLabel->setContentsMargins(m_leftMargin, 4, 0, 4);
|
|
||||||
m_makeActiveLabel->setVisible(false);
|
|
||||||
vbox->addWidget(m_makeActiveLabel);
|
|
||||||
|
|
||||||
m_buildConfiguration = m_project->activeBuildConfiguration();
|
m_buildConfiguration = m_project->activeBuildConfiguration();
|
||||||
|
|
||||||
connect(m_makeActiveLabel, SIGNAL(linkActivated(QString)),
|
|
||||||
this, SLOT(makeActive()));
|
|
||||||
|
|
||||||
connect(m_buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)),
|
connect(m_buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)),
|
||||||
this, SLOT(currentIndexChanged(int)));
|
this, SLOT(currentIndexChanged(int)));
|
||||||
|
|
||||||
@@ -178,8 +170,7 @@ void BuildSettingsWidget::setupUi()
|
|||||||
// this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
|
// this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
|
||||||
|
|
||||||
connect(m_project, SIGNAL(activeBuildConfigurationChanged()),
|
connect(m_project, SIGNAL(activeBuildConfigurationChanged()),
|
||||||
this, SLOT(checkMakeActiveLabel()));
|
this, SLOT(updateConfigurationComboBoxLabels()));
|
||||||
|
|
||||||
connect(m_project, SIGNAL(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)),
|
connect(m_project, SIGNAL(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)),
|
||||||
this, SLOT(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)));
|
this, SLOT(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)));
|
||||||
|
|
||||||
@@ -214,9 +205,8 @@ void BuildSettingsWidget::buildConfigurationDisplayNameChanged()
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
|
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
|
||||||
BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>();
|
BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>();
|
||||||
m_buildConfigurationComboBox->setItemText(i, bc->displayName());
|
m_buildConfigurationComboBox->setItemText(i, buildConfigurationItemName(bc));
|
||||||
}
|
}
|
||||||
checkMakeActiveLabel();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::addSubWidget(const QString &name, QWidget *widget)
|
void BuildSettingsWidget::addSubWidget(const QString &name, QWidget *widget)
|
||||||
@@ -253,11 +243,6 @@ QList<QWidget *> BuildSettingsWidget::subWidgets() const
|
|||||||
return m_subWidgets;
|
return m_subWidgets;
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::makeActive()
|
|
||||||
{
|
|
||||||
m_project->setActiveBuildConfiguration(m_buildConfiguration);
|
|
||||||
}
|
|
||||||
|
|
||||||
void BuildSettingsWidget::updateAddButtonMenu()
|
void BuildSettingsWidget::updateAddButtonMenu()
|
||||||
{
|
{
|
||||||
m_addButtonMenu->clear();
|
m_addButtonMenu->clear();
|
||||||
@@ -297,23 +282,23 @@ void BuildSettingsWidget::updateBuildSettings()
|
|||||||
|
|
||||||
// Add tree items
|
// Add tree items
|
||||||
foreach (BuildConfiguration *bc, m_project->buildConfigurations()) {
|
foreach (BuildConfiguration *bc, m_project->buildConfigurations()) {
|
||||||
m_buildConfigurationComboBox->addItem(bc->displayName(), QVariant::fromValue<BuildConfiguration *>(bc));
|
m_buildConfigurationComboBox->addItem(buildConfigurationItemName(bc), QVariant::fromValue<BuildConfiguration *>(bc));
|
||||||
if (bc == m_buildConfiguration)
|
if (bc == m_buildConfiguration)
|
||||||
m_buildConfigurationComboBox->setCurrentIndex(m_buildConfigurationComboBox->count() - 1);
|
m_buildConfigurationComboBox->setCurrentIndex(m_buildConfigurationComboBox->count() - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_buildConfigurationComboBox->blockSignals(blocked);
|
m_buildConfigurationComboBox->blockSignals(blocked);
|
||||||
|
|
||||||
activeBuildConfigurationChanged();
|
currentBuildConfigurationChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::currentIndexChanged(int index)
|
void BuildSettingsWidget::currentIndexChanged(int index)
|
||||||
{
|
{
|
||||||
m_buildConfiguration = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
|
m_buildConfiguration = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
|
||||||
activeBuildConfigurationChanged();
|
currentBuildConfigurationChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::activeBuildConfigurationChanged()
|
void BuildSettingsWidget::currentBuildConfigurationChanged()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
|
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
|
||||||
if (m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>() == m_buildConfiguration) {
|
if (m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>() == m_buildConfiguration) {
|
||||||
@@ -326,18 +311,23 @@ void BuildSettingsWidget::activeBuildConfigurationChanged()
|
|||||||
buildStepWidget->init(m_buildConfiguration);
|
buildStepWidget->init(m_buildConfiguration);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
checkMakeActiveLabel();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::checkMakeActiveLabel()
|
void BuildSettingsWidget::updateConfigurationComboBoxLabels()
|
||||||
{
|
{
|
||||||
m_makeActiveLabel->setVisible(false);
|
for (int i = 0; i < m_buildConfigurationComboBox->count(); ++i) {
|
||||||
if (!m_project->activeBuildConfiguration() || m_project->activeBuildConfiguration() != m_buildConfiguration) {
|
BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(i).value<BuildConfiguration *>();
|
||||||
m_makeActiveLabel->setText(tr("<a href=\"#\">Make %1 active.</a>").arg(m_buildConfiguration->displayName()));
|
m_buildConfigurationComboBox->setItemText(i, buildConfigurationItemName(bc));
|
||||||
m_makeActiveLabel->setVisible(true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString BuildSettingsWidget::buildConfigurationItemName(const BuildConfiguration *bc) const
|
||||||
|
{
|
||||||
|
if (bc == m_project->activeBuildConfiguration())
|
||||||
|
return tr("%1 (Active)").arg(bc->displayName());
|
||||||
|
return bc->displayName();
|
||||||
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::createConfiguration()
|
void BuildSettingsWidget::createConfiguration()
|
||||||
{
|
{
|
||||||
QAction *action = qobject_cast<QAction *>(sender());
|
QAction *action = qobject_cast<QAction *>(sender());
|
||||||
|
|||||||
@@ -91,21 +91,22 @@ public:
|
|||||||
private slots:
|
private slots:
|
||||||
void updateBuildSettings();
|
void updateBuildSettings();
|
||||||
void currentIndexChanged(int index);
|
void currentIndexChanged(int index);
|
||||||
void activeBuildConfigurationChanged();
|
void currentBuildConfigurationChanged();
|
||||||
|
|
||||||
void createConfiguration();
|
void createConfiguration();
|
||||||
void cloneConfiguration();
|
void cloneConfiguration();
|
||||||
void deleteConfiguration();
|
void deleteConfiguration();
|
||||||
void updateAddButtonMenu();
|
void updateAddButtonMenu();
|
||||||
void checkMakeActiveLabel();
|
|
||||||
void makeActive();
|
|
||||||
|
|
||||||
void addedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
|
void addedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
|
||||||
void removedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
|
void removedBuildConfiguration(ProjectExplorer::BuildConfiguration *bc);
|
||||||
void buildConfigurationDisplayNameChanged();
|
void buildConfigurationDisplayNameChanged();
|
||||||
|
void updateConfigurationComboBoxLabels();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void cloneConfiguration(BuildConfiguration *toClone);
|
void cloneConfiguration(BuildConfiguration *toClone);
|
||||||
void deleteConfiguration(BuildConfiguration *toDelete);
|
void deleteConfiguration(BuildConfiguration *toDelete);
|
||||||
|
QString buildConfigurationItemName(const BuildConfiguration *bc) const;
|
||||||
|
|
||||||
Project *m_project;
|
Project *m_project;
|
||||||
BuildConfiguration *m_buildConfiguration;
|
BuildConfiguration *m_buildConfiguration;
|
||||||
@@ -114,7 +115,6 @@ private:
|
|||||||
QPushButton *m_removeButton;
|
QPushButton *m_removeButton;
|
||||||
QComboBox *m_buildConfigurationComboBox;
|
QComboBox *m_buildConfigurationComboBox;
|
||||||
QMenu *m_addButtonMenu;
|
QMenu *m_addButtonMenu;
|
||||||
QLabel *m_makeActiveLabel;
|
|
||||||
|
|
||||||
QList<QWidget *> m_subWidgets;
|
QList<QWidget *> m_subWidgets;
|
||||||
QList<QLabel *> m_labels;
|
QList<QLabel *> m_labels;
|
||||||
|
|||||||
@@ -63,7 +63,8 @@ class RunConfigurationsModel : public QAbstractListModel
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
RunConfigurationsModel(QObject *parent = 0)
|
RunConfigurationsModel(QObject *parent = 0)
|
||||||
: QAbstractListModel(parent)
|
: QAbstractListModel(parent),
|
||||||
|
m_activeRunConfiguration(0)
|
||||||
{}
|
{}
|
||||||
|
|
||||||
int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
int rowCount(const QModelIndex &parent = QModelIndex()) const;
|
||||||
@@ -73,9 +74,11 @@ public:
|
|||||||
void setRunConfigurations(const QList<RunConfiguration *> &runConfigurations);
|
void setRunConfigurations(const QList<RunConfiguration *> &runConfigurations);
|
||||||
QList<RunConfiguration *> runConfigurations() const { return m_runConfigurations; }
|
QList<RunConfiguration *> runConfigurations() const { return m_runConfigurations; }
|
||||||
void displayNameChanged(RunConfiguration *rc);
|
void displayNameChanged(RunConfiguration *rc);
|
||||||
|
void activeRunConfigurationChanged(RunConfiguration *rc);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QList<RunConfiguration *> m_runConfigurations;
|
QList<RunConfiguration *> m_runConfigurations;
|
||||||
|
RunConfiguration *m_activeRunConfiguration;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
@@ -158,12 +161,21 @@ void RunConfigurationsModel::displayNameChanged(RunConfiguration *rc)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RunConfigurationsModel::activeRunConfigurationChanged(RunConfiguration *rc)
|
||||||
|
{
|
||||||
|
m_activeRunConfiguration = rc;
|
||||||
|
emit dataChanged(index(0, 0), index(m_runConfigurations.size()-1, 0));
|
||||||
|
}
|
||||||
|
|
||||||
QVariant RunConfigurationsModel::data(const QModelIndex &index, int role) const
|
QVariant RunConfigurationsModel::data(const QModelIndex &index, int role) const
|
||||||
{
|
{
|
||||||
if (role == Qt::DisplayRole) {
|
if (role == Qt::DisplayRole) {
|
||||||
const int row = index.row();
|
const int row = index.row();
|
||||||
if (row < m_runConfigurations.size()) {
|
if (row < m_runConfigurations.size()) {
|
||||||
return m_runConfigurations.at(row)->displayName();
|
RunConfiguration *rc = m_runConfigurations.at(row);
|
||||||
|
if (rc == m_activeRunConfiguration)
|
||||||
|
return tr("%1 (Active)").arg(rc->displayName());
|
||||||
|
return rc->displayName();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -194,10 +206,6 @@ RunSettingsWidget::RunSettingsWidget(Project *project)
|
|||||||
m_ui->removeToolButton->setText(tr("Remove"));
|
m_ui->removeToolButton->setText(tr("Remove"));
|
||||||
m_ui->runConfigurationCombo->setModel(m_runConfigurationsModel);
|
m_ui->runConfigurationCombo->setModel(m_runConfigurationsModel);
|
||||||
|
|
||||||
m_makeActiveLabel = new QLabel(this);
|
|
||||||
m_makeActiveLabel->setVisible(false);
|
|
||||||
layout()->addWidget(m_makeActiveLabel);
|
|
||||||
|
|
||||||
connect(m_addMenu, SIGNAL(aboutToShow()),
|
connect(m_addMenu, SIGNAL(aboutToShow()),
|
||||||
this, SLOT(aboutToShowAddMenu()));
|
this, SLOT(aboutToShowAddMenu()));
|
||||||
connect(m_ui->runConfigurationCombo, SIGNAL(currentIndexChanged(int)),
|
connect(m_ui->runConfigurationCombo, SIGNAL(currentIndexChanged(int)),
|
||||||
@@ -209,12 +217,8 @@ RunSettingsWidget::RunSettingsWidget(Project *project)
|
|||||||
this, SLOT(initRunConfigurationComboBox()));
|
this, SLOT(initRunConfigurationComboBox()));
|
||||||
connect(m_project, SIGNAL(addedRunConfiguration(ProjectExplorer::RunConfiguration *)),
|
connect(m_project, SIGNAL(addedRunConfiguration(ProjectExplorer::RunConfiguration *)),
|
||||||
this, SLOT(initRunConfigurationComboBox()));
|
this, SLOT(initRunConfigurationComboBox()));
|
||||||
|
|
||||||
connect(m_project, SIGNAL(activeRunConfigurationChanged()),
|
connect(m_project, SIGNAL(activeRunConfigurationChanged()),
|
||||||
this, SLOT(updateMakeActiveLabel()));
|
this, SLOT(activeRunConfigurationChanged()));
|
||||||
|
|
||||||
connect(m_makeActiveLabel, SIGNAL(linkActivated(QString)),
|
|
||||||
this, SLOT(makeActive()));
|
|
||||||
|
|
||||||
initRunConfigurationComboBox();
|
initRunConfigurationComboBox();
|
||||||
const QList<RunConfiguration *> runConfigurations = m_project->runConfigurations();
|
const QList<RunConfiguration *> runConfigurations = m_project->runConfigurations();
|
||||||
@@ -298,7 +302,12 @@ void RunSettingsWidget::initRunConfigurationComboBox()
|
|||||||
else
|
else
|
||||||
m_ui->runConfigurationCombo->setCurrentIndex(runConfigurations.indexOf(activeRunConfiguration));
|
m_ui->runConfigurationCombo->setCurrentIndex(runConfigurations.indexOf(activeRunConfiguration));
|
||||||
m_ui->removeToolButton->setEnabled(runConfigurations.size() > 1);
|
m_ui->removeToolButton->setEnabled(runConfigurations.size() > 1);
|
||||||
updateMakeActiveLabel();
|
activeRunConfigurationChanged();
|
||||||
|
}
|
||||||
|
|
||||||
|
void RunSettingsWidget::activeRunConfigurationChanged()
|
||||||
|
{
|
||||||
|
m_runConfigurationsModel->activeRunConfigurationChanged(m_project->activeRunConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::showRunConfigurationWidget(int index)
|
void RunSettingsWidget::showRunConfigurationWidget(int index)
|
||||||
@@ -316,39 +325,10 @@ void RunSettingsWidget::showRunConfigurationWidget(int index)
|
|||||||
delete m_runConfigurationWidget;
|
delete m_runConfigurationWidget;
|
||||||
m_runConfigurationWidget = selectedRunConfiguration->configurationWidget();
|
m_runConfigurationWidget = selectedRunConfiguration->configurationWidget();
|
||||||
layout()->addWidget(m_runConfigurationWidget);
|
layout()->addWidget(m_runConfigurationWidget);
|
||||||
updateMakeActiveLabel();
|
|
||||||
}
|
|
||||||
|
|
||||||
void RunSettingsWidget::updateMakeActiveLabel()
|
|
||||||
{
|
|
||||||
m_makeActiveLabel->setVisible(false);
|
|
||||||
RunConfiguration *rc = 0;
|
|
||||||
int index = m_ui->runConfigurationCombo->currentIndex();
|
|
||||||
if (index != -1) {
|
|
||||||
rc = m_runConfigurationsModel->runConfigurations().at(index);
|
|
||||||
}
|
|
||||||
if (rc) {
|
|
||||||
if (m_project->activeRunConfiguration() != rc) {
|
|
||||||
m_makeActiveLabel->setText(tr("<a href=\"#\">Make %1 active.</a>").arg(rc->displayName()));
|
|
||||||
m_makeActiveLabel->setVisible(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void RunSettingsWidget::makeActive()
|
|
||||||
{
|
|
||||||
RunConfiguration *rc = 0;
|
|
||||||
int index = m_ui->runConfigurationCombo->currentIndex();
|
|
||||||
if (index != -1) {
|
|
||||||
rc = m_runConfigurationsModel->runConfigurations().at(index);
|
|
||||||
}
|
|
||||||
if (rc)
|
|
||||||
m_project->setActiveRunConfiguration(rc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::displayNameChanged()
|
void RunSettingsWidget::displayNameChanged()
|
||||||
{
|
{
|
||||||
RunConfiguration *rc = qobject_cast<RunConfiguration *>(sender());
|
RunConfiguration *rc = qobject_cast<RunConfiguration *>(sender());
|
||||||
m_runConfigurationsModel->displayNameChanged(rc);
|
m_runConfigurationsModel->displayNameChanged(rc);
|
||||||
updateMakeActiveLabel();
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -86,13 +86,11 @@ private slots:
|
|||||||
void removeRunConfiguration();
|
void removeRunConfiguration();
|
||||||
void displayNameChanged();
|
void displayNameChanged();
|
||||||
void initRunConfigurationComboBox();
|
void initRunConfigurationComboBox();
|
||||||
void updateMakeActiveLabel();
|
void activeRunConfigurationChanged();
|
||||||
void makeActive();
|
|
||||||
private:
|
private:
|
||||||
Project *m_project;
|
Project *m_project;
|
||||||
RunConfigurationsModel *m_runConfigurationsModel;
|
RunConfigurationsModel *m_runConfigurationsModel;
|
||||||
Ui::RunSettingsPropertiesPage *m_ui;
|
Ui::RunSettingsPropertiesPage *m_ui;
|
||||||
QLabel *m_makeActiveLabel;
|
|
||||||
QWidget *m_runConfigurationWidget;
|
QWidget *m_runConfigurationWidget;
|
||||||
QMenu *m_addMenu;
|
QMenu *m_addMenu;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user