public void CheckForAnyOpenFilesInEveryWindowAndWriteToUnsavedFilesStorage()
 {
     foreach (NotepadWindow window in WindowManager.NotepadWindows)
     {
         ThisApplication.SaveAllUnclosedFilesToStorageLocation(window);
     }
 }
        /// <summary>
        /// (ONLY USE WHEN STARTING APPLICATION) Creates and shows a Notepad window which loads the theme/
        /// perferences, and opens the files' paths given in the parameters. Also opens the previously unclosed files
        /// </summary>
        /// <param name="args"></param>
        public void CreateAndShowApplicationStartupNotepadWindowAndPreviewAndOpenUnclosedFiles(string[] args)
        {
            NotepadWindow window = CreateNotepadWindowAndOpenFiles(args, true, true, useStartupDelay: true);
            WindowPreviewControlViewModel wpc = CreatePreviewControlFromDataContext(window.Notepad);

            AddPreviewItem(wpc);
            AddWindow(window);
            ShowWindow(window);

            if (PreferencesG.SAVE_OPEN_UNCLOSED_FILES)
            {
                try
                {
                    List <string> filesToOpen = ThisApplication.GetPreviouslyUnclosedFiles();
                    foreach (string file in filesToOpen)
                    {
                        window.Notepad.OpenNotepadFromPath(file);
                    }
                }
                catch { }
                finally
                {
                    ThisApplication.DeletePreviouslyUnclosedFiles();
                }
            }
        }
        public void OnWindowClosed(NotepadWindow window)
        {
            window?.Notepad?.Shutdown();
            RemoveWindowAndPreviewFromWindow(window);

            int windowsCount = WindowManager.NotepadWindows.Count;

            if (windowsCount > 0)
            {
                History.PushNotepad(window.Notepad);

                WindowManager.NotepadWindows[windowsCount - 1]?.Focus();
            }
            else
            {
                ThisApplication.ShutdownApplication();
            }
        }
 private void ShutdownApp()
 {
     ThisApplication.ShutdownApplication();
 }