Mesen2/UI/Windows/MovieRecordWindow.axaml.cs
Sour 13d931683f UI: Fixed crash when recording a movie
Also fixes the same issue in a few other windows (video recording, netplay, etc.)
2023-04-11 09:12:17 -04:00

53 lines
No EOL
1.3 KiB
C#

using Avalonia;
using Avalonia.Controls;
using Avalonia.Interactivity;
using Avalonia.Markup.Xaml;
using Mesen.Config;
using Mesen.Interop;
using Mesen.Utilities;
using Mesen.ViewModels;
using System.Collections.Generic;
namespace Mesen.Windows
{
public class MovieRecordWindow : MesenWindow
{
public MovieRecordWindow()
{
InitializeComponent();
#if DEBUG
this.AttachDevTools();
#endif
}
private void InitializeComponent()
{
AvaloniaXamlLoader.Load(this);
}
private async void OnBrowseClick(object sender, RoutedEventArgs e)
{
MovieRecordConfigViewModel model = (MovieRecordConfigViewModel)DataContext!;
string? filename = await FileDialogHelper.SaveFile(ConfigManager.MovieFolder, EmuApi.GetRomInfo().GetRomName() + "." + FileDialogHelper.MesenMovieExt, VisualRoot, FileDialogHelper.MesenMovieExt);
if(filename != null) {
model.SavePath = filename;
}
}
private void Ok_OnClick(object sender, RoutedEventArgs e)
{
MovieRecordConfigViewModel model = (MovieRecordConfigViewModel)DataContext!;
model.SaveConfig();
RecordApi.MovieRecord(new RecordMovieOptions(model.SavePath, model.Config.Author, model.Config.Description, model.Config.RecordFrom));
Close(true);
}
private void Cancel_OnClick(object sender, RoutedEventArgs e)
{
Close(false);
}
}
}