aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ava/UI/Views/User/UserSelectorView.axaml
diff options
context:
space:
mode:
authorIsaac Marovitz <42140194+IsaacMarovitz@users.noreply.github.com>2023-01-11 00:20:19 -0500
committerGitHub <noreply@github.com>2023-01-11 06:20:19 +0100
commit934b5a64e5638ae5228acb52faf48efadefdea8d (patch)
treecc65eab75c5a9a7c3438de3302ab1f6cbcec1599 /Ryujinx.Ava/UI/Views/User/UserSelectorView.axaml
parentcee667b491f87c48546f348bad8c6f16cdf6d628 (diff)
Ava GUI: User Profile Manager + Other Fixes (#4166)
* 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>
Diffstat (limited to 'Ryujinx.Ava/UI/Views/User/UserSelectorView.axaml')
-rw-r--r--Ryujinx.Ava/UI/Views/User/UserSelectorView.axaml165
1 files changed, 165 insertions, 0 deletions
diff --git a/Ryujinx.Ava/UI/Views/User/UserSelectorView.axaml b/Ryujinx.Ava/UI/Views/User/UserSelectorView.axaml
new file mode 100644
index 00000000..9a6ba054
--- /dev/null
+++ b/Ryujinx.Ava/UI/Views/User/UserSelectorView.axaml
@@ -0,0 +1,165 @@
+<UserControl
+ x:Class="Ryujinx.Ava.UI.Views.User.UserSelectorViews"
+ xmlns="https://github.com/avaloniaui"
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+ xmlns:locale="clr-namespace:Ryujinx.Ava.Common.Locale"
+ 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:helpers="clr-namespace:Ryujinx.Ava.UI.Helpers"
+ xmlns:models="clr-namespace:Ryujinx.Ava.UI.Models"
+ xmlns:viewModels="clr-namespace:Ryujinx.Ava.UI.ViewModels"
+ xmlns:ui="clr-namespace:FluentAvalonia.UI.Controls;assembly=FluentAvalonia"
+ d:DesignHeight="450"
+ MinWidth="500"
+ d:DesignWidth="800"
+ mc:Ignorable="d"
+ Focusable="True"
+ x:CompileBindings="True"
+ x:DataType="viewModels:UserProfileViewModel">
+ <UserControl.Resources>
+ <helpers:BitmapArrayValueConverter x:Key="ByteImage" />
+ </UserControl.Resources>
+ <Design.DataContext>
+ <viewModels:UserProfileViewModel />
+ </Design.DataContext>
+ <Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
+ <Grid.RowDefinitions>
+ <RowDefinition />
+ <RowDefinition Height="Auto" />
+ </Grid.RowDefinitions>
+ <Border
+ CornerRadius="5"
+ BorderBrush="{DynamicResource AppListHoverBackgroundColor}"
+ BorderThickness="1">
+ <ListBox
+ MaxHeight="300"
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Center"
+ SelectionChanged="ProfilesList_SelectionChanged"
+ Background="Transparent"
+ Items="{Binding Profiles}">
+ <ListBox.ItemsPanel>
+ <ItemsPanelTemplate>
+ <flex:FlexPanel
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Stretch"
+ AlignContent="FlexStart"
+ JustifyContent="FlexStart" />
+ </ItemsPanelTemplate>
+ </ListBox.ItemsPanel>
+ <ListBox.Styles>
+ <Style Selector="ListBoxItem">
+ <Setter Property="Margin" Value="5 5 0 5" />
+ <Setter Property="CornerRadius" Value="5" />
+ </Style>
+ <Style Selector="Border#SelectionIndicator">
+ <Setter Property="Opacity" Value="0" />
+ </Style>
+ </ListBox.Styles>
+ <ListBox.DataTemplates>
+ <DataTemplate
+ DataType="models:UserProfile">
+ <Grid
+ PointerEnter="Grid_PointerEntered"
+ PointerLeave="Grid_OnPointerExited">
+ <Border
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Stretch"
+ ClipToBounds="True"
+ CornerRadius="5"
+ Background="{Binding BackgroundColor}">
+ <StackPanel
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Stretch">
+ <Image
+ Width="96"
+ Height="96"
+ HorizontalAlignment="Stretch"
+ VerticalAlignment="Top"
+ Source="{Binding Image, Converter={StaticResource ByteImage}}" />
+ <TextBlock
+ HorizontalAlignment="Stretch"
+ MaxWidth="90"
+ Text="{Binding Name}"
+ TextAlignment="Center"
+ TextWrapping="Wrap"
+ TextTrimming="CharacterEllipsis"
+ MaxLines="2"
+ Margin="5" />
+ </StackPanel>
+ </Border>
+ <Border
+ Margin="2"
+ Height="24"
+ Width="24"
+ CornerRadius="12"
+ HorizontalAlignment="Right"
+ VerticalAlignment="Top"
+ Background="{DynamicResource ThemeContentBackgroundColor}"
+ IsVisible="{Binding IsPointerOver}">
+ <Button
+ MaxHeight="24"
+ MaxWidth="24"
+ MinHeight="24"
+ MinWidth="24"
+ CornerRadius="12"
+ Padding="0"
+ Click="EditUser">
+ <ui:SymbolIcon Symbol="Edit" />
+ </Button>
+ </Border>
+ </Grid>
+ </DataTemplate>
+ <DataTemplate
+ DataType="viewModels:BaseModel">
+ <Panel
+ Height="118"
+ Width="96">
+ <Button
+ MinWidth="50"
+ MinHeight="50"
+ MaxWidth="50"
+ MaxHeight="50"
+ CornerRadius="25"
+ Margin="10"
+ Padding="0"
+ HorizontalAlignment="Center"
+ VerticalAlignment="Center"
+ Click="AddUser">
+ <ui:SymbolIcon Symbol="Add" />
+ </Button>
+ <Panel.Styles>
+ <Style Selector="Panel">
+ <Setter Property="Background" Value="{DynamicResource ListBoxBackground}"/>
+ </Style>
+ </Panel.Styles>
+ </Panel>
+ </DataTemplate>
+ </ListBox.DataTemplates>
+ </ListBox>
+ </Border>
+ <StackPanel
+ Grid.Row="1"
+ Margin="0 24 0 0"
+ HorizontalAlignment="Left"
+ Orientation="Horizontal"
+ Spacing="10">
+ <Button
+ Click="ManageSaves"
+ Content="{locale:Locale UserProfilesManageSaves}" />
+ <Button
+ Click="RecoverLostAccounts"
+ Content="{locale:Locale UserProfilesRecoverLostAccounts}" />
+ </StackPanel>
+ <StackPanel
+ Grid.Row="1"
+ Margin="0 24 0 0"
+ HorizontalAlignment="Right"
+ Orientation="Horizontal">
+ <Button
+ Click="Close"
+ Content="{locale:Locale UserProfilesClose}" />
+ </StackPanel>
+ </Grid>
+</UserControl> \ No newline at end of file