diff options
Diffstat (limited to 'Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs')
-rw-r--r-- | Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs b/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs new file mode 100644 index 00000000..25e89846 --- /dev/null +++ b/Ryujinx.Ava/Ui/Windows/AvatarWindow.axaml.cs @@ -0,0 +1,71 @@ +using Avalonia; +using Avalonia.Interactivity; +using Avalonia.Markup.Xaml; +using Ryujinx.Ava.Common.Locale; +using Ryujinx.Ava.Ui.ViewModels; +using Ryujinx.HLE.FileSystem; +using System; + +namespace Ryujinx.Ava.Ui.Windows +{ + public class AvatarWindow : StyleableWindow + { + public AvatarWindow(ContentManager contentManager) + { + ContentManager = contentManager; + ViewModel = new AvatarProfileViewModel(() => ViewModel.ReloadImages()); + + DataContext = ViewModel; + + InitializeComponent(); +#if DEBUG + this.AttachDevTools(); +#endif + Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance["AvatarWindowTitle"]; + } + + public AvatarWindow() + { + InitializeComponent(); +#if DEBUG + this.AttachDevTools(); +#endif + if (Program.PreviewerDetached) + { + Title = $"Ryujinx {Program.Version} - " + LocaleManager.Instance["AvatarWindowTitle"]; + } + } + + public ContentManager ContentManager { get; } + + public byte[] SelectedImage { get; set; } + + internal AvatarProfileViewModel ViewModel { get; set; } + + private void InitializeComponent() + { + AvaloniaXamlLoader.Load(this); + } + + protected override void OnClosed(EventArgs e) + { + ViewModel.Dispose(); + base.OnClosed(e); + } + + private void CloseButton_OnClick(object sender, RoutedEventArgs e) + { + Close(); + } + + private void ChooseButton_OnClick(object sender, RoutedEventArgs e) + { + if (ViewModel.SelectedIndex > -1) + { + SelectedImage = ViewModel.SelectedImage; + + Close(); + } + } + } +}
\ No newline at end of file |