Ticket #20990: open-dialog-details.patch

File open-dialog-details.patch, 3.1 KB (added by Strubbl, 5 years ago)
  • src/org/openstreetmap/josm/gui/widgets/AbstractFileChooser.java

    diff --git src/org/openstreetmap/josm/gui/widgets/AbstractFileChooser.java src/org/openstreetmap/josm/gui/widgets/AbstractFileChooser.java
    index 815c33918..8794931f4 100644
    import java.awt.HeadlessException;  
    66import java.io.File;
    77import java.util.Locale;
    88
     9import javax.swing.ActionMap;
    910import javax.swing.filechooser.FileFilter;
    1011
    1112/**
    public abstract class AbstractFileChooser {  
    214215     * @see java.awt.GraphicsEnvironment#isHeadless
    215216     */
    216217    public abstract int showSaveDialog(Component parent);
     218
     219    /**
     220     * Gets the list of action names.
     221     *
     222     * @return a <code>ActionMap</code> array containing all the action names
     223     *
     224     */
     225    public abstract ActionMap getActionMap();
    217226}
  • src/org/openstreetmap/josm/gui/widgets/FileChooserManager.java

    diff --git src/org/openstreetmap/josm/gui/widgets/FileChooserManager.java src/org/openstreetmap/josm/gui/widgets/FileChooserManager.java
    index 32d60db52..0973c2fd0 100644
    import java.util.Collection;  
    77import java.util.Collections;
    88import java.util.function.Predicate;
    99
     10import javax.swing.Action;
    1011import javax.swing.JFileChooser;
    1112import javax.swing.filechooser.FileFilter;
    1213
    public class FileChooserManager {  
    3637            // Native dialogs do not support file filters, so do not set them as default, except for OS X where they never worked
    3738            PlatformManager.isPlatformOsx());
    3839
     40    /**
     41     * Property to use the details view in file dialogs.
     42     */
     43    public static final BooleanProperty PROP_USE_DETAILS_VIEW_FILE_DIALOG = new BooleanProperty("use.details.view.file.dialog", false);
     44
    3945    private final boolean open;
    4046    private final String lastDirProperty;
    4147    private final String curDir;
    public class FileChooserManager {  
    302308            fc = new NativeFileChooser(f);
    303309        } else {
    304310            fc = new SwingFileChooser(f);
     311            if (PROP_USE_DETAILS_VIEW_FILE_DIALOG.get()) {
     312                Action details = fc.getActionMap().get("viewTypeDetails");
     313                details.actionPerformed(null);
     314            }
    305315        }
    306316
    307317        if (title != null) {
  • src/org/openstreetmap/josm/gui/widgets/SwingFileChooser.java

    diff --git src/org/openstreetmap/josm/gui/widgets/SwingFileChooser.java src/org/openstreetmap/josm/gui/widgets/SwingFileChooser.java
    index 8ec6a7d2f..bf6ccb037 100644
    package org.openstreetmap.josm.gui.widgets;  
    44import java.awt.Component;
    55import java.io.File;
    66
     7import javax.swing.ActionMap;
    78import javax.swing.JFileChooser;
    89import javax.swing.filechooser.FileFilter;
    910
    public class SwingFileChooser extends AbstractFileChooser {  
    105106        jFileChooser.setLocale(locale);
    106107        return jFileChooser.showSaveDialog(parent);
    107108    }
     109
     110    @Override
     111    public ActionMap getActionMap() {
     112        return jFileChooser.getActionMap();
     113    }
    108114}