FlipOntoBattlefield: somewhat improve the chance to hit an attachment when targeting the card it's attached to.
See merge request core-developers/forge!5672
The DeckView = when initialised = after editing the current deck in editor, tries to select it in the decklist view. However, at startup this won't be actually successful due to an un-initialised table model.
The issue only happens at startup time, and it is related to the fact that despite any selected item can be set (with the current Deck in editor) - see `populate` - the `update` method that initialise the (table)models is only called afterwards.
Therefore, the update method of Controller has been modified to re-try a selection with current deck in editor.
The whole procedure is skipped if the selected index is different from zero = assuming zero is the default fallback option.
If that's not the case, say the zero first deck should be indeed selected, the selected item shouldn't be activated twice anyway if that's exactly what's already been selected.
Deck model comparison may be triggered a certain number of times, and the new deep-comparison on each part may slow down performance in deck editor. Therefore, a caching strategy has been integrated to avoid comparing the same objects multiple times.
the loadDeck method now has a better handling of the deck (model) status, also wrt. the state of the UI editor.
If the deck is Stored, the editor will be in "modified - not saved" state.
This MR brings a quick FIX to `validateDeferredSections` method in Deck which erroneously considered entries in filtered Card Pool as for the valid deck entries, instead of the original one.
Incidentally this affected only decks with no specified edition, imposing one given by card Db query using default Card Art Preference.
In other word, no card with NO edition was found and smart card art was never triggered.
This now won't be the case!
Another quick fix in `getAllCardNamesWithNoSpecifiedEdition` to skip all sections that are not MAIN | SIDE | Commander for which card art harmonisation is necessary.