Merge pull request #812 from teyrana/fix/810/save-as-all-exception

[fixes #810] Selecting 'Save As...' > 'All Files' no longer throws an exception
This commit is contained in:
Joe Pfeiffer 2020-12-01 10:11:13 -07:00 committed by GitHub
commit e4683a8455
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -79,31 +79,32 @@ class RememberFilenamePropertyListener implements PropertyChangeListener {
@Override @Override
public void propertyChange(PropertyChangeEvent event){ public void propertyChange(PropertyChangeEvent event){
if( JFileChooser.SELECTED_FILE_CHANGED_PROPERTY == event.getPropertyName()){ if( JFileChooser.SELECTED_FILE_CHANGED_PROPERTY.equals(event.getPropertyName())){
if(null != event.getOldValue()){ if(null != event.getOldValue()){
this.oldFileName = ((File)event.getOldValue()).getName(); this.oldFileName = ((File)event.getOldValue()).getName();
} }
return; }else if(JFileChooser.FILE_FILTER_CHANGED_PROPERTY.equals(event.getPropertyName())) {
}else if(JFileChooser.FILE_FILTER_CHANGED_PROPERTY == event.getPropertyName()){ JFileChooser chooser = (JFileChooser)event.getSource();
JFileChooser chooser = (JFileChooser)event.getSource(); if( chooser.getFileFilter() instanceof SimpleFileFilter) {
SimpleFileFilter filter = (SimpleFileFilter)(chooser.getFileFilter()); SimpleFileFilter filter = (SimpleFileFilter) (chooser.getFileFilter());
String desiredExtension = filter.getExtensions()[0]; String desiredExtension = filter.getExtensions()[0];
if( null == this.oldFileName){ if (null == this.oldFileName) {
return; return;
} }
String thisFileName = this.oldFileName; String thisFileName = this.oldFileName;
if ( filter.accept( new File(thisFileName))){ if (filter.accept(new File(thisFileName))) {
// nop // nop
return; return;
}else{ } else {
String[] splitResults = thisFileName.split("\\."); String[] splitResults = thisFileName.split("\\.");
if(0 < splitResults.length){ if (0 < splitResults.length) {
thisFileName = splitResults[0]; thisFileName = splitResults[0];
}
chooser.setSelectedFile(new File(thisFileName + desiredExtension));
return;
} }
chooser.setSelectedFile(new File( thisFileName+desiredExtension));
return;
} }
} }
} }