version 0.4.9.8 0.4.9.8
authorDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Tue, 6 May 2008 20:00:07 +0000 (20:00 +0000)
committerDavid ‘Bombe’ Roden <bombe@freenetproject.org>
Tue, 6 May 2008 20:00:07 +0000 (20:00 +0000)
prevent that the project path contains a slash
clean project path on project loading
localize approve button of file chooser

src/de/todesbaum/jsite/gui/ProjectPage.java
src/de/todesbaum/jsite/main/Configuration.java
src/de/todesbaum/jsite/main/Main.java
src/de/todesbaum/jsite/main/Version.java

index dcef26a..f68ec57 100644 (file)
@@ -47,14 +47,16 @@ import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.JTextField;
 import javax.swing.ListSelectionModel;
-import javax.swing.ScrollPaneConstants;
 import javax.swing.border.EmptyBorder;
 import javax.swing.event.DocumentEvent;
 import javax.swing.event.DocumentListener;
 import javax.swing.event.ListSelectionEvent;
 import javax.swing.event.ListSelectionListener;
+import javax.swing.text.AbstractDocument;
+import javax.swing.text.AttributeSet;
 import javax.swing.text.BadLocationException;
 import javax.swing.text.Document;
+import javax.swing.text.DocumentFilter;
 
 import de.todesbaum.jsite.application.Freenet7Interface;
 import de.todesbaum.jsite.application.Project;
@@ -97,7 +99,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
                dialogInit();
                setHeading(I18n.getMessage("jsite.project.heading"));
                setDescription(I18n.getMessage("jsite.project.description"));
-               
+
                I18nContainer.getInstance().registerRunnable(new Runnable() {
 
                        public void run() {
@@ -205,9 +207,10 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
                projectGenerateKeyAction.putValue(Action.SHORT_DESCRIPTION, I18n.getMessage("jsite.project.action.generate-new-key.tooltip"));
                projectGenerateKeyAction.putValue(Action.MNEMONIC_KEY, KeyEvent.VK_G);
                projectGenerateKeyAction.setEnabled(false);
-               
+
                I18nContainer.getInstance().registerRunnable(new Runnable() {
 
+                       @SuppressWarnings("synthetic-access")
                        public void run() {
                                projectLocalPathBrowseAction.putValue(Action.NAME, I18n.getMessage("jsite.project.action.browse"));
                                projectLocalPathBrowseAction.putValue(Action.SHORT_DESCRIPTION, I18n.getMessage("jsite.project.action.browse.tooltip"));
@@ -221,6 +224,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
                                projectCopyURIAction.putValue(Action.SHORT_DESCRIPTION, I18n.getMessage("jsite.project.action.copy-uri.tooltip"));
                                projectGenerateKeyAction.putValue(Action.NAME, I18n.getMessage("jsite.project.action.generate-new-key"));
                                projectGenerateKeyAction.putValue(Action.SHORT_DESCRIPTION, I18n.getMessage("jsite.project.action.generate-new-key.tooltip"));
+                               pathChooser.setApproveButtonText(I18n.getMessage("jsite.project.action.browse.choose"));
                        }
                });
        }
@@ -296,6 +300,24 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
                projectPathTextField = new JTextField();
                projectPathTextField.getDocument().putProperty("name", "project.path");
                projectPathTextField.getDocument().addDocumentListener(this);
+               ((AbstractDocument) projectPathTextField.getDocument()).setDocumentFilter(new DocumentFilter() {
+
+                       /**
+                        * {@inheritDoc}
+                        */
+                       @Override
+                       public void insertString(FilterBypass fb, int offset, String string, AttributeSet attr) throws BadLocationException {
+                               super.insertString(fb, offset, string.replaceAll("/", ""), attr);
+                       }
+
+                       /**
+                        * {@inheritDoc}
+                        */
+                       @Override
+                       public void replace(FilterBypass fb, int offset, int length, String text, AttributeSet attrs) throws BadLocationException {
+                               super.replace(fb, offset, length, text.replaceAll("/", ""), attrs);
+                       }
+               });
                projectPathTextField.setEnabled(false);
 
                final TLabel projectPathLabel = new TLabel(I18n.getMessage("jsite.project.project.path") + ":", KeyEvent.VK_P, projectPathTextField);
@@ -428,7 +450,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
                        projectList.setSelectedIndex(projectListModel.indexOf(newProject));
                }
        }
