1717import xdean .jex .log .Logable ;
1818import xdean .jex .util .string .StringUtil ;
1919import xdean .jfx .spring .annotation .FxReady ;
20+ import xdean .jfx .spring .splash .PreloadReporter ;
21+ import xdean .jfx .spring .splash .PreloadReporter .SubReporter ;
2022import xdean .jfxex .support .skin .SkinManager ;
2123import xdean .jfxex .support .skin .SkinStyle ;
2224
@@ -30,10 +32,15 @@ public class SkinService extends SkinManager implements Logable {
3032 @ Inject
3133 private DialogService dialogService ;
3234
35+ @ Inject
36+ private PreloadReporter preload ;
37+
3338 @ PostConstruct
3439 public void init () throws Exception {
40+ SubReporter sub = preload .load ("Loading skins..." );
3541 // load default skins
3642 for (SkinStyle ss : DefaultSkin .values ()) {
43+ sub .load ("Loading " + ss .getName ());
3744 addSkin (ss );
3845 }
3946 // load skin files in /skin
@@ -47,6 +54,7 @@ public void init() throws Exception {
4754 if (!Files .isDirectory (path ) && (fileName .endsWith (".css" ) || fileName .endsWith (".bss" ))) {
4855 String url = path .toUri ().toString ();
4956 String name = StringUtil .upperFirst (fileName .substring (0 , fileName .length () - 4 ));
57+ sub .load ("Loading " + name );
5058 addSkin (new SkinStyle () {
5159 @ Override
5260 public String getURL () {
@@ -69,6 +77,7 @@ public String getName() {
6977 }
7078 getSkinList ().stream ().map (SkinStyle ::getURL ).map (s -> "loaded skin: " + s ).forEach (this ::debug );
7179
80+ sub .load ("Read skin setting" );
7281 String configSkin = skinOption .getValue ();
7382 if (configSkin != null ) {
7483 getSkinList ().stream ()
@@ -78,6 +87,7 @@ public String getName() {
7887 } else {
7988 changeSkin (DefaultSkin .CLASSIC );
8089 }
90+ sub .load ("Apply skin setting" );
8191 JavaFxObservable .valuesOf (skinProperty ())
8292 .subscribe (skin -> skinOption .setValue (skin .getName ()));
8393 }
0 commit comments