|
@@ -28,7 +28,9 @@ import de.nplusc.izc.tools.baseTools.Messagers;
|
|
|
import de.nplusc.izc.tools.baseTools.Tools;
|
|
|
import net.java.truevfs.access.TFile;
|
|
|
import java.awt.EventQueue;
|
|
|
+import java.awt.HeadlessException;
|
|
|
import java.awt.Image;
|
|
|
+import java.awt.SplashScreen;
|
|
|
import java.io.BufferedReader;
|
|
|
import java.io.File;
|
|
|
import java.io.FileNotFoundException;
|
|
@@ -88,6 +90,7 @@ public class Main extends javax.swing.JFrame
|
|
|
|
|
|
private static Image playListIcon;
|
|
|
|
|
|
+ private static SplashScreen splash;
|
|
|
|
|
|
// <editor-fold defaultstate="collapsed" desc="Gefruzel::Main">
|
|
|
/**
|
|
@@ -100,6 +103,14 @@ public class Main extends javax.swing.JFrame
|
|
|
})
|
|
|
public static void main(final String args[])
|
|
|
{
|
|
|
+ try
|
|
|
+ {
|
|
|
+ splash = SplashScreen.getSplashScreen();
|
|
|
+ }
|
|
|
+ catch(UnsupportedOperationException lmaa)
|
|
|
+ {
|
|
|
+ //ignored, since they mean no splash is displayed, handled by a nullcheck later.
|
|
|
+ }
|
|
|
try
|
|
|
{
|
|
|
try
|
|
@@ -113,8 +124,7 @@ public class Main extends javax.swing.JFrame
|
|
|
}
|
|
|
if(Detectors.isJavaw()&&args.length==0)//temp-NOP
|
|
|
{
|
|
|
- logStart();
|
|
|
-
|
|
|
+ logStart();
|
|
|
spawnUI();
|
|
|
}
|
|
|
else
|
|
@@ -169,6 +179,7 @@ public class Main extends javax.swing.JFrame
|
|
|
LoggerConfig loggerConfig = config.getLoggerConfig(LogManager.ROOT_LOGGER_NAME);
|
|
|
LoggerConfig vlcj = config.getLoggerConfig("uk.co.caprica.vlcj");
|
|
|
LoggerConfig externalloggerConfig = config.getLoggerConfig("External");
|
|
|
+ LoggerConfig trueVFSlloggerConfig = config.getLoggerConfig("net.java");
|
|
|
|
|
|
if (verbose)
|
|
|
{
|
|
@@ -178,18 +189,20 @@ public class Main extends javax.swing.JFrame
|
|
|
{
|
|
|
vlcj.setLevel(Level.TRACE);
|
|
|
externalloggerConfig.setLevel(Level.TRACE);
|
|
|
+ trueVFSlloggerConfig.setLevel(Level.TRACE);
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
vlcj.setLevel(Level.INFO);
|
|
|
externalloggerConfig.setLevel(Level.INFO);
|
|
|
+ trueVFSlloggerConfig.setLevel(Level.INFO);
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
loggerConfig.setLevel(Level.INFO);
|
|
|
externalloggerConfig.setLevel(Level.INFO);
|
|
|
+ trueVFSlloggerConfig.setLevel(Level.INFO);
|
|
|
}
|
|
|
cx.updateLoggers();
|
|
|
}
|
|
@@ -244,6 +257,7 @@ public class Main extends javax.swing.JFrame
|
|
|
MainMenu m = new MainMenu();
|
|
|
m.setIconImage(IZPLApi.getProgramIcon());
|
|
|
m.setVisible(true);
|
|
|
+ splash=null; //ensures that the splash reference doesn't mess with code later
|
|
|
});
|
|
|
}
|
|
|
|
|
@@ -278,12 +292,26 @@ public class Main extends javax.swing.JFrame
|
|
|
}
|
|
|
if (stts.firstrunmode)
|
|
|
{
|
|
|
- java.awt.EventQueue.invokeLater(() ->
|
|
|
+ if(splash ==null)
|
|
|
+ {
|
|
|
+ java.awt.EventQueue.invokeLater(() ->
|
|
|
+ {
|
|
|
+ frs = new FirstRunScreen();
|
|
|
+ frs.setIconImage(playListIcon);
|
|
|
+ frs.setVisible(true);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ //TODO splash set text initializing
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ if( splash !=null)
|
|
|
{
|
|
|
- frs = new FirstRunScreen();
|
|
|
- frs.setIconImage(playListIcon);
|
|
|
- frs.setVisible(true);
|
|
|
- });
|
|
|
+ //TODO set stage initial loading
|
|
|
+ }
|
|
|
}
|
|
|
l.info("Loading the configs now");
|
|
|
loadConfigs();
|
|
@@ -292,6 +320,10 @@ public class Main extends javax.swing.JFrame
|
|
|
stts= stts.changeUseGUI(true);
|
|
|
}
|
|
|
p.detectSkins();
|
|
|
+ if( splash !=null)
|
|
|
+ {
|
|
|
+ //TODO Set stage PluginLoad
|
|
|
+ }
|
|
|
l.info("Initializing the plugins now. This may take a while");
|
|
|
p.initializePlugins(stts);
|
|
|
l.info("Plugins initialized");
|
|
@@ -412,7 +444,14 @@ public class Main extends javax.swing.JFrame
|
|
|
{
|
|
|
if (!stts.loadConfigMode)
|
|
|
{
|
|
|
- frs.setVisible(false);
|
|
|
+ if(splash!=null)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ frs.setVisible(false);
|
|
|
+ }
|
|
|
}
|
|
|
new ConfigureScreen(stts.firstrunmode).setVisible(true);
|
|
|
}
|
|
@@ -629,6 +668,13 @@ public class Main extends javax.swing.JFrame
|
|
|
}
|
|
|
quickQuit();
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //V--nothing to see here
|
|
|
+
|
|
|
+ //^--evil line doesnt need any code :P
|
|
|
+
|
|
|
/**
|
|
|
* Convenience method that cleans up the temporary data and then exits
|
|
|
*/
|
|
@@ -683,9 +729,6 @@ public class Main extends javax.swing.JFrame
|
|
|
initComponents();
|
|
|
}
|
|
|
|
|
|
- //V--nothing to see here
|
|
|
-
|
|
|
- //^--evil line doesnt need any code :P
|
|
|
/**
|
|
|
* Internal method for the API
|
|
|
* @return Reference to PLServer
|
|
@@ -751,6 +794,31 @@ public class Main extends javax.swing.JFrame
|
|
|
return p;
|
|
|
}
|
|
|
|
|
|
+ public static void updatePluginLoadProgress(int pluginCount, int progress, String message)
|
|
|
+ {
|
|
|
+ //TODO update progressbar
|
|
|
+ if(splash!=null)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void updatePluginInitProgress(int pluginCount, int progress, String message)
|
|
|
+ {
|
|
|
+ //TODO update progressbar
|
|
|
+ if(splash!=null)
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
//</editor-fold>
|
|
|
|