X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fgui%2FSwingInterface.java;h=b9eb177a7db9fba37f6400761d1f6d34769b41a4;hb=6f655f2a30d35fd6192ea86ccfd08149438011b0;hp=09205bca0a1729b228f59d8a720bbfb89c1dcf64;hpb=08de64294b855fe7abab3b5520be1b151af7f135;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/gui/SwingInterface.java b/src/net/pterodactylus/jsite/gui/SwingInterface.java index 09205bc..b9eb177 100644 --- a/src/net/pterodactylus/jsite/gui/SwingInterface.java +++ b/src/net/pterodactylus/jsite/gui/SwingInterface.java @@ -105,8 +105,11 @@ public class SwingInterface implements CoreListener { // CONFIGURATION // - /** Whether to beautify the GUI. */ - private boolean beautify; + /** The advanced mode. */ + private boolean advancedMode; + + /** Whether to antialias the GUI. */ + private boolean antialias; /** The control font. */ private String controlFont; @@ -127,14 +130,14 @@ public class SwingInterface implements CoreListener { this.configDirectory = configDirectory; I18n.setLocale(Locale.ENGLISH); loadConfig(); - if (beautify) { + if (antialias) { System.setProperty("swing.aatext", "true"); - if (controlFont != null) { - System.setProperty("swing.plaf.metal.controlFont", controlFont); - } - if (userFont != null) { - System.setProperty("swing.plaf.metal.userFont", userFont); - } + } + if (controlFont != null) { + System.setProperty("swing.plaf.metal.controlFont", controlFont); + } + if (userFont != null) { + System.setProperty("swing.plaf.metal.userFont", userFont); } initActions(); initDialogs(); @@ -285,7 +288,7 @@ public class SwingInterface implements CoreListener { */ private void loadConfig() { /* initialize default stuff. */ - beautify = false; + antialias = false; /* now read config. */ File configFile = new File(configDirectory, "swing-interface.properties"); if (!configFile.exists() || !configFile.canRead() || !configFile.isFile()) { @@ -302,8 +305,11 @@ public class SwingInterface implements CoreListener { } finally { Closer.close(configInputStream); } - if (configProperties.containsKey("beautify")) { - beautify = Boolean.valueOf(configProperties.getProperty("beautify")); + if (configProperties.containsKey("advancedMode")) { + advancedMode = Boolean.valueOf(configProperties.getProperty("advancedMode")); + } + if (configProperties.containsKey("antialias")) { + antialias = Boolean.valueOf(configProperties.getProperty("antialias")); } if (configProperties.containsKey("controlFont")) { controlFont = configProperties.getProperty("controlFont"); @@ -311,6 +317,9 @@ public class SwingInterface implements CoreListener { if (configProperties.containsKey("userFont")) { userFont = configProperties.getProperty("userFont"); } + if (configProperties.containsKey("language")) { + I18n.setLocale(new Locale(configProperties.getProperty("language"))); + } } /** @@ -330,13 +339,15 @@ public class SwingInterface implements CoreListener { } File configFile = new File(configDirectory, "swing-interface.properties"); Properties configProperties = new Properties(); - configProperties.setProperty("beautify", String.valueOf(beautify)); + configProperties.setProperty("advancedMode", String.valueOf(advancedMode)); + configProperties.setProperty("antialias", String.valueOf(antialias)); if (controlFont != null) { configProperties.setProperty("controlFont", controlFont); } if (userFont != null) { configProperties.setProperty("userFont", userFont); } + configProperties.setProperty("language", I18n.getLocale().getLanguage()); FileOutputStream configOutputStream = null; try { configOutputStream = new FileOutputStream(configFile); @@ -484,12 +495,17 @@ public class SwingInterface implements CoreListener { * Shows the configuration dialog. */ private void configure() { - configurationDialog.setBeautify(beautify); + configurationDialog.setAdvancedMode(advancedMode); + configurationDialog.setAntialias(antialias); configurationDialog.setControlFont(controlFont); configurationDialog.setUserFont(userFont); configurationDialog.setVisible(true); if (!configurationDialog.wasCancelled()) { - beautify = configurationDialog.getBeautify(); + 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(); saveConfig(); @@ -500,6 +516,7 @@ public class SwingInterface implements CoreListener { * Imports old jSite configuration. */ private void importConfig() { + /* TODO */ } /** @@ -514,21 +531,45 @@ 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. */ + } + } } /** * Connects to the node. */ private void nodeConnect() { + /* TODO */ } /** * Disconnects from the node. */ private void nodeDisconnect() { + /* TODO */ } /** @@ -567,12 +608,14 @@ public class SwingInterface implements CoreListener { * Clones a project. */ private void cloneProject() { + /* TODO */ } /** * Deletes a project. */ private void deleteProject() { + /* TODO */ } // @@ -582,36 +625,60 @@ public class SwingInterface implements CoreListener { /** * {@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 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")); } /** * {@inheritDoc} */ public void nodeConnected(Node node) { + /* TODO */ } /** * {@inheritDoc} */ public void nodeConnecting(Node node) { + /* TODO */ } /** * {@inheritDoc} */ public void nodeDisconnected(Node node) { + /* TODO */ } }