PdfMod.Gui.Client.PromptIfUnsavedChanges C# (CSharp) Method

PromptIfUnsavedChanges() private method

private PromptIfUnsavedChanges ( ) : bool
return bool
        bool PromptIfUnsavedChanges ()
        {
            if (Document != null && Document.HasUnsavedChanges) {
                var dialog = new Hyena.Widgets.HigMessageDialog (
                    Window, DialogFlags.Modal, MessageType.Warning, ButtonsType.None,
                    Catalog.GetString ("Save the changes made to this document?"),
                    String.Empty
                );
                dialog.AddButton (Catalog.GetString ("Close _Without Saving"), ResponseType.Close, false);
                dialog.AddButton (Stock.Cancel, ResponseType.Cancel, false);
                dialog.AddButton (Stock.SaveAs, ResponseType.Ok, true);

                var response = (ResponseType) dialog.Run ();
                dialog.Destroy ();

                switch (response) {
                    case ResponseType.Ok:
                        Actions["SaveAs"].Activate ();
                        return PromptIfUnsavedChanges ();
                    case ResponseType.Close:
                        return false;
                    case ResponseType.Cancel:
                    case ResponseType.DeleteEvent:
                        return true;
                }
            }
            return false;
        }