make the GUI update its texts when a new language is chosen
[jSite2.git] / src / net / pterodactylus / jsite / gui / ManageNodesDialog.java
index 9d993a0..447618c 100644 (file)
@@ -28,7 +28,6 @@ import java.util.Iterator;
 import java.util.List;
 
 import javax.swing.AbstractListModel;
-import javax.swing.Action;
 import javax.swing.BorderFactory;
 import javax.swing.JButton;
 import javax.swing.JDialog;
@@ -43,6 +42,7 @@ import javax.swing.event.ListSelectionListener;
 import net.pterodactylus.jsite.core.Core;
 import net.pterodactylus.jsite.core.Node;
 import net.pterodactylus.jsite.i18n.I18n;
+import net.pterodactylus.jsite.i18n.I18nable;
 import net.pterodactylus.jsite.main.Version;
 import net.pterodactylus.util.swing.SwingUtils;
 
@@ -52,7 +52,7 @@ import net.pterodactylus.util.swing.SwingUtils;
  * @author David ‘Bombe’ Roden <bombe@freenetproject.org>
  * @version $Id$
  */
-public class ManageNodesDialog extends JDialog implements ListSelectionListener {
+public class ManageNodesDialog extends JDialog implements ListSelectionListener, I18nable {
 
        /** The core. */
        private final Core core;
@@ -61,19 +61,19 @@ public class ManageNodesDialog extends JDialog implements ListSelectionListener
        private List<Node> originalNodeList;
 
        /** The “add node” action. */
-       private Action addNodeAction;
+       private I18nAction addNodeAction;
 
        /** The “edit node” action. */
-       private Action editNodeAction;
+       private I18nAction editNodeAction;
 
        /** The “delete node” action. */
-       private Action deleteNodeAction;
+       private I18nAction deleteNodeAction;
 
        /** The “okay” action. */
-       private Action okayAction;
+       private I18nAction okayAction;
 
        /** The “cancel” action. */
-       private Action cancelAction;
+       private I18nAction cancelAction;
 
        /** The “edit node” dialog. */
        private EditNodeDialog editNodeDialog;
@@ -97,6 +97,7 @@ public class ManageNodesDialog extends JDialog implements ListSelectionListener
                initComponents();
                initDialogs();
                pack();
+               I18n.registerI18nable(this);
                SwingUtils.center(this);
        }
 
@@ -338,6 +339,23 @@ public class ManageNodesDialog extends JDialog implements ListSelectionListener
                deleteNodeAction.setEnabled(selectCount >= 1);
        }
 
+       //
+       // INTERFACE I18nable
+       //
+
+       /**
+        * {@inheritDoc}
+        */
+       public void updateI18n() {
+               okayAction.updateI18n();
+               cancelAction.updateI18n();
+               addNodeAction.updateI18n();
+               editNodeAction.updateI18n();
+               deleteNodeAction.updateI18n();
+               setTitle(I18n.get("manageNodesDialog.title") + " – jSite " + Version.getVersion());
+               SwingUtils.repackCentered(this);
+       }
+
        /**
         * List model for the {@link ManageNodesDialog#nodeList}. TODO
         *