57 lines
No EOL
1.4 KiB
C#
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);
|
|
}
|
|
}
|
|
} |