X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FProjectInsertPage.java;h=66a0c0d06005278301d14c69022fac54554f6294;hb=a6bda7a82aa1b2cfd0313fb28d3dcca68ca516c5;hp=2e9286eca9f4e3f6bf5b0c9d0f8775026762f1b1;hpb=499b69a5e2b67b7e55adb5774b7e0268f5cb1943;p=jSite.git diff --git a/src/de/todesbaum/jsite/gui/ProjectInsertPage.java b/src/de/todesbaum/jsite/gui/ProjectInsertPage.java index 2e9286e..66a0c0d 100644 --- a/src/de/todesbaum/jsite/gui/ProjectInsertPage.java +++ b/src/de/todesbaum/jsite/gui/ProjectInsertPage.java @@ -1,6 +1,5 @@ /* - * jSite - a tool for uploading websites into Freenet - * Copyright (C) 2006 David Roden + * jSite - ProjectInsertPage.java - Copyright © 2006–2011 David Roden * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -55,6 +54,7 @@ import de.todesbaum.jsite.application.Project; import de.todesbaum.jsite.application.ProjectInserter; import de.todesbaum.jsite.i18n.I18n; import de.todesbaum.jsite.i18n.I18nContainer; +import de.todesbaum.util.io.StreamCopier.ProgressListener; import de.todesbaum.util.swing.TWizard; import de.todesbaum.util.swing.TWizardPage; @@ -220,7 +220,27 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl progressBar.setValue(0); progressBar.setString(I18n.getMessage("jsite.insert.starting")); progressBar.setFont(progressBar.getFont().deriveFont(Font.PLAIN)); - projectInserter.start(); + projectInserter.start(new ProgressListener() { + + public void onProgress(final long copied, final long length) { + SwingUtilities.invokeLater(new Runnable() { + + /** + * {@inheritDoc} + */ + @SuppressWarnings("synthetic-access") + public void run() { + int divisor = 1; + while (((copied / divisor) > Integer.MAX_VALUE) || ((length / divisor) > Integer.MAX_VALUE)) { + divisor *= 10; + } + progressBar.setMaximum((int) (length / divisor)); + progressBar.setValue((int) (copied / divisor)); + progressBar.setString("Uploaded: " + copied + " / " + length); + } + }); + } + }); } /** @@ -315,6 +335,14 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl */ public void projectUploadFinished(Project project) { startTime = System.currentTimeMillis(); + SwingUtilities.invokeLater(new Runnable() { + + @SuppressWarnings("synthetic-access") + public void run() { + progressBar.setString(I18n.getMessage("jsite.insert.starting")); + progressBar.setValue(0); + } + }); } /**