Remove button from maintenance view, use hover instead

This commit is contained in:
trawzified 2023-12-29 14:02:06 +01:00
parent f919e14d2e
commit 645222e73a
4 changed files with 71 additions and 60 deletions

View File

@ -21,24 +21,24 @@
<GradientStop Offset="1" Color="{StaticResource YellowColor}" /> <GradientStop Offset="1" Color="{StaticResource YellowColor}" />
</LinearGradientBrush> </LinearGradientBrush>
</UserControl.Resources> </UserControl.Resources>
<Grid Background="{StaticResource TransparentBrush}"> <Grid Background="{StaticResource TransparentBrush}" x:Name="MaintenanceGrid">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="2*" /> <RowDefinition Height="*" />
</Grid.RowDefinitions> </Grid.RowDefinitions>
<Rectangle Grid.Row="0" <Rectangle Grid.Row="0"
Height="65" Height="10"
Fill="{StaticResource LinesBrush}"> Fill="{StaticResource LinesBrush}">
<Rectangle.Effect> <Rectangle.Effect>
<DropShadowEffect <DropShadowEffect
BlurRadius="15" BlurRadius="15"
Opacity="0.7" Opacity="0.3"
ShadowDepth="10" /> ShadowDepth="10" />
</Rectangle.Effect> </Rectangle.Effect>
</Rectangle> </Rectangle>
<Grid Grid.Row="1" <Grid Grid.Row="1"
Margin="30" Margin="10"
Visibility="{Binding ShowHelp, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Converter={StaticResource bool2VisibilityConverter}}"> Visibility="{Binding ElementName=MaintenanceGrid,Path=IsMouseOver, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=True}">
<Grid.RowDefinitions> <Grid.RowDefinitions>
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
<RowDefinition Height="Auto" /> <RowDefinition Height="Auto" />
@ -46,22 +46,24 @@
<TextBlock Grid.Row="0" <TextBlock Grid.Row="0"
Margin="0,0,0,10" Margin="0,0,0,10"
FontFamily="{StaticResource PrimaryFont}" FontFamily="{StaticResource PrimaryFont}"
FontSize="30" FontSize="24"
FontWeight="Bold" FontWeight="Bold"
Foreground="{StaticResource YellowBrush}" Foreground="{StaticResource YellowBrush}"
Text="UNDER MAINTENANCE" /> Text="UNDER MAINTENANCE" />
<TextBlock Grid.Row="1" <TextBlock Grid.Row="1"
FontFamily="{StaticResource PrimaryFont}" FontFamily="{StaticResource PrimaryFont}"
FontSize="15" FontSize="14"
FontWeight="Bold"
Foreground="{StaticResource YellowBrush}" Foreground="{StaticResource YellowBrush}"
Text="When mods are updated and the old versions are taken down, Wabbajack can no longer install the modlist for you. &#x0a; &#x0a;Modlist authors need to download the new mod and confirm its correctness before the modlist can be made available again." VerticalAlignment="Center"
HorizontalAlignment="Center"
TextAlignment="Center"
Text="A game or mod update caused Wabbajack to not be able to resolve all required files to install this modlist. This modlist requires an update from the author before it is installable."
TextWrapping="WrapWithOverflow" /> TextWrapping="WrapWithOverflow" />
</Grid> </Grid>
<Viewbox Grid.Row="1" <Viewbox Grid.Row="1"
Margin="20" Margin="20"
VerticalAlignment="Top" VerticalAlignment="Top"
Visibility="{Binding ShowHelp, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}"> Visibility="{Binding Path=IsMouseOver, ElementName=MaintenanceGrid, Converter={StaticResource bool2VisibilityConverter}, ConverterParameter=False}">
<Grid> <Grid>
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" /> <ColumnDefinition Width="Auto" />
@ -84,23 +86,6 @@
ShadowDepth="10" /> ShadowDepth="10" />
</TextBlock.Effect> </TextBlock.Effect>
</TextBlock> </TextBlock>
<Button Grid.Row="0"
Width="45"
Height="45"
Margin="0,10"
HorizontalAlignment="Right"
VerticalAlignment="Top"
Click="Help_Click">
<Button.Style>
<Style BasedOn="{StaticResource IconBareButtonStyle}" TargetType="Button">
<Setter Property="Foreground" Value="{StaticResource YellowBrush}" />
</Style>
</Button.Style>
<icon:PackIconMaterial
Width="35"
Height="35"
Kind="HelpCircle" />
</Button>
<TextBlock Grid.Row="1" <TextBlock Grid.Row="1"
FontFamily="{StaticResource PrimaryFont}" FontFamily="{StaticResource PrimaryFont}"
FontSize="100" FontSize="100"

View File

@ -20,22 +20,9 @@ namespace Wabbajack
/// </summary> /// </summary>
public partial class UnderMaintenanceOverlay : UserControl public partial class UnderMaintenanceOverlay : UserControl
{ {
public bool ShowHelp
{
get => (bool)GetValue(ShowHelpProperty);
set => SetValue(ShowHelpProperty, value);
}
public static readonly DependencyProperty ShowHelpProperty = DependencyProperty.Register(nameof(ShowHelp), typeof(bool), typeof(UnderMaintenanceOverlay),
new FrameworkPropertyMetadata(default(bool)));
public UnderMaintenanceOverlay() public UnderMaintenanceOverlay()
{ {
InitializeComponent(); InitializeComponent();
} }
private void Help_Click(object sender, RoutedEventArgs e)
{
ShowHelp = !ShowHelp;
}
} }
} }

