SRB2/tools/SRB2Updater/Options.cs
2014-03-15 13:11:35 -04:00

134 lines
4.7 KiB
C#

using System;
using System.Collections.Generic;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace SRB2Updater
{
public partial class Options : Form
{
private Settings settings;
public Options(Settings settings)
{
InitializeComponent();
this.settings = settings;
SetOptions();
}
private void SetOptions()
{
chkDisplayWindowed.Checked = settings.displayWindowed;
chkCustomResolution.Checked = settings.displayCustom;
txtHeight.Text = settings.displayHeight.ToString();
txtWidth.Text = settings.displayWidth.ToString();
txtMSPort.Text = settings.msPort.ToString();
settings.AddBinariesToListView(listviewBinaries);
txtMSAddress.Text = settings.msAddress.ToString();
txtParams.Text = settings.Params.ToString();
chkCloseOnStart.Checked = settings.CloseOnStart;
chkShowDefaultWads.Checked = settings.ShowDefaultWads;
if (settings.displayCustom)
{
txtHeight.Enabled = true;
txtWidth.Enabled = true;
}
else
{
txtHeight.Enabled = false;
txtWidth.Enabled = false;
}
}
private void chkCustomResolution_CheckedChanged(object sender, EventArgs e)
{
if (chkCustomResolution.Checked)
{
txtHeight.Enabled = true;
txtWidth.Enabled = true;
}
else
{
txtHeight.Enabled = false;
txtWidth.Enabled = false;
}
}
private void btnSave_Click(object sender, EventArgs e)
{
settings.displayCustom = chkCustomResolution.Checked;
settings.displayHeight = Convert.ToInt32(txtHeight.Text);
settings.displayWidth = Convert.ToInt32(txtWidth.Text);
settings.displayWindowed = chkDisplayWindowed.Checked;
settings.msAddress = txtMSAddress.Text;
settings.ShowDefaultWads = chkShowDefaultWads.Checked;
settings.Params = txtParams.Text;
settings.msPort = Convert.ToInt32(txtMSPort.Text);
settings.CloseOnStart = chkCloseOnStart.Checked;
settings.SaveSettings();
settings.SetBinariesFromListView(listviewBinaries);
Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
Close();
}
private void btnAdd_Click(object sender, EventArgs e)
{
listviewBinaries.Items.Add(new ListViewItem(new string[] { "[New Version]", "" }));
}
private void btnDel_Click(object sender, EventArgs e)
{
if (listviewBinaries.SelectedItems.Count > 0)
listviewBinaries.Items.Remove(listviewBinaries.SelectedItems[0]);
}
private void btnBrowse_Click(object sender, EventArgs e)
{
if (listviewBinaries.SelectedItems.Count > 0 &&
openFileDialog1.ShowDialog() == DialogResult.OK)
textboxBinary.Text = openFileDialog1.FileName;
}
private void textboxVersion_TextChanged(object sender, EventArgs e)
{
if (listviewBinaries.SelectedItems.Count > 0)
listviewBinaries.SelectedItems[0].Text = textboxVersion.Text;
}
private void textboxBinary_TextChanged(object sender, EventArgs e)
{
if (listviewBinaries.SelectedItems.Count > 0)
listviewBinaries.SelectedItems[0].SubItems[1].Text = textboxBinary.Text;
}
private void listviewBinaries_SelectedIndexChanged(object sender, EventArgs e)
{
if (listviewBinaries.SelectedItems.Count > 0)
{
btnDel.Enabled = true;
btnBrowse.Enabled = true;
textboxVersion.Text = listviewBinaries.SelectedItems[0].Text;
textboxBinary.Text = listviewBinaries.SelectedItems[0].SubItems[1].Text;
textboxVersion.Enabled = true;
textboxBinary.Enabled = true;
}
else
{
btnDel.Enabled = false;
btnBrowse.Enabled = false;
textboxVersion.Text = "";
textboxBinary.Text = "";
textboxVersion.Enabled = false;
textboxBinary.Enabled = false;
}
}
}
}