Plugin features - Added exception display

This commit is contained in:
SpoinkyNL committed 2020-11-12 19:55:13 +01:00
1 parent c146479393
commit 9452f81214
9 files changed
+69 -10

No files matched your search

@@ -6,9 +6,13 @@
xmlns:local="clr-namespace:Artemis.UI.Screens.Settings.Tabs.Plugins"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:s="https://github.com/canton7/Stylet"
xmlns:converters="clr-namespace:Artemis.UI.Converters"
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800"
d:DataContext="{d:DesignInstance local:PluginFeatureViewModel}">
<UserControl.Resources>
<converters:NullToVisibilityConverter x:Key="NullToVisibilityConverter" />
</UserControl.Resources>
<Grid Margin="-3 -8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="30" />
@@ -17,9 +21,26 @@
</Grid.ColumnDefinitions>
<!-- Icon column -->
<materialDesign:PackIcon Kind="{Binding Icon}" VerticalAlignment="Center" HorizontalAlignment="Center" />
<materialDesign:PackIcon Grid.Column="0"
Kind="{Binding Icon}"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Visibility="{Binding LoadException, Converter={StaticResource NullToVisibilityConverter}, ConverterParameter=Inverted}" />
<Button Grid.Column="0"
Margin="-8"
VerticalAlignment="Center"
HorizontalAlignment="Center"
Visibility="{Binding LoadException, Converter={StaticResource NullToVisibilityConverter}}"
Style="{StaticResource MaterialDesignIconButton}"
Foreground="#E74C4C"
ToolTip="An exception occurred while enabling this feature, click to view"
Command="{s:Action ViewLoadException}">
<materialDesign:PackIcon Kind="AlertCircle" />
</Button>
<!-- Display name column -->
<TextBlock Grid.Column="1" Text="{Binding Name}" VerticalAlignment="Center" />
<TextBlock Grid.Column="1" Text="{Binding Name}" Style="{StaticResource MaterialDesignTextBlock}" VerticalAlignment="Center" />
<!-- Enable toggle column -->
<StackPanel Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="8"
@@ -28,7 +49,7 @@
Feature enabled
</CheckBox>
</StackPanel>
<StackPanel Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="8"
<StackPanel Grid.Column="2" HorizontalAlignment="Right" VerticalAlignment="Center" Margin="7"
Visibility="{Binding Enabling, Converter={x:Static s:BoolToVisibilityConverter.Instance}, Mode=OneWay}">
<ProgressBar Style="{StaticResource MaterialDesignCircularProgressBar}" Value="0" IsIndeterminate="True" />
</StackPanel>
@@ -67,6 +67,14 @@ namespace Artemis.UI.Screens.Settings.Tabs.Plugins
}
}
public void ViewLoadException()
{
if (LoadException == null)
return;
_dialogService.ShowExceptionDialog("Feature failed to enable", Feature.LoadException);
}
protected override void OnInitialActivate()
{
base.OnInitialActivate();
@@ -148,7 +156,7 @@ namespace Artemis.UI.Screens.Settings.Tabs.Plugins
{
if (e.PluginFeature != Feature) return;
Enabling = false;
NotifyOfPropertyChange(nameof(IsEnabled));
NotifyOfPropertyChange(nameof(LoadException));
}
@@ -102,7 +102,6 @@
<ListBox Grid.Row="1"
MaxHeight="135"
ItemsSource="{Binding Items}"
materialDesign:RippleAssist.IsDisabled="True"
HorizontalContentAlignment="Stretch"
VirtualizingPanel.ScrollUnit="Pixel"
Visibility="{Binding IsEnabled, Converter={x:Static s:BoolToVisibilityConverter.Instance}, Mode=OneWay}">
@@ -25,6 +25,7 @@
VerticalAlignment="Top" Height="120" />
<TextBlock Grid.Row="1"
Style="{StaticResource MaterialDesignHeadline6TextBlock}"
Foreground="{StaticResource PrimaryHueDarkForegroundBrush}"
Margin="15"
materialDesign:ShadowAssist.ShadowDepth="Depth1"
Text="{Binding ActiveModules}"