//TODO: Add beatmap folder function to OsuFileSystem.cs
        //TODO: Add skins   folder function to OsuFileSystem.cs
        //TODO: Implement systems into Osu!ModeManager as well.

        /// <summary>Initialises a new instance of the <see cref="MainWindow"/> class.</summary>
        public MainWindow()
        {
            InitializeComponent();

            MainTabs.SelectedIndex = 1;

            Application.Current.DispatcherUnhandledException += Current_DispatcherUnhandledException;

            _ = new ExceptionWindow();

            // ReSharper disable once CommentTypo
            //try {
            //    _ = new System.IO.FileInfo("\\:;:\\//:::dasdsa\\//???\\");
            //} catch (Exception E) {
            //    ExceptionWindow.Catch(E);
            //}

            //TestDrop.SelectionChanged += TestDrop_SelectionChanged;
            //if (OsuFileSystem.TryGetInstall(OsuFileSystem.OsuVersion.Classic, out FileInfo Classic)) {
            //    Debug.WriteLine($"Found 'Classic' install: '{Classic.FullName}'.");
            //    //Classic.Select();
            //}

            //if (OsuFileSystem.TryGetInstall(OsuFileSystem.OsuVersion.Lazer, out FileInfo Lazer)) {
            //    Debug.WriteLine($"Found 'Lazer' install: '{Lazer.FullName}'.");
            //    //Lazer.Select();
            //    foreach((Version Version, DirectoryInfo Path) in OsuFileSystem.GetLazerVersions(Lazer.Directory)) {
            //        Debug.WriteLine($"\t=> Found Lazer {Version}: {Path.FullName}.");
            //    }

            //    Debug.WriteLine($"Found 'Lazer' rulesets: '{(OsuFileSystem.TryGetLazerRulesetsPath(out DirectoryInfo Result) ? Result.FullName : string.Empty)}'.");
            //}

            ////_ = FileSystemExtensions.OpenFileBrowser();
            //foreach (FileInfo File in FileSystemExtensions.OpenFileBrowser(true)) {
            //    Debug.WriteLine($"\t=> Found : {File.FullName}.");
            //    foreach(string Line in System.IO.File.ReadAllLines(File.FullName)) {
            //        Debug.WriteLine($"\t\t{Line}");
            //    }
            //}

            ////Test();
        }
 /// <summary>Handles the <c>DispatcherUnhandledException</c> event of this <see cref="Window"/>.
 /// <para/>Calls <see cref="ExceptionWindow.Catch(Exception)"/>.</summary>
 /// <param name="Sender">The source of the event.</param>
 /// <param name="E">The <see cref="DispatcherUnhandledExceptionEventArgs"/> instance containing the event data.</param>
 static void Current_DispatcherUnhandledException(object Sender, DispatcherUnhandledExceptionEventArgs E) => ExceptionWindow.Catch(E.Exception);