TBMM/GCMM/SettingsForm.cs
2021-05-15 03:00:35 +02:00

70 lines
2.1 KiB
C#

using GCMM.Properties;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace GCMM
{
public partial class SettingsForm : Form
{
private MainForm mainForm;
#if USING_STEAM
private bool autopatchingEnabled;
#endif
public SettingsForm()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
gamelocation.Text = Settings.Default.GamePath;
useProxy.Checked = Settings.Default.UseProxy;
mainForm = Owner as MainForm;
#if USING_STEAM
autopatchingEnabled = Settings.Default.SteamUserID != 0 && mainForm.UpdateOrGetSteamConfigToAutoStart(null);
autopatching.Checked = autopatchingEnabled;
#endif
}
private void browsebtn_Click(object sender, EventArgs e)
{
gamelocation.Text = mainForm.SelectGameFolder() ?? gamelocation.Text;
}
private void savebtn_Click(object sender, EventArgs e)
{
Settings.Default.GamePath = gamelocation.Text;
Settings.Default.UseProxy = useProxy.Checked;
#if USING_STEAM
if (autopatching.Checked != autopatchingEnabled)
{
if (autopatching.Checked && Settings.Default.SteamUserID == 0)
{
var (steamPath, user) = mainForm.GetSteamLocationAndUser();
if (user != 0)
mainForm.DetectConfigLocationAndAutoStart(steamPath, ref user);
Settings.Default.SteamUserID = user; //If it's 0 then it's no change
}
else
mainForm.UpdateOrGetSteamConfigToAutoStart(autopatching.Checked);
}
#endif
Settings.Default.Save();
Close();
}
private void cancelbtn_Click(object sender, EventArgs e)
{
Close();
}
}
}