tidying save actions
This commit is contained in:
parent
45a97d2959
commit
438dd9dd4c
|
@ -0,0 +1,16 @@
|
|||
package com.bytezone.diskbrowser.gui;
|
||||
|
||||
import javax.swing.JFileChooser;
|
||||
|
||||
import com.bytezone.diskbrowser.utilities.DefaultAction;
|
||||
|
||||
public abstract class AbstractSaveAction extends DefaultAction
|
||||
{
|
||||
JFileChooser fileChooser;
|
||||
|
||||
public AbstractSaveAction (String text, String tip)
|
||||
{
|
||||
super (text, tip);
|
||||
}
|
||||
|
||||
}
|
|
@ -9,10 +9,9 @@ import javax.swing.JFileChooser;
|
|||
import javax.swing.JOptionPane;
|
||||
|
||||
import com.bytezone.diskbrowser.disk.FormattedDisk;
|
||||
import com.bytezone.diskbrowser.utilities.DefaultAction;
|
||||
|
||||
// -----------------------------------------------------------------------------------//
|
||||
class SaveDiskAction extends DefaultAction implements DiskSelectionListener
|
||||
class SaveDiskAction extends AbstractSaveAction implements DiskSelectionListener
|
||||
// -----------------------------------------------------------------------------------//
|
||||
{
|
||||
FormattedDisk disk;
|
||||
|
@ -31,14 +30,18 @@ class SaveDiskAction extends DefaultAction implements DiskSelectionListener
|
|||
{
|
||||
if (disk == null)
|
||||
{
|
||||
System.out.println ("No disk");
|
||||
JOptionPane.showMessageDialog (null, "No disk selected");
|
||||
return;
|
||||
}
|
||||
|
||||
JFileChooser fileChooser = new JFileChooser ();
|
||||
fileChooser.setDialogTitle ("Save converted disk");
|
||||
String name = disk.getName ();
|
||||
fileChooser.setSelectedFile (new File (name + ".dsk"));
|
||||
if (fileChooser == null)
|
||||
{
|
||||
fileChooser = new JFileChooser ();
|
||||
fileChooser.setDialogTitle ("Save converted disk");
|
||||
}
|
||||
|
||||
fileChooser.setSelectedFile (new File (disk.getName () + ".dsk"));
|
||||
|
||||
if (fileChooser.showSaveDialog (null) == JFileChooser.APPROVE_OPTION)
|
||||
{
|
||||
File file = fileChooser.getSelectedFile ();
|
||||
|
@ -50,6 +53,7 @@ class SaveDiskAction extends DefaultAction implements DiskSelectionListener
|
|||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace ();
|
||||
JOptionPane.showMessageDialog (null, "Disk failed to save");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -10,10 +10,9 @@ import javax.swing.JFileChooser;
|
|||
import javax.swing.JOptionPane;
|
||||
|
||||
import com.bytezone.diskbrowser.applefile.AppleFileSource;
|
||||
import com.bytezone.diskbrowser.utilities.DefaultAction;
|
||||
|
||||
// -----------------------------------------------------------------------------------//
|
||||
class SaveFileAction extends DefaultAction implements FileSelectionListener
|
||||
class SaveFileAction extends AbstractSaveAction implements FileSelectionListener
|
||||
//-----------------------------------------------------------------------------------//
|
||||
{
|
||||
AppleFileSource appleFileSource;
|
||||
|
@ -32,12 +31,16 @@ class SaveFileAction extends DefaultAction implements FileSelectionListener
|
|||
{
|
||||
if (appleFileSource == null)
|
||||
{
|
||||
System.out.println ("No data source");
|
||||
JOptionPane.showMessageDialog (null, "No file selected");
|
||||
return;
|
||||
}
|
||||
|
||||
JFileChooser fileChooser = new JFileChooser ();
|
||||
fileChooser.setDialogTitle ("Save File");
|
||||
if (fileChooser == null)
|
||||
{
|
||||
fileChooser = new JFileChooser ();
|
||||
fileChooser.setDialogTitle ("Save File");
|
||||
}
|
||||
|
||||
fileChooser.setSelectedFile (new File (appleFileSource.getUniqueName () + ".bin"));
|
||||
|
||||
if (fileChooser.showSaveDialog (null) == JFileChooser.APPROVE_OPTION)
|
||||
|
@ -52,6 +55,7 @@ class SaveFileAction extends DefaultAction implements FileSelectionListener
|
|||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace ();
|
||||
JOptionPane.showMessageDialog (null, "File failed to save");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,10 +9,8 @@ import java.nio.file.StandardOpenOption;
|
|||
import javax.swing.JFileChooser;
|
||||
import javax.swing.JOptionPane;
|
||||
|
||||
import com.bytezone.diskbrowser.utilities.DefaultAction;
|
||||
|
||||
// -----------------------------------------------------------------------------------//
|
||||
class SaveSectorsAction extends DefaultAction implements SectorSelectionListener
|
||||
class SaveSectorsAction extends AbstractSaveAction implements SectorSelectionListener
|
||||
// -----------------------------------------------------------------------------------//
|
||||
{
|
||||
SectorSelectedEvent event;
|
||||
|
@ -32,26 +30,32 @@ class SaveSectorsAction extends DefaultAction implements SectorSelectionListener
|
|||
{
|
||||
if (event == null)
|
||||
{
|
||||
System.out.println ("No sectors");
|
||||
JOptionPane.showMessageDialog (null, "No sectors selected");
|
||||
return;
|
||||
}
|
||||
byte[] buffer = event.getFormattedDisk ().getDisk ().readBlocks (event.getSectors ());
|
||||
|
||||
JFileChooser fileChooser = new JFileChooser ();
|
||||
fileChooser.setDialogTitle ("Save sectors");
|
||||
fileChooser.setSelectedFile (new File ("saved-" + buffer.length + ".bin"));
|
||||
if (fileChooser == null)
|
||||
{
|
||||
fileChooser = new JFileChooser ();
|
||||
fileChooser.setDialogTitle ("Save sectors");
|
||||
}
|
||||
|
||||
fileChooser.setSelectedFile (new File ("savedSectors.bin"));
|
||||
|
||||
if (fileChooser.showSaveDialog (null) == JFileChooser.APPROVE_OPTION)
|
||||
{
|
||||
File file = fileChooser.getSelectedFile ();
|
||||
try
|
||||
{
|
||||
byte[] buffer =
|
||||
event.getFormattedDisk ().getDisk ().readBlocks (event.getSectors ());
|
||||
Files.write (file.toPath (), buffer, StandardOpenOption.CREATE_NEW);
|
||||
JOptionPane.showMessageDialog (null, "File saved");
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
e.printStackTrace ();
|
||||
JOptionPane.showMessageDialog (null, "File failed to save");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue