Bug #757 » paste.patch
src/test/java/wjhk/jupload2/testhelpers/JUploadPanelTestHelper.java (copie de travail) | ||
---|---|---|
package wjhk.jupload2.testhelpers;
|
||
|
||
import java.awt.event.ActionListener;
|
||
import java.awt.event.KeyListener;
|
||
import java.awt.event.MouseEvent;
|
||
import java.awt.event.MouseListener;
|
||
|
||
... | ... | |
throw new UnsupportedOperationException(this.getClass()
|
||
+ ".getMouseListener() is not implemented in tests cases");
|
||
}
|
||
|
||
/**
|
||
* @see wjhk.jupload2.gui.JUploadPanel#getKeyListener()
|
||
*/
|
||
public KeyListener getKeyListener() {
|
||
throw new UnsupportedOperationException(this.getClass()
|
||
+ ".getKeyListener() is not implemented in tests cases");
|
||
}
|
||
|
||
/**
|
||
* @see wjhk.jupload2.gui.JUploadPanel#getPreparationProgressBar()
|
src/main/java/wjhk/jupload2/gui/JUploadPanelImpl.java (copie de travail) | ||
---|---|---|
import java.awt.event.ActionEvent;
|
||
import java.awt.event.ActionListener;
|
||
import java.awt.event.InputEvent;
|
||
import java.awt.event.KeyEvent;
|
||
import java.awt.event.KeyListener;
|
||
import java.awt.event.MouseEvent;
|
||
import java.awt.event.MouseListener;
|
||
... | ... | |
import javax.swing.JPanel;
|
||
import javax.swing.JProgressBar;
|
||
import javax.swing.JScrollPane;
|
||
import javax.swing.KeyStroke;
|
||
import javax.swing.ScrollPaneConstants;
|
||
import javax.swing.SwingConstants;
|
||
import javax.swing.TransferHandler;
|
||
... | ... | |
* @version $Revision$
|
||
*/
|
||
public class JUploadPanelImpl extends JPanel implements ActionListener,
|
||
JUploadPanel, MouseListener {
|
||
JUploadPanel, MouseListener, KeyListener {
|
||
/** A generated serialVersionUID, to avoid warning during compilation */
|
||
private static final long serialVersionUID = -1212601012568225757L;
|
||
... | ... | |
this.uploadPolicy, this);
|
||
this.setTransferHandler(jUploadTransfertHandler);
|
||
this.filePanel.setTransferHandler(jUploadTransfertHandler);
|
||
((FilePanelTableImp) this.filePanel).addKeyListener(this);
|
||
((FilePanelTableImp) this.filePanel).setFocusable(true);
|
||
ActionMap map = this.getActionMap();
|
||
map.put(TransferHandler.getPasteAction().getValue(Action.NAME),
|
||
TransferHandler.getPasteAction());
|
||
map.put(TransferHandler.getPasteAction().getValue(Action.NAME), TransferHandler.getPasteAction());
|
||
// The JUploadPanelImpl will listen to Mouse messages for the standard
|
||
// component. The current only application of this, it the CTRL+Righ
|
||
... | ... | |
this.uploadButton.addMouseListener(this);
|
||
this.jLogWindowPane.addMouseListener(this);
|
||
logWindow.addMouseListener(this);
|
||
this.jLogWindowPane.setFocusable(true);
|
||
this.logWindow.addMouseListener(this);
|
||
this.logWindow.setFocusable(true);
|
||
this.preparationProgressBar.addMouseListener(this);
|
||
this.uploadProgressBar.addMouseListener(this);
|
||
this.uploadProgressBar.addKeyListener(this);
|
||
this.uploadProgressBar.setFocusable(true);
|
||
this.statusLabel.addMouseListener(this);
|
||
this.statusLabel.addKeyListener(this);
|
||
|
||
// Then: display them on the applet
|
||
this.uploadPolicy.addComponentsToJUploadPanel(this);
|
||
}
|
||
... | ... | |
.getValue(Action.NAME);
|
||
if (e.getActionCommand().equals(actionPaste)) {
|
||
Action a = getActionMap().get(actionPaste);
|
||
if (a != null) {
|
||
a.actionPerformed(new ActionEvent(this.filePanel,
|
||
ActionEvent.ACTION_PERFORMED, e.getActionCommand()));
|
||
this.uploadPolicy.afterFileDropped(new DropTargetDropEvent(new DropTarget(
|
||
this.filePanel.getDropComponent(), this.dndListener).getDropTargetContext(),
|
||
new Point(), DnDConstants.ACTION_MOVE, DnDConstants.ACTION_COPY_OR_MOVE ));
|
||
}
|
||
processPasteAction(e.getActionCommand());
|
||
} else if (e.getActionCommand() == this.browseButton.getActionCommand()) {
|
||
doBrowse();
|
||
} else if (e.getActionCommand() == this.removeButton.getActionCommand()) {
|
||
... | ... | |
doStopUpload();
|
||
}
|
||
// focus the table. This is necessary in order to enable mouse
|
||
// events
|
||
// for triggering tooltips.
|
||
// events for triggering tooltips.
|
||
this.filePanel.focusTable();
|
||
}
|
||
... | ... | |
}
|
||
}
|
||
}
|
||
this.filePanel.focusTable();
|
||
return false;
|
||
}
|
||
... | ... | |
public ActionListener getActionListener() {
|
||
return this;
|
||
}
|
||
/** {@inheritDoc} */
|
||
public KeyListener getKeyListener() {
|
||
return this;
|
||
}
|
||
/** {@inheritDoc} */
|
||
public JButton getBrowseButton() {
|
||
... | ... | |
return fileUploadManagerThread;
|
||
}
|
||
public void keyTyped(KeyEvent e) {
|
||
if(e.isControlDown() && (e.getKeyChar() == 'c' || e.getKeyChar() == 'C' || e.getKeyChar() == '\u0016')) {
|
||
processPasteAction("paste");
|
||
this.filePanel.focusTable();
|
||
}
|
||
}
|
||
public void keyPressed(KeyEvent e) {
|
||
}
|
||
public void keyReleased(KeyEvent e) {
|
||
}
|
||
|
||
|
||
protected void processPasteAction(String command) {
|
||
Action a = getActionMap().get(TransferHandler.getPasteAction().getValue(Action.NAME));
|
||
if (a != null) {
|
||
a.actionPerformed(new ActionEvent(this.filePanel, ActionEvent.ACTION_PERFORMED, command));
|
||
this.uploadPolicy.afterFileDropped(new DropTargetDropEvent(new DropTarget(
|
||
this.filePanel.getDropComponent(), this.dndListener).getDropTargetContext(),
|
||
new Point(), DnDConstants.ACTION_MOVE, DnDConstants.ACTION_COPY_OR_MOVE ));
|
||
}
|
||
}
|
||
}
|
src/main/java/wjhk/jupload2/gui/JUploadPanel.java (copie de travail) | ||
---|---|---|
package wjhk.jupload2.gui;
|
||
import java.awt.event.ActionListener;
|
||
import java.awt.event.KeyListener;
|
||
import java.awt.event.MouseEvent;
|
||
import java.awt.event.MouseListener;
|
||
... | ... | |
* @return the MouseListener
|
||
*/
|
||
public MouseListener getMouseListener();
|
||
|
||
/**
|
||
* The component that manages the keyboard.
|
||
*
|
||
* @return the KeyListener
|
||
*/
|
||
public KeyListener getKeyListener();
|
||
/**
|
||
* @return the preparationProgressBar
|
src/main/java/wjhk/jupload2/gui/filepanel/FilePanelTableImp.java (copie de travail) | ||
---|---|---|
/**
|
||
* The main panel of the applet.
|
||
*/
|
||
private JUploadPanel juploadPanel = null;;
|
||
private JUploadPanel juploadPanel = null;
|
||
/**
|
||
* Creates a new instance.
|
||
... | ... | |
setLayout(new BorderLayout());
|
||
addMouseListener(juploadPanel.getMouseListener());
|
||
addKeyListener(juploadPanel.getKeyListener());
|
||
setTransferHandler(juploadPanel.getTransferHandler());
|
||
this.jtable = new FilePanelJTable(juploadPanel, uploadPolicy);
|
||
... | ... | |
JScrollPane scrollPane = new JScrollPane(this.jtable);
|
||
add(scrollPane, BorderLayout.CENTER);
|
||
scrollPane.addMouseListener(juploadPanel.getMouseListener());
|
||
scrollPane.addKeyListener(juploadPanel.getKeyListener());
|
||
}
|
||
/**
|
src/main/java/wjhk/jupload2/policies/DefaultUploadPolicy.java (copie de travail) | ||
---|---|---|
// Then, we display it to the user.
|
||
String alertMsg = errorText;
|
||
// Then, the message body can be completed by the exception message.
|
||
if (exception != null && (errorText == null || errorText.equals(""))) {
|
||
if (exception != null && (errorText == null || "".equals(errorText))) {
|
||
// Ok, we have an exception.
|
||
if (exception.getCause() != null) {
|
||
alertMsg = exception.getCause().getMessage();
|