diff --git a/src/main/java/com/ardublock/ui/OpenblocksFrame.java b/src/main/java/com/ardublock/ui/OpenblocksFrame.java index c54f9c312092507911e88c9d4866ce1093cd0dbf..c1c1cd1aed9967a2241c8c0e2a7fca7c9d765d42 100644 --- a/src/main/java/com/ardublock/ui/OpenblocksFrame.java +++ b/src/main/java/com/ardublock/ui/OpenblocksFrame.java @@ -33,8 +33,6 @@ import javax.swing.ToolTipManager; import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; -import org.apache.commons.io.FilenameUtils; - import com.ardublock.core.Context; import com.ardublock.ui.listener.ArdublockWorkspaceListener; import com.ardublock.ui.listener.GenerateCodeButtonListener; @@ -804,27 +802,34 @@ public class OpenblocksFrame extends JFrame fc.setFileFilter(filterPNG); fc.setAcceptAllFileFilterUsed(false); - System.out.println("Name"+context.getSaveFileName()); if(context.getSaveFileName().contains(".")) { - fileName = context.getSaveFileName().substring(0, context.getSaveFileName().lastIndexOf('.')); + fileName = context.getSaveFileName().substring(0, context.getSaveFileName().lastIndexOf('.')) + ".png"; + } + else { + fileName = context.getSaveFileName() + ".png"; } - /*else { - fileName = context.getSaveFileName(); - }*/ - fc.setSelectedFile(new File(fileName));//get ABprogramFileName + //set std-name if program is unsaved + if(context.getSaveFileName().equals("untitled")){ + fileName = "ardublock.png"; + } + + //open SaveDialog with filename and save image + fc.setSelectedFile(new File(fileName)); int returnVal = fc.showSaveDialog(workspace.getBlockCanvas().getJComponent()); if (returnVal == JFileChooser.APPROVE_OPTION) { - File file = fc.getSelectedFile(); + File file = fc.getSelectedFile(); + + if(!file.getName().contains(".png")) { + file = new File (file.getAbsolutePath()+".png"); + } + if(file.exists() && !askUserOverwriteExistedImage()) { return; } else { - if(fc.getFileFilter().equals(filterPNG)) { - file = new File(file.getParentFile(), FilenameUtils.getBaseName(file.getName())+".png"); - ImageIO.write(ci,"png",file); - } + ImageIO.write(ci,"png",file); } } } catch (Exception e1) {