Show a warning when the user wants to quit and copied an URI before that.
authorDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Wed, 13 Jan 2010 21:33:49 +0000 (22:33 +0100)
committerDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Wed, 13 Jan 2010 21:38:09 +0000 (22:38 +0100)
src/de/todesbaum/jsite/gui/ProjectInsertPage.java
src/de/todesbaum/jsite/gui/ProjectPage.java
src/de/todesbaum/jsite/i18n/jSite.properties
src/de/todesbaum/jsite/i18n/jSite_de.properties
src/de/todesbaum/jsite/main/Main.java

index 3b852a9..2cedd5b 100644 (file)
@@ -83,6 +83,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 +253,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
        //
@@ -352,6 +365,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);
        }
index c24f7bf..756c450 100644 (file)
@@ -131,6 +131,9 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
        /** The project path textfield. */
        private JTextField projectPathTextField;
 
+       /** Whether the “copy URI to clipboard” action was used. */
+       private boolean uriCopied;
+
        /**
         * Creates a new project page.
         *
@@ -473,6 +476,16 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
        }
 
        /**
+        * Returns whether the “copy URI to clipboard” button was used.
+        *
+        * @return {@code true} if the “copy URI to clipboard” button was used,
+        *         {@code false} otherwise
+        */
+       public boolean wasUriCopied() {
+               return uriCopied;
+       }
+
+       /**
         * Updates the currently selected project with changed information from a
         * textfield.
         *
@@ -591,6 +604,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
                        Project selectedProject = (Project) projectList.getSelectedValue();
                        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
                        clipboard.setContents(new StringSelection(selectedProject.getFinalRequestURI(0)), this);
+                       uriCopied = true;
                }
        }
 
index d5e16e2..3333977 100644 (file)
@@ -125,6 +125,7 @@ jsite.project.warning.no-local-path=<html><b>No local path</b><br><br>You did no
 jsite.project.warning.no-path=<html><b>No freesite path</b><br><br>You did not specify a freesite path.<br>It is not possible to continue without one.</html>
 jsite.project.warning.generate-new-key=<html><b>Generate new key?</b><br><br>If you generate a new key, your site will be published<br>under that new key. Any trust that other users put<br>in the old key of your site will be gone!</html>
 jsite.project.warning.reset-edition=<html><b>Reset edition?</b><br><br>Resetting the edition can lead to insert failures<br>and lots of confusion if you have not changed<br>the path or the keys of the project!</html>
+jsite.project.warning.use-clipboard-now=<html><b>URI copied</b><br><br>Please note that it is possible that quitting jSite<br>now will empty the clipboard. Please use the<br>copied URI immediately in another window!</html>
 
 jsite.project-files.heading=Project Files
 jsite.project-files.description=<html>On this page you can specify parameters for the files within the project, such as<br>externally generated keys or MIME types, if the automatic detection failed.</html>
index 033ef06..83c7f1c 100644 (file)
@@ -125,6 +125,7 @@ jsite.project.warning.no-local-path=<html><b>Kein lokaler Pfad</b><br><br>Sie ha
 jsite.project.warning.no-path=<html><b>Kein Freesite-Pfad</b><br><br>Sie haben keinen Pfad f\u00fcr die Freesite angegeben.<br>Es ist nicht m\u00f6glich, ohne einen Freesite-Pfad weiter zu machen.</html>
 jsite.project.warning.generate-new-key=<html><b>Neues Schl\u00fcsselpaar generieren?</b><br><br>Wenn Sie das Schl\u00fcsselpaar f\u00fcr das Projekt \u00e4ndern,<br>wird sich die URI f\u00fcr Ihr Projekt ebenfalls<br>\u00e4ndern, und jegliches Vertrauen, dass andere<br>Benutzer in das alte Schl\u00fcsselpaar hatten, wird<br>verloren gehen!</html>
 jsite.project.warning.reset-edition=<html><b>Edition zur\u00fccksetzen?</b><br><br>Das Zur\u00fccksetzen der Editionsnummer kann zum<br>Fehlschlagen des Einf\u00fcgens f\u00fchren, wenn sich nicht<br>auch die URI oder der Pfad des Projekts ge\u00e4ndert haben!</html>
+jsite.project.warning.use-clipboard-now=<html><b>Anfrage-URI kopiert</b><br><br>Bitte beachten Sie, dass die Zwischenablage nach dem<br>Beenden von jSite eventuell nicht mehr die kopierte<br>URI enth\u00e4lt. Bitte f\u00fcgen Sie sie daher schleunigst in<br>ein anderes Programm ein!</html>
 
 jsite.project-files.heading=Projektdateien
 jsite.project-files.description=<html>Auf dieser Seite k\u00f6nnen Parameter f\u00fcr die einzelnen Dateien dieses Projekts angegeben werden, z.B.<br>extern erstellte Schl\u00fcssel oder der korrekte MIME-Typ, wenn er nicht automatisch richtig erkannt wurde.</html>
index f59e29c..f74da36 100644 (file)
@@ -593,6 +593,9 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
         * {@inheritDoc}
         */
        public void wizardQuitPressed(TWizard wizard) {
+               if (((ProjectPage) pages.get(PageType.PAGE_PROJECTS)).wasUriCopied() || ((ProjectInsertPage) pages.get(PageType.PAGE_INSERT_PROJECT)).wasUriCopied()) {
+                       JOptionPane.showMessageDialog(wizard, I18n.getMessage("jsite.project.warning.use-clipboard-now"));
+               }
                if (JOptionPane.showConfirmDialog(wizard, I18n.getMessage("jsite.quit.question"), null, JOptionPane.OK_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE) == JOptionPane.OK_OPTION) {
                        if (saveConfiguration()) {
                                System.exit(0);