Author: bombe
Date: 2007-09-29 21:30:29 +0000 (Sat, 29 Sep 2007)
New Revision: 15405

Modified:
   trunk/apps/jSite/src/de/todesbaum/jsite/gui/ProjectPage.java
   trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite.properties
   trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite_de.properties
   trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite_fr.properties
   trunk/apps/jSite/src/de/todesbaum/jsite/main/Version.java
Log:
add button to generate a new key pair for a project

Modified: trunk/apps/jSite/src/de/todesbaum/jsite/gui/ProjectPage.java
===================================================================
--- trunk/apps/jSite/src/de/todesbaum/jsite/gui/ProjectPage.java        
2007-09-29 21:29:34 UTC (rev 15404)
+++ trunk/apps/jSite/src/de/todesbaum/jsite/gui/ProjectPage.java        
2007-09-29 21:30:29 UTC (rev 15405)
@@ -76,6 +76,7 @@
        private Action projectDeleteAction;
        private Action projectCloneAction;
        private Action projectCopyURIAction;
+       private Action projectGenerateKeyAction;

        private JFileChooser pathChooser;
        private SortedListModel projectListModel;
@@ -179,6 +180,15 @@
                projectCopyURIAction.putValue(Action.SHORT_DESCRIPTION, 
I18n.getMessage("jsite.project.action.copy-uri.tooltip"));
                projectCopyURIAction.putValue(Action.MNEMONIC_KEY, 
KeyEvent.VK_U);
                projectCopyURIAction.setEnabled(false);
