Deleting the selected node will now selected another node.
[jSite.git] / src / de / todesbaum / jsite / main / Main.java
index cc540ea..195e603 100644 (file)
@@ -19,6 +19,7 @@
 
 package de.todesbaum.jsite.main;
 
+import java.awt.Component;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.IOException;
@@ -39,6 +40,7 @@ import javax.swing.Icon;
 import javax.swing.JList;
 import javax.swing.JMenu;
 import javax.swing.JMenuBar;
+import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JRadioButtonMenuItem;
@@ -52,7 +54,7 @@ import de.todesbaum.jsite.application.ProjectInserter;
 import de.todesbaum.jsite.application.UpdateChecker;
 import de.todesbaum.jsite.application.UpdateListener;
 import de.todesbaum.jsite.application.ProjectInserter.CheckReport;
-import de.todesbaum.jsite.application.ProjectInserter.CheckReport.Issue;
+import de.todesbaum.jsite.application.ProjectInserter.Issue;
 import de.todesbaum.jsite.gui.NodeManagerListener;
 import de.todesbaum.jsite.gui.NodeManagerPage;
 import de.todesbaum.jsite.gui.PreferencesPage;
@@ -77,7 +79,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
        private static final Logger logger = Logger.getLogger(Main.class.getName());
 
        /** The version. */
-       private static final Version VERSION = new Version(0, 8);
+       private static final Version VERSION = new Version(0, 9, 2);
 
        /** The configuration. */
        private Configuration configuration;
@@ -116,7 +118,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
        }
 
        /** The supported locales. */
-       private static final Locale[] SUPPORTED_LOCALES = new Locale[] { Locale.ENGLISH, Locale.GERMAN, Locale.FRENCH, Locale.ITALIAN, new Locale("pl") };
+       private static final Locale[] SUPPORTED_LOCALES = new Locale[] { Locale.ENGLISH, Locale.GERMAN, Locale.FRENCH };
 
        /** The actions that switch the language. */
        private Map<Locale, Action> languageActions = new HashMap<Locale, Action>();
@@ -209,6 +211,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
                        @SuppressWarnings("synthetic-access")
                        public void actionPerformed(ActionEvent actionEvent) {
                                showPage(PageType.PAGE_NODE_MANAGER);
+                               optionsPreferencesAction.setEnabled(true);
                                wizard.setPreviousName(I18n.getMessage("jsite.wizard.previous"));
                                wizard.setNextName(I18n.getMessage("jsite.wizard.next"));
                        }
@@ -539,9 +542,14 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
                        nodeMenu.setEnabled(false);
                        optionsPreferencesAction.setEnabled(false);
                } else if ("page.project.insert".equals(pageName)) {
-                       showPage(PageType.PAGE_PROJECTS);
-                       nodeMenu.setEnabled(true);
-                       optionsPreferencesAction.setEnabled(true);
+                       ProjectInsertPage projectInsertPage = (ProjectInsertPage) pages.get(PageType.PAGE_INSERT_PROJECT);
+                       if (projectInsertPage.isRunning()) {
+                               projectInsertPage.stopInsert();
+                       } else {
+                               showPage(PageType.PAGE_PROJECTS);
+                               nodeMenu.setEnabled(true);
+                               optionsPreferencesAction.setEnabled(true);
+                       }
                } else if ("page.preferences".equals(pageName)) {
                        showPage(PageType.PAGE_PROJECTS);
                        optionsPreferencesAction.setEnabled(true);
@@ -553,8 +561,9 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
         */
        public void wizardPreviousPressed(TWizard wizard) {
                String pageName = wizard.getPage().getName();
-               if ("page.project".equals(pageName)) {
+               if ("page.project".equals(pageName) || "page.preferences".equals(pageName)) {
                        showPage(PageType.PAGE_NODE_MANAGER);
+                       optionsPreferencesAction.setEnabled(true);
                } else if ("page.project.files".equals(pageName)) {
                        showPage(PageType.PAGE_PROJECTS);
                } else if ("page.project.insert".equals(pageName)) {
@@ -610,6 +619,21 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
        /**
         * {@inheritDoc}
         */
+       public void nodeSelected(Node node) {
+               for (Component menuItem : nodeMenu.getMenuComponents()) {
+                       if (menuItem instanceof JMenuItem) {
+                               if (node.equals(((JMenuItem) menuItem).getClientProperty("Node"))) {
+                                       ((JMenuItem) menuItem).setSelected(true);
+                               }
+                       }
+               }
+               freenetInterface.setNode(node);
+               selectedNode = node;
+       }
+
+       /**
+        * {@inheritDoc}
+        */
        public void actionPerformed(ActionEvent e) {
                Object source = e.getSource();
                if (source instanceof JRadioButtonMenuItem) {