From 472fccc78805489b336d42c86958dd85f5a6a37e Mon Sep 17 00:00:00 2001 From: Craig Raw Date: Fri, 29 Apr 2022 12:18:17 +0200 Subject: [PATCH] enable pasting a string into send to many spreadsheet using pre-editing cell context menu --- .../sparrow/control/SendToManyDialog.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/sparrowwallet/sparrow/control/SendToManyDialog.java b/src/main/java/com/sparrowwallet/sparrow/control/SendToManyDialog.java index fd8b1344..ca484a8a 100644 --- a/src/main/java/com/sparrowwallet/sparrow/control/SendToManyDialog.java +++ b/src/main/java/com/sparrowwallet/sparrow/control/SendToManyDialog.java @@ -14,6 +14,7 @@ import javafx.scene.Node; import javafx.scene.control.*; import javafx.scene.image.Image; import javafx.scene.image.ImageView; +import javafx.scene.input.Clipboard; import javafx.scene.layout.StackPane; import javafx.stage.FileChooser; import javafx.util.StringConverter; @@ -47,7 +48,19 @@ public class SendToManyDialog extends Dialog> { List initialPayments = IntStream.range(0, 100).mapToObj(i -> new Payment(null, null, -1, false)).collect(Collectors.toList()); Grid grid = getGrid(initialPayments); - spreadsheetView = new SpreadsheetView(grid); + spreadsheetView = new SpreadsheetView(grid) { + @Override + public void pasteClipboard() { + final Clipboard clipboard = Clipboard.getSystemClipboard(); + if(clipboard.hasString()) { + final TablePosition tp = getSelectionModel().getFocusedCell(); + SpreadsheetCell cell = getGrid().getRows().get(tp.getRow()).get(tp.getColumn()); + getGrid().setCellValue(cell.getRow(), cell.getColumn(), cell.getCellType().convertValue(clipboard.getString())); + } else { + super.pasteClipboard(); + } + } + }; spreadsheetView.getColumns().get(0).setPrefWidth(400); spreadsheetView.getColumns().get(1).setPrefWidth(150); spreadsheetView.getColumns().get(2).setPrefWidth(247);