1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-12 13:28:33 +00:00

Device properties - Show layout error state

This commit is contained in:
Robert 2024-03-30 20:28:01 +01:00
parent 107b604c86
commit f152812064
3 changed files with 17 additions and 2 deletions

View File

@ -7,6 +7,7 @@ public class LayoutSelection : CorePropertyChanged
{
private string? _type;
private string? _parameter;
private string? _errorState;
/// <summary>
/// Gets or sets what kind of layout reference this is.
@ -25,4 +26,13 @@ public class LayoutSelection : CorePropertyChanged
get => _parameter;
set => SetAndNotify(ref _parameter, value);
}
/// <summary>
/// Gets or sets the error state of the layout reference.
/// </summary>
public string? ErrorState
{
get => _errorState;
set => SetAndNotify(ref _errorState, value);
}
}

View File

@ -184,13 +184,14 @@ internal class DeviceService : IDeviceService
device.ApplyLayout(null, false, false);
else
provider?.ApplyLayout(device, layout);
UpdateLeds();
}
catch (Exception e)
{
device.LayoutSelection.ErrorState = e.Message;
_logger.Error(e, "Failed to apply device layout");
}
UpdateLeds();
}
/// <inheritdoc />

View File

@ -83,6 +83,10 @@
</Grid>
<ContentControl Content="{CompiledBinding SelectedLayoutProvider}" ClipToBounds="False" />
<TextBlock TextAlignment="Right"
Classes="danger"
Text="{CompiledBinding Device.LayoutSelection.ErrorState}"
IsVisible="{CompiledBinding Device.LayoutSelection.ErrorState, Converter={x:Static StringConverters.IsNotNullOrEmpty}}" />
<Border Classes="card-separator" />
<Grid RowDefinitions="*,*" ColumnDefinitions="*,Auto">