forked from qt-creator/qt-creator
ProjectExplorer: Allow users to remove all run configurations
Change-Id: Ib70bb1a658edcd6996e98e391b9b938618747ed3 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -53,6 +53,7 @@ RunSettingsWidget::RunSettingsWidget(Target *target) :
|
|||||||
|
|
||||||
m_addRunToolButton = new QPushButton(Tr::tr("Add..."), this);
|
m_addRunToolButton = new QPushButton(Tr::tr("Add..."), this);
|
||||||
m_removeRunToolButton = new QPushButton(Tr::tr("Remove"), this);
|
m_removeRunToolButton = new QPushButton(Tr::tr("Remove"), this);
|
||||||
|
m_removeAllRunConfigsButton = new QPushButton(Tr::tr("Remove All"), this);
|
||||||
m_renameRunButton = new QPushButton(Tr::tr("Rename..."), this);
|
m_renameRunButton = new QPushButton(Tr::tr("Rename..."), this);
|
||||||
m_cloneRunButton = new QPushButton(Tr::tr("Clone..."), this);
|
m_cloneRunButton = new QPushButton(Tr::tr("Clone..."), this);
|
||||||
|
|
||||||
@@ -92,9 +93,10 @@ RunSettingsWidget::RunSettingsWidget(Target *target) :
|
|||||||
m_gridLayout->addWidget(m_runConfigurationCombo, 4, 1, 1, 1);
|
m_gridLayout->addWidget(m_runConfigurationCombo, 4, 1, 1, 1);
|
||||||
m_gridLayout->addWidget(m_addRunToolButton, 4, 2, 1, 1);
|
m_gridLayout->addWidget(m_addRunToolButton, 4, 2, 1, 1);
|
||||||
m_gridLayout->addWidget(m_removeRunToolButton, 4, 3, 1, 1);
|
m_gridLayout->addWidget(m_removeRunToolButton, 4, 3, 1, 1);
|
||||||
m_gridLayout->addWidget(m_renameRunButton, 4, 4, 1, 1);
|
m_gridLayout->addWidget(m_removeAllRunConfigsButton, 4, 4, 1, 1);
|
||||||
m_gridLayout->addWidget(m_cloneRunButton, 4, 5, 1, 1);
|
m_gridLayout->addWidget(m_renameRunButton, 4, 5, 1, 1);
|
||||||
m_gridLayout->addItem(spacer1, 4, 6, 1, 1);
|
m_gridLayout->addWidget(m_cloneRunButton, 4, 6, 1, 1);
|
||||||
|
m_gridLayout->addItem(spacer1, 4, 7, 1, 1);
|
||||||
m_gridLayout->addWidget(runWidget, 5, 0, 1, -1);
|
m_gridLayout->addWidget(runWidget, 5, 0, 1, -1);
|
||||||
m_gridLayout->addItem(spacer2, 6, 0, 1, 1);
|
m_gridLayout->addItem(spacer2, 6, 0, 1, 1);
|
||||||
|
|
||||||
@@ -144,7 +146,7 @@ RunSettingsWidget::RunSettingsWidget(Target *target) :
|
|||||||
m_runConfigurationCombo->setModel(model);
|
m_runConfigurationCombo->setModel(model);
|
||||||
m_runConfigurationCombo->setCurrentIndex(model->indexFor(rc));
|
m_runConfigurationCombo->setCurrentIndex(model->indexFor(rc));
|
||||||
|
|
||||||
updateRemoveToolButton();
|
updateRemoveToolButtons();
|
||||||
m_renameRunButton->setEnabled(rc);
|
m_renameRunButton->setEnabled(rc);
|
||||||
m_cloneRunButton->setEnabled(rc);
|
m_cloneRunButton->setEnabled(rc);
|
||||||
|
|
||||||
@@ -156,20 +158,22 @@ RunSettingsWidget::RunSettingsWidget(Target *target) :
|
|||||||
this, &RunSettingsWidget::currentRunConfigurationChanged);
|
this, &RunSettingsWidget::currentRunConfigurationChanged);
|
||||||
connect(m_removeRunToolButton, &QAbstractButton::clicked,
|
connect(m_removeRunToolButton, &QAbstractButton::clicked,
|
||||||
this, &RunSettingsWidget::removeRunConfiguration);
|
this, &RunSettingsWidget::removeRunConfiguration);
|
||||||
|
connect(m_removeAllRunConfigsButton, &QAbstractButton::clicked,
|
||||||
|
this, &RunSettingsWidget::removeAllRunConfigurations);
|
||||||
connect(m_renameRunButton, &QAbstractButton::clicked,
|
connect(m_renameRunButton, &QAbstractButton::clicked,
|
||||||
this, &RunSettingsWidget::renameRunConfiguration);
|
this, &RunSettingsWidget::renameRunConfiguration);
|
||||||
connect(m_cloneRunButton, &QAbstractButton::clicked,
|
connect(m_cloneRunButton, &QAbstractButton::clicked,
|
||||||
this, &RunSettingsWidget::cloneRunConfiguration);
|
this, &RunSettingsWidget::cloneRunConfiguration);
|
||||||
|
|
||||||
connect(m_target, &Target::addedRunConfiguration,
|
connect(m_target, &Target::addedRunConfiguration,
|
||||||
this, &RunSettingsWidget::updateRemoveToolButton);
|
this, &RunSettingsWidget::updateRemoveToolButtons);
|
||||||
connect(m_target, &Target::removedRunConfiguration,
|
connect(m_target, &Target::removedRunConfiguration,
|
||||||
this, &RunSettingsWidget::updateRemoveToolButton);
|
this, &RunSettingsWidget::updateRemoveToolButtons);
|
||||||
|
|
||||||
connect(m_target, &Target::addedDeployConfiguration,
|
connect(m_target, &Target::addedDeployConfiguration,
|
||||||
this, &RunSettingsWidget::updateRemoveToolButton);
|
this, &RunSettingsWidget::updateRemoveToolButtons);
|
||||||
connect(m_target, &Target::removedDeployConfiguration,
|
connect(m_target, &Target::removedDeployConfiguration,
|
||||||
this, &RunSettingsWidget::updateRemoveToolButton);
|
this, &RunSettingsWidget::updateRemoveToolButtons);
|
||||||
|
|
||||||
connect(m_target, &Target::activeRunConfigurationChanged,
|
connect(m_target, &Target::activeRunConfigurationChanged,
|
||||||
this, &RunSettingsWidget::activeRunConfigurationChanged);
|
this, &RunSettingsWidget::activeRunConfigurationChanged);
|
||||||
@@ -188,7 +192,7 @@ void RunSettingsWidget::showAddRunConfigDialog()
|
|||||||
QTC_CHECK(newRC->id() == rci.factory->runConfigurationId());
|
QTC_CHECK(newRC->id() == rci.factory->runConfigurationId());
|
||||||
m_target->addRunConfiguration(newRC);
|
m_target->addRunConfiguration(newRC);
|
||||||
m_target->setActiveRunConfiguration(newRC);
|
m_target->setActiveRunConfiguration(newRC);
|
||||||
updateRemoveToolButton();
|
updateRemoveToolButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::cloneRunConfiguration()
|
void RunSettingsWidget::cloneRunConfiguration()
|
||||||
@@ -226,11 +230,27 @@ void RunSettingsWidget::removeRunConfiguration()
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
m_target->removeRunConfiguration(rc);
|
m_target->removeRunConfiguration(rc);
|
||||||
updateRemoveToolButton();
|
updateRemoveToolButtons();
|
||||||
m_renameRunButton->setEnabled(m_target->activeRunConfiguration());
|
m_renameRunButton->setEnabled(m_target->activeRunConfiguration());
|
||||||
m_cloneRunButton->setEnabled(m_target->activeRunConfiguration());
|
m_cloneRunButton->setEnabled(m_target->activeRunConfiguration());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RunSettingsWidget::removeAllRunConfigurations()
|
||||||
|
{
|
||||||
|
QMessageBox msgBox(QMessageBox::Question, Tr::tr("Remove Run Configurations?"),
|
||||||
|
Tr::tr("Do you really want to delete all run configurations?"),
|
||||||
|
QMessageBox::Yes|QMessageBox::No, this);
|
||||||
|
msgBox.setDefaultButton(QMessageBox::No);
|
||||||
|
msgBox.setEscapeButton(QMessageBox::No);
|
||||||
|
if (msgBox.exec() == QMessageBox::No)
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_target->removeAllRunConfigurations();
|
||||||
|
updateRemoveToolButtons();
|
||||||
|
m_renameRunButton->setEnabled(false);
|
||||||
|
m_cloneRunButton->setEnabled(false);
|
||||||
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::activeRunConfigurationChanged()
|
void RunSettingsWidget::activeRunConfigurationChanged()
|
||||||
{
|
{
|
||||||
if (m_ignoreChanges.isLocked())
|
if (m_ignoreChanges.isLocked())
|
||||||
@@ -367,10 +387,12 @@ void RunSettingsWidget::renameDeployConfiguration()
|
|||||||
m_target->activeDeployConfiguration()->setDisplayName(name);
|
m_target->activeDeployConfiguration()->setDisplayName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::updateRemoveToolButton()
|
void RunSettingsWidget::updateRemoveToolButtons()
|
||||||
{
|
{
|
||||||
m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().count() > 1);
|
m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().count() > 1);
|
||||||
m_removeRunToolButton->setEnabled(!m_target->runConfigurations().isEmpty());
|
const bool hasRunConfigs = !m_target->runConfigurations().isEmpty();
|
||||||
|
m_removeRunToolButton->setEnabled(hasRunConfigs);
|
||||||
|
m_removeAllRunConfigsButton->setEnabled(hasRunConfigs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RunSettingsWidget::updateDeployConfiguration(DeployConfiguration *dc)
|
void RunSettingsWidget::updateDeployConfiguration(DeployConfiguration *dc)
|
||||||
|
@@ -41,6 +41,7 @@ private:
|
|||||||
void showAddRunConfigDialog();
|
void showAddRunConfigDialog();
|
||||||
void cloneRunConfiguration();
|
void cloneRunConfiguration();
|
||||||
void removeRunConfiguration();
|
void removeRunConfiguration();
|
||||||
|
void removeAllRunConfigurations();
|
||||||
void activeRunConfigurationChanged();
|
void activeRunConfigurationChanged();
|
||||||
void renameRunConfiguration();
|
void renameRunConfiguration();
|
||||||
void currentDeployConfigurationChanged(int index);
|
void currentDeployConfigurationChanged(int index);
|
||||||
@@ -49,7 +50,7 @@ private:
|
|||||||
void activeDeployConfigurationChanged();
|
void activeDeployConfigurationChanged();
|
||||||
void renameDeployConfiguration();
|
void renameDeployConfiguration();
|
||||||
|
|
||||||
void updateRemoveToolButton();
|
void updateRemoveToolButtons();
|
||||||
|
|
||||||
QString uniqueDCName(const QString &name);
|
QString uniqueDCName(const QString &name);
|
||||||
QString uniqueRCName(const QString &name);
|
QString uniqueRCName(const QString &name);
|
||||||
@@ -82,6 +83,7 @@ private:
|
|||||||
QPushButton *m_removeDeployToolButton;
|
QPushButton *m_removeDeployToolButton;
|
||||||
QPushButton *m_addRunToolButton;
|
QPushButton *m_addRunToolButton;
|
||||||
QPushButton *m_removeRunToolButton;
|
QPushButton *m_removeRunToolButton;
|
||||||
|
QPushButton *m_removeAllRunConfigsButton;
|
||||||
QPushButton *m_renameRunButton;
|
QPushButton *m_renameRunButton;
|
||||||
QPushButton *m_cloneRunButton;
|
QPushButton *m_cloneRunButton;
|
||||||
QPushButton *m_renameDeployButton;
|
QPushButton *m_renameDeployButton;
|
||||||
|
@@ -525,6 +525,20 @@ void Target::removeRunConfiguration(RunConfiguration *rc)
|
|||||||
delete rc;
|
delete rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Target::removeAllRunConfigurations()
|
||||||
|
{
|
||||||
|
QList<RunConfiguration *> runConfigs = d->m_runConfigurations;
|
||||||
|
d->m_runConfigurations.clear();
|
||||||
|
setActiveRunConfiguration(nullptr);
|
||||||
|
while (!runConfigs.isEmpty()) {
|
||||||
|
RunConfiguration * const rc = runConfigs.takeFirst();
|
||||||
|
emit removedRunConfiguration(rc);
|
||||||
|
ProjectExplorerPlugin::targetSelector()->removedRunConfiguration(rc);
|
||||||
|
d->m_runConfigurationModel.removeProjectConfiguration(rc);
|
||||||
|
delete rc;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
RunConfiguration *Target::activeRunConfiguration() const
|
RunConfiguration *Target::activeRunConfiguration() const
|
||||||
{
|
{
|
||||||
return d->m_activeRunConfiguration;
|
return d->m_activeRunConfiguration;
|
||||||
|
@@ -77,6 +77,7 @@ public:
|
|||||||
const QList<RunConfiguration *> runConfigurations() const;
|
const QList<RunConfiguration *> runConfigurations() const;
|
||||||
void addRunConfiguration(RunConfiguration *rc);
|
void addRunConfiguration(RunConfiguration *rc);
|
||||||
void removeRunConfiguration(RunConfiguration *rc);
|
void removeRunConfiguration(RunConfiguration *rc);
|
||||||
|
void removeAllRunConfigurations();
|
||||||
|
|
||||||
RunConfiguration *activeRunConfiguration() const;
|
RunConfiguration *activeRunConfiguration() const;
|
||||||
void setActiveRunConfiguration(RunConfiguration *rc);
|
void setActiveRunConfiguration(RunConfiguration *rc);
|
||||||
|
Reference in New Issue
Block a user