X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fmain%2FMain.java;h=74cbb78a83e746cda1ed5bb84fd62b05884db9ef;hb=62e6c4c347b7a419a86a4c54bb6731c26bdbe6ef;hp=917686c865f7b0ab9c2244fd691cf75c3ecac51a;hpb=d11bfba4213cc49fed096b6c58cfc22db1cd9e1e;p=jSite.git diff --git a/src/de/todesbaum/jsite/main/Main.java b/src/de/todesbaum/jsite/main/Main.java index 917686c..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());