X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fgui%2FSwingInterface.java;h=e022cf1e1473fb9638f24d5153653e616e03e8db;hb=4be8c6526b4e80d5b8f8df8598da128be766ced7;hp=1e66d190910628950da0b816b78f649361d423f8;hpb=22d7dae2a03889c69cdf5845ef6676fcdb14e7fb;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/gui/SwingInterface.java b/src/net/pterodactylus/jsite/gui/SwingInterface.java index 1e66d19..e022cf1 100644 --- a/src/net/pterodactylus/jsite/gui/SwingInterface.java +++ b/src/net/pterodactylus/jsite/gui/SwingInterface.java @@ -105,6 +105,9 @@ public class SwingInterface implements CoreListener { // CONFIGURATION // + /** The advanced mode. */ + private boolean advancedMode; + /** Whether to antialias the GUI. */ private boolean antialias; @@ -302,6 +305,9 @@ public class SwingInterface implements CoreListener { } finally { Closer.close(configInputStream); } + if (configProperties.containsKey("advancedMode")) { + advancedMode = Boolean.valueOf(configProperties.getProperty("advancedMode")); + } if (configProperties.containsKey("antialias")) { antialias = Boolean.valueOf(configProperties.getProperty("antialias")); } @@ -333,6 +339,7 @@ public class SwingInterface implements CoreListener { } File configFile = new File(configDirectory, "swing-interface.properties"); Properties configProperties = new Properties(); + configProperties.setProperty("advancedMode", String.valueOf(advancedMode)); configProperties.setProperty("antialias", String.valueOf(antialias)); if (controlFont != null) { configProperties.setProperty("controlFont", controlFont); @@ -488,11 +495,16 @@ public class SwingInterface implements CoreListener { * Shows the configuration dialog. */ private void configure() { + configurationDialog.setAdvancedMode(advancedMode); configurationDialog.setAntialias(antialias); configurationDialog.setControlFont(controlFont); configurationDialog.setUserFont(userFont); 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); + } antialias = configurationDialog.isAntialias(); controlFont = configurationDialog.getControlFont(); userFont = configurationDialog.getUserFont(); @@ -519,9 +531,31 @@ public class SwingInterface implements CoreListener { * Pops up the “manage nodes” dialog. */ private void manageNodes() { - manageNodesDialog.setNodeList(nodeList); - manageNodesDialog.setVisible(true); - nodeList = manageNodesDialog.getNodeList(); + if (advancedMode) { + manageNodesDialog.setNodeList(nodeList); + manageNodesDialog.setVisible(true); + nodeList = manageNodesDialog.getNodeList(); + } else { + if (nodeList.isEmpty()) { + Node newNode = new Node(); + newNode.setName(I18n.get("general.defaultNode.name")); + newNode.setHostname("localhost"); + newNode.setPort(9481); + nodeList.add(newNode); + } + Node firstNode = nodeList.get(0); + EditNodeDialog editNodeDialog = manageNodesDialog.getEditNodeDialog(); + editNodeDialog.setNodeName(firstNode.getName()); + editNodeDialog.setNodeHostname(firstNode.getHostname()); + editNodeDialog.setNodePort(firstNode.getPort()); + editNodeDialog.setVisible(true); + if (!editNodeDialog.wasCancelled()) { + firstNode.setName(editNodeDialog.getNodeName()); + firstNode.setHostname(editNodeDialog.getNodeHostname()); + firstNode.setPort(editNodeDialog.getNodePort()); + /* TODO - give to core. */ + } + } } /** @@ -588,21 +622,78 @@ public class SwingInterface implements CoreListener { // INTERFACE CoreListener // + + /** + * {@inheritDoc} + */ + public void loadingProjectsDone(String directory) { + mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.projectLoadingDone")); + } + /** * {@inheritDoc} */ - public void loadingProjectsFailed(String directory) { + public void loadingProjectsFailed(String directory, Throwable throwable) { JOptionPane.showMessageDialog(mainWindow, I18n.get("mainWindow.error.projectLoadingFailed.message", directory), I18n.get("mainWindow.error.projectLoadingFailed.title"), JOptionPane.ERROR_MESSAGE); } /** * {@inheritDoc} */ + public void savingProjectsDone(String directory) { + mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.projectSavingDone")); + } + + /** + * {@inheritDoc} + */ + public void savingProjectsFailed(String directory, Throwable throwabled) { + /* TODO */ + } + + /** + * {@inheritDoc} + */ + public void loadingNodesDone(String directory) { + mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.loadingNodesDone")); + } + + /** + * {@inheritDoc} + */ + public void loadingNodesFailed(String directory, Throwable throwable) { + /* TODO */ + } + + /** + * {@inheritDoc} + */ + public void savingNodesDone(String directory) { + mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.savingNodesDone")); + } + + /** + * {@inheritDoc} + */ + public void savingNodesFailed(String directory, Throwable throwable) { + /* TODO */ + } + + /** + * {@inheritDoc} + */ public void coreLoaded() { this.nodeList = core.getNodes(); manageNodesDialog.setNodeList(nodeList); mainWindow.setVisible(true); - mainWindow.setStatusBarText("Core loaded."); + mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.coreLoaded")); + } + + /** + * {@inheritDoc} + */ + public void coreStopped() { + mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.coreStopped")); } /**