aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/environmentwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/projectexplorer/environmentwidget.cpp')
-rw-r--r--src/plugins/projectexplorer/environmentwidget.cpp27
1 files changed, 24 insertions, 3 deletions
diff --git a/src/plugins/projectexplorer/environmentwidget.cpp b/src/plugins/projectexplorer/environmentwidget.cpp
index 43758e0a365..c517bbd9963 100644
--- a/src/plugins/projectexplorer/environmentwidget.cpp
+++ b/src/plugins/projectexplorer/environmentwidget.cpp
@@ -94,6 +94,7 @@ public:
QPushButton *m_addButton;
QPushButton *m_resetButton;
QPushButton *m_unsetButton;
+ QPushButton *m_toggleButton;
QPushButton *m_batchEditButton;
QPushButton *m_appendPathButton = nullptr;
QPushButton *m_prependPathButton = nullptr;
@@ -166,6 +167,13 @@ EnvironmentWidget::EnvironmentWidget(QWidget *parent, Type type, QWidget *additi
d->m_unsetButton->setText(tr("&Unset"));
buttonLayout->addWidget(d->m_unsetButton);
+ d->m_toggleButton = new QPushButton(tr("Disable"), this);
+ buttonLayout->addWidget(d->m_toggleButton);
+ connect(d->m_toggleButton, &QPushButton::clicked, this, [this] {
+ d->m_model->toggleVariable(d->m_environmentView->currentIndex());
+ updateButtons();
+ });
+
if (type == TypeLocal) {
d->m_appendPathButton = new QPushButton(this);
d->m_appendPathButton->setEnabled(false);
@@ -287,10 +295,19 @@ void EnvironmentWidget::updateSummaryText()
foreach (const Utils::EnvironmentItem &item, list) {
if (item.name != Utils::EnvironmentModel::tr("<VARIABLE>")) {
text.append(QLatin1String("<br>"));
- if (item.operation == Utils::EnvironmentItem::Unset)
+ switch (item.operation) {
+ case Utils::EnvironmentItem::Unset:
text.append(tr("Unset <a href=\"%1\"><b>%1</b></a>").arg(item.name.toHtmlEscaped()));
- else
+ break;
+ case Utils::EnvironmentItem::SetEnabled:
+ case Utils::EnvironmentItem::Append:
+ case Utils::EnvironmentItem::Prepend:
text.append(tr("Set <a href=\"%1\"><b>%1</b></a> to <b>%2</b>").arg(item.name.toHtmlEscaped(), item.value.toHtmlEscaped()));
+ break;
+ case Utils::EnvironmentItem::SetDisabled:
+ text.append(tr("Set <a href=\"%1\"><b>%1</b></a> to <b>%2</b> [disabled]").arg(item.name.toHtmlEscaped(), item.value.toHtmlEscaped()));
+ break;
+ }
}
}
@@ -429,13 +446,17 @@ void EnvironmentWidget::environmentCurrentIndexChanged(const QModelIndex &curren
d->m_editButton->setEnabled(true);
const QString &name = d->m_model->indexToVariable(current);
bool modified = d->m_model->canReset(name) && d->m_model->changes(name);
- bool unset = d->m_model->canUnset(name);
+ bool unset = d->m_model->isUnset(name);
d->m_resetButton->setEnabled(modified || unset);
d->m_unsetButton->setEnabled(!unset);
+ d->m_toggleButton->setEnabled(!unset);
+ d->m_toggleButton->setText(d->m_model->isEnabled(name) ? tr("Disable") : tr("Enable"));
} else {
d->m_editButton->setEnabled(false);
d->m_resetButton->setEnabled(false);
d->m_unsetButton->setEnabled(false);
+ d->m_toggleButton->setEnabled(false);
+ d->m_toggleButton->setText(tr("Disable"));
}
if (d->m_appendPathButton) {
d->m_appendPathButton->setEnabled(currentEntryIsPathList(current));