X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fmain%2FMain.java;h=74cbb78a83e746cda1ed5bb84fd62b05884db9ef;hb=62e6c4c347b7a419a86a4c54bb6731c26bdbe6ef;hp=195e603e887f20e5f8ecc73a963227739b52a5a3;hpb=728fbd0eb74f6b7bd9ae0fdf2a6ab13b98ea45b3;p=jSite.git diff --git a/src/de/todesbaum/jsite/main/Main.java b/src/de/todesbaum/jsite/main/Main.java index 195e603..74cbb78 100644 --- a/src/de/todesbaum/jsite/main/Main.java +++ b/src/de/todesbaum/jsite/main/Main.java @@ -22,6 +22,7 @@ package de.todesbaum.jsite.main; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.io.File; import java.io.IOException; import java.text.MessageFormat; import java.util.Date; @@ -63,6 +64,7 @@ import de.todesbaum.jsite.gui.ProjectInsertPage; import de.todesbaum.jsite.gui.ProjectPage; import de.todesbaum.jsite.i18n.I18n; import de.todesbaum.jsite.i18n.I18nContainer; +import de.todesbaum.jsite.main.Configuration.ConfigurationDirectory; import de.todesbaum.util.image.IconLoader; import de.todesbaum.util.swing.TWizard; import de.todesbaum.util.swing.TWizardPage; @@ -164,7 +166,20 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen if (configFilename != null) { configuration = new Configuration(configFilename); } else { - configuration = new Configuration(); + /* are we executed from a JAR file? */ + String resource = getClass().getResource("/de/todesbaum/jsite/i18n/jSite.properties").toString(); + if (resource.startsWith("jar:")) { + String jarFileLocation = resource.substring(9, resource.indexOf(".jar!") + 4); + String jarFileDirectory = new File(jarFileLocation).getParent(); + File configurationFile = new File(jarFileDirectory, "jSite.conf"); + if (configurationFile.exists()) { + configuration = new Configuration(configurationFile.getAbsolutePath()); + configuration.setConfigurationDirectory(ConfigurationDirectory.NEXT_TO_JAR_FILE); + } + } + if (configuration == null) { + configuration = new Configuration(); + } } Locale.setDefault(configuration.getLocale()); I18n.setLocale(configuration.getLocale()); @@ -631,6 +646,10 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen selectedNode = node; } + // + // INTERFACE ActionListener + // + /** * {@inheritDoc} */