Skip to content

Commit

Permalink
DetailsView: Add support for ThemeExtras SettableCompletionStatus con…
Browse files Browse the repository at this point in the history
…trol
  • Loading branch information
darklinkpower committed Mar 14, 2024
1 parent e677f2d commit 27a3ab3
Show file tree
Hide file tree
Showing 3 changed files with 86 additions and 11 deletions.
19 changes: 19 additions & 0 deletions source/DefaultControls/ComboBox.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -128,4 +128,23 @@
</Trigger>
</Style.Triggers>
</Style>

<Style x:Key="ThemeExtrasUserControlCompStatusStyle" TargetType="UserControl">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ContentControl">
<StackPanel Orientation="Horizontal">
<ComboBox MinWidth="115"
ItemsSource="{Binding CompletionStatusOptions}" SelectedItem="{Binding Value}">
<ComboBox.ItemTemplate>
<DataTemplate DataType="{x:Type CompletionStatus}">
<TextBlock Text="{Binding Name}"/>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
</StackPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>
41 changes: 33 additions & 8 deletions source/Views/DetailsViewGameOverview.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@
<TextBlock x:Name="PART_TextLastActivity" Style="{DynamicResource HeaderTextBlock}"/>
</StackPanel>
</DockPanel>

<DockPanel x:Name="PART_ElemPlayTime" DockPanel.Dock="Left" VerticalAlignment="Center" Margin="20,0,0,0">

<Viewbox Height="25">
Expand All @@ -285,14 +285,39 @@
<TextBlock x:Name="PART_TextPlayTime" Style="{DynamicResource HeaderTextBlock}"/>
</StackPanel>
</DockPanel>

<StackPanel DockPanel.Dock="Left" VerticalAlignment="Center" Margin="20,0,0,0">
<StackPanel.Style>
<Style TargetType="StackPanel">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=PART_ButtonCompletionStatus, Path=Visibility}" Value="Visible">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=ThemeExtras_SettableCompletionStatus, Path=Visibility}" Value="Visible">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
<DataTrigger Binding="{Settings DetailsVisibility.CompletionStatus}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</StackPanel.Style>

<Label Style="{DynamicResource HeaderLabel}" Content="{DynamicResource LOCCompletionStatus}"/>
<Border Tag="{PluginStatus Plugin=felixkmh_Extras_Plugin, Status=Installed}"
Visibility="{Binding RelativeSource={RelativeSource Self}, Path=Tag, Converter={StaticResource InvertedBooleanToVisibilityConverter}}">
<Button Name="PART_ButtonCompletionStatus" Style="{StaticResource PropertyItemButton}" Margin="0" />
</Border>

<DockPanel x:Name="PART_ElemCompletionStatus" DockPanel.Dock="Left" VerticalAlignment="Center" Margin="20,0,0,0">
<StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0,0,0,0">
<Label Style="{DynamicResource HeaderLabel}" Content="{DynamicResource LOCCompletionStatus}"/>
<Button x:Name="PART_ButtonCompletionStatus" Opacity="1" Margin="0" Style="{DynamicResource PropertyItemButtonNoWrap}" />
</StackPanel>
</DockPanel>

<ContentControl Visibility="{PluginStatus Plugin=felixkmh_Extras_Plugin, Status=Installed}"
x:Name="ThemeExtras_SettableCompletionStatus">
<ContentControl.Resources>
<Style TargetType="UserControl" BasedOn="{StaticResource ThemeExtrasUserControlCompStatusStyle}" />
</ContentControl.Resources>
</ContentControl>
</StackPanel>

<DockPanel DockPanel.Dock="Left" VerticalAlignment="Center" Margin="20,0,0,0"
Visibility="{PluginSettings Plugin=SuccessStory, Path=HasData, FallbackValue=Collapsed, Converter={StaticResource BooleanToVisibilityConverter}}">
<Viewbox Stretch="Uniform" Height="35">
Expand Down
37 changes: 34 additions & 3 deletions source/Views/GridViewGameOverview.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -240,14 +240,45 @@
</StackPanel>
</Label>
<TextBlock Name="PART_TextAdded" VerticalAlignment="Center" />
<Label Name="PART_ElemCompletionStatus" >

<Label Visibility="{Binding ElementName=CompStatusElemsGrid, Path=Visibility}">
<StackPanel Orientation="Horizontal">
<TextBlock Text="&#xEED6;" Style="{DynamicResource Icon}" />
<TextBlock Text="{DynamicResource LOCCompletionStatus}" />
</StackPanel>
</Label>
<Button Name="PART_ButtonCompletionStatus" VerticalAlignment="Center" />

<Grid x:Name="CompStatusElemsGrid" VerticalAlignment="Center">
<Grid.Style>
<Style TargetType="Grid">
<Setter Property="Visibility" Value="Collapsed" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=PART_ButtonCompletionStatus, Path=Visibility}" Value="Visible">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
<DataTrigger Binding="{Binding ElementName=ThemeExtras_SettableCompletionStatus, Path=Visibility}" Value="Visible">
<Setter Property="Visibility" Value="Visible" />
</DataTrigger>
<DataTrigger Binding="{Settings DetailsVisibility.CompletionStatus}" Value="False">
<Setter Property="Visibility" Value="Collapsed" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>

<ContentControl Visibility="{PluginStatus Plugin=felixkmh_Extras_Plugin, Status=Installed}"
HorizontalAlignment="Left"
x:Name="ThemeExtras_SettableCompletionStatus">
<ContentControl.Resources>
<Style TargetType="UserControl" BasedOn="{StaticResource ThemeExtrasUserControlCompStatusStyle}" />
</ContentControl.Resources>
</ContentControl>

<Border Tag="{PluginStatus Plugin=felixkmh_Extras_Plugin, Status=Installed}"
Visibility="{Binding RelativeSource={RelativeSource Self}, Path=Tag, Converter={StaticResource InvertedBooleanToVisibilityConverter}}">
<Button Name="PART_ButtonCompletionStatus" VerticalAlignment="Center" />
</Border>
</Grid>

<Label Name="PART_ElemInstallDirectory" >
<StackPanel Orientation="Horizontal">
Expand Down

0 comments on commit 27a3ab3

Please sign in to comment.