make connections work
[jSite2.git] / src / net / pterodactylus / jsite / gui / SwingInterface.java
index bb0bb9e..0a945db 100644 (file)
@@ -217,6 +217,7 @@ public class SwingInterface implements CoreListener, LoggingListener {
                if ((mainWindowX != -1) && (mainWindowY != -1) && (mainWindowWidth != -1) && (mainWindowHeight != -1)) {
                        mainWindow.setLocation(mainWindowX, mainWindowY);
                        mainWindow.setSize(mainWindowWidth, mainWindowHeight);
+                       mainWindow.validate();
                }
                logWindow = new LogWindow();
        }
@@ -681,7 +682,7 @@ public class SwingInterface implements CoreListener, LoggingListener {
                nodeNodeDisconnectActions.clear();
                nodeDisconnectActionNodes.clear();
                for (Node node: nodes) {
-                       logger.finer("adding node “" + node + "” to menu");
+                       logger.finer("adding node “" + node + "” to menus");
                        Action nodeConnectAction = new AbstractAction(node.getName()) {
 
                                /**
@@ -904,6 +905,7 @@ public class SwingInterface implements CoreListener, LoggingListener {
        public void nodeAdded(Node node) {
                logger.log(Level.INFO, "node added: " + node);
                nodeList.add(node);
+               logger.log(Level.FINE, "nodeList.size(): " + nodeList.size());
                manageNodesDialog.setNodeList(nodeList);
                rebuildNodeActions(nodeList);
                mainWindow.refreshNodeMenuItems();
@@ -942,6 +944,17 @@ public class SwingInterface implements CoreListener, LoggingListener {
        /**
         * {@inheritDoc}
         */
+       public void nodeConnectionFailed(Node node, Throwable cause) {
+               Action nodeConnectAction = nodeNodeConnectActions.get(node);
+               nodeConnectActions.add(nodeConnectAction);
+               mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.connectionToNodeFailed", node.getName(), node.getHostname(), node.getPort(), (cause != null) ? cause.getMessage() : "no reason given"));
+               JOptionPane.showMessageDialog(mainWindow, I18n.get("mainWindow.error.nodeConnectionFailed.message", node.getName(), node.getHostname(), node.getPort(), (cause != null) ? cause.getMessage() : "no reason given"), I18n.get("mainWindow.error.nodeConnectionFailed.title"), JOptionPane.ERROR_MESSAGE);
+               mainWindow.refreshNodeMenuItems();
+       }
+       
+       /**
+        * {@inheritDoc}
+        */
        public void nodeDisconnected(Node node, Throwable throwable) {
                Action nodeConnectAction = nodeNodeConnectActions.get(node);
                nodeConnectActions.add(nodeConnectAction);
@@ -964,7 +977,7 @@ public class SwingInterface implements CoreListener, LoggingListener {
         */
        public void requestProgressed(Request request, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) {
                /* TODO - update table model */
-               mainWindow.setStatusBarText(request.getIdentifier() + " @ " + ((10000 * successfulBlocks / requiredBlocks) / 100.0));
+               mainWindow.setStatusBarText(request.getIdentifier() + " @ " + ((10000 * successfulBlocks / requiredBlocks) / 100.0) + "%");
        }
 
        //