X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=getdown%2Fsrc%2Fgetdown%2Flauncher%2Fsrc%2Fmain%2Fjava%2Fcom%2Fthreerings%2Fgetdown%2Flauncher%2FGetdownApp.java;h=c76c727728f457feb0df68ff499fead68807026a;hb=a2801ca3b43620de21f25f7aa3935bf0572192b4;hp=f632b657f116d13ae09f3eca1da7d4cd225e4f02;hpb=6c59314348779660fd2aa95658f999c2676dea29;p=jalview.git diff --git a/getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/GetdownApp.java b/getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/GetdownApp.java index f632b65..c76c727 100644 --- a/getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/GetdownApp.java +++ b/getdown/src/getdown/launcher/src/main/java/com/threerings/getdown/launcher/GetdownApp.java @@ -7,7 +7,6 @@ package com.threerings.getdown.launcher; import java.awt.Color; import java.awt.Container; -import java.awt.EventQueue; import java.awt.Image; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; @@ -27,13 +26,15 @@ import javax.swing.JFrame; import javax.swing.KeyStroke; import javax.swing.WindowConstants; -import com.install4j.api.launcher.StartupNotification; import com.samskivert.swing.util.SwingUtil; +import com.threerings.getdown.data.Application; +import com.threerings.getdown.data.Build; import com.threerings.getdown.data.EnvConfig; import com.threerings.getdown.data.SysProps; import com.threerings.getdown.util.LaunchUtil; import com.threerings.getdown.util.StringUtil; import static com.threerings.getdown.Log.log; +import jalview.bin.StartupNotificationListener; /** * The main application entry point for Getdown. @@ -91,25 +92,29 @@ public class GetdownApp } if (abort) System.exit(-1); + log.info("Starting ..."); try { - log.info("**** Registering i4j StartupNotification Listener"); - StartupNotification.registerStartupListener( - new StartupNotification.Listener() { - @Override - public void startupPerformed(String parameters) - { - log.info("**** adding startup parameters '"+parameters+"'"); - GetdownApp.setStartupFilesParameterString(parameters); - } - }); + jalview.bin.StartupNotificationListener.setListener(); } catch (Exception e) { e.printStackTrace(); + } catch (NoClassDefFoundError e) + { + log.warning("Starting without install4j classes"); + } catch (Throwable t) + { + t.printStackTrace(); } - //Thread.sleep(200); - + try { + StatusPanel.i4jVersion = com.install4j.api.launcher.Variables.getCompilerVariable("sys.install4jVersion"); + } catch (IOException e) { + System.err.println("install4j version not available"); + } catch (Throwable t) { + System.err.println("install4j not available"); + t.printStackTrace(); + } // record a few things for posterity log.info("------------------ VM Info ------------------"); log.info("-- OS Name: " + System.getProperty("os.name")); @@ -117,9 +122,12 @@ public class GetdownApp log.info("-- OS Vers: " + System.getProperty("os.version")); log.info("-- Java Vers: " + System.getProperty("java.version")); log.info("-- Java Home: " + System.getProperty("java.home")); + log.info("-- Install4j Vers: " + StatusPanel.i4jVersion); + log.info("-- Install4j Template Vers: " + System.getProperty("installer_template_version")); log.info("-- User Name: " + System.getProperty("user.name")); log.info("-- User Home: " + System.getProperty("user.home")); log.info("-- Cur dir: " + System.getProperty("user.dir")); + log.info("-- Launcher version: "+Build.version()); log.info("-- startupFilesParameterString: " + startupFilesParameterString); log.info("---------------------------------------------"); @@ -135,6 +143,19 @@ public class GetdownApp handleWindowClose(); } }); + + // keep_on_top + try { + readConfig(false); + } catch (Exception e) { + log.warning("Error reading config for keep_on_top"); + } + // move window to top, always on top + if (_ifc.keepOnTop) { + log.info("Keep on top set to ", "keep_on_top", _ifc.keepOnTop); + _frame.setAlwaysOnTop(true); + } + // handle close on ESC String cancelId = "Cancel"; // $NON-NLS-1$ _frame.getRootPane().getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put( @@ -167,7 +188,7 @@ public class GetdownApp log.warning("Failed to set background", "bg", _ifc.background, e); } - if (_ifc.iconImages != null) { + if (_ifc.iconImages != null && _ifc.iconImages.size() > 0) { ArrayList icons = new ArrayList<>(); for (String path : _ifc.iconImages) { Image img = loadImage(path); @@ -192,6 +213,7 @@ public class GetdownApp SwingUtil.centerWindow(_frame); _frame.setVisible(true); } + _shownContainer = true; } @Override @@ -247,7 +269,7 @@ public class GetdownApp super.fail(message); // super.fail causes the UI to be created (if needed) on the next UI tick, so we // want to wait until that happens before we attempt to redecorate the window - EventQueue.invokeLater(new Runnable() { + EQinvoke(new Runnable() { @Override public void run() { // if the frame was set to be undecorated, make window decoration available @@ -269,9 +291,12 @@ public class GetdownApp protected JFrame _frame; }; - if (getStartupFilesParameterString() != null) { - app.setStartupFilesFromParameterString(getStartupFilesParameterString()); + + String startupFile = getStartupFilesParameterString(); + if (!StringUtil.isBlank(startupFile)) { + Application.setStartupFilesFromParameterString(startupFile); } + app.start(); return app; }