Profile adaption - Added support for device hint to 'all' devices

Layouts - Round LED sizes to integers
Auto-update - Use modern Windows 10 toasts
UI - On shutdown wait 6 seconds longer before force-shutdown
UI - Use black icons in notifications on white Windows theme
Message service - Added optional toast callbacks
This commit is contained in:
Robert committed 2021-05-14 21:49:10 +02:00
1 parent 5c337e9c5e
commit 96c55e5c03
26 files changed
+886 -674

No files matched your search

@@ -35,13 +35,13 @@
</Grid.ColumnDefinitions>
<TextBlock Text="{Binding Name}" VerticalAlignment="Center" />
<Button Grid.Column="1"
Style="{StaticResource MaterialDesignFloatingActionMiniDarkButton}"
Style="{StaticResource MaterialDesignIconForegroundButton}"
Width="26"
Height="26"
VerticalAlignment="Top"
Command="{s:Action DeleteProfile}"
CommandParameter="{Binding}">
<materialDesign:PackIcon Kind="TrashCanOutline" Height="14" Width="14" HorizontalAlignment="Right" />
<materialDesign:PackIcon Kind="Delete" Height="16" Width="16" HorizontalAlignment="Right" />
</Button>
</Grid>
</DataTemplate>
@@ -59,6 +59,7 @@ namespace Artemis.UI.Screens.ProfileEditor
Module = module;
DialogService = dialogService;
DefaultProfiles = new BindableCollection<ProfileDescriptor>(module.DefaultProfiles);
Profiles = new BindableCollection<ProfileDescriptor>();
// Populate the panels
@@ -99,6 +100,9 @@ namespace Artemis.UI.Screens.ProfileEditor
set => SetAndNotify(ref _profileViewModel, value);
}
public BindableCollection<ProfileDescriptor> DefaultProfiles { get; }
public bool HasDefaultProfiles => DefaultProfiles.Any();
public BindableCollection<ProfileDescriptor> Profiles
{
get => _profiles;
@@ -388,7 +392,9 @@ namespace Artemis.UI.Screens.ProfileEditor
{
// Get all profiles from the database
Profiles.Clear();
Profiles.AddRange(_profileService.GetProfileDescriptors(Module).OrderBy(d => d.Name));
Profiles.AddRange(_profileService.GetProfileDescriptors(Module));
Profiles.AddRange(Module.DefaultProfiles.Where(d => Profiles.All(p => p.Id != d.Id)));
Profiles.Sort(p => p.Name);
}
}
}