forked from qt-creator/qt-creator
Add "make active" buttons, as replacement for the link.
This commit is contained in:
@@ -173,6 +173,13 @@ void BuildSettingsWidget::setupUi()
|
|||||||
m_removeButton->setText(tr("Remove"));
|
m_removeButton->setText(tr("Remove"));
|
||||||
m_removeButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
m_removeButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
hbox->addWidget(m_removeButton);
|
hbox->addWidget(m_removeButton);
|
||||||
|
|
||||||
|
m_makeActiveButton = new QPushButton(this);
|
||||||
|
m_makeActiveButton->setText(tr("Make Active"));
|
||||||
|
m_makeActiveButton->setToolTip(tr("Sets this build configuration to be used for this target."));
|
||||||
|
m_makeActiveButton->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
|
||||||
|
hbox->addWidget(m_makeActiveButton);
|
||||||
|
|
||||||
hbox->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed));
|
hbox->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed));
|
||||||
vbox->addLayout(hbox);
|
vbox->addLayout(hbox);
|
||||||
}
|
}
|
||||||
@@ -185,12 +192,15 @@ void BuildSettingsWidget::setupUi()
|
|||||||
connect(m_removeButton, SIGNAL(clicked()),
|
connect(m_removeButton, SIGNAL(clicked()),
|
||||||
this, SLOT(deleteConfiguration()));
|
this, SLOT(deleteConfiguration()));
|
||||||
|
|
||||||
|
connect(m_makeActiveButton, SIGNAL(clicked()),
|
||||||
|
this, SLOT(makeActive()));
|
||||||
|
|
||||||
// TODO update on displayNameChange
|
// TODO update on displayNameChange
|
||||||
// connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(const QString &)),
|
// connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(const QString &)),
|
||||||
// this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
|
// this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
|
||||||
|
|
||||||
connect(m_target, SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
|
connect(m_target, SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)),
|
||||||
this, SLOT(updateConfigurationComboBoxLabels()));
|
this, SLOT(updateActiveConfiguration()));
|
||||||
|
|
||||||
connect(m_target, SIGNAL(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)),
|
connect(m_target, SIGNAL(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)),
|
||||||
this, SLOT(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)));
|
this, SLOT(addedBuildConfiguration(ProjectExplorer::BuildConfiguration*)));
|
||||||
@@ -324,6 +334,9 @@ void BuildSettingsWidget::currentIndexChanged(int index)
|
|||||||
|
|
||||||
void BuildSettingsWidget::currentBuildConfigurationChanged()
|
void BuildSettingsWidget::currentBuildConfigurationChanged()
|
||||||
{
|
{
|
||||||
|
m_makeActiveButton->setEnabled(m_buildConfiguration
|
||||||
|
&& m_buildConfiguration != m_target->activeBuildConfiguration());
|
||||||
|
|
||||||
if (!m_buildConfiguration)
|
if (!m_buildConfiguration)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -341,12 +354,14 @@ void BuildSettingsWidget::currentBuildConfigurationChanged()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::updateConfigurationComboBoxLabels()
|
void BuildSettingsWidget::updateActiveConfiguration()
|
||||||
{
|
{
|
||||||
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, buildConfigurationItemName(bc));
|
m_buildConfigurationComboBox->setItemText(i, buildConfigurationItemName(bc));
|
||||||
}
|
}
|
||||||
|
m_makeActiveButton->setEnabled(currentBuildConfiguration()
|
||||||
|
&& currentBuildConfiguration() != m_target->activeBuildConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
QString BuildSettingsWidget::buildConfigurationItemName(const BuildConfiguration *bc) const
|
QString BuildSettingsWidget::buildConfigurationItemName(const BuildConfiguration *bc) const
|
||||||
@@ -356,6 +371,11 @@ QString BuildSettingsWidget::buildConfigurationItemName(const BuildConfiguration
|
|||||||
return bc->displayName();
|
return bc->displayName();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BuildConfiguration *BuildSettingsWidget::currentBuildConfiguration() const {
|
||||||
|
const int index = m_buildConfigurationComboBox->currentIndex();
|
||||||
|
return m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
|
||||||
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::createConfiguration()
|
void BuildSettingsWidget::createConfiguration()
|
||||||
{
|
{
|
||||||
if (!m_target->buildConfigurationFactory())
|
if (!m_target->buildConfigurationFactory())
|
||||||
@@ -372,16 +392,17 @@ void BuildSettingsWidget::createConfiguration()
|
|||||||
|
|
||||||
void BuildSettingsWidget::cloneConfiguration()
|
void BuildSettingsWidget::cloneConfiguration()
|
||||||
{
|
{
|
||||||
const int index = m_buildConfigurationComboBox->currentIndex();
|
cloneConfiguration(currentBuildConfiguration());
|
||||||
BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
|
|
||||||
cloneConfiguration(bc);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::deleteConfiguration()
|
void BuildSettingsWidget::deleteConfiguration()
|
||||||
{
|
{
|
||||||
const int index = m_buildConfigurationComboBox->currentIndex();
|
deleteConfiguration(currentBuildConfiguration());
|
||||||
BuildConfiguration *bc = m_buildConfigurationComboBox->itemData(index).value<BuildConfiguration *>();
|
}
|
||||||
deleteConfiguration(bc);
|
|
||||||
|
void BuildSettingsWidget::makeActive()
|
||||||
|
{
|
||||||
|
m_target->setActiveBuildConfiguration(currentBuildConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::cloneConfiguration(BuildConfiguration *sourceConfiguration)
|
void BuildSettingsWidget::cloneConfiguration(BuildConfiguration *sourceConfiguration)
|
||||||
|
|||||||
@@ -101,23 +101,26 @@ private slots:
|
|||||||
void createConfiguration();
|
void createConfiguration();
|
||||||
void cloneConfiguration();
|
void cloneConfiguration();
|
||||||
void deleteConfiguration();
|
void deleteConfiguration();
|
||||||
|
void makeActive();
|
||||||
void updateAddButtonMenu();
|
void updateAddButtonMenu();
|
||||||
|
|
||||||
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();
|
void updateActiveConfiguration();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void cloneConfiguration(BuildConfiguration *toClone);
|
void cloneConfiguration(BuildConfiguration *toClone);
|
||||||
void deleteConfiguration(BuildConfiguration *toDelete);
|
void deleteConfiguration(BuildConfiguration *toDelete);
|
||||||
QString buildConfigurationItemName(const BuildConfiguration *bc) const;
|
QString buildConfigurationItemName(const BuildConfiguration *bc) const;
|
||||||
|
BuildConfiguration *currentBuildConfiguration() const;
|
||||||
|
|
||||||
Target *m_target;
|
Target *m_target;
|
||||||
BuildConfiguration *m_buildConfiguration;
|
BuildConfiguration *m_buildConfiguration;
|
||||||
|
|
||||||
QPushButton *m_addButton;
|
QPushButton *m_addButton;
|
||||||
QPushButton *m_removeButton;
|
QPushButton *m_removeButton;
|
||||||
|
QPushButton *m_makeActiveButton;
|
||||||
QComboBox *m_buildConfigurationComboBox;
|
QComboBox *m_buildConfigurationComboBox;
|
||||||
QMenu *m_addButtonMenu;
|
QMenu *m_addButtonMenu;
|
||||||
|
|
||||||
|
|||||||
@@ -229,9 +229,11 @@ RunSettingsWidget::RunSettingsWidget(Target *target)
|
|||||||
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)),
|
||||||
this, SLOT(showRunConfigurationWidget(int)));
|
this, SLOT(currentRunConfigurationChanged(int)));
|
||||||
connect(m_ui->removeToolButton, SIGNAL(clicked(bool)),
|
connect(m_ui->removeToolButton, SIGNAL(clicked(bool)),
|
||||||
this, SLOT(removeRunConfiguration()));
|
this, SLOT(removeRunConfiguration()));
|
||||||
|
connect(m_ui->makeActiveButton, SIGNAL(clicked()),
|
||||||
|
this, SLOT(makeActive()));
|
||||||
|
|
||||||
connect(m_target, SIGNAL(removedRunConfiguration(ProjectExplorer::RunConfiguration *)),
|
connect(m_target, SIGNAL(removedRunConfiguration(ProjectExplorer::RunConfiguration *)),
|
||||||
this, SLOT(initRunConfigurationComboBox()));
|
this, SLOT(initRunConfigurationComboBox()));
|
||||||
@@ -285,6 +287,15 @@ void RunSettingsWidget::aboutToShowAddMenu()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RunConfiguration *RunSettingsWidget::currentRunConfiguration() const
|
||||||
|
{
|
||||||
|
RunConfiguration *currentSelection = 0;
|
||||||
|
const int index = m_ui->runConfigurationCombo->currentIndex();
|
||||||
|
if (index >= 0)
|
||||||
|
currentSelection = m_runConfigurationsModel->runConfigurations().at(index);
|
||||||
|
return currentSelection;
|
||||||
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::addRunConfiguration()
|
void RunSettingsWidget::addRunConfiguration()
|
||||||
{
|
{
|
||||||
QAction *act = qobject_cast<QAction *>(sender());
|
QAction *act = qobject_cast<QAction *>(sender());
|
||||||
@@ -303,20 +314,22 @@ void RunSettingsWidget::addRunConfiguration()
|
|||||||
|
|
||||||
void RunSettingsWidget::removeRunConfiguration()
|
void RunSettingsWidget::removeRunConfiguration()
|
||||||
{
|
{
|
||||||
int index = m_ui->runConfigurationCombo->currentIndex();
|
RunConfiguration *rc = currentRunConfiguration();
|
||||||
RunConfiguration *rc = m_runConfigurationsModel->runConfigurations().at(index);
|
|
||||||
disconnect(rc, SIGNAL(displayNameChanged()), this, SLOT(displayNameChanged()));
|
disconnect(rc, SIGNAL(displayNameChanged()), this, SLOT(displayNameChanged()));
|
||||||
m_target->removeRunConfiguration(rc);
|
m_target->removeRunConfiguration(rc);
|
||||||
initRunConfigurationComboBox();
|
initRunConfigurationComboBox();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RunSettingsWidget::makeActive()
|
||||||
|
{
|
||||||
|
m_target->setActiveRunConfiguration(currentRunConfiguration());
|
||||||
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::initRunConfigurationComboBox()
|
void RunSettingsWidget::initRunConfigurationComboBox()
|
||||||
{
|
{
|
||||||
const QList<RunConfiguration *> &runConfigurations = m_target->runConfigurations();
|
const QList<RunConfiguration *> &runConfigurations = m_target->runConfigurations();
|
||||||
RunConfiguration *activeRunConfiguration = m_target->activeRunConfiguration();
|
RunConfiguration *activeRunConfiguration = m_target->activeRunConfiguration();
|
||||||
RunConfiguration *currentSelection = 0;
|
RunConfiguration *currentSelection = currentRunConfiguration();
|
||||||
if (m_ui->runConfigurationCombo->currentIndex() >= 0)
|
|
||||||
currentSelection = m_runConfigurationsModel->runConfigurations().at(m_ui->runConfigurationCombo->currentIndex());
|
|
||||||
|
|
||||||
m_runConfigurationsModel->setRunConfigurations(runConfigurations);
|
m_runConfigurationsModel->setRunConfigurations(runConfigurations);
|
||||||
if (runConfigurations.contains(currentSelection))
|
if (runConfigurations.contains(currentSelection))
|
||||||
@@ -330,10 +343,15 @@ void RunSettingsWidget::initRunConfigurationComboBox()
|
|||||||
void RunSettingsWidget::activeRunConfigurationChanged()
|
void RunSettingsWidget::activeRunConfigurationChanged()
|
||||||
{
|
{
|
||||||
m_runConfigurationsModel->activeRunConfigurationChanged(m_target->activeRunConfiguration());
|
m_runConfigurationsModel->activeRunConfigurationChanged(m_target->activeRunConfiguration());
|
||||||
|
m_ui->makeActiveButton->setEnabled(currentRunConfiguration()
|
||||||
|
&& currentRunConfiguration() != m_target->activeRunConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::showRunConfigurationWidget(int index)
|
void RunSettingsWidget::currentRunConfigurationChanged(int index)
|
||||||
{
|
{
|
||||||
|
m_ui->makeActiveButton->setEnabled(currentRunConfiguration()
|
||||||
|
&& currentRunConfiguration() != m_target->activeRunConfiguration());
|
||||||
|
|
||||||
if (index == -1) {
|
if (index == -1) {
|
||||||
delete m_runConfigurationWidget;
|
delete m_runConfigurationWidget;
|
||||||
m_runConfigurationWidget = 0;
|
m_runConfigurationWidget = 0;
|
||||||
|
|||||||
@@ -40,6 +40,9 @@ class QLabel;
|
|||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
namespace ProjectExplorer {
|
namespace ProjectExplorer {
|
||||||
|
|
||||||
|
class RunConfiguration;
|
||||||
|
|
||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
const char * const RUNSETTINGS_PANEL_ID("ProjectExplorer.RunSettingsPanel");
|
const char * const RUNSETTINGS_PANEL_ID("ProjectExplorer.RunSettingsPanel");
|
||||||
@@ -85,14 +88,17 @@ public:
|
|||||||
~RunSettingsWidget();
|
~RunSettingsWidget();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void showRunConfigurationWidget(int index);
|
void currentRunConfigurationChanged(int index);
|
||||||
void aboutToShowAddMenu();
|
void aboutToShowAddMenu();
|
||||||
void addRunConfiguration();
|
void addRunConfiguration();
|
||||||
void removeRunConfiguration();
|
void removeRunConfiguration();
|
||||||
|
void makeActive();
|
||||||
void displayNameChanged();
|
void displayNameChanged();
|
||||||
void initRunConfigurationComboBox();
|
void initRunConfigurationComboBox();
|
||||||
void activeRunConfigurationChanged();
|
void activeRunConfigurationChanged();
|
||||||
private:
|
private:
|
||||||
|
RunConfiguration *currentRunConfiguration() const;
|
||||||
|
|
||||||
Target *m_target;
|
Target *m_target;
|
||||||
RunConfigurationsModel *m_runConfigurationsModel;
|
RunConfigurationsModel *m_runConfigurationsModel;
|
||||||
Ui::RunSettingsPropertiesPage *m_ui;
|
Ui::RunSettingsPropertiesPage *m_ui;
|
||||||
|
|||||||
@@ -6,8 +6,8 @@
|
|||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>437</width>
|
<width>442</width>
|
||||||
<height>25</height>
|
<height>32</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout">
|
<layout class="QVBoxLayout" name="verticalLayout">
|
||||||
@@ -62,6 +62,13 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QPushButton" name="makeActiveButton">
|
||||||
|
<property name="text">
|
||||||
|
<string>Make Active</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="horizontalSpacer">
|
<spacer name="horizontalSpacer">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
|||||||
Reference in New Issue
Block a user