Ignore:
Timestamp:
2009-01-20T09:38:04+01:00 (15 years ago)
Author:
stoecker
Message:

close #1983. Patch by xeen

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/download/DownloadDialog.java

    r1245 r1307  
    55
    66import java.awt.Color;
     7import java.awt.datatransfer.DataFlavor;
     8import java.awt.datatransfer.Transferable;
     9import java.awt.event.ActionEvent;
     10import java.awt.event.InputEvent;
     11import java.awt.event.KeyEvent;
    712import java.awt.Font;
    813import java.awt.GridBagLayout;
     14import java.awt.Toolkit;
    915import java.util.ArrayList;
    1016import java.util.List;
    1117
     18import javax.swing.AbstractAction;
    1219import javax.swing.JCheckBox;
    1320import javax.swing.JLabel;
     
    1522import javax.swing.JPanel;
    1623import javax.swing.JTabbedPane;
     24import javax.swing.KeyStroke;
    1725
    1826import org.openstreetmap.josm.Main;
     
    2028import org.openstreetmap.josm.actions.downloadtasks.DownloadGpsTask;
    2129import org.openstreetmap.josm.actions.downloadtasks.DownloadOsmTask;
     30import org.openstreetmap.josm.data.Bounds;
    2231import org.openstreetmap.josm.gui.MapView;
    2332import org.openstreetmap.josm.plugins.PluginProxy;
    2433import org.openstreetmap.josm.tools.GBC;
     34import org.openstreetmap.josm.tools.OsmUrlToBounds;
    2535
    2636/**
     
    146156        sizeCheck.setFont(labelFont.deriveFont(Font.PLAIN, labelFont.getSize()));
    147157        add(sizeCheck, GBC.eop().insets(0,5,5,10));
    148     }
     158       
     159        getInputMap(WHEN_IN_FOCUSED_WINDOW).put(
     160        KeyStroke.getKeyStroke(KeyEvent.VK_V, InputEvent.CTRL_MASK), "checkClipboardContents");
     161       
     162        getActionMap().put("checkClipboardContents", new AbstractAction() {
     163            public void actionPerformed(ActionEvent e) {
     164                checkClipboardContents();
     165            }
     166        });
     167    }
     168   
     169    private void checkClipboardContents() {
     170        String result = "";
     171        Transferable contents = Toolkit.getDefaultToolkit().getSystemClipboard().getContents(null);
     172 
     173        if(contents == null || !contents.isDataFlavorSupported(DataFlavor.stringFlavor))
     174            return;
     175         
     176        try {
     177            result = (String)contents.getTransferData(DataFlavor.stringFlavor);
     178        }
     179        catch(Exception ex) {
     180            return;
     181        }
     182         
     183        Bounds b = OsmUrlToBounds.parse(result);
     184        if (b != null) {
     185            minlon = b.min.lon();
     186            minlat = b.min.lat();
     187            maxlon = b.max.lon();
     188            maxlat = b.max.lat();
     189            boundingBoxChanged(null);
     190        }
     191    }
    149192
    150193    private void updateSizeCheck() {
Note: See TracChangeset for help on using the changeset viewer.