dmolony-DiskBrowser/src/com/bytezone/diskbrowser/gui/SaveTempFileAction.java

65 lines
2.0 KiB
Java
Raw Normal View History

2019-03-05 07:08:34 +00:00
package com.bytezone.diskbrowser.gui;
import java.awt.event.ActionEvent;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import com.bytezone.diskbrowser.disk.FormattedDisk;
2020-06-26 04:39:05 +00:00
import com.bytezone.diskbrowser.utilities.DefaultAction;
2019-03-05 07:08:34 +00:00
2020-02-08 22:20:08 +00:00
// -----------------------------------------------------------------------------------//
class SaveTempFileAction extends DefaultAction
// -----------------------------------------------------------------------------------//
2019-03-05 07:08:34 +00:00
{
FormattedDisk disk;
2020-02-08 22:20:08 +00:00
// ---------------------------------------------------------------------------------//
SaveTempFileAction ()
// ---------------------------------------------------------------------------------//
2019-03-05 07:08:34 +00:00
{
2020-01-13 00:05:32 +00:00
super ("Save converted disk...", "Save converted disk");
2019-03-05 07:08:34 +00:00
}
2020-02-08 22:20:08 +00:00
// ---------------------------------------------------------------------------------//
2019-03-05 07:08:34 +00:00
@Override
public void actionPerformed (ActionEvent evt)
2020-02-08 22:20:08 +00:00
// ---------------------------------------------------------------------------------//
2019-03-05 07:08:34 +00:00
{
2020-01-13 00:05:32 +00:00
if (disk == null)
{
System.out.println ("No disk");
return;
}
2019-03-05 07:08:34 +00:00
JFileChooser fileChooser = new JFileChooser ();
fileChooser.setDialogTitle ("Save converted disk");
String name = disk.getName ();
fileChooser.setSelectedFile (new File (name + ".dsk"));
if (fileChooser.showSaveDialog (null) == JFileChooser.APPROVE_OPTION)
{
File file = fileChooser.getSelectedFile ();
try
{
Files.copy (disk.getDisk ().getFile ().toPath (), file.toPath ());
JOptionPane.showMessageDialog (null, "Disk saved");
}
catch (IOException e)
{
e.printStackTrace ();
}
}
}
2020-02-08 22:20:08 +00:00
// ---------------------------------------------------------------------------------//
2019-03-05 07:08:34 +00:00
void setDisk (FormattedDisk disk)
2020-02-08 22:20:08 +00:00
// ---------------------------------------------------------------------------------//
2019-03-05 07:08:34 +00:00
{
this.disk = disk;
2020-01-13 00:05:32 +00:00
this.setEnabled (true);
2019-03-05 07:08:34 +00:00
}
}