View File

@ -109,11 +109,6 @@
<ToolTip Content="Wabbajack Version&#x0a;Click to copy to clipboard" /> <ToolTip Content="Wabbajack Version&#x0a;Click to copy to clipboard" />
</Button.ToolTip> </Button.ToolTip>
</Button> </Button>
<Button Grid.Column="1"
Style="{StaticResource IconBareButtonStyle}"
Command="{Binding OpenSettingsCommand}">
<ic:SymbolIcon Symbol="Settings" FontSize="17"/>
</Button>
<Button Grid.Column="1" <Button Grid.Column="1"
Style="{StaticResource IconBareButtonStyle}" Style="{StaticResource IconBareButtonStyle}"
Command="{Binding MinimizeCommand}"> Command="{Binding MinimizeCommand}">

View File

@ -86,8 +86,13 @@
</Border.Background> </Border.Background>
</Border> </Border>
<Grid Margin="5, 0, 0, 0"> <Grid Margin="5, 0, 0, 0">
<TextBlock x:Name="GameName" HorizontalAlignment="Center" VerticalAlignment="Center" Text="{Binding GameMetaData.HumanFriendlyGameName}" Panel.ZIndex="2"/> <TextBlock x:Name="GameName"
<Border Background="{StaticResource WindowBackgroundBrush}" Opacity="0.5" Width="{Binding ElementName=GameName, Path=ActualWidth,Converter={StaticResource MathConverter}, ConverterParameter=x+10}" Height="{Binding ElementName=GameIcon, Path=ActualHeight}" CornerRadius="6"> Text="{Binding GameMetaData.HumanFriendlyGameName}"
HorizontalAlignment="Center"
VerticalAlignment="Center"
Opacity="0.85"
Panel.ZIndex="2"/>
<Border Background="{StaticResource WindowBackgroundBrush}" Opacity="0.4" Width="{Binding ElementName=GameName, Path=ActualWidth,Converter={StaticResource MathConverter}, ConverterParameter=x+10}" Height="{Binding ElementName=GameIcon, Path=ActualHeight}" CornerRadius="6">
</Border> </Border>
</Grid> </Grid>
</StackPanel> </StackPanel>
@ -112,17 +117,17 @@
</Style> </Style>
</Border.Style> </Border.Style>
</Border> </Border>
<Ellipse <Rectangle
Height="120" Height="120"
Margin="-80,-100,-80,0" Margin="-80, -75, -80, 0"
VerticalAlignment="Top" VerticalAlignment="Top"
Fill="White" Fill="White"
Opacity="0.15"> Opacity="0.15">
<Ellipse.Effect> <Rectangle.Effect>
<BlurEffect Radius="75" /> <BlurEffect Radius="100" />
</Ellipse.Effect> </Rectangle.Effect>
<Ellipse.Style> <Rectangle.Style>
<Style TargetType="Ellipse"> <Style TargetType="Rectangle">
<Style.Triggers> <Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=ModListTile}" Value="True"> <DataTrigger Binding="{Binding IsMouseOver, ElementName=ModListTile}" Value="True">
<DataTrigger.EnterActions> <DataTrigger.EnterActions>
@ -130,7 +135,7 @@
<Storyboard> <Storyboard>
<DoubleAnimation <DoubleAnimation
Storyboard.TargetProperty="Opacity" Storyboard.TargetProperty="Opacity"
To="0.25" To="0.3"
Duration="0:0:0.08" /> Duration="0:0:0.08" />
</Storyboard> </Storyboard>
</BeginStoryboard> </BeginStoryboard>
@ -148,8 +153,46 @@
</DataTrigger> </DataTrigger>
</Style.Triggers> </Style.Triggers>
</Style> </Style>
</Ellipse.Style> </Rectangle.Style>
</Ellipse> </Rectangle>
<Rectangle
Height="120"
Margin="-80, 0, -80, -75"
VerticalAlignment="Bottom"
Fill="Black"
Opacity="0.4">
<Rectangle.Effect>
<BlurEffect Radius="100" />
</Rectangle.Effect>
<Rectangle.Style>
<Style TargetType="Rectangle">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=ModListTile}" Value="True">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity"
To="0.7"
Duration="0:0:0.08" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
<DataTrigger.ExitActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetProperty="Opacity"
To="0.4"
Duration="0:0:0.08" />
</Storyboard>
</BeginStoryboard>
</DataTrigger.ExitActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Rectangle.Style>
</Rectangle>
<Label <Label
Margin="10,242,0,0" Margin="10,242,0,0"
HorizontalAlignment="Left" HorizontalAlignment="Left"
@ -292,8 +335,9 @@
</Label> </Label>
</Grid> </Grid>
<local:UnderMaintenanceOverlay Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" <local:UnderMaintenanceOverlay Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
x:Name="Overlay" x:Name="Overlay"
Visibility="Collapsed" /> Visibility="Collapsed"
ClipToBounds="True" />
<!-- <!--
<TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" <TextBlock Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2"
x:Name="ModListTitleShadow" x:Name="ModListTitleShadow"