diff options
| author | Ac_K <Acoustik666@gmail.com> | 2022-06-23 20:59:02 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-23 15:59:02 -0300 |
| commit | 8aff17a93c27dea7339c20f9cf73535e110ffb72 (patch) | |
| tree | 9f51f16f61a538099aa388a73a88a5f988ad76f2 /Ryujinx.Ava/Ui/Controls/GameGridView.axaml | |
| parent | f2a41b7a1cad027cc1f1f8f687cda6ab42030eb9 (diff) | |
UI: Some Avalonia cleanup (#3358)
Diffstat (limited to 'Ryujinx.Ava/Ui/Controls/GameGridView.axaml')
| -rw-r--r-- | Ryujinx.Ava/Ui/Controls/GameGridView.axaml | 303 |
1 files changed, 167 insertions, 136 deletions
diff --git a/Ryujinx.Ava/Ui/Controls/GameGridView.axaml b/Ryujinx.Ava/Ui/Controls/GameGridView.axaml index 13b75f11..431bcf00 100644 --- a/Ryujinx.Ava/Ui/Controls/GameGridView.axaml +++ b/Ryujinx.Ava/Ui/Controls/GameGridView.axaml @@ -1,188 +1,219 @@ -<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.GameGridView"> - <UserControl.Resources> - <controls:BitmapArrayValueConverter x:Key="ByteImage" /> - <MenuFlyout x:Key="GameContextMenu" Opened="MenuBase_OnMenuOpened"> - <MenuItem +<UserControl + x:Class="Ryujinx.Ava.Ui.Controls.GameGridView" + xmlns="https://github.com/avaloniaui" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:controls="clr-namespace:Ryujinx.Ava.Ui.Controls" + xmlns:d="http://schemas.microsoft.com/expression/blend/2008" + xmlns:flex="clr-namespace:Avalonia.Flexbox;assembly=Avalonia.Flexbox" + xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale" + xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" + xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia" + d:DesignHeight="450" + d:DesignWidth="800" + mc:Ignorable="d"> + <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 + <Separator /> + <MenuItem Command="{Binding OpenUserSaveDirectory}" Header="{locale:Locale GameListContextMenuOpenUserSaveDirectory}" ToolTip.Tip="{locale:Locale GameListContextMenuOpenUserSaveDirectoryToolTip}" /> - <MenuItem + <MenuItem Command="{Binding OpenDeviceSaveDirectory}" Header="{locale:Locale GameListContextMenuOpenUserDeviceDirectory}" ToolTip.Tip="{locale:Locale GameListContextMenuOpenUserDeviceDirectoryToolTip}" /> - <MenuItem + <MenuItem Command="{Binding OpenBcatSaveDirectory}" Header="{locale:Locale GameListContextMenuOpenUserBcatDirectory}" ToolTip.Tip="{locale:Locale GameListContextMenuOpenUserBcatDirectoryToolTip}" /> - <Separator /> - <MenuItem + <Separator /> + <MenuItem Command="{Binding OpenTitleUpdateManager}" Header="{locale:Locale GameListContextMenuManageTitleUpdates}" ToolTip.Tip="{locale:Locale GameListContextMenuManageTitleUpdatesToolTip}" /> - <MenuItem + <MenuItem Command="{Binding OpenDlcManager}" Header="{locale:Locale GameListContextMenuManageDlc}" ToolTip.Tip="{locale:Locale GameListContextMenuManageDlcToolTip}" /> - <MenuItem + <MenuItem Command="{Binding OpenCheatManager}" Header="{locale:Locale GameListContextMenuManageCheat}" ToolTip.Tip="{locale:Locale GameListContextMenuManageCheatToolTip}" /> - <MenuItem + <MenuItem Command="{Binding OpenModsDirectory}" Header="{locale:Locale GameListContextMenuOpenModsDirectory}" ToolTip.Tip="{locale:Locale GameListContextMenuOpenModsDirectoryToolTip}" /> - <MenuItem + <MenuItem Command="{Binding OpenSdModsDirectory}" Header="{locale:Locale GameListContextMenuOpenSdModsDirectory}" ToolTip.Tip="{locale:Locale GameListContextMenuOpenSdModsDirectoryToolTip}" /> - <Separator /> - <MenuItem Header="{locale:Locale GameListContextMenuCacheManagement}"> - <MenuItem + <Separator /> + <MenuItem Header="{locale:Locale GameListContextMenuCacheManagement}"> + <MenuItem Command="{Binding PurgePtcCache}" Header="{locale:Locale GameListContextMenuCacheManagementPurgePptc}" ToolTip.Tip="{locale:Locale GameListContextMenuCacheManagementPurgePptcToolTip}" /> - <MenuItem + <MenuItem Command="{Binding PurgeShaderCache}" Header="{locale:Locale GameListContextMenuCacheManagementPurgeShaderCache}" ToolTip.Tip="{locale:Locale GameListContextMenuCacheManagementPurgeShaderCacheToolTip}" /> - <MenuItem + <MenuItem Command="{Binding OpenPtcDirectory}" Header="{locale:Locale GameListContextMenuCacheManagementOpenPptcDirectory}" ToolTip.Tip="{locale:Locale GameListContextMenuCacheManagementOpenPptcDirectoryToolTip}" /> - <MenuItem + <MenuItem Command="{Binding OpenShaderCacheDirectory}" Header="{locale:Locale GameListContextMenuCacheManagementOpenShaderCacheDirectory}" ToolTip.Tip="{locale:Locale GameListContextMenuCacheManagementOpenShaderCacheDirectoryToolTip}" /> - </MenuItem> - <MenuItem Header="{locale:Locale GameListContextMenuExtractData}"> - <MenuItem + </MenuItem> + <MenuItem Header="{locale:Locale GameListContextMenuExtractData}"> + <MenuItem Command="{Binding ExtractExeFs}" Header="{locale:Locale GameListContextMenuExtractDataExeFS}" ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataExeFSToolTip}" /> - <MenuItem + <MenuItem Command="{Binding ExtractRomFs}" Header="{locale:Locale GameListContextMenuExtractDataRomFS}" ToolTip.Tip="{locale:Locale GameListContextMenuExtractDataRomFSToolTip}" /> - <MenuItem + <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" - Items="{Binding AppsObservableList}"> - <ListBox.ItemsPanel> - <ItemsPanelTemplate> - <flex:FlexPanel HorizontalAlignment="Stretch" VerticalAlignment="Stretch" JustifyContent="Center" - AlignContent="FlexStart" /> - </ItemsPanelTemplate> - </ListBox.ItemsPanel> - <ListBox.Styles> - <Style Selector="ListBoxItem"> - <Setter Property="Padding" Value="0" /> - <Setter Property="Margin" Value="5" /> - <Setter Property="CornerRadius" Value="5" /> - <Setter Property="Background" Value="{DynamicResource SystemAccentColorDark3}" /> - <Style.Animations> - <Animation Duration="0:0:0.7"> - <KeyFrame Cue="0%"> - <Setter Property="MaxWidth" Value="0"/> - <Setter Property="Opacity" Value="0.0"/> - </KeyFrame> - <KeyFrame Cue="50%"> - <Setter Property="MaxWidth" Value="1000"/> - <Setter Property="Opacity" Value="0.3"/> - </KeyFrame> - <KeyFrame Cue="100%"> - <Setter Property="MaxWidth" Value="1000"/> - <Setter Property="Opacity" Value="1.0"/> - </KeyFrame> - </Animation> - </Style.Animations> - </Style> - </ListBox.Styles> - <ListBox.ItemTemplate> - <DataTemplate> - <Grid> - <Grid.Styles> - <Style Selector="ui|SymbolIcon.small.icon"> - <Setter Property="FontSize" Value="15" /> - </Style> - <Style Selector="ui|SymbolIcon.normal.icon"> - <Setter Property="FontSize" Value="19" /> - </Style> - <Style Selector="ui|SymbolIcon.large.icon"> - <Setter Property="FontSize" Value="23" /> - </Style> - <Style Selector="ui|SymbolIcon.huge.icon"> - <Setter Property="FontSize" Value="26" /> - </Style> - </Grid.Styles> - <Border - Classes.small="{Binding $parent[UserControl].DataContext.IsGridSmall}" + </MenuItem> + </MenuFlyout> + </UserControl.Resources> + <Grid> + <Grid.RowDefinitions> + <RowDefinition Height="*" /> + </Grid.RowDefinitions> + <ListBox + Grid.Row="0" + Padding="8" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + ContextFlyout="{StaticResource GameContextMenu}" + DoubleTapped="GameList_DoubleTapped" + Items="{Binding AppsObservableList}" + SelectionChanged="GameList_SelectionChanged"> + <ListBox.ItemsPanel> + <ItemsPanelTemplate> + <flex:FlexPanel + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + AlignContent="FlexStart" + JustifyContent="Center" /> + </ItemsPanelTemplate> + </ListBox.ItemsPanel> + <ListBox.Styles> + <Style Selector="ListBoxItem"> + <Setter Property="Padding" Value="0" /> + <Setter Property="Margin" Value="5" /> + <Setter Property="CornerRadius" Value="5" /> + <Setter Property="Background" Value="{DynamicResource SystemAccentColorDark3}" /> + <Style.Animations> + <Animation Duration="0:0:0.7"> + <KeyFrame Cue="0%"> + <Setter Property="MaxWidth" Value="0" /> + <Setter Property="Opacity" Value="0.0" /> + </KeyFrame> + <KeyFrame Cue="50%"> + <Setter Property="MaxWidth" Value="1000" /> + <Setter Property="Opacity" Value="0.3" /> + </KeyFrame> + <KeyFrame Cue="100%"> + <Setter Property="MaxWidth" Value="1000" /> + <Setter Property="Opacity" Value="1.0" /> + </KeyFrame> + </Animation> + </Style.Animations> + </Style> + </ListBox.Styles> + <ListBox.ItemTemplate> + <DataTemplate> + <Grid> + <Grid.Styles> + <Style Selector="ui|SymbolIcon.small.icon"> + <Setter Property="FontSize" Value="15" /> + </Style> + <Style Selector="ui|SymbolIcon.normal.icon"> + <Setter Property="FontSize" Value="19" /> + </Style> + <Style Selector="ui|SymbolIcon.large.icon"> + <Setter Property="FontSize" Value="23" /> + </Style> + <Style Selector="ui|SymbolIcon.huge.icon"> + <Setter Property="FontSize" Value="26" /> + </Style> + </Grid.Styles> + <Border + Margin="0" + Padding="{Binding $parent[UserControl].DataContext.GridItemPadding}" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + Classes.huge="{Binding $parent[UserControl].DataContext.IsGridHuge}" + Classes.large="{Binding $parent[UserControl].DataContext.IsGridLarge}" Classes.normal="{Binding $parent[UserControl].DataContext.IsGridMedium}" + Classes.small="{Binding $parent[UserControl].DataContext.IsGridSmall}" + ClipToBounds="True" + CornerRadius="5"> + <Grid Margin="0"> + <Grid.RowDefinitions> + <RowDefinition Height="Auto" /> + <RowDefinition Height="Auto" /> + </Grid.RowDefinitions> + <Image + Grid.Row="0" + Margin="0" + HorizontalAlignment="Stretch" + VerticalAlignment="Top" + Source="{Binding Icon, Converter={StaticResource ByteImage}}" /> + <StackPanel + Grid.Row="1" + Height="50" + Margin="5" + HorizontalAlignment="Stretch" + VerticalAlignment="Stretch" + IsVisible="{Binding $parent[UserControl].DataContext.ShowNames}"> + <TextBlock + HorizontalAlignment="Stretch" + Text="{Binding TitleName}" + TextAlignment="Center" + TextWrapping="Wrap" /> + </StackPanel> + </Grid> + </Border> + <ui:SymbolIcon + Margin="5" + HorizontalAlignment="Left" + VerticalAlignment="Top" + Classes.huge="{Binding $parent[UserControl].DataContext.IsGridHuge}" + Classes.icon="true" Classes.large="{Binding $parent[UserControl].DataContext.IsGridLarge}" + Classes.normal="{Binding $parent[UserControl].DataContext.IsGridMedium}" + Classes.small="{Binding $parent[UserControl].DataContext.IsGridSmall}" + Foreground="Yellow" + IsVisible="{Binding Favorite}" + Symbol="StarFilled" /> + <ui:SymbolIcon + Margin="5" + HorizontalAlignment="Left" + VerticalAlignment="Top" Classes.huge="{Binding $parent[UserControl].DataContext.IsGridHuge}" - HorizontalAlignment="Stretch" - Padding="{Binding $parent[UserControl].DataContext.GridItemPadding}" CornerRadius="5" - VerticalAlignment="Stretch" Margin="0" ClipToBounds="True"> - <Grid Margin="0"> - <Grid.RowDefinitions> - <RowDefinition Height="Auto" /> - <RowDefinition Height="Auto" /> - </Grid.RowDefinitions> - <Image HorizontalAlignment="Stretch" VerticalAlignment="Top" Margin="0" Grid.Row="0" - Source="{Binding Icon, Converter={StaticResource ByteImage}}" /> - <StackPanel IsVisible="{Binding $parent[UserControl].DataContext.ShowNames}" - Height="50" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" - Margin="5" Grid.Row="1"> - <TextBlock Text="{Binding TitleName}" TextAlignment="Center" TextWrapping="Wrap" - HorizontalAlignment="Stretch" /> - </StackPanel> - </Grid> - </Border> - <ui:SymbolIcon Classes.icon="true" 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}" - Foreground="Yellow" Symbol="StarFilled" - IsVisible="{Binding Favorite}" Margin="5" VerticalAlignment="Top" - HorizontalAlignment="Left" /> - <ui:SymbolIcon Classes.icon="true" 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}" - Foreground="Black" Symbol="Star" - IsVisible="{Binding Favorite}" Margin="5" VerticalAlignment="Top" - HorizontalAlignment="Left" /> - </Grid> - </DataTemplate> - </ListBox.ItemTemplate> - </ListBox> - </Grid> + Classes.icon="true" + Classes.large="{Binding $parent[UserControl].DataContext.IsGridLarge}" + Classes.normal="{Binding $parent[UserControl].DataContext.IsGridMedium}" + Classes.small="{Binding $parent[UserControl].DataContext.IsGridSmall}" + Foreground="Black" + IsVisible="{Binding Favorite}" + Symbol="Star" /> + </Grid> + </DataTemplate> + </ListBox.ItemTemplate> + </ListBox> + </Grid> </UserControl>
\ No newline at end of file |
