TargetSetupWidget: Use Utils::Guard

Change-Id: I8f055b523f37c89e1f62ee7748aec445b9c82a8b
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Jarek Kobus
2022-07-21 09:22:32 +02:00
parent 556bc48839
commit 8dabadbe56
2 changed files with 7 additions and 7 deletions

View File

@@ -123,10 +123,9 @@ void TargetSetupWidget::setKitSelected(bool b)
{ {
// Only check target if there are build configurations possible // Only check target if there are build configurations possible
b &= hasSelectedBuildConfigurations(); b &= hasSelectedBuildConfigurations();
m_ignoreChange = true; const GuardLocker locker(m_ignoreChanges);
m_detailsWidget->setChecked(b); m_detailsWidget->setChecked(b);
m_detailsWidget->widget()->setEnabled(b); m_detailsWidget->widget()->setEnabled(b);
m_ignoreChange = false;
} }
void TargetSetupWidget::addBuildInfo(const BuildInfo &info, bool isImport) void TargetSetupWidget::addBuildInfo(const BuildInfo &info, bool isImport)
@@ -184,7 +183,7 @@ void TargetSetupWidget::addBuildInfo(const BuildInfo &info, bool isImport)
void TargetSetupWidget::targetCheckBoxToggled(bool b) void TargetSetupWidget::targetCheckBoxToggled(bool b)
{ {
if (m_ignoreChange) if (m_ignoreChanges.isLocked())
return; return;
m_detailsWidget->widget()->setEnabled(b); m_detailsWidget->widget()->setEnabled(b);
if (b && (contains(m_infoStore, &BuildInfoStore::hasIssues) if (b && (contains(m_infoStore, &BuildInfoStore::hasIssues)
@@ -301,9 +300,8 @@ void TargetSetupWidget::updateDefaultBuildDirectories()
for (BuildInfoStore &buildInfoStore : m_infoStore) { for (BuildInfoStore &buildInfoStore : m_infoStore) {
if (buildInfoStore.buildInfo.typeName == buildInfo.typeName) { if (buildInfoStore.buildInfo.typeName == buildInfo.typeName) {
if (!buildInfoStore.customBuildDir) { if (!buildInfoStore.customBuildDir) {
m_ignoreChange = true; const GuardLocker locker(m_ignoreChanges);
buildInfoStore.pathChooser->setFilePath(buildInfo.buildDirectory); buildInfoStore.pathChooser->setFilePath(buildInfo.buildDirectory);
m_ignoreChange = false;
} }
found = true; found = true;
break; break;
@@ -334,7 +332,7 @@ void TargetSetupWidget::checkBoxToggled(bool b)
void TargetSetupWidget::pathChanged() void TargetSetupWidget::pathChanged()
{ {
if (m_ignoreChange) if (m_ignoreChanges.isLocked())
return; return;
auto pathChooser = qobject_cast<Utils::PathChooser *>(sender()); auto pathChooser = qobject_cast<Utils::PathChooser *>(sender());
QTC_ASSERT(pathChooser, return); QTC_ASSERT(pathChooser, return);

View File

@@ -31,6 +31,8 @@
#include "kit.h" #include "kit.h"
#include "task.h" #include "task.h"
#include <utils/guard.h>
#include <QWidget> #include <QWidget>
QT_BEGIN_NAMESPACE QT_BEGIN_NAMESPACE
@@ -117,7 +119,7 @@ private:
}; };
std::vector<BuildInfoStore> m_infoStore; std::vector<BuildInfoStore> m_infoStore;
bool m_ignoreChange = false; Utils::Guard m_ignoreChanges;
int m_selected = 0; // Number of selected "buildconfigurations" int m_selected = 0; // Number of selected "buildconfigurations"
}; };