Change message confirmation dialogs from modal to async w/callback.
This commit is contained in:
parent
b7da8de443
commit
e936fe98f7
20 changed files with 158 additions and 98 deletions
|
|
@ -264,11 +264,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
ApplicationSettings.Instance.set("HideGCodeWarning", null);
|
||||
}
|
||||
};
|
||||
if (!StyledMessageBox.ShowMessageBox(gcodeWarningMessage, "Warning GCode file".Localize(), new GuiWidget[] { hideGCodeWaringCheckBox }, StyledMessageBox.MessageType.YES_NO))
|
||||
{
|
||||
// the user selected 'no' they don't want to print the file
|
||||
return;
|
||||
}
|
||||
StyledMessageBox.ShowMessageBox(onConfirmPrint, gcodeWarningMessage, "Warning - GCode file".Localize(), new GuiWidget[] { hideGCodeWaringCheckBox }, StyledMessageBox.MessageType.YES_NO);
|
||||
}
|
||||
|
||||
PrinterConnectionAndCommunication.Instance.CommunicationState = PrinterConnectionAndCommunication.CommunicationStates.PreparingToPrint;
|
||||
|
|
@ -279,14 +275,30 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
else
|
||||
{
|
||||
string message = String.Format(removeFromQueueMessage, pathAndFile);
|
||||
if (StyledMessageBox.ShowMessageBox(message, itemNotFoundMessage, StyledMessageBox.MessageType.YES_NO))
|
||||
{
|
||||
QueueData.Instance.RemoveAt(queueDataView.SelectedIndex);
|
||||
}
|
||||
StyledMessageBox.ShowMessageBox(onRemoveMessageConfirm, message, itemNotFoundMessage, StyledMessageBox.MessageType.YES_NO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void onConfirmPrint(bool messageBoxResponse)
|
||||
{
|
||||
if (!messageBoxResponse)
|
||||
{
|
||||
PrinterConnectionAndCommunication.Instance.CommunicationState = PrinterConnectionAndCommunication.CommunicationStates.PreparingToPrint;
|
||||
PrintItemWrapper partToPrint = PrinterConnectionAndCommunication.Instance.ActivePrintItem;
|
||||
SlicingQueue.Instance.QueuePartForSlicing(partToPrint);
|
||||
partToPrint.SlicingDone.RegisterEvent(partToPrint_SliceDone, ref unregisterEvents);
|
||||
}
|
||||
}
|
||||
|
||||
void onRemoveMessageConfirm(bool messageBoxResponse)
|
||||
{
|
||||
if (messageBoxResponse)
|
||||
{
|
||||
QueueData.Instance.RemoveAt(queueDataView.SelectedIndex);
|
||||
}
|
||||
}
|
||||
|
||||
void onStartButton_Click(object sender, MouseEventArgs mouseEvent)
|
||||
{
|
||||
UiThread.RunOnIdle((state) =>
|
||||
|
|
@ -327,10 +339,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
{
|
||||
if (timeSincePrintStarted.IsRunning && timeSincePrintStarted.ElapsedMilliseconds > (2 * 60 * 1000))
|
||||
{
|
||||
if (StyledMessageBox.ShowMessageBox(cancelCurrentPrintMessage, cancelCurrentPrintTitle, StyledMessageBox.MessageType.YES_NO))
|
||||
{
|
||||
CancelPrinting();
|
||||
}
|
||||
StyledMessageBox.ShowMessageBox(onConfirmCancelPrint, cancelCurrentPrintMessage, cancelCurrentPrintTitle, StyledMessageBox.MessageType.YES_NO);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -338,6 +347,14 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
}
|
||||
}
|
||||
|
||||
void onConfirmCancelPrint(bool messageBoxResponse)
|
||||
{
|
||||
if (messageBoxResponse)
|
||||
{
|
||||
CancelPrinting();
|
||||
}
|
||||
}
|
||||
|
||||
void CancelConnectionButton_Click(object state)
|
||||
{
|
||||
CancelPrinting();
|
||||
|
|
|
|||
|
|
@ -207,27 +207,28 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
string disconnectAndCancelMessage = "Disconnect and cancel the current print?".Localize();
|
||||
string disconnectAndCancelTitle = "WARNING: Disconnecting will cancel the current print.\n\nDo you want to disconnect?".Localize();
|
||||
void OnIdleDisconnect(object state)
|
||||
{
|
||||
bool doCancel = true;
|
||||
{
|
||||
if (PrinterConnectionAndCommunication.Instance.PrinterIsPrinting)
|
||||
{
|
||||
if (StyledMessageBox.ShowMessageBox(disconnectAndCancelMessage, disconnectAndCancelTitle, StyledMessageBox.MessageType.YES_NO))
|
||||
{
|
||||
PrinterConnectionAndCommunication.Instance.Stop();
|
||||
}
|
||||
else
|
||||
{
|
||||
doCancel = false;
|
||||
}
|
||||
StyledMessageBox.ShowMessageBox(onConfirmStopPrint, disconnectAndCancelMessage, disconnectAndCancelTitle, StyledMessageBox.MessageType.YES_NO);
|
||||
}
|
||||
|
||||
if (doCancel)
|
||||
else
|
||||
{
|
||||
PrinterConnectionAndCommunication.Instance.Disable();
|
||||
selectActivePrinterButton.Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
void onConfirmStopPrint(bool messageBoxResponse)
|
||||
{
|
||||
if (messageBoxResponse)
|
||||
{
|
||||
PrinterConnectionAndCommunication.Instance.Stop();
|
||||
PrinterConnectionAndCommunication.Instance.Disable();
|
||||
selectActivePrinterButton.Invalidate();
|
||||
}
|
||||
}
|
||||
|
||||
void SetConnectionButtonVisibleState(object state)
|
||||
{
|
||||
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
&& goalTemp != PrinterConnectionAndCommunication.Instance.TargetBedTemperature)
|
||||
{
|
||||
string message = string.Format(waitingForBedToHeatMessage, PrinterConnectionAndCommunication.Instance.TargetBedTemperature, sliceSettingsNote);
|
||||
StyledMessageBox.ShowMessageBox(message, waitingForBedToHeatTitle);
|
||||
StyledMessageBox.ShowMessageBox(null, message, waitingForBedToHeatTitle);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@ namespace MatterHackers.MatterControl.ActionBar
|
|||
&& goalTemp != PrinterConnectionAndCommunication.Instance.GetTargetExtruderTemperature(extruderNumber - 1))
|
||||
{
|
||||
string message = string.Format(waitingForeExtruderToHeatMessage, PrinterConnectionAndCommunication.Instance.GetTargetExtruderTemperature(extruderNumber - 1), sliceSettingsNote);
|
||||
StyledMessageBox.ShowMessageBox(message, waitingForeExtruderToHeatTitle);
|
||||
StyledMessageBox.ShowMessageBox(null, message, waitingForeExtruderToHeatTitle);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue