X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FProjectInsertPage.java;h=3b852a918bcfb7aef71ca2a9578f35a6079d53fd;hb=6363a6f5355700aea01514c2558f670470dcda82;hp=32fd2f18018ece803e95a61991b243cce00535cf;hpb=8b0931d029e6cab836d244a73633d1f79155d214;p=jSite.git diff --git a/src/de/todesbaum/jsite/gui/ProjectInsertPage.java b/src/de/todesbaum/jsite/gui/ProjectInsertPage.java index 32fd2f1..3b852a9 100644 --- a/src/de/todesbaum/jsite/gui/ProjectInsertPage.java +++ b/src/de/todesbaum/jsite/gui/ProjectInsertPage.java @@ -80,6 +80,9 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl /** The start time of the insert. */ private long startTime = 0; + /** The number of inserted blocks. */ + private volatile int insertedBlocks; + /** * Creates a new progress insert wizard page. * @@ -290,6 +293,7 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl * {@inheritDoc} */ public void projectInsertProgress(Project project, final int succeeded, final int failed, final int fatal, final int total, final boolean finalized) { + insertedBlocks = succeeded; SwingUtilities.invokeLater(new Runnable() { @SuppressWarnings("synthetic-access") @@ -301,7 +305,7 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl progressString.append(progress).append("% ("); progressString.append(succeeded + failed + fatal).append('/').append(total); progressString.append(") ("); - progressString.append(formatNumber(succeeded * 32.0 / ((System.currentTimeMillis() - startTime) / 1000), 1)); + progressString.append(getTransferRate()); progressString.append(' ').append(I18n.getMessage("jsite.insert.k-per-s")).append(')'); progressBar.setString(progressString.toString()); if (finalized) { @@ -316,7 +320,11 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl */ public void projectInsertFinished(Project project, boolean success, Throwable cause) { if (success) { - JOptionPane.showMessageDialog(this, I18n.getMessage("jsite.insert.inserted"), null, JOptionPane.INFORMATION_MESSAGE); + String copyURILabel = I18n.getMessage("jsite.insert.okay-copy-uri"); + int selectedValue = JOptionPane.showOptionDialog(this, I18n.getMessage("jsite.insert.inserted"), I18n.getMessage("jsite.insert.done.title"), 0, JOptionPane.INFORMATION_MESSAGE, null, new Object[] { I18n.getMessage("jsite.insert.okay"), copyURILabel }, copyURILabel); + if (selectedValue == 1) { + actionCopyURI(); + } } else { if (cause == null) { JOptionPane.showMessageDialog(this, I18n.getMessage("jsite.insert.insert-failed"), null, JOptionPane.ERROR_MESSAGE); @@ -329,7 +337,7 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl @SuppressWarnings("synthetic-access") public void run() { progressBar.setValue(progressBar.getMaximum()); - progressBar.setString(I18n.getMessage("jsite.insert.done")); + progressBar.setString(I18n.getMessage("jsite.insert.done") + " (" + getTransferRate() + " " + I18n.getMessage("jsite.insert.k-per-s") + ")"); wizard.setNextEnabled(true); wizard.setQuitEnabled(true); } @@ -370,6 +378,15 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl return formattedNumber; } + /** + * Returns the formatted transfer rate at this point. + * + * @return The formatted transfer rate + */ + private String getTransferRate() { + return formatNumber(insertedBlocks * 32.0 / ((System.currentTimeMillis() - startTime) / 1000), 1); + } + // // INTERFACE ClipboardOwner //