| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 |
- <UserControl xmlns="https://github.com/avaloniaui"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:flex="clr-namespace:Avalonia.Flexbox;assembly=Avalonia.Flexbox"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
- xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls"
- xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
- mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
- x:Class="Ryujinx.Ava.Ui.Controls.GameListView">
- <UserControl.Resources>
- <controls:BitmapArrayValueConverter x:Key="ByteImage" />
- <MenuFlyout x:Key="GameContextMenu" Opened="MenuBase_OnMenuOpened">
- <MenuItem
- Command="{Binding ToggleFavorite}"
- Header="{locale:Locale GameListContextMenuToggleFavorite}"
- ToolTip.Tip="{locale:Locale GameListContextMenuToggleFavoriteToolTip}" />
- <Separator />
- <MenuItem
- Command="{Binding OpenUserSaveDirectory}"
- Header="{locale:Locale GameListContextMenuOpenUserSaveDirectory}"
- ToolTip.Tip="{locale:Locale GameListContextMenuOpenUserSaveDirectoryToolTip}" />
- <MenuItem
- Command="{Binding OpenDeviceSaveDirectory}"
- Header="{locale:Locale GameListContextMenuOpenUserDeviceDirectory}"
- ToolTip.Tip="{locale:Locale GameListContextMenuOpenUserDeviceDirectoryToolTip}" />
- <MenuItem
- Command="{Binding OpenBcatSaveDirectory}"
- Header="{locale:Locale GameListContextMenuOpenUserBcatDirectory}"
- ToolTip.Tip="{locale:Locale GameListContextMenuOpenUserBcatDirectoryToolTip}" />
- <Separator />
- <MenuItem
- Command="{Binding OpenTitleUpdateManager}"
- Header="{locale:Locale GameListContextMenuManageTitleUpdates}"
- ToolTip.Tip="{locale:Locale GameListContextMenuManageTitleUpdatesToolTip}" />
- <MenuItem
- Command="{Binding OpenDlcManager}"
- Header="{locale:Locale GameListContextMenuManageDlc}"
- ToolTip.Tip="{locale:Locale GameListContextMenuManageDlcToolTip}" />
- <MenuItem
- Command="{Binding OpenCheatManager}"
- Header="{locale:Locale GameListContextMenuManageCheat}"
- ToolTip.Tip="{locale:Locale GameListContextMenuManageCheatToolTip}" />
- <MenuItem
- Command="{Binding OpenModsDirectory}"
- Header="{locale:Locale GameListContextMenuOpenModsDirectory}"
- ToolTip.Tip="{locale:Locale GameListContextMenuOpenModsDirectoryToolTip}" />
- <MenuItem
- Command="{Binding OpenSdModsDirectory}"
- Header="{locale:Locale GameListContextMenuOpenSdModsDirectory}"
- ToolTip.Tip="{locale:Locale GameListContextMenuOpenSdModsDirectoryToolTip}" />
- <Separator />
- <MenuItem Header="{locale:Locale GameListContextMenuCacheManagement}">
- <MenuItem
- Command="{Binding PurgePtcCache}"
- Header="{locale:Locale GameListContextMenuCacheManagementPurgePptc}"
- ToolTip.Tip="{locale:Locale GameListContextMenuCacheManagementPurgePptcToolTip}" />
- <MenuItem
- Command="{Binding PurgeShaderCache}"
- Header="{locale:Locale GameListContextMenuCacheManagementPurgeShaderCache}"
- ToolTip.Tip="{locale:Locale GameListContextMenuCacheManagementPurgeShaderCacheToolTip}" />
- <MenuItem
- Command="{Binding OpenPtcDirectory}"
- Header="{locale:Locale GameListContextMenuCacheManagementOpenPptcDirectory}"
- ToolTip.Tip="{locale:Locale GameListContextMenuCacheManagementOpenPptcDirectoryToolTip}" />
- <MenuItem
- Command="{Binding OpenShaderCacheDirectory}"
- Header="{locale:Locale GameListContextMenuCacheManagementOpenShaderCacheDirectory}"
- ToolTip.Tip="{locale:Locale GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip}" />
- </MenuItem>
- <MenuItem Header="{locale:Locale GameListContextMenuExtractData}">
- <MenuItem
- Command="{Binding ExtractExeFs}"
- Header="{locale:Locale GameListContextMenuExtractDataExeFS}"
- ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataExeFSToolTip}" />
- <MenuItem
- Command="{Binding ExtractRomFs}"
- Header="{locale:Locale GameListContextMenuExtractDataRomFS}"
- ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataRomFSToolTip}" />
- <MenuItem
- Command="{Binding ExtractLogo}"
- Header="{locale:Locale GameListContextMenuExtractDataLogo}"
- ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataLogoToolTip}" />
- </MenuItem>
- </MenuFlyout>
- </UserControl.Resources>
- <Grid>
- <Grid.RowDefinitions>
- <RowDefinition Height="*" />
- </Grid.RowDefinitions>
- <ListBox Grid.Row="0"
- Padding="8"
- HorizontalAlignment="Stretch"
- DoubleTapped="GameList_DoubleTapped"
- SelectionChanged="GameList_SelectionChanged"
- ContextFlyout="{StaticResource GameContextMenu}"
- VerticalAlignment="Stretch"
- Name="GameListBox"
- Items="{Binding AppsObservableList}">
- <ListBox.ItemsPanel>
- <ItemsPanelTemplate>
- <StackPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Orientation="Vertical" Spacing="2" />
- </ItemsPanelTemplate>
- </ListBox.ItemsPanel>
- <ListBox.Styles>
- <Style Selector="ListBoxItem">
- <Setter Property="Padding" Value="0" />
- <Setter Property="Margin" Value="0" />
- <Setter Property="CornerRadius" Value="5" />
- <Setter Property="BorderBrush" Value="{DynamicResource SystemAccentColorDark3}" />
- <Setter Property="BorderThickness" Value="2" />
- <Style.Animations>
- <Animation Duration="0:0:0.7">
- <KeyFrame Cue="0%">
- <Setter Property="MaxHeight" Value="0"/>
- <Setter Property="Opacity" Value="0.0"/>
- </KeyFrame>
- <KeyFrame Cue="50%">
- <Setter Property="MaxHeight" Value="1000"/>
- <Setter Property="Opacity" Value="0.3"/>
- </KeyFrame>
- <KeyFrame Cue="100%">
- <Setter Property="MaxHeight" Value="1000"/>
- <Setter Property="Opacity" Value="1.0"/>
- </KeyFrame>
- </Animation>
- </Style.Animations>
- </Style>
- </ListBox.Styles>
- <ListBox.ItemTemplate>
- <DataTemplate>
- <Grid>
- <Border HorizontalAlignment="Stretch"
- Padding="10" CornerRadius="5"
- VerticalAlignment="Stretch" Margin="0" ClipToBounds="True">
- <Grid >
- <Grid.ColumnDefinitions>
- <ColumnDefinition Width="Auto"/>
- <ColumnDefinition Width="10"/>
- <ColumnDefinition Width="*"/>
- <ColumnDefinition Width="Auto"/>
- </Grid.ColumnDefinitions>
- <Grid.RowDefinitions>
- <RowDefinition/>
- </Grid.RowDefinitions>
- <Image
- Classes.small="{Binding $parent[UserControl].DataContext.IsGridSmall}"
- Classes.normal="{Binding $parent[UserControl].DataContext.IsGridMedium}"
- Classes.large="{Binding $parent[UserControl].DataContext.IsGridLarge}"
- Classes.huge="{Binding $parent[UserControl].DataContext.IsGridHuge}"
- Grid.RowSpan="3" Grid.Column="0" Margin="0"
- Source="{Binding Icon, Converter={StaticResource ByteImage}}" />
- <StackPanel Orientation="Vertical" Spacing="5" VerticalAlignment="Top" HorizontalAlignment="Left"
- Grid.Column="2">
- <TextBlock Text="{Binding TitleName}" TextAlignment="Left" TextWrapping="Wrap"
- HorizontalAlignment="Stretch" />
- <TextBlock Text="{Binding Developer}" TextAlignment="Left" TextWrapping="Wrap"
- HorizontalAlignment="Stretch" />
- <TextBlock Text="{Binding Version}" TextAlignment="Left" TextWrapping="Wrap"
- HorizontalAlignment="Stretch" />
- </StackPanel>
- <StackPanel Orientation="Vertical" Spacing="5" VerticalAlignment="Top" HorizontalAlignment="Right"
- Grid.Column="3">
- <TextBlock Text="{Binding TimePlayed}" TextAlignment="Right" TextWrapping="Wrap"
- HorizontalAlignment="Stretch" />
- <TextBlock Text="{Binding LastPlayed}" TextAlignment="Right" TextWrapping="Wrap"
- HorizontalAlignment="Stretch" />
- <TextBlock Text="{Binding FileSize}" TextAlignment="Right" TextWrapping="Wrap"
- HorizontalAlignment="Stretch" />
- </StackPanel>
- <ui:SymbolIcon Grid.Row="0" Grid.Column="0" FontSize="20"
- Foreground="Yellow"
- Symbol="StarFilled"
- IsVisible="{Binding Favorite}" Margin="-5, -5, 0, 0" VerticalAlignment="Top"
- HorizontalAlignment="Left" />
- <ui:SymbolIcon Grid.Row="0" Grid.Column="0" FontSize="20"
- Foreground="Black"
- Symbol="Star"
- IsVisible="{Binding Favorite}" Margin="-5, -5, 0, 0" VerticalAlignment="Top"
- HorizontalAlignment="Left" />
- </Grid>
- </Border>
- </Grid>
- </DataTemplate>
- </ListBox.ItemTemplate>
- </ListBox>
- </Grid>
- </UserControl>
|