Added ability to start a print when MatterControl initially loads.
* Check to see if there is a specially named file on disk * If the file exists we skip the PrinterSetupWizard * Then we connect to a printer, add a file to the queue, slice, then start printing
This commit is contained in:
parent
dc7de12e69
commit
de337be1d5
1 changed files with 35 additions and 12 deletions
|
|
@ -474,23 +474,31 @@ namespace MatterHackers.MatterControl
|
||||||
{
|
{
|
||||||
//UiThread.RunOnIdle(() => WizardWindow.Show<LicenseAgreementPage>("SoftwareLicense", "Software License Agreement"));
|
//UiThread.RunOnIdle(() => WizardWindow.Show<LicenseAgreementPage>("SoftwareLicense", "Software License Agreement"));
|
||||||
}
|
}
|
||||||
bool showAuthWindow = WizardWindow.ShouldShowAuthPanel?.Invoke() ?? false;
|
|
||||||
if (showAuthWindow)
|
if (!System.IO.File.Exists(@"/storage/sdcard0/Download/LaunchTestPrint.stl"))
|
||||||
{
|
{
|
||||||
//Launch window to prompt user to log in
|
bool showAuthWindow = WizardWindow.ShouldShowAuthPanel?.Invoke() ?? false;
|
||||||
UiThread.RunOnIdle(() => WizardWindow.ShowPrinterSetup());
|
if (showAuthWindow)
|
||||||
}
|
|
||||||
else
|
|
||||||
{ //If user in logged in sync before checking to prompt to create printer
|
|
||||||
ApplicationController.SyncPrinterProfiles().ContinueWith((task) =>
|
|
||||||
{
|
{
|
||||||
ApplicationController.Instance.ReloadAdvancedControlsPanel();
|
//Launch window to prompt user to log in
|
||||||
if (!ProfileManager.Instance.ActiveProfiles.Any())
|
UiThread.RunOnIdle(() => WizardWindow.ShowPrinterSetup());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{ //If user in logged in sync before checking to prompt to create printer
|
||||||
|
ApplicationController.SyncPrinterProfiles().ContinueWith((task) =>
|
||||||
{
|
{
|
||||||
|
ApplicationController.Instance.ReloadAdvancedControlsPanel();
|
||||||
|
if (!ProfileManager.Instance.ActiveProfiles.Any())
|
||||||
|
{
|
||||||
// Start the setup wizard if no profiles exist
|
// Start the setup wizard if no profiles exist
|
||||||
UiThread.RunOnIdle(() => WizardWindow.ShowPrinterSetup());
|
UiThread.RunOnIdle(() => WizardWindow.ShowPrinterSetup());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
StartPrintingTest();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ActiveSliceSettings.Instance.PrinterSelected
|
if (ActiveSliceSettings.Instance.PrinterSelected
|
||||||
|
|
@ -503,5 +511,20 @@ namespace MatterHackers.MatterControl
|
||||||
}, 2);
|
}, 2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
private EventHandler unregisterEvent;
|
||||||
|
public void StartPrintingTest()
|
||||||
|
{
|
||||||
|
QueueData.Instance.RemoveAll();
|
||||||
|
QueueData.Instance.AddItem(new PrintItemWrapper(new PrintItem("LaunchTestPrint", @"/storage/sdcard0/Download/LaunchTestPrint.stl")));
|
||||||
|
PrinterConnectionAndCommunication.Instance.ConnectToActivePrinter();
|
||||||
|
|
||||||
|
PrinterConnectionAndCommunication.Instance.CommunicationStateChanged.RegisterEvent((sender, e) =>
|
||||||
|
{
|
||||||
|
if (PrinterConnectionAndCommunication.Instance.CommunicationState == PrinterConnectionAndCommunication.CommunicationStates.Connected)
|
||||||
|
{
|
||||||
|
PrinterConnectionAndCommunication.Instance.PrintActivePartIfPossible();
|
||||||
|
}
|
||||||
|
}, ref unregisterEvent);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue