Mercurial > hg > openjdk > jigsaw > jdk
changeset 6320:e6a8ee65d248
8000969: [macosx] Directories are not deselected when JFileChooser has FILES_ONLY selection mode
Reviewed-by: rupashka
author | alexsch |
---|---|
date | Wed, 17 Oct 2012 17:33:26 +0400 |
parents | 47cdc463b4b0 |
children | 29b7bd890d3a |
files | src/macosx/classes/com/apple/laf/AquaFileChooserUI.java |
diffstat | 1 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java Wed Oct 17 14:32:15 2012 +0400 +++ b/src/macosx/classes/com/apple/laf/AquaFileChooserUI.java Wed Oct 17 17:33:26 2012 +0400 @@ -379,6 +379,19 @@ } } updateButtonState(getFileChooser()); + } else if (prop.equals(JFileChooser.SELECTED_FILES_CHANGED_PROPERTY)) { + JFileChooser fileChooser = getFileChooser(); + if (!fileChooser.isDirectorySelectionEnabled()) { + final File[] files = (File[]) e.getNewValue(); + if (files != null) { + for (int selectedRow : fFileList.getSelectedRows()) { + File file = (File) fFileList.getValueAt(selectedRow, 0); + if (fileChooser.isTraversable(file)) { + fFileList.removeSelectedIndex(selectedRow); + } + } + } + } } else if (prop.equals(JFileChooser.DIRECTORY_CHANGED_PROPERTY)) { fFileList.clearSelection(); final File currentDirectory = getFileChooser().getCurrentDirectory();