Author: jflesch
Date: 2006-07-11 20:42:59 +0000 (Tue, 11 Jul 2006)
New Revision: 9566

Modified:
   trunk/apps/Thaw/src/thaw/core/Main.java
   trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
   trunk/apps/Thaw/src/thaw/fcp/FCPConnection.java
   trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java
   trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java
   trunk/apps/Thaw/src/thaw/i18n/thaw.properties
   trunk/apps/Thaw/src/thaw/plugins/insertPlugin/InsertPanel.java
   trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DetailPanel.java
Log:
Insertion UI is ready (but insertions are still not implemented)

Modified: trunk/apps/Thaw/src/thaw/core/Main.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Main.java     2006-07-11 19:30:05 UTC (rev 
9565)
+++ trunk/apps/Thaw/src/thaw/core/Main.java     2006-07-11 20:42:59 UTC (rev 
9566)
@@ -29,7 +29,7 @@
                parseCommandLine(args);

                core = new Core();
-               core.setLookAndFeel(lookAndFeel);
+               Core.setLookAndFeel(lookAndFeel);
                core.initAll();
        }


Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java      2006-07-11 19:30:05 UTC 
(rev 9565)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java      2006-07-11 20:42:59 UTC 
(rev 9566)
@@ -581,4 +581,8 @@

                return identifier;
        }
+
+       public boolean isGlobal() {
+               return globalQueue;
+       }
 }

Modified: trunk/apps/Thaw/src/thaw/fcp/FCPConnection.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPConnection.java     2006-07-11 19:30:05 UTC 
(rev 9565)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPConnection.java     2006-07-11 20:42:59 UTC 
(rev 9566)
@@ -193,6 +193,13 @@
        }

        /**
+        * @see read(int, byte[])
+        */
+       public int read(byte[] buf) {
+               return read(buf.length, buf);
+       }
+
+       /**
         * @param lng Obsolete.
         */
        public synchronized int read(int lng, byte[] buf) {

Modified: trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java        2006-07-11 19:30:05 UTC 
(rev 9565)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java        2006-07-11 20:42:59 UTC 
(rev 9566)
@@ -7,8 +7,8 @@

 /**
  * This class is a generic class, able to handle all kind of FCPMessage.
- * Raw data are NOT stored inside. You have to handle them by yourself
- * (FCPConnection.getInputStream() / FCPConnection.getOutputStream())
+ * Raw data are NOT stored inside. You *have* to handle them by yourself
+ * (FCPConnection.read() / FCPConnection.write())
  * after reading / writing a message with this class.
  */
 public class FCPMessage {

Modified: trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java  2006-07-11 19:30:05 UTC 
(rev 9565)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPTransferQuery.java  2006-07-11 20:42:59 UTC 
(rev 9566)
@@ -92,6 +92,7 @@


        public boolean isPersistent();
+       public boolean isGlobal();

        /**
         * @return can be null (if non active, or meaningless).

Modified: trunk/apps/Thaw/src/thaw/i18n/thaw.properties
===================================================================
--- trunk/apps/Thaw/src/thaw/i18n/thaw.properties       2006-07-11 19:30:05 UTC 
(rev 9565)
+++ trunk/apps/Thaw/src/thaw/i18n/thaw.properties       2006-07-11 20:42:59 UTC 
(rev 9566)
@@ -26,9 +26,11 @@
 thaw.common.try=Try
 thaw.common.key=Key

+thaw.common.selectFile=Select file
 thaw.common.selectFiles=Select file(s)

 thaw.common.persistence=Continue
+thaw.common.persistant=Persistant
 thaw.common.persistenceForever=Until the transfer completes
 thaw.common.persistenceReboot=Until the freenode reboots
 thaw.common.persistenceConnection=Until Thaw is closed
@@ -36,7 +38,8 @@
 thaw.common.globalQueue=Global queue
 thaw.common.true=True
 thaw.common.false=False
-
+thaw.common.yes=Yes
+thaw.common.no=No
 thaw.common.priority=Priority

 thaw.common.removeFromTheList=Remove from the list
@@ -74,6 +77,7 @@
 thaw.config.pluginsLoaded=Plugins loaded:

 ##?Plugins
+thaw.plugin.insert.fileToInsert=File to insert
 thaw.plugin.insert.filesToInsert=File(s) to insert
 thaw.plugin.insert.selectKey=Select the kind of key wanted
 thaw.plugin.insert.KSK=KSK (not recommended)

Modified: trunk/apps/Thaw/src/thaw/plugins/insertPlugin/InsertPanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/insertPlugin/InsertPanel.java      
2006-07-11 19:30:05 UTC (rev 9565)
+++ trunk/apps/Thaw/src/thaw/plugins/insertPlugin/InsertPanel.java      
2006-07-11 20:42:59 UTC (rev 9566)
@@ -11,12 +11,18 @@
 import javax.swing.JRadioButton;
 import javax.swing.JTextField;
 import java.awt.Dimension;
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import javax.swing.JFileChooser;
+import java.io.File;
+import java.awt.event.ItemListener;
+import java.awt.event.ItemEvent;

 import thaw.core.*;
 import thaw.i18n.I18n;


-public class InsertPanel {
+public class InsertPanel implements ActionListener, ItemListener {
        private JPanel globalPanel = null;

        private JPanel mainPanel;
@@ -25,7 +31,7 @@


        private JLabel browseLabel;
-       private JTextField selectedFiles;
+       private JTextField selectedFiles; /* TODO: it was planned to support 
directory insertion */
        private JButton browseButton;

        private JLabel selectKeyLabel;
@@ -74,12 +80,13 @@

                JPanel subSubPanel = new JPanel();
                subSubPanel.setLayout(new GridLayout(3, 1));
-               browseLabel = new 
JLabel(I18n.getMessage("thaw.plugin.insert.filesToInsert"));
+               browseLabel = new 
JLabel(I18n.getMessage("thaw.plugin.insert.fileToInsert"));
                subSubPanel.add(browseLabel);
                selectedFiles = new JTextField(20);
-               selectedFiles.setEditable(false);
+               selectedFiles.setEditable(true);
                subSubPanel.add(selectedFiles);
-               browseButton = new 
JButton(I18n.getMessage("thaw.common.selectFiles"));
+               browseButton = new 
JButton(I18n.getMessage("thaw.common.selectFile"));
+               browseButton.addActionListener(this);
                subSubPanel.add(browseButton);

                subPanel.add(subSubPanel);
@@ -98,6 +105,7 @@
                keyRadioButtons[2] = new 
JRadioButton(I18n.getMessage("thaw.plugin.insert.SSK"));
                keyRadioGroup = new ButtonGroup();
                for(int i = 0 ; i < keyRadioButtons.length ; i++) {
+                       keyRadioButtons[i].addItemListener(this);
                        keyRadioGroup.add(keyRadioButtons[i]);
                        subSubPanel.add(keyRadioButtons[i]);
                }
@@ -224,5 +232,52 @@
                return globalPanel;
        }

+
+       public void actionPerformed(ActionEvent e) {
+               if(e.getSource() == browseButton) {
+                       FileChooser fileChooser = new FileChooser();
+                       File files;
+
+                       
fileChooser.setTitle(I18n.getMessage("thaw.common.selectFile"));
+                       fileChooser.setDirectoryOnly(false);
+                       fileChooser.setDialogType(JFileChooser.OPEN_DIALOG);
+                       if( (files = fileChooser.askOneFile()) == null) { /* 
TODO: One file -> Many files */
+                               Logger.info(this, "Nothing selected");
+                               return;
+                       }
+                       
+                       selectedFiles.setText(files.getPath());
+               }
+       }
+
+
+       public void itemStateChanged(ItemEvent e) {
+               if(e.getItem() == keyRadioButtons[0]
+                  && e.getStateChange() == ItemEvent.SELECTED) { /* CHK */
+                       privateKeyField.setEditable(false);
+                       publicKeyField.setEditable(false);
+                       revField.setEditable(false);
+                       nameField.setEditable(false);
+                       return;
+               }
+
+               if(e.getItem() == keyRadioButtons[1]
+                  && e.getStateChange() == ItemEvent.SELECTED) { /* KSK */
+                       privateKeyField.setEditable(false);
+                       publicKeyField.setEditable(false);
+                       revField.setEditable(true);
+                       nameField.setEditable(true);
+                       return;
+               }
+
+               if(e.getItem() == keyRadioButtons[2]
+                  && e.getStateChange() == ItemEvent.SELECTED) { /* SSK */
+                       privateKeyField.setEditable(true);
+                       publicKeyField.setEditable(true);
+                       revField.setEditable(true);
+                       nameField.setEditable(true);
+                       return;
+               }
+       }
 }


Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DetailPanel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DetailPanel.java      
2006-07-11 19:30:05 UTC (rev 9565)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/DetailPanel.java      
2006-07-11 20:42:59 UTC (rev 9566)
@@ -37,11 +37,13 @@
        private JTextField priority   = new JTextField();
        private JTextField attempt    = new JTextField();
        private JTextField identifier = new JTextField();
