mirror of
https://github.com/bitcoin-s/bitcoin-s.git
synced 2025-02-22 22:36:34 +01:00
Add export and copy result buttons (#3193)
* Bring back export result button * Add export and copy result buttons
This commit is contained in:
parent
46b33ec0b8
commit
5580771f03
1 changed files with 37 additions and 1 deletions
|
@ -5,6 +5,14 @@ import org.bitcoins.gui.TaskRunner
|
|||
import scalafx.geometry.{Insets, Pos}
|
||||
import scalafx.scene.control._
|
||||
import scalafx.scene.layout._
|
||||
import scalafx.stage.FileChooser
|
||||
import scalafx.stage.FileChooser.ExtensionFilter
|
||||
|
||||
import java.awt.Toolkit.getDefaultToolkit
|
||||
import java.awt.datatransfer.StringSelection
|
||||
import java.io.File
|
||||
import java.nio.file.Files
|
||||
import scala.util.Properties
|
||||
|
||||
class DLCPane(glassPane: VBox) {
|
||||
|
||||
|
@ -103,10 +111,38 @@ class DLCPane(glassPane: VBox) {
|
|||
spacing = 10
|
||||
}
|
||||
|
||||
val exportResultButton: Button = new Button("Export Result") {
|
||||
onAction = _ => {
|
||||
val txtExtensionFilter = new ExtensionFilter("Text Files", "*.txt")
|
||||
val allExtensionFilter = new ExtensionFilter("All Files", "*")
|
||||
val fileChooser = new FileChooser() {
|
||||
extensionFilters.addAll(txtExtensionFilter, allExtensionFilter)
|
||||
selectedExtensionFilter = txtExtensionFilter
|
||||
initialDirectory = new File(Properties.userHome)
|
||||
}
|
||||
val chosenFile = fileChooser.showSaveDialog(null)
|
||||
Files.write(chosenFile.toPath, resultTextArea.text.value.getBytes)
|
||||
()
|
||||
}
|
||||
}
|
||||
|
||||
val copyResultButton: Button = new Button("Copy Result") {
|
||||
onAction = _ => {
|
||||
val clipboard = getDefaultToolkit.getSystemClipboard
|
||||
val sel = new StringSelection(resultTextArea.text.value)
|
||||
clipboard.setContents(sel, sel)
|
||||
}
|
||||
}
|
||||
|
||||
val resultButtonHBox: HBox = new HBox() {
|
||||
spacing = 10
|
||||
children = Vector(exportResultButton, copyResultButton)
|
||||
}
|
||||
|
||||
private val tableView = new DLCTableView(model).tableView
|
||||
|
||||
private val textAreasAndTableViewVBox = new VBox {
|
||||
children = Seq(textAreaHBox, tableView)
|
||||
children = Seq(textAreaHBox, resultButtonHBox, tableView)
|
||||
spacing = 10
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue