public void RevertFileRequest_Handler(object sender, FileIOEventArgs e)
        {
            if (IsDirty && !e.SuppressPrompting)
            {
                PromptConfirmRevert((r) =>
                {
                    if (r == MessageBoxResult.Yes)
                    {
                        ClearDirty();
                        RevertFile();
                    }
                });
                return;
            }

            m_isRevertingFile = true;
            Log.Info("Reverting file...");

            Tabs.Where(t => t.Visibility == TabPageVisibility.WhenFileIsOpen).ToList().ForEach(t => t.Unload());
            TheEditor.CloseFile();

            TheEditor.OpenFile(TheSettings.MostRecentFile);
            Tabs.Where(t => t.Visibility == TabPageVisibility.WhenFileIsOpen).ToList().ForEach(t => t.Load());
            Tabs.Where(t => t.Visibility == TabPageVisibility.WhenFileIsOpen).ToList().ForEach(t => t.Update());

            Log.Info("File reverted.");
            m_isRevertingFile = false;
        }
        public void CloseFileRequest_Handler(object sender, FileIOEventArgs e)
        {
            if (IsDirty && !e.SuppressPrompting)
            {
                PromptSaveChanges((r) =>
                {
                    if (r != MessageBoxResult.Cancel)
                    {
                        if (r == MessageBoxResult.Yes)
                        {
                            SaveFile();
                        }

                        ClearDirty();
                        CloseFile();
                    }
                });
                return;
            }

            TheEditor.CloseFile();
        }