EnvironmentAspectWidget: Use Utils::Guard

Change-Id: I4093133e87ecbca78e9cbde6c10e7aaf10ac0480
Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
Jarek Kobus
2022-07-21 08:52:49 +02:00
parent ca59b8d69b
commit 93ddc48956
2 changed files with 7 additions and 8 deletions

View File

@@ -96,16 +96,15 @@ void EnvironmentAspectWidget::addWidget(QWidget *widget)
void EnvironmentAspectWidget::baseEnvironmentSelected(int idx) void EnvironmentAspectWidget::baseEnvironmentSelected(int idx)
{ {
m_ignoreChange = true; const Utils::GuardLocker locker(m_ignoreChanges);
m_aspect->setBaseEnvironmentBase(idx); m_aspect->setBaseEnvironmentBase(idx);
m_environmentWidget->setBaseEnvironment(m_aspect->modifiedBaseEnvironment()); m_environmentWidget->setBaseEnvironment(m_aspect->modifiedBaseEnvironment());
m_environmentWidget->setBaseEnvironmentText(m_aspect->currentDisplayName()); m_environmentWidget->setBaseEnvironmentText(m_aspect->currentDisplayName());
m_ignoreChange = false;
} }
void EnvironmentAspectWidget::changeBaseEnvironment() void EnvironmentAspectWidget::changeBaseEnvironment()
{ {
if (m_ignoreChange) if (m_ignoreChanges.isLocked())
return; return;
int base = m_aspect->baseEnvironmentBase(); int base = m_aspect->baseEnvironmentBase();
@@ -119,21 +118,20 @@ void EnvironmentAspectWidget::changeBaseEnvironment()
void EnvironmentAspectWidget::userChangesEdited() void EnvironmentAspectWidget::userChangesEdited()
{ {
m_ignoreChange = true; const Utils::GuardLocker locker(m_ignoreChanges);
m_aspect->setUserEnvironmentChanges(m_environmentWidget->userChanges()); m_aspect->setUserEnvironmentChanges(m_environmentWidget->userChanges());
m_ignoreChange = false;
} }
void EnvironmentAspectWidget::changeUserChanges(Utils::EnvironmentItems changes) void EnvironmentAspectWidget::changeUserChanges(Utils::EnvironmentItems changes)
{ {
if (m_ignoreChange) if (m_ignoreChanges.isLocked())
return; return;
m_environmentWidget->setUserChanges(changes); m_environmentWidget->setUserChanges(changes);
} }
void EnvironmentAspectWidget::environmentChanged() void EnvironmentAspectWidget::environmentChanged()
{ {
if (m_ignoreChange) if (m_ignoreChanges.isLocked())
return; return;
m_environmentWidget->setBaseEnvironment(m_aspect->modifiedBaseEnvironment()); m_environmentWidget->setBaseEnvironment(m_aspect->modifiedBaseEnvironment());
} }

View File

@@ -31,6 +31,7 @@
#include "runconfiguration.h" #include "runconfiguration.h"
#include <utils/environment.h> #include <utils/environment.h>
#include <utils/guard.h>
#include <QList> #include <QList>
#include <QVariantMap> #include <QVariantMap>
@@ -66,7 +67,7 @@ private:
void environmentChanged(); void environmentChanged();
EnvironmentAspect *m_aspect; EnvironmentAspect *m_aspect;
bool m_ignoreChange = false; Utils::Guard m_ignoreChanges;
QHBoxLayout *m_baseLayout = nullptr; QHBoxLayout *m_baseLayout = nullptr;
QComboBox *m_baseEnvironmentComboBox = nullptr; QComboBox *m_baseEnvironmentComboBox = nullptr;
EnvironmentWidget *m_environmentWidget = nullptr; EnvironmentWidget *m_environmentWidget = nullptr;