"b" + "r" now changed to 'b' + 'w'. It's more straight-forward, and may cause perfomance improvements - character primitives allocation is faster and less expensive than string creation.
I used Intellij IDEA to automatically refactor code to achive 3 goals.
1) get rid of anonymouse classes, and replace the with lamba to get more readeable and clean code (like in TableWaitingDialog).
2) make effectively final variables actually final to avoid inadvertent changes on it in further releases and keep objects as immutable, as possible.
3) Get rid of unused imports (most of the changes) in whole project classes.
Checking if image exist or not now parallel. It took 35-39 seconds to perform, now it takes 13-16 seconds. Planning to make all class method concurrent and reduce client loading time even more.
Images on magidex are referenced by url-escaped card name, so the
implementation was straightforward. Flipped and Two-faced cards didn’t
require any additional work to support.
I downloaded all the images, and the only missing cards I could see
were tokens. Seems to work pretty well.
Fixes issue #2153
* Shift-Click / Shift-Drag now work as expected as far as multi-selection
* Deck editor saves split pane split positions
* Card layout and sort settings are now saved along side the a deck when saving to the .dck format, so that you have back the exact same deck layout when you re-load the deck.
* Fixed the symbol image downloader to work around some of the large-size symbol images being missing on gatherer. Falls back to the medium sized images currently for those symbols.
* Rather than respecting the spacing setting from Preferences, the spacing is now calculated from the card size if characteristic based rendering is enabled, since from the renderer we know exactly what spacing is actually needed.
* Simply invalidating the image render is not enough, a repaint call is also needed in a few cases where a repaint hadn't already been scheduled by the same change that trigged the selectable/chosen status change.
* Turns out that drawing black borders on non-rendered cards, while it fixes what was probably a bug, has unintentional and undesirable implications. Needs further work in the future, but revert it for now.
* Basic lands have the mana symbol in their textbox rather than their actual text. That was erroneously being applied to other permanents like Elvish Mystics with only a single mana adding ability as text.
* Vehicles are rendered with a vehicle background and changed P/T box color
* Kaladesh Inventions are rendered with the invention frame
* Kaladesh Inventions use the full-frame art if they detect that you have that full art downloaded instead of normal card images.
* Changed land text-box colors to be a bit more saturated to make it clearer what colors they produce
* Added mana symbol in the textbox of basic lands instead of rules text as long as they have no additional abilities.
* Fixed problem with triggered abilities on the stack showing up with a type of "??? Ability". Not sure what the real cause is but those abilities have abilityType = null, just worked around it.