Skip to content

Commit

Permalink
Bug fix: re-download icon not appearing on library
Browse files Browse the repository at this point in the history
  • Loading branch information
Yelo420 committed Feb 12, 2024
1 parent ece87d0 commit 678f5f7
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 27 deletions.
29 changes: 29 additions & 0 deletions gamevault/Converter/IsGameDownloadedConverter.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
using gamevault.Models;
using gamevault.ViewModels;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Data;

namespace gamevault.Converter
{
internal class IsGameDownloadedConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Debug.WriteLine("IsDownloaded");
if (value == null)
return false;
return DownloadsViewModel.Instance.DownloadedGames.Where(gameUC => gameUC.GetGameId() == (int)value).Count() > 0;
}

public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return false;
}
}
}
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
using gamevault.Helper;
using gamevault.Models;
using System;
using System.Diagnostics;
using System.Globalization;
using System.Windows;
using System.Windows.Data;
Expand All @@ -11,6 +12,7 @@ internal class LibraryPermissionRoleToVisibilityConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
Debug.WriteLine("PermRoleVis");
if ((LoginManager.Instance.GetCurrentUser() != null && LoginManager.Instance.GetCurrentUser().Role >= PERMISSION_ROLE.EDITOR))
{
return Visibility.Visible;
Expand Down
91 changes: 64 additions & 27 deletions gamevault/UserControls/LibraryUserControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
<UserControl.Resources>
<conv:GameSizeConverter x:Key="sizeConv"/>
<conv:LibraryPermissionRoleToVisibilityConverter x:Key="libCardsPermVisConv"/>
<conv:IsGameDownloadedConverter x:Key="isGameDownloadedConv"/>
</UserControl.Resources>
<Grid>
<Grid.RowDefinitions>
Expand Down Expand Up @@ -168,9 +169,9 @@
<Setter Property="Visibility" Value="Hidden"/>
<Style.Triggers>
<DataTrigger Binding="{Binding CanLoadServerGames}" Value="False">
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>
<Setter Property="Visibility" Value="Visible"/>
</DataTrigger>

</Style.Triggers>
</Style>
</StackPanel.Style>
Expand Down Expand Up @@ -235,30 +236,66 @@
</Style.Triggers>
</Style>
</Border.Style>
<Grid>
<Grid Style="{DynamicResource HoverEffect}" Visibility="{Binding Path=Title,Converter={StaticResource libCardsPermVisConv}}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,12,10,0" MouseLeftButtonUp="Settings_Click" Background="#02000000">
<Path Data="{StaticResource IconInstalledGamesSettings}" Fill="White" RenderTransformOrigin="0.5,0.5">
<Path.RenderTransform>
<ScaleTransform ScaleX="1.3" ScaleY="1.3"/>
</Path.RenderTransform>
</Path>
<Grid.RenderTransform>
<ScaleTransform/>
</Grid.RenderTransform>
</Grid>
<TextBlock Text="{Binding Path=Title}" FontSize="17" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" TextAlignment="Center" TextWrapping="Wrap"/>
<Grid Style="{DynamicResource HoverEffect}" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,30" Background="Transparent" Height="61" Width="65" MouseLeftButtonUp="Download_Click">
<Path Data="{StaticResource IconDownload}" Fill="White" RenderTransformOrigin="0.03,0.08">
<Path.RenderTransform>
<ScaleTransform ScaleX="3" ScaleY="3"/>
</Path.RenderTransform>
</Path>
<TextBlock FontSize="10" FontWeight="Bold" Text="{Binding Path=Size,Converter={StaticResource sizeConv}}" Margin="0,50,0,0" HorizontalAlignment="Center"/>
<Grid.RenderTransform>
<ScaleTransform/>
</Grid.RenderTransform>
</Grid>
</Grid>
<ContentControl>
<ContentControl.Resources>
<Style x:Key="SettingsKey" TargetType="Grid" BasedOn="{StaticResource HoverEffect}">
<EventSetter Event="MouseLeftButtonUp" Handler="Settings_Click"/>
</Style>
<Style x:Key="DownloadKey" TargetType="Grid" BasedOn="{StaticResource HoverEffect}">
<EventSetter Event="MouseLeftButtonUp" Handler="Download_Click"/>
</Style>
</ContentControl.Resources>
<ContentControl.Style>
<Style TargetType="{x:Type ContentControl}">
<Style.Triggers>
<DataTrigger Binding="{Binding IsMouseOver, ElementName=ParentGrid}" Value="True">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid>
<Grid Style="{StaticResource SettingsKey}" Visibility="{Binding Path=Title,Converter={StaticResource libCardsPermVisConv}}" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="0,12,10,0" Background="#02000000">
<Path Data="{StaticResource IconInstalledGamesSettings}" Fill="White" RenderTransformOrigin="0.5,0.5">
<Path.RenderTransform>
<ScaleTransform ScaleX="1.3" ScaleY="1.3"/>
</Path.RenderTransform>
</Path>
<Grid.RenderTransform>
<ScaleTransform/>
</Grid.RenderTransform>
</Grid>
<TextBlock Text="{Binding Path=Title}" FontSize="17" HorizontalAlignment="Center" VerticalAlignment="Center" Foreground="White" TextAlignment="Center" TextWrapping="Wrap"/>
<Grid Style="{StaticResource DownloadKey}" HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,0,0,30" Background="Transparent" Height="61" Width="65">
<Path Fill="White" RenderTransformOrigin="0.03,0.08">
<Path.RenderTransform>
<ScaleTransform ScaleX="3" ScaleY="3"/>
</Path.RenderTransform>
<Path.Style>
<Style TargetType="Path">
<Style.Triggers>
<DataTrigger Binding="{Binding Path=ID,Converter={StaticResource isGameDownloadedConv}}" Value="True">
<Setter Property="Data" Value="{StaticResource IconReDownload}"/>
</DataTrigger>
<DataTrigger Binding="{Binding Path=ID,Converter={StaticResource isGameDownloadedConv}}" Value="False">
<Setter Property="Data" Value="{StaticResource IconDownload}"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Path.Style>
</Path>
<TextBlock FontSize="10" FontWeight="Bold" Text="{Binding Path=Size,Converter={StaticResource sizeConv}}" Margin="0,50,0,0" HorizontalAlignment="Center"/>
<Grid.RenderTransform>
<ScaleTransform/>
</Grid.RenderTransform>
</Grid>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</ContentControl.Style>
</ContentControl>
</Border>
</Grid>
</Grid>
Expand Down

0 comments on commit 678f5f7

Please sign in to comment.