Skip to content

Commit 6cd0a70

Browse files
committed
colored ports install/update buttons
1 parent aff52f9 commit 6cd0a70

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/Avalonia/Core/Controls/PortControl.axaml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@
3232
</StackPanel>
3333

3434
<Grid ColumnDefinitions="2*,*" HorizontalAlignment="Stretch">
35-
<Button Grid.Column="0" Content="{Binding InstallButtonText}" Command="{Binding InstallCommand}" Margin="5" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center">Install</Button>
35+
<Button IsVisible="{Binding IsUpdateAvailable}" Background="{DynamicResource SystemAccentColor}" Grid.Column="0" Content="{Binding InstallButtonText}" Command="{Binding InstallCommand}" Margin="5" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center">Install</Button>
36+
<Button IsVisible="{Binding !IsUpdateAvailable}" Grid.Column="0" Content="{Binding InstallButtonText}" Command="{Binding InstallCommand}" Margin="5" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center">Install</Button>
3637
<Button Grid.Column="1" Command="{Binding CheckUpdateCommand}" Margin="5" HorizontalAlignment="Stretch" HorizontalContentAlignment="Center" ToolTip.Tip="Check for updates">⟳</Button>
3738
</Grid>
3839

src/Avalonia/Core/ViewModels/PortViewModel.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using ClientCommon.Helpers;
21
using Common.Entities;
32
using Common.Enums;
43
using Common.Helpers;
@@ -76,7 +75,7 @@ out var newVersion
7675
return "Install";
7776
}
7877

79-
if (VersionComparer.Compare(_port.InstalledVersion!, _release?.Version!, "<"))
78+
if (IsUpdateAvailable)
8079
{
8180
return "Update";
8281
}
@@ -110,6 +109,11 @@ out var newVersion
110109
/// </summary>
111110
public string LatestVersion => _release?.Version ?? "Not available";
112111

112+
/// <summary>
113+
/// Is new version of the port available
114+
/// </summary>
115+
public bool IsUpdateAvailable => VersionComparer.Compare(_port.InstalledVersion!, _release?.Version!, "<");
116+
113117
/// <summary>
114118
/// Download/install progress
115119
/// </summary>
@@ -135,6 +139,7 @@ public async Task InitializeAsync()
135139

136140
OnPropertyChanged(nameof(LatestVersion));
137141
OnPropertyChanged(nameof(InstallButtonText));
142+
OnPropertyChanged(nameof(IsUpdateAvailable));
138143
}
139144

140145

@@ -160,6 +165,7 @@ private async Task InstallAsync()
160165
OnPropertyChanged(nameof(ProgressBarValue));
161166
OnPropertyChanged(nameof(Version));
162167
OnPropertyChanged(nameof(InstallButtonText));
168+
OnPropertyChanged(nameof(IsUpdateAvailable));
163169

164170
IsInProgress = false;
165171
}
@@ -178,6 +184,7 @@ private async Task CheckUpdateAsync()
178184

179185
OnPropertyChanged(nameof(LatestVersion));
180186
OnPropertyChanged(nameof(InstallButtonText));
187+
OnPropertyChanged(nameof(IsUpdateAvailable));
181188

182189
IsInProgress = false;
183190
}

0 commit comments

Comments
 (0)