private void OpenFileRAWOnClick(object sender, RoutedEventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            ofd.Filter  = FileChecker.FileDialogRawFilter;
            ofd.FileOk += (o, args) =>
            {
                if (FileChecker.IsBinary(ofd.FileName))
                {
                    MessageBox.Show("Binary files are not supported at this time.", "File is binary");
                    return;
                }

                if (FileChecker.IsTooBig(ofd.FileName))
                {
                    if (MessageBox.Show("Files with a size over 10MB are not supported.\nOpen anyways? (Program may freeze or stop working)", "File too big", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
                    {
                        return;
                    }
                }

                new MainWindow(ofd.FileName, typeof(TextEditor.TextEditorControl)).Show();
                Close();
            };
            ofd.ShowDialog();
        }
        private void ListBoxItemOnMouseDoubleClick(object sender, MouseButtonEventArgs e)
        {
            ListBoxItem item       = sender as ListBoxItem;
            EditorFile  editorFile = item.DataContext as EditorFile;
            Type        type       = editorFile.GetEditorType();

            if (!typeof(IEditorControl).IsAssignableFrom(type))
            {
                if (MessageBox.Show("Invalid entry in history!\nDo you want to remove it from recently opened files?", "Invalid entry", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    FileHistory.Remove(editorFile);
                }
                return;
            }
            if (!File.Exists(editorFile.Path))
            {
                if (MessageBox.Show("The file does not exist anymore!\nDo you want to remove it from recently opened files?", "Missing file", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
                {
                    FileHistory.Remove(editorFile);
                }
                return;
            }

            // TODO Check if file type is supported by editor before calling this part

            /*
             * if (FileChecker.IsBinary(editorFile.Path))
             * {
             *  if (MessageBox.Show("Binary files are not supported at this time.\nDo you want to remove it from recently opened files?", "File is binary", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
             *      FileHistory.Remove(editorFile);
             *  return;
             * }
             */

            if (FileChecker.IsTooBig(editorFile.Path))
            {
                if (MessageBox.Show("Files with a size over 10MB are not supported.\nOpen anyways? (Program may freeze or stop working)", "File too big", MessageBoxButton.OKCancel) == MessageBoxResult.Cancel)
                {
                    return;
                }
            }

            new MainWindow(editorFile.Path, type).Show();
            Close();
        }