Quasar/Server/Forms/FrmSettings.cs

83 lines
2.8 KiB
C#

using System;
using System.Windows.Forms;
using xServer.Core;
using xServer.Settings;
namespace xServer.Forms
{
public partial class FrmSettings : Form
{
private readonly Server _listenServer;
public FrmSettings(Server listenServer)
{
this._listenServer = listenServer;
InitializeComponent();
if (listenServer.Listening)
{
btnListen.Text = "Stop listening";
ncPort.Enabled = false;
txtPassword.Enabled = false;
}
}
private void FrmSettings_Load(object sender, EventArgs e)
{
ncPort.Value = XMLSettings.ListenPort;
chkAutoListen.Checked = XMLSettings.AutoListen;
chkPopup.Checked = XMLSettings.ShowPopup;
txtPassword.Text = XMLSettings.Password;
chkUseUpnp.Checked = XMLSettings.UseUPnP;
}
private void btnListen_Click(object sender, EventArgs e)
{
if (btnListen.Text == "Start listening" && !_listenServer.Listening)
{
if (chkUseUpnp.Checked)
Core.Helper.UPnP.ForwardPort(ushort.Parse(ncPort.Value.ToString()));
_listenServer.Listen(ushort.Parse(ncPort.Value.ToString()));
btnListen.Text = "Stop listening";
ncPort.Enabled = false;
txtPassword.Enabled = false;
}
else if (btnListen.Text == "Stop listening" && _listenServer.Listening)
{
_listenServer.Disconnect();
btnListen.Text = "Start listening";
ncPort.Enabled = true;
txtPassword.Enabled = true;
}
}
private void btnSave_Click(object sender, EventArgs e)
{
XMLSettings.WriteValue("ListenPort", ncPort.Value.ToString());
XMLSettings.ListenPort = ushort.Parse(ncPort.Value.ToString());
XMLSettings.WriteValue("AutoListen", chkAutoListen.Checked.ToString());
XMLSettings.AutoListen = chkAutoListen.Checked;
XMLSettings.WriteValue("ShowPopup", chkPopup.Checked.ToString());
XMLSettings.ShowPopup = chkPopup.Checked;
XMLSettings.WriteValue("Password", txtPassword.Text);
XMLSettings.Password = txtPassword.Text;
XMLSettings.WriteValue("UseUPnP", chkUseUpnp.Checked.ToString());
XMLSettings.UseUPnP = chkUseUpnp.Checked;
this.Close();
}
private void btnCancel_Click(object sender, EventArgs e)
{
if (MessageBox.Show("Discard your changes?", "Cancel", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
this.Close();
}
}
}