X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fnet%2Fpterodactylus%2Fjsite%2Fgui%2FSwingInterface.java;h=4fb71390be8b1455547ea8a02162e966791d5f19;hb=99ef3764897825a3154cb662b2b81f51c16fdbd2;hp=0a945db5755bb5985184af5532c8dd0b0f78e756;hpb=f58c676a286a7cd8d37c3f510e787144a9bff5ad;p=jSite2.git diff --git a/src/net/pterodactylus/jsite/gui/SwingInterface.java b/src/net/pterodactylus/jsite/gui/SwingInterface.java index 0a945db..4fb7139 100644 --- a/src/net/pterodactylus/jsite/gui/SwingInterface.java +++ b/src/net/pterodactylus/jsite/gui/SwingInterface.java @@ -26,6 +26,7 @@ import java.io.FileOutputStream; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Locale; @@ -45,11 +46,11 @@ import javax.swing.UnsupportedLookAndFeelException; import net.pterodactylus.jsite.core.Core; import net.pterodactylus.jsite.core.CoreListener; +import net.pterodactylus.jsite.core.JSiteException; import net.pterodactylus.jsite.core.Node; -import net.pterodactylus.jsite.core.Project; -import net.pterodactylus.jsite.core.Request; import net.pterodactylus.jsite.i18n.I18n; import net.pterodactylus.jsite.i18n.gui.I18nAction; +import net.pterodactylus.jsite.project.Project; import net.pterodactylus.util.image.IconLoader; import net.pterodactylus.util.io.Closer; import net.pterodactylus.util.logging.Logging; @@ -217,7 +218,6 @@ 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(); } @@ -805,9 +805,18 @@ public class SwingInterface implements CoreListener, LoggingListener { * Adds a project. */ private void addProject() { - Project project = new Project(); - project.setName("New Project"); - project.setDescription(""); + try { + Project project = core.createProject(); + project.setName(I18n.get("general.newProject.name")); + project.setDescription(I18n.get("general.newProject.description", new Date())); + mainWindow.addProject(project, true); + } catch (JSiteException nne1) { + /* TODO - add i18n */ + JOptionPane.showMessageDialog(mainWindow, I18n.get(""), I18n.get(""), JOptionPane.ERROR_MESSAGE); + } catch (IOException e) { + /* TODO - add i18n */ + JOptionPane.showMessageDialog(mainWindow, I18n.get(""), I18n.get(""), JOptionPane.ERROR_MESSAGE); + } } /** @@ -833,6 +842,9 @@ public class SwingInterface implements CoreListener, LoggingListener { */ public void loadingProjectsDone(String directory) { mainWindow.setStatusBarText(I18n.get("mainWindow.statusBar.projectLoadingDone")); + for (Project project: core.getProjects()) { + mainWindow.addProject(project, false); + } } /** @@ -951,7 +963,7 @@ public class SwingInterface implements CoreListener, LoggingListener { 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} */ @@ -965,19 +977,34 @@ public class SwingInterface implements CoreListener, LoggingListener { } /** - * {@inheritDoc} + * @see net.pterodactylus.jsite.core.CoreListener#projectInsertStarted(net.pterodactylus.jsite.project.Project) */ - public void requestAdded(Node node, Request request) { - logger.log(Level.INFO, "request added to node: " + request + ", " + node); - /* TODO - implement */ + public void projectInsertStarted(Project project) { + mainWindow.projectInsertStarted(project); } /** - * {@inheritDoc} + * @see net.pterodactylus.jsite.core.CoreListener#projectInsertProgressed(net.pterodactylus.jsite.project.Project, + * int, int, int, int, int, boolean) + */ + public void projectInsertProgressed(Project project, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal) { + mainWindow.projectInsertProgressed(project, totalBlocks, requiredBlocks, successfulBlocks, failedBlocks, fatallyFailedBlocks, finalizedTotal); + } + + /** + * @see net.pterodactylus.jsite.core.CoreListener#projectInsertGeneratedURI(net.pterodactylus.jsite.project.Project, + * java.lang.String) + */ + public void projectInsertGeneratedURI(Project project, String uri) { + mainWindow.projectInsertGeneratedURI(project); + } + + /** + * @see net.pterodactylus.jsite.core.CoreListener#projectInsertFinished(net.pterodactylus.jsite.project.Project, + * boolean) */ - 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) + "%"); + public void projectInsertFinished(Project project, boolean success) { + mainWindow.projectInsertFinished(project, success); } //