From b7b6c3780c8f849a2c6c49f72111d0447fb28c02 Mon Sep 17 00:00:00 2001 From: skylarmt Date: Sat, 10 Jan 2015 21:20:17 -0700 Subject: [PATCH] Improve code exporting save experience --- src/net/apocalypselabs/symat/CodeExport.java | 19 ++++++++++++++++--- src/net/apocalypselabs/symat/Debug.java | 2 +- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/src/net/apocalypselabs/symat/CodeExport.java b/src/net/apocalypselabs/symat/CodeExport.java index cb4eb9a..b47b2ee 100644 --- a/src/net/apocalypselabs/symat/CodeExport.java +++ b/src/net/apocalypselabs/symat/CodeExport.java @@ -45,6 +45,8 @@ import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.JFileChooser; import javax.swing.JOptionPane; +import javax.swing.filechooser.FileFilter; +import javax.swing.filechooser.FileNameExtensionFilter; import org.htmlcleaner.CleanerProperties; import org.htmlcleaner.HtmlCleaner; import org.htmlcleaner.SimpleHtmlSerializer; @@ -61,7 +63,6 @@ public class CodeExport extends javax.swing.JInternalFrame { private String codeLang = "js"; private String html; private final String origCode; - private final JFileChooser fc = new JFileChooser(); /** * Creates new form CodeExport @@ -320,14 +321,26 @@ public class CodeExport extends javax.swing.JInternalFrame { }//GEN-LAST:event_exPdfActionPerformed private void doSave(String format) { + JFileChooser fc = new JFileChooser(); + FileFilter filter; + switch (format) { + case "pdf": + filter = new FileNameExtensionFilter("Portable Document Format (PDF)", "pdf"); + break; + default: + filter = new FileNameExtensionFilter("Web Document (HTML)", "html"); + } + fc.setFileFilter(filter); + fc.addChoosableFileFilter(filter); int r = fc.showSaveDialog(this); if (r == JFileChooser.APPROVE_OPTION) { + String file = FileUtils.getFileWithExtension(fc).getAbsolutePath(); switch (format) { case "html": - saveFile(html, addSaveExt(fc.getSelectedFile().toString(), format)); + saveFile(html, file); break; case "pdf": - savePdfFile(html, addSaveExt(fc.getSelectedFile().toString(), format)); + savePdfFile(html, file); break; } } diff --git a/src/net/apocalypselabs/symat/Debug.java b/src/net/apocalypselabs/symat/Debug.java index b498392..37e97a6 100644 --- a/src/net/apocalypselabs/symat/Debug.java +++ b/src/net/apocalypselabs/symat/Debug.java @@ -35,7 +35,7 @@ package net.apocalypselabs.symat; public class Debug { // If output should be on or off - public static final boolean DEBUG = true; + public static final boolean DEBUG = false; public static void println(Object data) { if (DEBUG) {