UWUVCI-AIO-WPF/UWUVCI AIO WPF/UI/Windows/Custom Message.xaml.cs

226 lines
7 KiB
C#
Raw Normal View History

using System;
using System.Diagnostics;
2020-04-17 17:15:27 +00:00
using System.IO;
using System.Windows;
namespace UWUVCI_AIO_WPF.UI.Windows
{
/// <summary>
/// Interaktionslogik für Custom_Message.xaml
/// </summary>
2020-05-04 16:20:21 +00:00
///
public partial class Custom_Message : Window
{
string path;
2020-04-17 16:02:45 +00:00
bool reset = false;
bool add = false;
public Custom_Message(string title, string message)
{
2020-05-01 18:10:51 +00:00
InitializeComponent();
2020-05-04 16:20:21 +00:00
nc.Visibility = Visibility.Hidden;
2020-04-30 15:01:41 +00:00
try
{
if(Owner != null)
2020-04-30 15:01:41 +00:00
{
if (Owner?.GetType() != typeof(MainWindow))
2020-05-01 18:10:51 +00:00
{
WindowStartupLocation = WindowStartupLocation.CenterScreen;
2020-05-01 18:10:51 +00:00
}
2020-05-04 16:20:21 +00:00
else
{
WindowStartupLocation = WindowStartupLocation.CenterOwner;
2020-05-04 16:20:21 +00:00
}
}
2020-04-30 15:01:41 +00:00
}
catch (Exception)
{
WindowStartupLocation = WindowStartupLocation.CenterScreen;
2020-04-30 15:01:41 +00:00
}
dont.Visibility = Visibility.Hidden;
Title.Text = title;
Message.Content = message;
Folder.Visibility = Visibility.Hidden;
if (title.Contains("Resetting") || message.Contains("NUS format") || message.Contains("Folder contains Files or Subfolders, do you really want to use this") || message.Contains("If using Custom Bases") || title.Contains("Found additional Files"))
2020-04-17 16:02:45 +00:00
{
Reset.Visibility = Visibility.Visible;
if (title.Contains("Resetting"))
{
reset = true;
}
if(title.Contains("Found additional Files"))
{
add = true;
Reset.Content = "Yes";
btnClose.Content = "No";
}
2020-04-17 16:02:45 +00:00
}
2020-05-07 07:49:36 +00:00
if(title.Equals("Image Warning") || message.ToLower().Contains("dsi") ||message.ToLower().Contains("gcz") || message.ToLower().Contains("co-processor"))
2020-04-20 09:31:26 +00:00
{
dont.Visibility = Visibility.Visible;
}
2020-05-22 14:12:05 +00:00
}
public void CloseProgram(object sender, RoutedEventArgs e)
{
Environment.Exit(1);
}
public Custom_Message(string title, string message, string Path)
{
2020-04-30 15:01:41 +00:00
try
{
if (Owner?.GetType() != typeof(MainWindow))
2020-04-30 15:01:41 +00:00
{
WindowStartupLocation = WindowStartupLocation.CenterScreen;
2020-04-30 15:01:41 +00:00
}
}
catch (Exception)
{
WindowStartupLocation = WindowStartupLocation.CenterScreen;
2020-04-30 15:01:41 +00:00
}
2020-05-04 16:20:21 +00:00
InitializeComponent();
2020-05-04 16:20:21 +00:00
if (!message.Contains("Nintendont"))
{
nc.Visibility = Visibility.Hidden;
}
if (message.Contains("If you want the inject to be put on your SD now"))
{
if(message.Contains("Copy to SD"))
{
nc.Content = "Copy to SD";
}
nc.Visibility = Visibility.Visible;
}
2020-04-21 02:05:19 +00:00
dont.Visibility = Visibility.Hidden;
Title.Text = title;
Message.Content = message;
path = Path;
Folder.Visibility = Visibility.Visible;
2020-05-04 16:20:21 +00:00
}
private void Button_Click(object sender, RoutedEventArgs e)
{
dontChecked();
Close();
}
private void Folder_Click(object sender, RoutedEventArgs e)
{
2020-04-20 00:35:31 +00:00
try
{
if (File.Exists(path)) path = new FileInfo(path).DirectoryName;
Process.Start(path);
Close();
2020-04-20 00:35:31 +00:00
}
catch (Exception)
{
Custom_Message cm = new Custom_Message("An Error occured", "An error occured opening the folder. Please make sure the Output Path exists.");
try
{
cm.Owner = (FindResource("mvm") as MainViewModel).mw;
}catch(Exception)
{
//left empty on purpose
2020-04-20 00:35:31 +00:00
}
cm.ShowDialog();
dontChecked();
Close();
2020-04-20 00:35:31 +00:00
}
2020-04-17 16:02:45 +00:00
}
private void Reset_Click(object sender, RoutedEventArgs e)
{
if (reset)
{
Close();
2020-04-17 16:02:45 +00:00
((MainViewModel)FindResource("mvm")).ResetTitleKeys();
}
else if (add)
{
((MainViewModel)FindResource("mvm")).addi = true;
}
2020-04-17 16:02:45 +00:00
else
{
((MainViewModel)FindResource("mvm")).choosefolder = true;
}
dontChecked();
Close();
}
2020-05-04 16:20:21 +00:00
private void nc_Click(object sender, RoutedEventArgs e)
{
Close();
var containNintendont = Message.Content.ToString().ToLower().Contains("nintendont");
2020-06-09 20:26:03 +00:00
SDSetup sd = new SDSetup(containNintendont ? true : false, path);
try
{
sd.Owner = (FindResource("mvm") as MainViewModel).mw;
sd.WindowStartupLocation = WindowStartupLocation.CenterOwner;
2020-05-06 21:53:52 +00:00
}
catch (Exception)
2020-05-06 21:53:52 +00:00
{
//left empty on purpose
2020-05-06 21:53:52 +00:00
}
sd.ShowDialog();
2020-05-06 21:53:52 +00:00
}
private void wind_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
isWindClosing(true);
}
private void wind_Closed(object sender, EventArgs e)
{
isWindClosing(false);
}
2020-05-22 14:12:05 +00:00
private void isWindClosing(bool topMost)
{
2020-05-22 14:12:05 +00:00
try
{
2020-06-24 15:54:51 +00:00
if (!Title.Text.Contains("Warning"))
{
if ((FindResource("mvm") as MainViewModel).mw != null)
(FindResource("mvm") as MainViewModel).mw.Topmost = topMost;
2020-06-24 15:54:51 +00:00
}
2020-05-22 14:12:05 +00:00
}
catch (Exception)
{
//left empty on purpose;
2020-05-22 14:12:05 +00:00
}
2020-05-06 21:53:52 +00:00
}
2020-05-04 16:20:21 +00:00
private void dontChecked()
2020-05-06 21:53:52 +00:00
{
if (dont.IsChecked == true)
2020-05-22 14:12:05 +00:00
{
var messageLower = Message.Content.ToString().ToLower();
if (messageLower.Contains("gcz"))
2020-06-24 15:54:51 +00:00
{
Properties.Settings.Default.gczw = true;
}
else if (messageLower.Contains("dsi"))
{
Properties.Settings.Default.ndsw = true;
}
else if (messageLower.Contains("co-processor"))
{
Properties.Settings.Default.snesw = true;
}
else if (messageLower.Contains("images"))
{
Properties.Settings.Default.dont = true;
2020-06-24 15:54:51 +00:00
}
2020-05-22 14:12:05 +00:00
Properties.Settings.Default.Save();
}
2020-05-04 16:20:21 +00:00
}
}
}