 6e02cac952
			
		
	
	
		6e02cac952
		
			
		
	
	
	
	
		
			
			* remove content dialog placeholder from all windows * remove redundant window argument * redesign user profile window * wip * use avalonia auto name generator * add edit and new user options * move profile image selection to content dialog * remove usings * fix updater * address review * adjust avatar dialog size * add validation for user editor * fix typo * Shorten some labels
		
			
				
	
	
		
			77 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
		
			No EOL
		
	
	
		
			2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using Avalonia.Controls;
 | |
| using Avalonia.Interactivity;
 | |
| using FluentAvalonia.UI.Controls;
 | |
| using FluentAvalonia.UI.Navigation;
 | |
| using Ryujinx.Ava.Ui.Controls;
 | |
| using Ryujinx.Ava.Ui.Models;
 | |
| using Ryujinx.Ava.Ui.ViewModels;
 | |
| using Ryujinx.HLE.FileSystem;
 | |
| 
 | |
| namespace Ryujinx.Ava.Ui.Windows
 | |
| {
 | |
|     public partial class AvatarWindow : UserControl
 | |
|     {
 | |
|         private NavigationDialogHost _parent;
 | |
|         private TempProfile _profile;
 | |
| 
 | |
|         public AvatarWindow(ContentManager contentManager)
 | |
|         {
 | |
|             ContentManager = contentManager;
 | |
| 
 | |
|             DataContext = ViewModel;
 | |
| 
 | |
|             InitializeComponent();
 | |
|         }
 | |
| 
 | |
|         public AvatarWindow()
 | |
|         {
 | |
|             InitializeComponent();
 | |
| 
 | |
|             AddHandler(Frame.NavigatedToEvent, (s, e) =>
 | |
|             {
 | |
|                 NavigatedTo(e);
 | |
|             }, RoutingStrategies.Direct);
 | |
|         }
 | |
| 
 | |
|         private void NavigatedTo(NavigationEventArgs arg)
 | |
|         {
 | |
|             if (Program.PreviewerDetached)
 | |
|             {
 | |
|                 if (arg.NavigationMode == NavigationMode.New)
 | |
|                 {
 | |
|                     (_parent, _profile) = ((NavigationDialogHost, TempProfile))arg.Parameter;
 | |
|                     ContentManager = _parent.ContentManager;
 | |
|                     if (Program.PreviewerDetached)
 | |
|                     {
 | |
|                         ViewModel = new AvatarProfileViewModel(() => ViewModel.ReloadImages());
 | |
|                     }
 | |
| 
 | |
|                     DataContext = ViewModel;
 | |
|                 }
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         public ContentManager ContentManager { get; private set; }
 | |
| 
 | |
|         internal AvatarProfileViewModel ViewModel { get; set; }
 | |
| 
 | |
|         private void CloseButton_OnClick(object sender, RoutedEventArgs e)
 | |
|         {
 | |
|             ViewModel.Dispose();
 | |
| 
 | |
|             _parent.GoBack();
 | |
|         }
 | |
| 
 | |
|         private void ChooseButton_OnClick(object sender, RoutedEventArgs e)
 | |
|         {
 | |
|             if (ViewModel.SelectedIndex > -1)
 | |
|             {
 | |
|                 _profile.Image = ViewModel.SelectedImage;
 | |
| 
 | |
|                 ViewModel.Dispose();
 | |
| 
 | |
|                 _parent.GoBack();
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| } |