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("");
}
}