mattercontrol/PrinterControls/PrinterConnections/ConnectionWizardPanel.cs

57 lines
No EOL
1.4 KiB
C#

using MatterHackers.Agg;
using MatterHackers.Agg.UI;
using MatterHackers.Localizations;
using MatterHackers.MatterControl.DataStorage;
using MatterHackers.MatterControl.PrinterCommunication;
using MatterHackers.MatterControl.SlicerConfiguration;
using System;
namespace MatterHackers.MatterControl.PrinterControls.PrinterConnections
{
public class ConnectionWizardPanel : WizardPanel
{
private PrinterInfo activePrinter;
public ConnectionWizardPanel(WizardWindow wizard)
: base(wizard, "Cancel")
{
cancelButton.Click += (s, e) => PrinterConnectionAndCommunication.Instance.HaltConnectionThread();
}
public PrinterInfo ActivePrinter
{
get
{
if (activePrinter == null)
{
var settings = ActiveSliceSettings.Instance;
activePrinter = new PrinterInfo
{
AutoConnect = settings.DoAutoConnect(),
BaudRate = settings.BaudRate(),
ComPort = settings.ComPort(),
DriverType = settings.DriverType(),
Id = settings.ID,
Name = settings.Name()
};
}
return activePrinter;
}
}
protected void SaveAndExit()
{
ActiveSliceSettings.Instance.RunInTransaction(settings =>
{
settings.SetAutoConnect(ActivePrinter.AutoConnect);
settings.SetBaudRate(ActivePrinter.BaudRate);
settings.SetComPort(ActivePrinter.ComPort);
settings.SetDriverType(ActivePrinter.DriverType);
settings.SetName(ActivePrinter.Name);
});
UiThread.RunOnIdle(wizardWindow.Close);
}
}
}