[fixes #899] Use only filename in save/export filename input
This commit is contained in:
parent
46b974cae7
commit
b8c9bd94d6
@ -34,7 +34,7 @@ import net.sf.openrocket.util.ArrayList;
|
|||||||
*/
|
*/
|
||||||
public class OpenRocketDocument implements ComponentChangeListener {
|
public class OpenRocketDocument implements ComponentChangeListener {
|
||||||
private static final Logger log = LoggerFactory.getLogger(OpenRocketDocument.class);
|
private static final Logger log = LoggerFactory.getLogger(OpenRocketDocument.class);
|
||||||
|
private final List<String> file_extensions = Arrays.asList("ork", "rkt"); // Possible extensions of an OpenRocket document
|
||||||
/**
|
/**
|
||||||
* The minimum number of undo levels that are stored.
|
* The minimum number of undo levels that are stored.
|
||||||
*/
|
*/
|
||||||
@ -194,6 +194,23 @@ public class OpenRocketDocument implements ComponentChangeListener {
|
|||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* returns the File handler object for the document without the file extension (e.g. '.ork' removed)
|
||||||
|
* @return the File handler object for the document without the file extension
|
||||||
|
*/
|
||||||
|
public File getFileNoExtension() {
|
||||||
|
if (file == null) return null;
|
||||||
|
int index = file.getAbsolutePath().lastIndexOf('.');
|
||||||
|
if (index > 0) {
|
||||||
|
String filename = file.getAbsolutePath().substring(0, index);
|
||||||
|
String extension = file.getAbsolutePath().substring(index + 1);
|
||||||
|
if (file_extensions.contains(extension)) {
|
||||||
|
return new File(filename);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return file;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set the file handler object for the document
|
* set the file handler object for the document
|
||||||
* @param file the new file handler object
|
* @param file the new file handler object
|
||||||
|
@ -3,6 +3,9 @@ package net.sf.openrocket.gui.main;
|
|||||||
import java.beans.PropertyChangeEvent;
|
import java.beans.PropertyChangeEvent;
|
||||||
import java.beans.PropertyChangeListener;
|
import java.beans.PropertyChangeListener;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import javax.swing.JFileChooser;
|
import javax.swing.JFileChooser;
|
||||||
|
|
||||||
@ -33,12 +36,11 @@ public class SaveAsFileChooser extends JFileChooser {
|
|||||||
|
|
||||||
this.setAcceptAllFileFilterUsed(true);
|
this.setAcceptAllFileFilterUsed(true);
|
||||||
|
|
||||||
File defaultFilename = document.getFile();
|
File defaultFilename = document.getFileNoExtension();
|
||||||
|
|
||||||
switch( type ) {
|
switch( type ) {
|
||||||
default:
|
default:
|
||||||
case OPENROCKET:
|
case OPENROCKET:
|
||||||
defaultFilename = FileHelper.forceExtension(defaultFilename,"ork");
|
|
||||||
this.setDialogTitle(trans.get("saveAs.openrocket.title"));
|
this.setDialogTitle(trans.get("saveAs.openrocket.title"));
|
||||||
storageChooser = new StorageOptionChooser(document, document.getDefaultStorageOptions());
|
storageChooser = new StorageOptionChooser(document, document.getDefaultStorageOptions());
|
||||||
this.setAccessory(storageChooser);
|
this.setAccessory(storageChooser);
|
||||||
@ -46,7 +48,6 @@ public class SaveAsFileChooser extends JFileChooser {
|
|||||||
this.setFileFilter(FileHelper.OPENROCKET_DESIGN_FILTER);
|
this.setFileFilter(FileHelper.OPENROCKET_DESIGN_FILTER);
|
||||||
break;
|
break;
|
||||||
case ROCKSIM:
|
case ROCKSIM:
|
||||||
defaultFilename = FileHelper.forceExtension(defaultFilename,"rkt");
|
|
||||||
this.setDialogTitle(trans.get("saveAs.rocksim.title"));
|
this.setDialogTitle(trans.get("saveAs.rocksim.title"));
|
||||||
storageChooser = null;
|
storageChooser = null;
|
||||||
this.addChoosableFileFilter(FileHelper.ROCKSIM_DESIGN_FILTER);
|
this.addChoosableFileFilter(FileHelper.ROCKSIM_DESIGN_FILTER);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user