+       private JTextField globalQueue= new JTextField();
+       private JTextField persistence= new JTextField();

        private FCPTransferQuery query = null;


-       private final static Dimension dim = new Dimension(300, 275);
+       private final static Dimension dim = new Dimension(300, 375);


        public DetailPanel(Core core) {
@@ -58,7 +60,9 @@
                                        
I18n.getMessage("thaw.common.localPath"),
                                        I18n.getMessage("thaw.common.priority"),
                                        I18n.getMessage("thaw.common.try")+" #",
-                                       
I18n.getMessage("thaw.common.identifier")
+                                       
I18n.getMessage("thaw.common.identifier"),
+                                       
I18n.getMessage("thaw.common.globalQueue"),
+                                       
I18n.getMessage("thaw.common.persistant")
                };

                subPanel.setLayout(new GridLayout(fieldNames.length*2, 1));
@@ -85,6 +89,8 @@
                                case(6): field = priority; 
priority.setEditable(false); break;
                                case(7): field = attempt; 
attempt.setEditable(false); break;
                                case(8): field = identifier; 
identifier.setEditable(false); break;
+                               case(9): field = globalQueue; 
globalQueue.setEditable(false); break;
+                               case(10): field = persistence; 
persistence.setEditable(false); break;
                                default: Logger.error(this, "Gouli goula ? ... 
is going to crash :p"); break;
                                }

@@ -160,12 +166,23 @@
                        key.setText(query.getFileKey());
                        path.setText(query.getPath());
                        priority.setText((new 
Integer(query.getThawPriority())).toString());
+                       if(query.isPersistent())
+                               
persistence.setText(I18n.getMessage("thaw.common.yes"));
+                       else
+                               
persistence.setText(I18n.getMessage("thaw.common.no"));
+
+                       if(query.isGlobal())
+                               
globalQueue.setText(I18n.getMessage("thaw.common.yes"));
+                       else
+                               
globalQueue.setText(I18n.getMessage("thaw.common.no"));
                } else {
                        file.setText("");
                        size.setText("");
                        key.setText("");
                        path.setText("");
                        priority.setText("");
+                       globalQueue.setText("");
+                       persistence.setText("");
                }

        }


Reply via email to