JAL-3608 non-JS cherry-pick
authorBen Soares <bsoares@dundee.ac.uk>
Wed, 22 Apr 2020 19:18:27 +0000 (20:18 +0100)
committerBen Soares <bsoares@dundee.ac.uk>
Tue, 16 Jun 2020 16:54:21 +0000 (17:54 +0100)
commit6312cb6f6a715162cccd42b952c4801ee39715be
treeb33179904566cb5dbb978c2ba4b7a61c15157e5d
parenta587f8bf0146939810cab660f38f4726aa2b8102
JAL-3608 non-JS cherry-pick

Cleaned up Look and Feel selection and enabled specific selections via "laf" property or .jalview_properties property "PREFERRED_LAF".
Default behaviour is the same as before for all platforms except Linux which will now always default to "Metal" (ignoring the property 'swing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel' that is set by the system in Ubuntu [and plausibly other OSes, though not Kubuntu]).  If a laf property is set then this obviously gets used if possible.
Also added an optional gradle 'testLaf' property (e.g. gradle -PtestLaf=metal test) which will set the laf property during tests.  Possibly handy to spot differences to test results between mac and build server (which will default to Metal).
Recognised values of "laf" are:
(specific LaFs) "metal", "gtk", "quaqua", "vaqua", "nimbus",
(best guess LaFs) "mac", "system", "crossplatform"
build.gradle
src/jalview/bin/Cache.java
src/jalview/bin/Jalview.java
src/jalview/util/Platform.java