Fix a few bugs with the engine layout chart hiding the options, and always reverting to layout/numbers, if a new file was opened.  Now, it'll keep the filters when switching, making it easier to e.g. compare popular fuel types across games.
a4a2e5a416e0 — Quintillus 16 days ago
Allow the user to open another file without restarting/editing the config file.

At this point there really should be another controller/FXML, for something above the reports level, since the new menu is not a report and the logic is a bit tangled as a result.
5f43da138ad6 — Quintillus 16 days ago
Add a special case for 100 as the upper limit, so percent-based charts don't go up to 110% if 100 is the max.
0c9c769307c2 — Quintillus 16 days ago
Improve the X axis.  Set lower bound to 1900 (always), and upper bound to max year plus one.  Also set a tick formatter since we don't get that for free anymore.
c086849fb13a — Quintillus 17 days ago
Add fuel type to the engine charts.

Hadn't realized it but Diesel got over 25% during the war - not altogether surprising - and E85 had a large market share in the early years.
aabd846fe6d9 — Quintillus 17 days ago
Don't forget to commit the FXML!
f63e3adb6097 — Quintillus 17 days ago
Add a cylinder query.
dfb70aeea765 — Quintillus 17 days ago
Add a layout + cylinder chart option.
66e39e0cf7bb — Quintillus 17 days ago
Add some threading to speed up load performance.

In theory, things were going to get slower and slower as more reports were added - a problem Eric has noted in-game, too, where all reports are generated IBT.  In practice, I was noticing things being a bit slower while developing on my laptop today.  The desktop seems faster (despite being way older), but definitely isn't instant.

So I switched it to load the scene before the reports, to increase perceived responsiveness, and to make the last two reports async (making the first one async resulted in it being in competition with the last two, and actually being slower).  I also added some metrics.  The metrics showed major improvement, but also seemed to report it being done before it was visually done and responsive... probably the JavaFX UI thread was getting busy with the async reports just as it might have otherwise been responsive.

So I measured it with a good old fashioned stopwatch on my w580i (physical buttons FTW with responsiveness).  Across three trials, the "old" version with no threading averaged 2.8 seconds to be up and ready; the "new" one averaged 2.4.  Not amazing, but it should set some groundwork for not having an exponential problem.  Eventually I'd like to have the report controller set things up more sequentially-async, with tabs becoming enabled as reports load, but this is already a big enough changeset.
a4d0c2b0afd7 — QuintillusCFC 18 days ago
Intelligently configure the Y axis tick mark intervals based on what data is visible.

A decent amount of work for one chart, but it'll be reusable and is general-purpose.
43e8e5ca431d — QuintillusCFC 18 days ago
Ensure the first combo box option is selected by default.

This is probably possible in the FXML but it's way easier to set it programmatically than to figure out how to do it that way.
494c9868f449 — QuintillusCFC 18 days ago
Move setting import/export to the Settings file.  Gotta keep Main from containing the whole program!
c5cb06e1c666 — QuintillusCFC 18 days ago
Make indentation better.
b959b19777dc — QuintillusCFC 18 days ago
Display SQL exceptions to the user, so they can either figure out what's going on or report it as a bug.
87513ef0505c — QuintillusCFC 18 days ago
If the file set in the settings file doesn't exist (e.g. on removed flash drive), ask the user to choose a new file.
af1258223bf1 — QuintillusCFC 18 days ago
Remember the most recently opened file, and open it by default.

This makes it much more convenient when opening the proggie multiple times (and probably especially for me while developing it).
ac220a2c5868 — Quintillus 18 days ago
Add proper insets for the chart type selector.
3cc07fca090d — Quintillus 19 days ago
Fix the Y axis being thrown off by toggling series visibility.
dfb64006d20c — Quintillus 19 days ago
Forgot to commit the FXML last time.
e080fc85c31c — Quintillus 19 days ago
Percent-based engine layout chart, alpha 1.

Mostly works but we're getting warnings about 20,000 tick marks.  Definitely need to pay some attention to that, and toggling sometimes doesn't restore all the series data.