mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-09-11 18:28:50 +02:00
* Fix redundancies * Add back elses * Loading Screen fixes * Redesign User Profile Manager - Backported long selection bar in Grid/List view not working - Backported UserSelector is jank * Fix SelectionIndicator * Fix DataType * Fix SaveManager bug * Remove debug log * Load saves on UIThread * Reduce UI thread blocking * Fix locale keys * Use block namespaces * Fix close button width * Make UserProfile ordering consistent * Alphabetical order * Adjust layout, remove green circle for blue selector * Fix some inconsistencies * Fix no inital selected profile * Adjust appearance of edit button * Adjust SaveManager * Remove redundant warning dialog * Make firmware avatar selector clearer * View redesign again :hero_depressed: * Consistency adjustments * Adjust margins * Make `UserProfileImageSelector` consistent * Make `UserFirmwareAvatarSelector` consistent * Fix long grid view selector * Switch case * Remove long selection bar Handled in #4178 * Consistency * Started dialog titles * Fixes * Remaining titles * Update Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml Co-authored-by: Mary-nyan <thog@protonmail.com> * Fix build * Hide UserRecoverer if no LostProfiles are found * UserEditor Avatar Placeholder * Watermark + locale adjustment * Border radius * Remove unnecessary styles * Fix firmware avatar image order * Cleanup `ColorPickerButton` * Make `UserId` copy/paste able * Make `FirmwareAvatarSelector` 6 images wide * Make selection bar better * Unsaved changes dialogue * Fix indentation * Remove extra check * Address suggestions * Reorganise - Remove unused views - Rename views to match convention - Fix weird namespacing * Update Ryujinx.Ava/UI/Views/User/UserFirmwareAvatarSelectorView.axaml Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Views/User/UserFirmwareAvatarSelectorView.axaml Co-authored-by: Ac_K <Acoustik666@gmail.com> * UserRecovererView empty placeholder * Update Ryujinx.Ava/UI/Views/User/UserSelectorView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Views/User/UserSaveManagerView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Views/User/UserSaveManagerView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Views/User/UserSaveManagerView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Views/User/UserRecovererView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Views/User/UserFirmwareAvatarSelectorView.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/ViewModels/UserFirmwareAvatarSelectorViewModel.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/ViewModels/UserFirmwareAvatarSelectorViewModel.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/ViewModels/UserFirmwareAvatarSelectorViewModel.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Models/UserProfile.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Update Ryujinx.Ava/UI/Controls/NavigationDialogHost.axaml.cs Co-authored-by: Ac_K <Acoustik666@gmail.com> * Remove AddModel * Update Ryujinx.Ava/Assets/Locales/en_US.json Co-authored-by: Ac_K <Acoustik666@gmail.com> * Fix bug Co-authored-by: Mary-nyan <thog@protonmail.com> Co-authored-by: Ac_K <Acoustik666@gmail.com>
205 lines
No EOL
11 KiB
XML
205 lines
No EOL
11 KiB
XML
<UserControl
|
|
x:Class="Ryujinx.Ava.UI.Controls.GameListView"
|
|
xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
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"
|
|
xmlns:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
|
|
d:DesignHeight="450"
|
|
d:DesignWidth="800"
|
|
mc:Ignorable="d"
|
|
Focusable="True">
|
|
<UserControl.Resources>
|
|
<helpers: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 GameListContextMenuOpenDeviceSaveDirectory}"
|
|
ToolTip.Tip="{locale:Locale GameListContextMenuOpenDeviceSaveDirectoryToolTip}" />
|
|
<MenuItem
|
|
Command="{Binding OpenBcatSaveDirectory}"
|
|
Header="{locale:Locale GameListContextMenuOpenBcatSaveDirectory}"
|
|
ToolTip.Tip="{locale:Locale GameListContextMenuOpenBcatSaveDirectoryToolTip}" />
|
|
<Separator />
|
|
<MenuItem
|
|
Command="{Binding OpenTitleUpdateManager}"
|
|
Header="{locale:Locale GameListContextMenuManageTitleUpdates}"
|
|
ToolTip.Tip="{locale:Locale GameListContextMenuManageTitleUpdatesToolTip}" />
|
|
<MenuItem
|
|
Command="{Binding OpenDownloadableContentManager}"
|
|
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
|
|
Name="GameListBox"
|
|
Grid.Row="0"
|
|
Padding="8"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
ContextFlyout="{StaticResource GameContextMenu}"
|
|
DoubleTapped="GameList_DoubleTapped"
|
|
Items="{Binding AppsObservableList}"
|
|
SelectionChanged="GameList_SelectionChanged">
|
|
<ListBox.ItemsPanel>
|
|
<ItemsPanelTemplate>
|
|
<StackPanel
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
Orientation="Vertical"
|
|
Spacing="2" />
|
|
</ItemsPanelTemplate>
|
|
</ListBox.ItemsPanel>
|
|
<ListBox.Styles>
|
|
<Style Selector="ListBoxItem:selected /template/ Border#SelectionIndicator">
|
|
<Setter Property="MinHeight" Value="{Binding $parent[UserControl].DataContext.ListItemSelectorSize}" />
|
|
</Style>
|
|
</ListBox.Styles>
|
|
<ListBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<Grid>
|
|
<Border
|
|
Margin="0"
|
|
Padding="10"
|
|
HorizontalAlignment="Stretch"
|
|
VerticalAlignment="Stretch"
|
|
ClipToBounds="True"
|
|
CornerRadius="5">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="10" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<Image
|
|
Grid.RowSpan="3"
|
|
Grid.Column="0"
|
|
Margin="0"
|
|
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}"
|
|
Source="{Binding Icon, Converter={StaticResource ByteImage}}" />
|
|
<StackPanel
|
|
Grid.Column="2"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top"
|
|
Orientation="Vertical"
|
|
Spacing="5" >
|
|
<TextBlock
|
|
HorizontalAlignment="Stretch"
|
|
Text="{Binding TitleName}"
|
|
TextAlignment="Left"
|
|
TextWrapping="Wrap" />
|
|
<TextBlock
|
|
HorizontalAlignment="Stretch"
|
|
Text="{Binding Developer}"
|
|
TextAlignment="Left"
|
|
TextWrapping="Wrap" />
|
|
<TextBlock
|
|
HorizontalAlignment="Stretch"
|
|
Text="{Binding Version}"
|
|
TextAlignment="Left"
|
|
TextWrapping="Wrap" />
|
|
</StackPanel>
|
|
<StackPanel
|
|
Grid.Column="3"
|
|
HorizontalAlignment="Right"
|
|
VerticalAlignment="Top"
|
|
Orientation="Vertical"
|
|
Spacing="5">
|
|
<TextBlock
|
|
HorizontalAlignment="Stretch"
|
|
Text="{Binding TimePlayed}"
|
|
TextAlignment="Right"
|
|
TextWrapping="Wrap" />
|
|
<TextBlock
|
|
HorizontalAlignment="Stretch"
|
|
Text="{Binding LastPlayed}"
|
|
TextAlignment="Right"
|
|
TextWrapping="Wrap" />
|
|
<TextBlock
|
|
HorizontalAlignment="Stretch"
|
|
Text="{Binding FileSize}"
|
|
TextAlignment="Right"
|
|
TextWrapping="Wrap" />
|
|
</StackPanel>
|
|
<ui:SymbolIcon
|
|
Grid.Row="0"
|
|
Grid.Column="0"
|
|
Margin="-5,-5,0,0"
|
|
HorizontalAlignment="Left"
|
|
VerticalAlignment="Top"
|
|
FontSize="16"
|
|
Foreground="{DynamicResource SystemAccentColor}"
|
|
IsVisible="{Binding Favorite}"
|
|
Symbol="StarFilled" />
|
|
</Grid>
|
|
</Border>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ListBox.ItemTemplate>
|
|
</ListBox>
|
|
</Grid>
|
|
</UserControl> |