* maybe finally fixed DnD on Linux ...
This commit is contained in:
parent
ed40d4099e
commit
6766e1bb95
|
@ -32,7 +32,7 @@ class NamesListTransferablePolicy extends FileTransferablePolicy {
|
|||
|
||||
private final List<Object> model;
|
||||
|
||||
|
||||
|
||||
public NamesListTransferablePolicy(List<Object> model) {
|
||||
this.model = model;
|
||||
}
|
||||
|
@ -78,10 +78,10 @@ class NamesListTransferablePolicy extends FileTransferablePolicy {
|
|||
protected void load(String string) {
|
||||
List<String> values = new ArrayList<String>();
|
||||
|
||||
Scanner scanner = new Scanner(string).useDelimiter(LINE_SEPARATOR);
|
||||
Scanner scanner = new Scanner(string);
|
||||
|
||||
while (scanner.hasNext()) {
|
||||
String line = scanner.next();
|
||||
while (scanner.hasNextLine()) {
|
||||
String line = scanner.nextLine();
|
||||
|
||||
if (line.trim().length() > 0) {
|
||||
values.add(line);
|
||||
|
@ -116,10 +116,10 @@ class NamesListTransferablePolicy extends FileTransferablePolicy {
|
|||
protected void loadListFiles(List<File> files, List<Object> values) throws FileNotFoundException {
|
||||
for (File file : files) {
|
||||
// don't use new Scanner(File) because of BUG 6368019 (http://bugs.sun.com/view_bug.do?bug_id=6368019)
|
||||
Scanner scanner = new Scanner(new FileInputStream(file), "UTF-8").useDelimiter(LINE_SEPARATOR);
|
||||
Scanner scanner = new Scanner(new FileInputStream(file), "UTF-8");
|
||||
|
||||
while (scanner.hasNext()) {
|
||||
String line = scanner.next();
|
||||
while (scanner.hasNextLine()) {
|
||||
String line = scanner.nextLine();
|
||||
|
||||
if (line.trim().length() > 0) {
|
||||
values.add(line);
|
||||
|
|
|
@ -14,17 +14,10 @@ import java.util.List;
|
|||
import java.util.Scanner;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
|
||||
public abstract class FileTransferablePolicy extends TransferablePolicy {
|
||||
|
||||
/**
|
||||
* Pattern that will match Windows (\r\n), Unix (\n) and Mac (\r) line separators.
|
||||
*/
|
||||
public static final Pattern LINE_SEPARATOR = Pattern.compile("\r\n|[\r\n]");
|
||||
|
||||
|
||||
@Override
|
||||
public boolean accept(Transferable tr) throws Exception {
|
||||
List<File> files = getFilesFromTransferable(tr);
|
||||
|
@ -43,14 +36,14 @@ public abstract class FileTransferablePolicy extends TransferablePolicy {
|
|||
return (List<File>) tr.getTransferData(DataFlavor.javaFileListFlavor);
|
||||
} else if (tr.isDataFlavorSupported(FileTransferable.uriListFlavor)) {
|
||||
// file URI list flavor
|
||||
String transferData = (String) tr.getTransferData(FileTransferable.uriListFlavor);
|
||||
Readable transferData = (Readable) tr.getTransferData(FileTransferable.uriListFlavor);
|
||||
|
||||
Scanner scanner = new Scanner(transferData).useDelimiter(LINE_SEPARATOR);
|
||||
Scanner scanner = new Scanner(transferData);
|
||||
|
||||
List<File> files = new ArrayList<File>();
|
||||
|
||||
while (scanner.hasNext()) {
|
||||
String uri = scanner.next();
|
||||
while (scanner.hasNextLine()) {
|
||||
String uri = scanner.nextLine();
|
||||
|
||||
if (uri.startsWith("#")) {
|
||||
// the line is a comment (as per RFC 2483)
|
||||
|
|
Loading…
Reference in New Issue