Ignore:
Timestamp:
15.05.2010 18:59:10 (2 years ago)
Author:
jttt
Message:

Fix #2234: Translation can cause JosmActions to illegally handle shortcuts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/layer/geoimage/ImageViewerDialog.java

    r2969 r3252  
    1717import java.awt.event.WindowEvent; 
    1818 
     19import javax.swing.AbstractAction; 
    1920import javax.swing.Box; 
    20 import javax.swing.AbstractAction; 
    2121import javax.swing.ImageIcon; 
    2222import javax.swing.JButton; 
     
    5454 
    5555    public static ImageViewerDialog getInstance() { 
    56         if (dialog == null) { 
     56        if (dialog == null) 
    5757            throw new AssertionError(); // a new instance needs to be created first 
    58         } 
    5958        return dialog; 
    6059    } 
     
    8382        btnPrevious.setPreferredSize(buttonDim); 
    8483        Shortcut scPrev = Shortcut.registerShortcut( 
    85             "geoimage:previous", tr("Geoimage: {0}", tr("Show previous Image")), KeyEvent.VK_PAGE_UP, Shortcut.GROUP_DIRECT); 
     84                "geoimage:previous", tr("Geoimage: {0}", tr("Show previous Image")), KeyEvent.VK_PAGE_UP, Shortcut.GROUP_DIRECT); 
    8685        final String APREVIOUS = "Previous Image"; 
    87         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scPrev.getKeyStroke(), APREVIOUS); 
    88         Main.contentPane.getActionMap().put(APREVIOUS, prevAction); 
     86        Main.registerActionShortcut(prevAction, scPrev); 
    8987        btnPrevious.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scPrev.getKeyStroke(), APREVIOUS); 
    9088        btnPrevious.getActionMap().put(APREVIOUS, prevAction); 
     
    9593        btnDelete.setPreferredSize(buttonDim); 
    9694        Shortcut scDelete = Shortcut.registerShortcut( 
    97             "geoimage:deleteimagefromlayer", tr("Geoimage: {0}", DELETE_TEXT), KeyEvent.VK_DELETE, Shortcut.GROUP_DIRECT, Shortcut.SHIFT_DEFAULT); 
    98         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDelete.getKeyStroke(), DELETE_TEXT); 
    99         Main.contentPane.getActionMap().put(DELETE_TEXT, delAction); 
     95                "geoimage:deleteimagefromlayer", tr("Geoimage: {0}", DELETE_TEXT), KeyEvent.VK_DELETE, Shortcut.GROUP_DIRECT, Shortcut.SHIFT_DEFAULT); 
     96        Main.registerActionShortcut(delAction, scDelete); 
    10097        btnDelete.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDelete.getKeyStroke(), DELETE_TEXT); 
    10198        btnDelete.getActionMap().put(DELETE_TEXT, delAction); 
     
    105102        btnDeleteFromDisk.setPreferredSize(buttonDim); 
    106103        Shortcut scDeleteFromDisk = Shortcut.registerShortcut( 
    107             "geoimage:deletefilefromdisk", tr("Geoimage: {0}", tr("Delete File from disk")), KeyEvent.VK_DELETE, Shortcut.GROUP_DIRECT, Shortcut.GROUP_MENU + Shortcut.SHIFT_DEFAULT); 
     104                "geoimage:deletefilefromdisk", tr("Geoimage: {0}", tr("Delete File from disk")), KeyEvent.VK_DELETE, Shortcut.GROUP_DIRECT, Shortcut.GROUP_MENU + Shortcut.SHIFT_DEFAULT); 
    108105        final String ADELFROMDISK = "Delete image file from disk"; 
    109         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDeleteFromDisk.getKeyStroke(), ADELFROMDISK); 
    110         Main.contentPane.getActionMap().put(ADELFROMDISK, delFromDiskAction); 
     106        Main.registerActionShortcut(delFromDiskAction, scDeleteFromDisk); 
    111107        btnDeleteFromDisk.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scDeleteFromDisk.getKeyStroke(), ADELFROMDISK); 
    112108        btnDeleteFromDisk.getActionMap().put(ADELFROMDISK, delFromDiskAction); 
     
    116112        btnNext.setPreferredSize(buttonDim); 
    117113        Shortcut scNext = Shortcut.registerShortcut( 
    118             "geoimage:next", tr("Geoimage: {0}", tr("Show next Image")), KeyEvent.VK_PAGE_DOWN, Shortcut.GROUP_DIRECT); 
     114                "geoimage:next", tr("Geoimage: {0}", tr("Show next Image")), KeyEvent.VK_PAGE_DOWN, Shortcut.GROUP_DIRECT); 
    119115        final String ANEXT = "Next Image"; 
    120         Main.contentPane.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scNext.getKeyStroke(), ANEXT); 
    121         Main.contentPane.getActionMap().put(ANEXT, nextAction); 
     116        Main.registerActionShortcut(nextAction, scNext); 
    122117        btnNext.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW).put(scNext.getKeyStroke(), ANEXT); 
    123118        btnNext.getActionMap().put(ANEXT, nextAction); 
     
    192187            } else if (COMMAND_REMOVE.equals(action)) { 
    193188                if (currentLayer != null) { 
    194                    currentLayer.removeCurrentPhoto(); 
     189                    currentLayer.removeCurrentPhoto(); 
    195190                } 
    196191            } else if (COMMAND_REMOVE_FROM_DISK.equals(action)) { 
     
    221216    public void displayImage(GeoImageLayer layer, ImageEntry entry) { 
    222217        synchronized(this) { 
    223 //            if (currentLayer == layer && currentEntry == entry) { 
    224 //                repaint(); 
    225 //                return; 
    226 //            }                     TODO: pop up image dialog but don't load image again 
     218            //            if (currentLayer == layer && currentEntry == entry) { 
     219            //                repaint(); 
     220            //                return; 
     221            //            }                     TODO: pop up image dialog but don't load image again 
    227222 
    228223            if (centerView && Main.map != null && entry != null && entry.getPos() != null) { 
Note: See TracChangeset for help on using the changeset viewer.