handle the case for confirm save before close when closing just one document

This commit is contained in:
Michael Becker 2019-12-16 06:15:32 -05:00
parent 782345c5d2
commit 20da72dc55
No known key found for this signature in database
GPG Key ID: 389DFF5D73781A12

View File

@ -500,6 +500,7 @@ namespace UniversalEditor.UserInterface
// no need to open and load file, it's already been done
}
Editor editor = editors[0].Create();
EditorPage page = new EditorPage();
page.Document = doc;
page.DocumentEdited += page_DocumentEdited;
@ -554,9 +555,19 @@ namespace UniversalEditor.UserInterface
return true;
}
public bool ConfirmExit()
public bool ConfirmExit(EditorPage page = null)
{
EditorPage[] pages = GetEditorPages();
EditorPage[] pages = null;
if (page != null)
{
pages = new EditorPage[] { page };
}
else
{
pages = GetEditorPages();
}
if (pages.Length == 0)
return true;
@ -1043,6 +1054,13 @@ namespace UniversalEditor.UserInterface
{
if (dckContainer.CurrentItem != null)
{
if (dckContainer.CurrentItem.ChildControl is EditorPage)
{
if (!ConfirmExit(dckContainer.CurrentItem.ChildControl as EditorPage))
{
return;
}
}
dckContainer.Items.Remove(dckContainer.CurrentItem);
documentWindowCount--;
}