-       
+
        protected void actionCopyURI() {
                int selectedIndex = projectList.getSelectedIndex();
                if (selectedIndex > -1) {
@@ -437,7 +459,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
                        clipboard.setContents(new StringSelection(selectedProject.getFinalRequestURI(0)), this);
                }
        }
-       
+
        protected void actionGenerateNewKey() {
                if (JOptionPane.showConfirmDialog(this, I18n.getMessage("jsite.project.warning.generate-new-key"), null, JOptionPane.OK_CANCEL_OPTION) == JOptionPane.CANCEL_OPTION) {
                        return;
@@ -525,7 +547,7 @@ public class ProjectPage extends TWizardPage implements ListSelectionListener, D
        public void changedUpdate(DocumentEvent documentEvent) {
                setTextField(documentEvent);
        }
-       
+
        //
        // INTERFACE ClipboardOwner
        //
index f14ed01..64f3771 100644 (file)
@@ -241,6 +241,9 @@ public class Configuration {
                                        project.setLocalPath(projectNode.getNode("local-path").getValue());
                                        project.setName(projectNode.getNode("name").getValue());
                                        project.setPath(projectNode.getNode("path").getValue());
+                                       if (project.getPath().indexOf("/") != -1) {
+                                               project.setPath(project.getPath().replaceAll("/", ""));
+                                       }
                                        project.setEdition(Integer.parseInt(projectNode.getNode("edition").getValue()));
                                        project.setInsertURI(projectNode.getNode("insert-uri").getValue());
                                        project.setRequestURI(projectNode.getNode("request-uri").getValue());
index 230f2ec..aca9f73 100644 (file)
@@ -86,7 +86,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
        private Main() {
                this(null);
        }
-       
+
        private Main(String configFilename) {
                if (configFilename != null) {
                        configuration = new Configuration(configFilename);
@@ -135,7 +135,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
                                JOptionPane.showMessageDialog(wizard, MessageFormat.format(I18n.getMessage("jsite.about.message"), Version.getVersion()), null, JOptionPane.INFORMATION_MESSAGE, jSiteIcon);
                        }
                };
-               
+
                I18nContainer.getInstance().registerRunnable(new Runnable() {
                        public void run() {
                                manageNodeAction.putValue(Action.NAME, I18n.getMessage("jsite.menu.nodes.manage-nodes"));
@@ -172,7 +172,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
                final JMenu helpMenu = new JMenu(I18n.getMessage("jsite.menu.help"));
                menuBar.add(helpMenu);
                helpMenu.add(aboutAction);
-               
+
                I18nContainer.getInstance().registerRunnable(new Runnable() {
                        public void run() {
                                languageMenu.setText(I18n.getMessage("jsite.menu.languages"));
@@ -183,7 +183,7 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
                                }
                        }
                });
-               
+
                return menuBar;
        }
 
@@ -467,5 +467,5 @@ public class Main implements ActionListener, ListSelectionListener, WizardListen
                System.out.println("--debug\tenables some debug output");
                System.out.println("--config-file <file>\tuse specified configuration file");
        }
-       
+
 }
index 6ef8dbc..553eadf 100644 (file)
@@ -25,7 +25,7 @@ package de.todesbaum.jsite.main;
  */
 public class Version {
 
-       private static final String VERSION = "0.4.9.7";
+       private static final String VERSION = "0.4.9.8";
 
        public static final String getVersion() {
                return VERSION;