/[svn]/jsampler/trunk/src/org/jsampler/view/std/StdUtils.java
ViewVC logotype

Diff of /jsampler/trunk/src/org/jsampler/view/std/StdUtils.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1914 by iliev, Sun Mar 22 18:11:39 2009 UTC revision 1915 by iliev, Thu Jun 11 09:35:29 2009 UTC
# Line 37  import java.beans.PropertyChangeEvent; Line 37  import java.beans.PropertyChangeEvent;
37  import java.beans.PropertyChangeListener;  import java.beans.PropertyChangeListener;
38    
39  import java.io.File;  import java.io.File;
 import java.io.FilenameFilter;  
40  import java.net.URI;  import java.net.URI;
41    
42  import java.text.NumberFormat;  import java.text.NumberFormat;
# Line 59  import org.jsampler.HF; Line 58  import org.jsampler.HF;
58  import org.jsampler.JSPrefs;  import org.jsampler.JSPrefs;
59    
60  import org.jsampler.view.JSFileFilter;  import org.jsampler.view.JSFileFilter;
 import org.jsampler.view.LscpFileFilter;  
61  import static org.jsampler.view.std.StdI18n.i18n;  import static org.jsampler.view.std.StdI18n.i18n;
62  import static org.jsampler.view.std.StdPrefs.*;  import static org.jsampler.view.std.StdPrefs.*;
63    
# Line 229  public class StdUtils { Line 227  public class StdUtils {
227          private static File          private static File
228          showLscpFileChooser(boolean openDialog, Window owner) {          showLscpFileChooser(boolean openDialog, Window owner) {
229                  return showFileChooser (                  return showFileChooser (
230                          openDialog, owner, false, new LscpFileFilter(), "lastScriptLocation"                          openDialog, owner, false, new JSFileFilter.Lscp(), "lastScriptLocation"
231                    );
232            }
233    
234            public static File
235            showSaveMidiMapsChooser() {
236                    JSFileFilter filter = new JSFileFilter.MidiMaps();
237    
238                    JSFileFilter[] filters = {
239                            new JSFileFilter.Lscp(), new JSFileFilter.Text(), new JSFileFilter.Html()
240                    };
241    
242                    return showFileChooser (
243                            false, CC.getMainFrame(), false, filter, filters, "lastScriptLocation"
244                  );                  );
245          }          }
246    
# Line 251  public class StdUtils { Line 262  public class StdUtils {
262                  JSFileFilter  filter,                  JSFileFilter  filter,
263                  String        locationProperty                  String        locationProperty
264          ) {          ) {
265                    JSFileFilter[] filters = (filter == null) ? new JSFileFilter[0] : new JSFileFilter[1];
266                    if(filter != null) filters[0] = filter;
267                    
268                    return showFileChooser(openDialog, owner, dirChooser, filter, filters, locationProperty);
269            }
270    
271            private static File
272            showFileChooser (
273                    boolean         openDialog,
274                    Window          owner,
275                    boolean         dirChooser,
276                    JSFileFilter    filter,
277                    JSFileFilter[]  choosableFilters,
278                    String          locationProperty
279            ) {
280                  boolean nativeFileChooser = preferences().getBoolProperty("nativeFileChoosers");                  boolean nativeFileChooser = preferences().getBoolProperty("nativeFileChoosers");
281                  String oldPath = null;                  String oldPath = null;
282                  if(locationProperty != null) {                  if(locationProperty != null) {
# Line 277  public class StdUtils { Line 303  public class StdUtils {
303                          }                          }
304                  } else {                  } else {
305                          JFileChooser fc = new JFileChooser(oldPath);                          JFileChooser fc = new JFileChooser(oldPath);
306                          if(filter != null) fc.setFileFilter(filter);                          for(JSFileFilter ff : choosableFilters) {
307                                    fc.addChoosableFileFilter(ff);
308                            }
309                            if(choosableFilters.length > 0) fc.setFileFilter(choosableFilters[0]);
310                            
311                          if(dirChooser) fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);                          if(dirChooser) fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
312                          int result;                          int result;
313                          if(openDialog) result = fc.showOpenDialog(owner);                          if(openDialog) result = fc.showOpenDialog(owner);
314                          else result = fc.showSaveDialog(owner);                          else result = fc.showSaveDialog(owner);
315                          if(result == JFileChooser.APPROVE_OPTION) f = fc.getSelectedFile();                          if(result == JFileChooser.APPROVE_OPTION) {
316                                    f = fc.getSelectedFile();
317                            }
318    
319                            if(result == JFileChooser.APPROVE_OPTION && !openDialog) {
320                                    Object o = fc.getFileFilter();
321                                    for(JSFileFilter ff : choosableFilters) {
322                                            if(ff == o) {
323                                                    String fn = f.getName().toLowerCase();
324                                                    String ext = ff.getExtension().toLowerCase();
325                                                    if(fn.endsWith(ext)) break;
326    
327                                                    fn = f.getAbsolutePath() + ff.getExtension();
328                                                    f = new File(fn);
329                                                    break;
330                                            }
331                                    }
332                            }
333                  }                  }
334    
335                  if(f == null) return null;                  if(f == null) return null;

Legend:
Removed from v.1914  
changed lines
  Added in v.1915

  ViewVC Help
Powered by ViewVC