B2019-101 added logic to prevent the exit dialog from appearing for each child window when the user decides to exit PROMS
This commit is contained in:
parent
5923641a41
commit
09e92ba163
@ -1169,6 +1169,7 @@ namespace VEPROMS
|
||||
}
|
||||
private bool _RemoveFromPROMSWindowForms = true;
|
||||
public bool ClosingWithError = false; // B2019-098: prevent looping between error & exit dialog
|
||||
private bool _WeAreExitingPROMS = false; // B2019-101 if exiting PROMS from main window don't prompt on each child window (separate windows)
|
||||
private void frmVEPROMS_FormClosing(object sender, FormClosingEventArgs e)
|
||||
{
|
||||
// B2017-212 If the user uses the X button in Word to close the word attachment, PROMS thinks that the user wants to close out of PROMS as well
|
||||
@ -1176,10 +1177,11 @@ namespace VEPROMS
|
||||
// B2017-214 added a null reference check
|
||||
// B2010-071 Since we cannot tell if the user click on the X in Word or the X in PROMS, ask if the current tab
|
||||
// should be closed or if we should exit PROMS or just Cancel to continue working
|
||||
if (!ClosingWithError && tc.SelectedDisplayTabItem != null && tc._MyDisplayTabItems.Count > 0)
|
||||
if (!_WeAreExitingPROMS && !ClosingWithError && tc.SelectedDisplayTabItem != null && tc._MyDisplayTabItems.Count > 0)
|
||||
{
|
||||
DlgCloseTabsOrExit dctoe = new DlgCloseTabsOrExit(); // B2019-071 dialog to ask user if we are to close one tab or exit
|
||||
DlgCloseTabsOrExit dctoe = new DlgCloseTabsOrExit(MyParent == null, PROMSWindowForms.Count > 0); // B2019-071 dialog to ask user if we are to close one tab or exit
|
||||
dctoe.ShowDialog();
|
||||
_WeAreExitingPROMS = MyParent == null && dctoe.ExitPROMS; // B2019-101 flag that we are exiting from PROMS main window (separate windows)
|
||||
if (dctoe.Cancel) // B2019-071 user decided to not close any tab and not exit PROMS - so do nothing and continue working
|
||||
{
|
||||
e.Cancel = true;
|
||||
@ -1213,7 +1215,8 @@ namespace VEPROMS
|
||||
}
|
||||
}
|
||||
//C2015-022 Separate Windows - if child windows are open and we are closing the main PROMS window, give user a chance to not close PROMS and that child windows
|
||||
if (MyParent == null && PROMSWindowForms.Count > 0)
|
||||
// B2019-101 if we are exiting from PROMS main window no need to prompt user about child windows.
|
||||
if (MyParent == null && PROMSWindowForms.Count > 0 && !_WeAreExitingPROMS)
|
||||
{
|
||||
DialogResult dr = MessageBox.Show("Close all of the child windows and exit PROMS?", "Exit PROMS", MessageBoxButtons.YesNo);
|
||||
if (dr == System.Windows.Forms.DialogResult.No)
|
||||
@ -1247,6 +1250,7 @@ namespace VEPROMS
|
||||
frmVEPROMS child = PROMSWindowForms[k];
|
||||
_RemoveFromPROMSWindowForms = false;
|
||||
child._RemoveFromPROMSWindowForms = false;
|
||||
child._WeAreExitingPROMS = _WeAreExitingPROMS;
|
||||
child.Close();
|
||||
child.MySessionInfo.EndSession();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user