+               
+               projectGenerateKeyAction = new 
AbstractAction(I18n.getMessage("jsite.project.action.generate-new-key")) {
+                       public void actionPerformed(ActionEvent actionEvent) {
+                               actionGenerateNewKey();
+                       }
+               };
+               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);
        }

        private JComponent createInformationPanel() {
@@ -231,7 +241,8 @@
                projectPublicKeyTextField.setEnabled(false);

                informationTable.add(new 
TLabel(I18n.getMessage("jsite.project.project.public-key") + ":", 
KeyEvent.VK_U, projectPublicKeyTextField), new GridBagConstraints(0, 5, 1, 1, 
0.0, 0.0, GridBagConstraints.LINE_START, GridBagConstraints.NONE, new Insets(6, 
18, 0, 0), 0, 0));
-               informationTable.add(projectPublicKeyTextField, new 
GridBagConstraints(1, 5, 2, 1, 1.0, 0.0, GridBagConstraints.CENTER, 
GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
+               informationTable.add(projectPublicKeyTextField, new 
GridBagConstraints(1, 5, 1, 1, 1.0, 0.0, GridBagConstraints.CENTER, 
GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));
+               informationTable.add(new JButton(projectGenerateKeyAction), new 
GridBagConstraints(2, 5, 1, 1, 0.0, 0.0, GridBagConstraints.CENTER, 
GridBagConstraints.HORIZONTAL, new Insets(6, 6, 0, 0), 0, 0));

                projectPrivateKeyTextField = new JTextField(27);
                projectPrivateKeyTextField.getDocument().putProperty("name", 
"project.privatekey");
@@ -369,6 +380,27 @@
                        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;
+               }
+               int selectedIndex = projectList.getSelectedIndex();
+               if (selectedIndex > -1) {
+                       Project selectedProject = (Project) 
projectList.getSelectedValue();
+                       String[] keyPair = null;
+                       try {
+                               keyPair = freenetInterface.generateKeyPair();
+                       } catch (IOException ioe1) {
+                               JOptionPane.showMessageDialog(this, 
MessageFormat.format(I18n.getMessage("jsite.project.keygen.io-error"), 
ioe1.getMessage()), null, JOptionPane.ERROR_MESSAGE);
+                               return;
+                       }
+                       selectedProject.setInsertURI(keyPair[0]);
+                       selectedProject.setRequestURI(keyPair[1]);
+                       
projectPublicKeyTextField.setText(selectedProject.getRequestURI());
+                       
projectPrivateKeyTextField.setText(selectedProject.getInsertURI());
+               }
+       }

        //
        // INTERFACE ListSelectionListener
@@ -390,6 +422,7 @@
                projectDeleteAction.setEnabled(selectedRow > -1);
                projectCloneAction.setEnabled(selectedRow > -1);
                projectCopyURIAction.setEnabled(selectedRow > -1);
+               projectGenerateKeyAction.setEnabled(selectedRow > -1);
                if (selectedRow > -1) {
                        projectNameTextField.setText(selectedProject.getName());
                        
projectDescriptionTextField.setText(selectedProject.getDescription());

Modified: trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite.properties
===================================================================
--- trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite.properties       
2007-09-29 21:29:34 UTC (rev 15404)
+++ trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite.properties       
2007-09-29 21:30:29 UTC (rev 15405)
@@ -79,6 +79,8 @@
 jsite.project.action.clone-project.tooltip=Clone the selected project
 jsite.project.action.copy-uri=Copy URI to Clipboard
 jsite.project.action.copy-uri.tooltip=Copies the URI of the project to the 
clipboard
+jsite.project.action.generate-new-key=Generate New Key
+jsite.project.action.generate-new-key.tooltip=Generates a new key for the 
project
 jsite.project.project.information=Project Information
 jsite.project.project.name=Name
 jsite.project.project.description=Description
@@ -91,6 +93,7 @@
 jsite.project.keygen.io-error=<html><b>Node communication 
failure</b><br><br>Communication with the node failed<br>with the following 
error message:<br><br><code>{0}</code><br><br>Please make sure that you have 
entered<br>the correct host name and port number<br>on the "Node Settings" 
page.</html>
 jsite.project.warning.no-local-path=<html><b>No local path</b><br><br>You did 
not specify a local path for the files to insert.<br>It is not possible to 
continue without one.</html>
 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-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> 

Modified: trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite_de.properties
===================================================================
--- trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite_de.properties    
2007-09-29 21:29:34 UTC (rev 15404)
+++ trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite_de.properties    
2007-09-29 21:30:29 UTC (rev 15405)
@@ -79,6 +79,8 @@
 jsite.project.action.clone-project.tooltip=Das ausgew?hlte Projekt duplizieren
 jsite.project.action.copy-uri=URI kopieren
 jsite.project.action.copy-uri.tooltip=Kopiert die URI des ausgew?hlten 
Projektes in die Zwischenablage
+jsite.project.action.generate-new-key=Schl?ssel generieren
+jsite.project.action.generate-new-key.tooltip=Generiert ein neues 
Schl?sselpaar f?r das Projekt
 jsite.project.project.information=Projektinformation
 jsite.project.project.name=Name
 jsite.project.project.description=Beschreibung
@@ -91,6 +93,7 @@
 jsite.project.keygen.io-error=<html><b>Kommunikation 
fehlgeschlagen</b><br><br>Die Kommunikation mit dem Freenet Node<br>ergab 
folgende Fehlermeldung:<br><br><code>{0}</code><br><br>Bitte vergewissern Sie 
sich, dass der Node l?uft und dass Sie<br> den korrekten Hostnamen und die 
korrekte Portnummer auf der<br>\u201eNode Einstellungen\u201c Seite eingegeben 
haben.</html>
 jsite.project.warning.no-local-path=<html><b>Kein lokaler Pfad</b><br><br>Sie 
haben keinen lokalen Pfad f?r die einzuf?genden Dateien angegeben.<br>Es ist 
nicht m?glich, ohne lokalen Pfad weiter zu machen.</html>
 jsite.project.warning.no-path=<html><b>Kein Freesite-Pfad</b><br><br>Sie haben 
keinen Pfad f?r die Freesite angegeben.<br>Es ist nicht m?glich, ohne einen 
Freesite-Pfad weiter zu machen.</html>
+jsite.project.warning.generate-new-key=<html><b>Neues Schl?sselpaar 
generieren?</b><br><br>Wenn Sie das Schl?sselpaar f?r das Projekt 
?ndern,<br>wird sich die URI f?r Ihr Projekt ebenfalls<br>?ndern, und jegliches 
Vertrauen, dass andere<br>Benutzer in das alte Schl?sselpaar hatten, 
wird<br>verloren gehen!</html>

 jsite.project-files.heading=Projektdateien
 jsite.project-files.description=<html>Auf dieser Seite k?nnen Parameter f?r 
die einzelnen Dateien dieses Projekts angegeben werden, z.B.<br>extern 
erstellte Schl?ssel oder der korrekte MIME-Typ, wenn er nicht automatisch 
richtig erkannt wurde.</html> 

Modified: trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite_fr.properties
===================================================================
--- trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite_fr.properties    
2007-09-29 21:29:34 UTC (rev 15404)
+++ trunk/apps/jSite/src/de/todesbaum/jsite/i18n/jSite_fr.properties    
2007-09-29 21:30:29 UTC (rev 15405)
@@ -77,6 +77,8 @@
 jsite.project.action.clone-project=Cloner le projet
 jsite.project.action.clone-project.copy=Copie de {0}
 jsite.project.action.clone-project.tooltip=Cloner le projet s?lectionn?
+jsite.project.action.generate-new-key=
+jsite.project.action.generate-new-key.tooltip=
 jsite.project.project.information=Informations concernant le projet
 jsite.project.project.name=Nom
 jsite.project.project.description=Description
@@ -89,6 +91,7 @@
 jsite.project.keygen.io-error=<html><b>Erreur de communication avec le 
noeud</b><br><br>La communication avec le noeud ? 
?chou?e<br>Erreur:<br><br><code>{0}</code><br><br>Assurez vous que les 
informations saisies dans la page de configuration sont correctes.</html>
 jsite.project.warning.no-local-path=<html><b>Pas de chemin local 
sp?cifi?</b><br><br>Vous avez omis de sp?cifier le chemin local ? 
ins?rer.</html>
 jsite.project.warning.no-path=<html><b>Vous n'avez pas sp?cifi? de chemin dans 
le freesite</b><br><br>Vous n'avez pas sp?cifi? de chemin dans le 
freesite.<br>Ce champ est n?cessaire.</html>
+jsite.project.warning.generate-new-key=

 jsite.project-files.heading=Fichiers du projet
 jsite.project-files.description=<html>Dans cette page vous pouvez sp?cifier 
les informations concernant la configuration des noeuds telles que:<br>Le type 
de contenu mime si l'auto d?tection ? ?chou?e.</html> 

Modified: trunk/apps/jSite/src/de/todesbaum/jsite/main/Version.java
===================================================================
--- trunk/apps/jSite/src/de/todesbaum/jsite/main/Version.java   2007-09-29 
21:29:34 UTC (rev 15404)
+++ trunk/apps/jSite/src/de/todesbaum/jsite/main/Version.java   2007-09-29 
21:30:29 UTC (rev 15405)
@@ -25,7 +25,7 @@
  */
 public class Version {

-       private static final String VERSION = "0.4.8.2-pre-1";
+       private static final String VERSION = "0.4.9";

        public static final String getVersion() {
                return VERSION;


Reply via email to