From 54a23336a06e43bfb2c19c7cdead5594f06edd16 Mon Sep 17 00:00:00 2001 From: Samir Mokiem Date: Sat, 4 Apr 2020 17:59:41 +0200 Subject: Added export functionality to CrashDialog.java (#208) * Added export functionality to CrashDialog.java * Update french crash.export translation Co-Authored-By: Yanis48 Co-authored-by: Yanis48 --- .../java/cuchaz/enigma/gui/dialog/CrashDialog.java | 24 +++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) (limited to 'src/main/java/cuchaz/enigma/gui/dialog') diff --git a/src/main/java/cuchaz/enigma/gui/dialog/CrashDialog.java b/src/main/java/cuchaz/enigma/gui/dialog/CrashDialog.java index 7e66ecd..3921b51 100644 --- a/src/main/java/cuchaz/enigma/gui/dialog/CrashDialog.java +++ b/src/main/java/cuchaz/enigma/gui/dialog/CrashDialog.java @@ -19,6 +19,9 @@ import javax.swing.*; import java.awt.*; import java.io.PrintWriter; import java.io.StringWriter; +import java.io.FileWriter; +import java.io.File; +import java.io.IOException; public class CrashDialog { @@ -44,9 +47,24 @@ public class CrashDialog { // buttons panel JPanel buttonsPanel = new JPanel(); - FlowLayout buttonsLayout = new FlowLayout(); - buttonsLayout.setAlignment(FlowLayout.RIGHT); - buttonsPanel.setLayout(buttonsLayout); + buttonsPanel.setLayout(new BoxLayout(buttonsPanel, BoxLayout.LINE_AXIS)); + JButton exportButton = new JButton(I18n.translate("crash.export")); + exportButton.addActionListener(event -> { + JFileChooser chooser = new JFileChooser(); + chooser.setSelectedFile(new File("enigma_crash.log")); + if (chooser.showSaveDialog(null) == JFileChooser.APPROVE_OPTION) { + try { + File file = chooser.getSelectedFile(); + FileWriter writer = new FileWriter(file); + writer.write(instance.text.getText()); + writer.close(); + } catch (IOException ex) { + ex.printStackTrace(); + } + } + }); + buttonsPanel.add(exportButton); + buttonsPanel.add(Box.createHorizontalGlue()); buttonsPanel.add(Utils.unboldLabel(new JLabel(I18n.translate("crash.exit.warning")))); JButton ignoreButton = new JButton(I18n.translate("crash.ignore")); ignoreButton.addActionListener(event -> { -- cgit v1.2.3