Style cancel button

This commit is contained in:
Matt Parker
2025-08-03 00:33:04 +10:00
parent 9a3fe17b88
commit c393dcafa2

View File

@@ -17,8 +17,8 @@
<MudButton Variant="Variant.Outlined" Size="Size.Small" Color="Color.Primary" OnClick="@CleanSolution">Clean</MudButton> <MudButton Variant="Variant.Outlined" Size="Size.Small" Color="Color.Primary" OnClick="@CleanSolution">Clean</MudButton>
<MudButton Variant="Variant.Outlined" Size="Size.Small" Color="Color.Primary" OnClick="@RestoreSolution">Restore</MudButton> <MudButton Variant="Variant.Outlined" Size="Size.Small" Color="Color.Primary" OnClick="@RestoreSolution">Restore</MudButton>
</MudButtonGroup> </MudButtonGroup>
<MudButton OnClick="@CancelBuild"> <MudButton OnClick="@CancelBuild" Disabled="@(_cancellationTokenSource is null or { IsCancellationRequested: true })">
<MudIcon Icon="@Icons.Material.Filled.Cancel" Size="Size.Medium" Color="Color.Default" /> <MudIcon Disabled="@(_cancellationTokenSource is null or { IsCancellationRequested: true })" Icon="@Icons.Material.Filled.Cancel" Size="Size.Medium" Color="Color.Error" />
</MudButton> </MudButton>
<MudSpacer /> <MudSpacer />
<MudStack Row="true" AlignItems="AlignItems.Center"> <MudStack Row="true" AlignItems="AlignItems.Center">
@@ -91,7 +91,7 @@
} }
} }
private CancellationTokenSource _cancellationTokenSource = null!; private CancellationTokenSource? _cancellationTokenSource = null!;
private async Task BuildSolution() => await MsBuildSolution(BuildType.Build); private async Task BuildSolution() => await MsBuildSolution(BuildType.Build);
private async Task RebuildSolution() => await MsBuildSolution(BuildType.Rebuild); private async Task RebuildSolution() => await MsBuildSolution(BuildType.Rebuild);
private async Task CleanSolution() => await MsBuildSolution(BuildType.Clean); private async Task CleanSolution() => await MsBuildSolution(BuildType.Clean);
@@ -102,7 +102,7 @@
_cancellationTokenSource = new CancellationTokenSource(); _cancellationTokenSource = new CancellationTokenSource();
await BuildService.MsBuildSolutionAsync(_solutionFilePath!, buildType, _cancellationTokenSource.Token); await BuildService.MsBuildSolutionAsync(_solutionFilePath!, buildType, _cancellationTokenSource.Token);
} }
private async Task CancelBuild() => await _cancellationTokenSource.CancelAsync(); private async Task CancelBuild() => await _cancellationTokenSource!.CancelAsync();
private async Task OpenSettingsDialog() private async Task OpenSettingsDialog()
{ {