add base path textfield to project panel
[jSite2.git] / src / net / pterodactylus / jsite / gui / SwingInterface.java
index 45e98ac..4fb7139 100644 (file)
@@ -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,12 +46,11 @@ import javax.swing.UnsupportedLookAndFeelException;
 
 import net.pterodactylus.jsite.core.Core;
 import net.pterodactylus.jsite.core.CoreListener;
-import net.pterodactylus.jsite.core.NoNodeException;
+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;
@@ -145,9 +145,6 @@ public class SwingInterface implements CoreListener, LoggingListener {
        /** The list of all defined nodes. */
        private List<Node> nodeList = Collections.synchronizedList(new ArrayList<Node>());
 
-       /** The request table model. */
-       private RequestTableModel requestTableModel = new RequestTableModel();
-
        //
        // CONFIGURATION
        //
@@ -374,15 +371,6 @@ public class SwingInterface implements CoreListener, LoggingListener {
                return deleteProjectAction;
        }
 
-       /**
-        * Returns the request table model.
-        * 
-        * @return The request table model
-        */
-       RequestTableModel getRequestTableModel() {
-               return requestTableModel;
-       }
-
        //
        // ACTIONS
        //
@@ -819,11 +807,10 @@ public class SwingInterface implements CoreListener, LoggingListener {
        private void addProject() {
                try {
                        Project project = core.createProject();
-                       project.setName(I18n.get("")); /* TODO - i18n */
-                       project.setDescription(I18n.get("")); /* TODO - i18n */
-                       System.out.println("private: " + project.getPrivateKey() + ", public: " + project.getPublicKey());
-                       mainWindow.addProject(project);
-               } catch (NoNodeException nne1) {
+                       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) {
@@ -855,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);
+               }
        }
 
        /**
@@ -987,26 +977,34 @@ public class SwingInterface implements CoreListener, LoggingListener {
        }
 
        /**
-        * {@inheritDoc}
+        * @see net.pterodactylus.jsite.core.CoreListener#projectInsertStarted(net.pterodactylus.jsite.project.Project)
         */
-       public void requestAdded(Request request) {
-               logger.log(Level.INFO, "request added to node: " + request + ", " + request.getNode());
-               /* TODO - implement */
-               requestTableModel.addRequest(request);
+       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 requestProgressed(Request request) {
-               /* TODO - update table model */
+       public void projectInsertGeneratedURI(Project project, String uri) {
+               mainWindow.projectInsertGeneratedURI(project);
        }
 
        /**
-        * @see net.pterodactylus.jsite.core.CoreListener#requestRemoved(net.pterodactylus.jsite.core.Request)
+        * @see net.pterodactylus.jsite.core.CoreListener#projectInsertFinished(net.pterodactylus.jsite.project.Project,
+        *      boolean)
         */
-       public void requestRemoved(Request request) {
-               requestTableModel.removeRequest(request);
+       public void projectInsertFinished(Project project, boolean success) {
+               mainWindow.projectInsertFinished(project, success);
        }
 
        //