X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fmain%2FMain.java;h=3a62d9a5381499e78e883ac9b7d4c0f7005ea79f;hb=978a833ff2f68927ea0c376f9ad538069898f1e7;hp=4891f8f4f7e8aa21bcecb71600f28b21b29ae097;hpb=6f1a8216cfba28add0ef365b46a08d16d4eb87fe;p=jSite.git diff --git a/src/de/todesbaum/jsite/main/Main.java b/src/de/todesbaum/jsite/main/Main.java index 4891f8f..3a62d9a 100644 --- a/src/de/todesbaum/jsite/main/Main.java +++ b/src/de/todesbaum/jsite/main/Main.java @@ -59,12 +59,12 @@ import de.todesbaum.util.swing.WizardListener; /** * @author David Roden - * @version $Id: Main.java 456 2006-04-03 17:54:44Z bombe $ + * @version $Id$ */ public class Main implements ActionListener, ListSelectionListener, WizardListener, NodeManagerListener { private static boolean debug = false; - private Configuration configuration = new Configuration(); + private Configuration configuration; private Freenet7Interface freenetInterface = new Freenet7Interface(); protected Icon jSiteIcon; @@ -72,7 +72,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen PAGE_NODE_MANAGER, PAGE_PROJECTS, PAGE_PROJECT_FILES, PAGE_INSERT_PROJECT } - private static final Locale[] SUPPORTED_LOCALES = new Locale[] { Locale.ENGLISH, Locale.GERMAN }; + private static final Locale[] SUPPORTED_LOCALES = new Locale[] { Locale.ENGLISH, Locale.GERMAN, Locale.FRENCH }; private Map languageActions = new HashMap(); private Action manageNodeAction; private Action aboutAction; @@ -82,6 +82,15 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen private final Map pages = new HashMap(); private Main() { + this(null); + } + + private Main(String configFilename) { + if (configFilename != null) { + configuration = new Configuration(configFilename); + } else { + configuration = new Configuration(); + } Locale.setDefault(configuration.getLocale()); I18n.setLocale(configuration.getLocale()); if (!configuration.createLockFile()) { @@ -278,6 +287,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen ((ProjectFilesPage) pages.get(PageType.PAGE_PROJECT_FILES)).setProject(project); ((ProjectInsertPage) pages.get(PageType.PAGE_INSERT_PROJECT)).setProject(project); showPage(PageType.PAGE_PROJECT_FILES); + wizard.setNextName(I18n.getMessage("jsite.project-files.insert-now")); wizard.setPreviousName(I18n.getMessage("jsite.wizard.previous")); } else if ("page.project.files".equals(pageName)) { ProjectPage projectPage = (ProjectPage) pages.get(PageType.PAGE_PROJECTS); @@ -319,6 +329,8 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen JOptionPane.showMessageDialog(wizard, I18n.getMessage("jsite.project-files.no-node-running"), null, JOptionPane.ERROR_MESSAGE); return; } + configuration.save(); + wizard.setNextName(I18n.getMessage("jsite.wizard.next")); showPage(PageType.PAGE_INSERT_PROJECT); nodeMenu.setEnabled(false); } else if ("page.project.insert".equals(pageName)) { @@ -337,6 +349,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen wizard.setPreviousName(I18n.getMessage("jsite.wizard.previous")); } else if ("page.project.files".equals(pageName)) { showPage(PageType.PAGE_PROJECTS); + wizard.setNextName(I18n.getMessage("jsite.wizard.next")); wizard.setPreviousName((String) manageNodeAction.getValue(Action.NAME)); } else if ("page.project.insert".equals(pageName)) { showPage(PageType.PAGE_PROJECT_FILES); @@ -401,13 +414,37 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen // // MAIN METHOD // - public static void main(String[] args) { System.setProperty("swing.plaf.metal.userFont", "Tahoma"); System.setProperty("swing.plaf.metal.controlFont", "Tahoma"); System.setProperty("swing.aatext", "true"); - debug = (args.length > 0) && (args[0].equals("--debug")); - new Main(); + String configFilename = null; + boolean nextIsConfigFilename = false; + for (String argument: args) { + if (nextIsConfigFilename) { + configFilename = argument; + nextIsConfigFilename = false; + } + if ("--help".equals(argument)) { + printHelp(); + return; + } else if ("--debug".equals(argument)) { + debug = true; + } else if ("--config-file".equals(argument)) { + nextIsConfigFilename = true; + } + } + if (nextIsConfigFilename) { + System.out.println("--config-file needs parameter!"); + return; + } + new Main(configFilename); } + private static void printHelp() { + System.out.println("--help\tshows this cruft"); + System.out.println("--debug\tenables some debug output"); + System.out.println("--config-file \tuse specified configuration file"); + } + }