Rework multi file import
I'm proud of the implementation of multi import, but it's a little awkward. The logic is very complex, mainly because it's async with preprocessing, then recursion that flips between two methods. I'm thinking the approach wasn't ideal though, and that the implementation would've looked better if the "Import warnings" dialog was reworked into a monolithic one that addresses all the files imported. Their data would be pulled and processed right away, and if there are any issues, they would be shown in a scrollable menu.
The main strength is that you'll be able to control the multi import more finely and have more oversight over the whole thing.
For the new logic, there would be an abstract dialog where the central import method adds sections to it. The discarded files get shown first as a list, since nothing can be done about them. Then a sequence of errors and warnings - files that can't be opened would show an option for retrying, and all successful files would show an option for discarding them as a checkbox (off by default). Maybe errors would turn it off by default. I think all files would be in the sequence they should be imported, and all should take up the same space.
So files are first processed, getting put into an array of FileInfo objects, say an object with a path, a class-specific Error enum value, and SVG text if successful.
Title: "Import {format} files" Then a gray scrollable box that goes up to a specific height and has a fixed width. Then if any files were discarded for wrong extensions, there's a "Discarded files" header, "Only {format} files are supported for this operation. The following files were discarded:", then the file names as a simple list. Then if any files couldn't be opened, there's a "Unaccessed files" header (bad name?), a "The following files couldn't be opened. Check if the file paths exist." sorta string, then the files as thin strips, just the file name on the left with a full path tooltip, and a "Retry" button. Then files with syntax errors, if there are any. These can be properly imported, so the header would be "Import errors", description "The following files have invalid SVG syntax", and each file would have its name first on the left, then the specific error below it, then on the right an "Import" checkbox, off by default. Then files with import warnings, which would look the same as errors, but their tooltips would show the SVG. They'd have a scrollable list of warnings, and would be imported by default. Then successful imports? Should you be able to check them off if this menu appears?
On the bottom are "Cancel" and "Import" options. If all import thingies are clicked off, the "Import" option is disabled. If no files can be imported, it's not shown at all.
If all imports are successful, this dialog doesn't show? If all files wind up in a single section, the header becomes the dialog title?