예제 #1
0
 protected override void OnClosing(CancelEventArgs e)
 {
     if (LoadedROM != null)
     {
         if (assets != null)
         {
             assets.Close();
             if (assets.IsVisible)
             {
                 e.Cancel = true;
                 return;
             }
         }
         if (sound != null)
         {
             sound.Close();
             if (sound.IsVisible)
             {
                 e.Cancel = true;
                 return;
             }
         }
         if (texts != null)
         {
             texts.Close();
             if (texts.IsVisible)
             {
                 e.Cancel = true;
                 return;
             }
         }
         var res = System.Windows.MessageBox.Show("Would you like to save the edited changes?", "Edited changes", MessageBoxButton.YesNoCancel, MessageBoxImage.Warning);
         if (res == MessageBoxResult.Cancel)
         {
             e.Cancel = true;
             return;
         }
         if (res == MessageBoxResult.Yes)
         {
             var            data = LoadedROM.Write();
             SaveFileDialog sf   = new SaveFileDialog
             {
                 Filter = Utils.GetNDSFilter(),
                 Title  = Utils.GetResource("ROMSave"),
             };
             if (sf.ShowDialog() == System.Windows.Forms.DialogResult.OK)
             {
                 File.WriteAllBytes(sf.FileName, data);
             }
         }
     }
     base.OnClosing(e);
 }