rendered paste bodyusing System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace PatchSwap
{
public partial class Settings : Form
{
private PatchSwap m_PatchSwapper;
public PatchSwap PatchSwapper { get { return m_PatchSwapper; } set { m_PatchSwapper = value; } }
public Settings( PatchSwap ps )
{
m_PatchSwapper = ps;
InitializeComponent();
}
public void LoadSettings()
{
string settings_path = m_PatchSwapper.BaseDirectory + @"\Settings";
string path = m_PatchSwapper.BaseDirectory + @"\Settings\settings.pss";
if( !Directory.Exists( settings_path ) )
Directory.CreateDirectory( settings_path );
if( !File.Exists( path ) )
SaveSettings();
using( BinaryReader reader = new BinaryReader( new StreamReader( path ).BaseStream ) )
{
_DiabloInstallDirectory.Text = reader.ReadString();
_LaunchArgs.Text = reader.ReadString();
_MHInstallDirectory.Text = reader.ReadString();
}
m_PatchSwapper.BaseDirectory = _DiabloInstallDirectory.Text;
m_PatchSwapper.LaunchArgs = _LaunchArgs.Text;
m_PatchSwapper.MapHackDirectory = _MHInstallDirectory.Text;
}
public void SaveSettings()
{
string settings_path = m_PatchSwapper.BaseDirectory + @"\Settings";
string path = m_PatchSwapper.BaseDirectory + @"\Settings\settings.pss";
if( !Directory.Exists( settings_path ) )
Directory.CreateDirectory( settings_path );
if( File.Exists( path ) )
{
try
{
File.Delete( path );
}
catch( Exception e )
{
using( StreamWriter log = new StreamWriter( settings_path + @"\log.txt" ) )
{
log.WriteLine( "A problem occured while saving PatchSwap settings." );
log.WriteLine( "Exception: {0}", e );
log.WriteLine();
log.WriteLine();
}
}
}
using( BinaryWriter writer = new BinaryWriter( new StreamWriter( path ).BaseStream ) )
{
writer.Write( ( string )_DiabloInstallDirectory.Text );
writer.Write( ( string )_LaunchArgs.Text );
writer.Write( ( string )_MHInstallDirectory.Text );
}
}
private void _BrowseButton_Click( object sender, EventArgs e )
{
_FolderBrowser.ShowDialog();
_DiabloInstallDirectory.Text = _FolderBrowser.SelectedPath;
}
private void _MHBrowseButton_Click( object sender, EventArgs e )
{
_FolderBrowser.ShowDialog();
_MHInstallDirectory.Text = _FolderBrowser.SelectedPath;
}
private void _ApplySettings_Click( object sender, EventArgs e )
{
m_PatchSwapper.BaseDirectory = _DiabloInstallDirectory.Text;
m_PatchSwapper.LaunchArgs = _LaunchArgs.Text;
m_PatchSwapper.MapHackDirectory = _MHInstallDirectory.Text;
SaveSettings();
this.Close();
}
}
}