Ignore:
Timestamp:
2014-10-11T09:24:53+02:00 (11 years ago)
Author:
akks
Message:

JOSM/FastDraw: do not catch keys from other windows, fix default tags combobox

Location:
applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawConfigDialog.java

    r30532 r30709  
    77import java.text.NumberFormat;
    88import java.text.ParseException;
     9import java.util.ArrayList;
     10import java.util.Collection;
     11import java.util.Collections;
    912
    1013import javax.swing.AbstractAction;
     
    6164        });
    6265        pasteButton.setToolTipText(tr("Try copying tags from properties table"));
    63        
    64         addTags.setPossibleItems(Main.pref.getCollection("fastdraw.tags-history"));
     66        ArrayList<String> history = new ArrayList<>(Main.pref.getCollection("fastdraw.tags-history"));
     67        while (history.remove("")) { };
     68        addTags.setPossibleItems(history);
    6569       
    6670        all.add(label1,GBC.std().insets(10,0,0,0));
     
    118122            settings.simplifyMode=combo1.getSelectedIndex();
    119123            settings.autoTags=addTags.getText();
    120             addTags.addCurrentItemToHistory();
     124            if (!settings.autoTags.isEmpty()) {
     125                addTags.addCurrentItemToHistory();
     126            }
    121127            Main.pref.putCollection("fastdraw.tags-history", addTags.getHistory());
    122128            settings.savePrefs();
  • applications/editors/josm/plugins/FastDraw/src/org/openstreetmap/josm/plugins/fastdraw/FastDrawingMode.java

    r29595 r30709  
    99import java.awt.AWTEvent;
    1010import java.awt.Color;
     11import java.awt.Component;
    1112import java.awt.Cursor;
    1213import java.awt.Graphics2D;
     14import java.awt.KeyboardFocusManager;
    1315import java.awt.Point;
    1416import java.awt.Toolkit;
    1517import java.awt.event.*;
    1618import java.util.*;
     19import javax.swing.JFrame;
    1720import javax.swing.JOptionPane;
     21import javax.swing.SwingUtilities;
    1822import javax.swing.Timer;
    1923
     
    265269                  set.add((e.getKeyCode()));
    266270                }
    267             doKeyEvent((KeyEvent) event);
     271            // check if key press is done in main window, not in dialogs
     272            Component focused = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
     273            if (SwingUtilities.getWindowAncestor(focused) instanceof JFrame) {
     274                doKeyEvent((KeyEvent) event);
     275            }
    268276        }
    269277        if (event.getID() == KeyEvent.KEY_RELEASED) {
Note: See TracChangeset for help on using the changeset viewer.