X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fio%2FJalviewFileChooser.java;h=8fc5ddd844673249b042082c8138d34ba427848f;hb=bebc8c1502441eee34996343ecd785788f5b1def;hp=7c3cf9289a00b72f6accf37b3f115499f1377d51;hpb=2c6e8912516541ca2a380c3bb35a656fe7afdab2;p=jalview.git diff --git a/src/jalview/io/JalviewFileChooser.java b/src/jalview/io/JalviewFileChooser.java index 7c3cf92..8fc5ddd 100755 --- a/src/jalview/io/JalviewFileChooser.java +++ b/src/jalview/io/JalviewFileChooser.java @@ -48,6 +48,7 @@ import javax.swing.JList; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.SpringLayout; +import javax.swing.filechooser.FileFilter; import javax.swing.plaf.basic.BasicFileChooserUI; /** @@ -257,17 +258,67 @@ public class JalviewFileChooser extends JFileChooser includeBackupFiles = backupfilesCheckBox.isSelected(); Cache.setProperty(BackupFiles.NS + "_FC_INCLUDE", String.valueOf(includeBackupFiles)); + + if (Platform.isAMac()) + { + // This is a kludge. Cannot find out how to get the file list to + // refresh on its own! This works the best out of a number of + // different attempts! + FileFilter ff = jfc.getFileFilter(); + jfc.setFileFilter(jfc.getAcceptAllFileFilter()); + jfc.setFileFilter(ff); + + /* + jfc.setFileHidingEnabled(!jfc.isFileHidingEnabled()); + jfc.setFileHidingEnabled(!jfc.isFileHidingEnabled()); + */ + + /* + jfc.getRootPane() + .paintImmediately(jfc.getRootPane().getBounds()); + jfc.paintImmediately(jfc.getBounds()); + */ + + /* + Object o = jfc.getClientProperty( + CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); + jfc.firePropertyChange(CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY, + o, o); + */ + + /* + File f = jfc.getSelectedFile(); + jfc.setSelectedFile(null); + if (f != null) + { + jfc.setSelectedFile(f); + } + */ + + /* + Graphics g = jfc.getGraphics(); + jfc.update(g); + jfc.paintAll(g); + */ + + /* + jfc.setFileHidingEnabled(!jfc.isFileHidingEnabled()); + jfc.setFileHidingEnabled(!jfc.isFileHidingEnabled()); + */ + /* + jfc.invalidate(); + Component[] c = jfc.getComponents(); + for (int i = 0; i < c.length; i++) + { + c[i].invalidate(); + System.out.println("INVALIDATING " + c[i].getName()); + } + */ + } + jfc.rescanCurrentDirectory(); jfc.revalidate(); jfc.repaint(); - // This is a kludge. Cannot find out how to get the file list to - // refresh! - /* - Object o = jfc.getClientProperty( - CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY); - jfc.firePropertyChange(CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY, - o, o); - */ } }); }