+ private void configure() {
+ configurationDialog.setAdvancedMode(advancedMode);
+ configurationDialog.setAntialias(antialias);
+ configurationDialog.setControlFont(controlFont);
+ configurationDialog.setUserFont(userFont);
+ configurationDialog.setLookAndFeel(lookAndFeel);
+ configurationDialog.setVisible(true);
+ if (!configurationDialog.wasCancelled()) {
+ advancedMode = configurationDialog.isAdvancedMode();
+ if (!advancedMode && (nodeList.size() > 1)) {
+ JOptionPane.showMessageDialog(mainWindow, I18n.get("mainWindow.warning.multipleNodesNotAdvancedMode.message"), I18n.get("mainWindow.warning.multipleNodesNotAdvancedMode.title"), JOptionPane.WARNING_MESSAGE);
+ }
+ mainWindow.setAdvancedMode(advancedMode);
+ antialias = configurationDialog.isAntialias();
+ controlFont = configurationDialog.getControlFont();
+ userFont = configurationDialog.getUserFont();
+ lookAndFeel = configurationDialog.getLookAndFeel();
+ saveConfig();
+ }
+ }
+
+ /**
+ * Imports old jSite configuration.
+ */
+ private void importConfig() {
+ /* TODO */
+ }
+
+ /**
+ * Quits jSite.
+ */
+ private void quit() {
+ /* TODO - ask */
+ core.stop();
+ mainWindowX = mainWindow.getX();
+ mainWindowY = mainWindow.getY();
+ mainWindowWidth = mainWindow.getWidth();
+ mainWindowHeight = mainWindow.getHeight();
+ saveConfig();
+ System.exit(0);
+ }
+
+ /**
+ * Adds a node.
+ */
+ private void addNode() {
+ addNodeDialog.setNodeName(I18n.get(nodeList.isEmpty() ? "general.defaultNode.name" : "general.newNode.name"));
+ addNodeDialog.setNodeHostname("localhost");
+ addNodeDialog.setNodePort(9481);
+ addNodeDialog.setVisible(true);
+ if (!addNodeDialog.wasCancelled()) {
+ Node newNode = new Node();
+ newNode.setName(addNodeDialog.getNodeName());
+ newNode.setHostname(addNodeDialog.getNodeHostname());
+ newNode.setPort(addNodeDialog.getNodePort());
+ try {
+ core.addNode(newNode);
+ } catch (UnknownHostException e) {
+ JOptionPane.showMessageDialog(mainWindow, I18n.get("mainWindow.error.hostnameUnresolvable.message"), I18n.get("mainWindow.error.hostnameUnresolvable.title"), JOptionPane.ERROR_MESSAGE);
+ }
+ }
+ }
+
+ /**
+ * Edits the given node.
+ *
+ * @param node
+ * The node to edit
+ */
+ private void editNode(Node node) {
+ addNodeDialog.setNodeName(node.getName());
+ addNodeDialog.setNodeHostname(node.getHostname());
+ addNodeDialog.setNodePort(node.getPort());
+ addNodeDialog.setVisible(true);
+ if (!addNodeDialog.wasCancelled()) {
+ node.setName(addNodeDialog.getNodeName());
+ node.setHostname(addNodeDialog.getNodeHostname());
+ node.setPort(addNodeDialog.getNodePort());
+ }
+ }
+
+ /**
+ * Deletes the given node.
+ *
+ * @param node
+ * The node to delete
+ */
+ private void deleteNode(Node node) {
+ int option = JOptionPane.showConfirmDialog(mainWindow, I18n.get("mainWindow.question.deleteNode.message", node.getName()), I18n.get("mainWindow.question.deleteNode.title"), JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE);
+ if (option == JOptionPane.OK_OPTION) {
+ core.removeNode(node);
+ }