Mesen2/UI/Windows/SelectStorageFolderWindow.axaml.cs
Sour 716227c0a7 UI: Update to Avalonia11-preview6
Notes:
-Uses a copy of VirtualizingStackPanel (to include fixes done after preview6) + fix another issue in lists
-Fixes memory leaks when closing windows (by setting DataContext to null, etc.)
2023-04-10 22:59:48 -04:00

59 lines
No EOL
1.1 KiB
C#

using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using Mesen.Config;
using Mesen.ViewModels;
using System.Collections.Generic;
using System.ComponentModel;
using System.IO;
using System.Threading.Tasks;
namespace Mesen.Windows
{
public class SelectStorageFolderWindow : MesenWindow
{
private SelectStorageFolderViewModel _model;
public SelectStorageFolderWindow()
{
_model = new SelectStorageFolderViewModel() { StoreInUserProfile = ConfigManager.HomeFolder == ConfigManager.DefaultDocumentsFolder };
DataContext = _model;
InitializeComponent();
#if DEBUG
this.AttachDevTools();
#endif
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
protected override void OnClosing(WindowClosingEventArgs e)
{
if(_model.IsCopying) {
e.Cancel = true;
}
base.OnClosing(e);
}
private async void StartProcess()
{
if(await _model.MigrateData()) {
Close(true);
}
}
private void Ok_OnClick(object sender, RoutedEventArgs e)
{
StartProcess();
}
private void Cancel_OnClick(object sender, RoutedEventArgs e)
{
Close(false);
}
}
}