forked from qt-creator/qt-creator
EnvironmentAspectWidget: Use Utils::Guard
Change-Id: I4093133e87ecbca78e9cbde6c10e7aaf10ac0480 Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -96,16 +96,15 @@ void EnvironmentAspectWidget::addWidget(QWidget *widget)
|
||||
|
||||
void EnvironmentAspectWidget::baseEnvironmentSelected(int idx)
|
||||
{
|
||||
m_ignoreChange = true;
|
||||
const Utils::GuardLocker locker(m_ignoreChanges);
|
||||
m_aspect->setBaseEnvironmentBase(idx);
|
||||
m_environmentWidget->setBaseEnvironment(m_aspect->modifiedBaseEnvironment());
|
||||
m_environmentWidget->setBaseEnvironmentText(m_aspect->currentDisplayName());
|
||||
m_ignoreChange = false;
|
||||
}
|
||||
|
||||
void EnvironmentAspectWidget::changeBaseEnvironment()
|
||||
{
|
||||
if (m_ignoreChange)
|
||||
if (m_ignoreChanges.isLocked())
|
||||
return;
|
||||
|
||||
int base = m_aspect->baseEnvironmentBase();
|
||||
@@ -119,21 +118,20 @@ void EnvironmentAspectWidget::changeBaseEnvironment()
|
||||
|
||||
void EnvironmentAspectWidget::userChangesEdited()
|
||||
{
|
||||
m_ignoreChange = true;
|
||||
const Utils::GuardLocker locker(m_ignoreChanges);
|
||||
m_aspect->setUserEnvironmentChanges(m_environmentWidget->userChanges());
|
||||
m_ignoreChange = false;
|
||||
}
|
||||
|
||||
void EnvironmentAspectWidget::changeUserChanges(Utils::EnvironmentItems changes)
|
||||
{
|
||||
if (m_ignoreChange)
|
||||
if (m_ignoreChanges.isLocked())
|
||||
return;
|
||||
m_environmentWidget->setUserChanges(changes);
|
||||
}
|
||||
|
||||
void EnvironmentAspectWidget::environmentChanged()
|
||||
{
|
||||
if (m_ignoreChange)
|
||||
if (m_ignoreChanges.isLocked())
|
||||
return;
|
||||
m_environmentWidget->setBaseEnvironment(m_aspect->modifiedBaseEnvironment());
|
||||
}
|
||||
|
@@ -31,6 +31,7 @@
|
||||
#include "runconfiguration.h"
|
||||
|
||||
#include <utils/environment.h>
|
||||
#include <utils/guard.h>
|
||||
|
||||
#include <QList>
|
||||
#include <QVariantMap>
|
||||
@@ -66,7 +67,7 @@ private:
|
||||
void environmentChanged();
|
||||
|
||||
EnvironmentAspect *m_aspect;
|
||||
bool m_ignoreChange = false;
|
||||
Utils::Guard m_ignoreChanges;
|
||||
QHBoxLayout *m_baseLayout = nullptr;
|
||||
QComboBox *m_baseEnvironmentComboBox = nullptr;
|
||||
EnvironmentWidget *m_environmentWidget = nullptr;
|
||||
|
Reference in New Issue
Block a user