X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fde%2Ftodesbaum%2Fjsite%2Fgui%2FProjectInsertPage.java;h=e8e2154572a6880255fb107545cab516611458eb;hb=ba4e6f7bf958b489adfbef0e84543340abec0ab4;hp=843499a3d44ab487f42b79169367346cb7b11622;hpb=5a876370ec1864ae54db22301aaa5cd2b0e44bf5;p=jSite.git diff --git a/src/de/todesbaum/jsite/gui/ProjectInsertPage.java b/src/de/todesbaum/jsite/gui/ProjectInsertPage.java index 843499a..e8e2154 100644 --- a/src/de/todesbaum/jsite/gui/ProjectInsertPage.java +++ b/src/de/todesbaum/jsite/gui/ProjectInsertPage.java @@ -34,6 +34,8 @@ import java.awt.event.KeyEvent; import java.text.DateFormat; import java.text.MessageFormat; import java.util.Date; +import java.util.logging.Level; +import java.util.logging.Logger; import javax.swing.AbstractAction; import javax.swing.Action; @@ -62,6 +64,9 @@ import de.todesbaum.util.swing.TWizardPage; */ public class ProjectInsertPage extends TWizardPage implements InsertListener, ClipboardOwner { + /** The logger. */ + private static final Logger logger = Logger.getLogger(ProjectInsertPage.class.getName()); + /** The project inserter. */ private ProjectInserter projectInserter; @@ -83,6 +88,9 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl /** The number of inserted blocks. */ private volatile int insertedBlocks; + /** Whether the “copy URI to clipboard” button was used. */ + private boolean uriCopied; + /** * Creates a new progress insert wizard page. * @@ -250,6 +258,16 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl projectInserter.setTempDirectory(tempDirectory); } + /** + * Returns whether the “copy URI to clipboard” button was used. + * + * @return {@code true} if an URI was copied to clipboard, {@code false} + * otherwise + */ + public boolean wasUriCopied() { + return uriCopied; + } + // // INTERFACE InsertListener // @@ -287,6 +305,25 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl requestURITextField.setText(uri); } }); + logger.log(Level.FINEST, "Insert generated URI: " + uri); + int slash = uri.indexOf('/'); + slash = uri.indexOf('/', slash + 1); + int secondSlash = uri.indexOf('/', slash + 1); + if (secondSlash == -1) { + secondSlash = uri.length(); + } + String editionNumber = uri.substring(slash + 1, secondSlash); + logger.log(Level.FINEST, "Extracted edition number: " + editionNumber); + int edition = -1; + try { + edition = Integer.valueOf(editionNumber); + } catch (NumberFormatException nfe1) { + /* ignore. */ + } + logger.log(Level.FINEST, "Insert edition: " + edition + ", Project edition: " + project.getEdition()); + if ((edition != -1) && (edition == project.getEdition())) { + JOptionPane.showMessageDialog(this, I18n.getMessage("jsite.insert.reinserted-edition"), I18n.getMessage("jsite.insert.reinserted-edition.title"), JOptionPane.INFORMATION_MESSAGE); + } } /** @@ -321,8 +358,8 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl public void projectInsertFinished(Project project, boolean success, Throwable cause) { if (success) { String copyURILabel = I18n.getMessage("jsite.insert.okay-copy-uri"); - String selectedValue = (String) JOptionPane.showInputDialog(this, I18n.getMessage("jsite.insert.inserted"), I18n.getMessage("jsite.insert.done.title"), JOptionPane.INFORMATION_MESSAGE, null, new Object[] { I18n.getMessage("jsite.insert.okay"), copyURILabel }, copyURILabel); - if (copyURILabel.equals(selectedValue)) { + 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.general.okay"), copyURILabel }, copyURILabel); + if (selectedValue == 1) { actionCopyURI(); } } else { @@ -337,7 +374,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); } @@ -352,6 +389,7 @@ public class ProjectInsertPage extends TWizardPage implements InsertListener, Cl * Copies the request URI of the project to the clipboard. */ private void actionCopyURI() { + uriCopied = true; Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard(); clipboard.setContents(new StringSelection(requestURITextField.getText()), this); }