Ticket #13196: patch-mapview-remove-filedrop.patch

File patch-mapview-remove-filedrop.patch, 4.1 KB (added by michael2402, 9 years ago)
  • src/org/openstreetmap/josm/gui/FileDrop.java

    diff --git a/src/org/openstreetmap/josm/gui/FileDrop.java b/src/org/openstreetmap/josm/gui/FileDrop.java
    index 5470cd2..9e5a87e 100644
    a b import javax.swing.border.Border;  
    3232
    3333import org.openstreetmap.josm.Main;
    3434import org.openstreetmap.josm.actions.OpenFileAction;
    35 import org.openstreetmap.josm.gui.FileDrop.TransferableObject;
    3635
    3736// CHECKSTYLE.OFF: HideUtilityClassConstructor
    3837
    import org.openstreetmap.josm.gui.FileDrop.TransferableObject;  
    7473 * @author  rharder@users.sf.net
    7574 * @version 1.0.1
    7675 * @since 1231
     76 * @deprecated To be removed from JOSM in the end of 2016.
    7777 */
     78@Deprecated
    7879public class FileDrop {
    7980
    8081    // CHECKSTYLE.ON: HideUtilityClassConstructor
  • src/org/openstreetmap/josm/gui/GettingStarted.java

    diff --git a/src/org/openstreetmap/josm/gui/GettingStarted.java b/src/org/openstreetmap/josm/gui/GettingStarted.java
    index 9f0dfe6..4f0c025 100644
    a b import static org.openstreetmap.josm.tools.I18n.tr;  
    55
    66import java.awt.BorderLayout;
    77import java.awt.EventQueue;
    8 import java.awt.GraphicsEnvironment;
    98import java.awt.event.InputEvent;
    109import java.awt.event.KeyEvent;
    1110import java.io.IOException;
    import javax.swing.event.HyperlinkListener;  
    2423
    2524import org.openstreetmap.josm.Main;
    2625import org.openstreetmap.josm.data.Version;
     26import org.openstreetmap.josm.gui.datatransfer.FileTransferHandler;
    2727import org.openstreetmap.josm.gui.preferences.server.ProxyPreference;
    2828import org.openstreetmap.josm.gui.preferences.server.ProxyPreferenceListener;
    2929import org.openstreetmap.josm.gui.widgets.JosmEditorPane;
    public final class GettingStarted extends JPanel implements ProxyPreferenceListe  
    124124                + "</h1><h2 align=\"center\">" + tr("Downloading \"Message of the day\"") + "</h2></html>");
    125125        // clear the build-in command ctrl+shift+O, because it is used as shortcut in JOSM
    126126        lg.getInputMap(JComponent.WHEN_FOCUSED).put(KeyStroke.getKeyStroke(KeyEvent.VK_O, InputEvent.SHIFT_MASK | InputEvent.CTRL_MASK), "none");
     127        lg.setTransferHandler(null);
    127128
    128129        JScrollPane scroller = new JScrollPane(lg);
    129130        scroller.setViewportBorder(new EmptyBorder(10, 100, 10, 100));
    public final class GettingStarted extends JPanel implements ProxyPreferenceListe  
    131132
    132133        getMOTD();
    133134
    134         if (!GraphicsEnvironment.isHeadless()) {
    135             new FileDrop(scroller);
    136         }
     135        setTransferHandler(new FileTransferHandler());
    137136    }
    138137
    139138    private void getMOTD() {
  • new file src/org/openstreetmap/josm/gui/datatransfer/FileTransferHandler.java

    diff --git a/src/org/openstreetmap/josm/gui/datatransfer/FileTransferHandler.java b/src/org/openstreetmap/josm/gui/datatransfer/FileTransferHandler.java
    new file mode 100644
    index 0000000..d289a0a
    - +  
     1// License: GPL. For details, see LICENSE file.
     2package org.openstreetmap.josm.gui.datatransfer;
     3
     4import java.awt.datatransfer.UnsupportedFlavorException;
     5import java.io.IOException;
     6
     7import javax.swing.JComponent;
     8import javax.swing.TransferHandler;
     9
     10import org.openstreetmap.josm.Main;
     11import org.openstreetmap.josm.gui.datatransfer.importers.FilePaster;
     12
     13/**
     14 * This transfer handler allows to drop files to open them.
     15 *
     16 * @author Michael Zangl
     17 * @since xxx
     18 */
     19public class FileTransferHandler extends TransferHandler {
     20
     21    private static final FilePaster filePaster = new FilePaster();
     22
     23    @Override
     24    public int getSourceActions(JComponent c) {
     25        return COPY;
     26    }
     27
     28    @Override
     29    public boolean canImport(TransferSupport support) {
     30        return filePaster.supports(support);
     31    }
     32
     33    @Override
     34    public boolean importData(TransferSupport support) {
     35        try {
     36            if (filePaster.supports(support)) {
     37                return filePaster.importData(support, null, null);
     38            }
     39        } catch (UnsupportedFlavorException | IOException e) {
     40            Main.warn(e, "Error while importing file.");
     41        }
     42        return super.importData(support);
     43    }
     44}