Ignore:
Timestamp:
2009-12-19T10:47:49+01:00 (14 years ago)
Author:
jttt
Message:

Fixed #4161 Major slowdown in recent versions, used correct pattern for listeners realized using CopyOnWriteArrayList

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/conflict/tags/MultiValueCellEditor.java

    r2512 r2655  
    4545
    4646    public void addNavigationListeners(NavigationListener listener) {
    47         if (listener != null && ! (listeners.contains(listener))) {
    48             listeners.add(listener);
     47        if (listener != null) {
     48            listeners.addIfAbsent(listener);
    4949        }
    5050    }
    5151
    5252    public void removeavigationListeners(NavigationListener listener) {
    53         if (listener != null && listeners.contains(listener)) {
    54             listeners.remove(listener);
    55         }
     53        listeners.remove(listener);
    5654    }
    5755
     
    116114        }
    117115        switch(decision.getDecisionType()) {
    118             case UNDECIDED:
    119                 editor.setSelectedIndex(0);
    120                 break;
    121             case KEEP_ONE:
    122                 editor.setSelectedItem(decision.getChosenValue());
    123                 break;
    124             case KEEP_NONE:
    125                 editor.setSelectedItem(MultiValueDecisionType.KEEP_NONE);
    126                 break;
    127             case KEEP_ALL:
    128                 editor.setSelectedItem(MultiValueDecisionType.KEEP_ALL);
     116        case UNDECIDED:
     117            editor.setSelectedIndex(0);
     118            break;
     119        case KEEP_ONE:
     120            editor.setSelectedItem(decision.getChosenValue());
     121            break;
     122        case KEEP_NONE:
     123            editor.setSelectedItem(MultiValueDecisionType.KEEP_NONE);
     124            break;
     125        case KEEP_ALL:
     126            editor.setSelectedItem(MultiValueDecisionType.KEEP_ALL);
    129127        }
    130128    }
     
    167165            } else if (MultiValueDecisionType.class.isInstance(value)) {
    168166                switch(MultiValueDecisionType.class.cast(value)) {
    169                     case KEEP_NONE:
    170                         setText(tr("none"));
    171                         setFont(UIManager.getFont("ComboBox.font").deriveFont(Font.ITALIC + Font.BOLD));
    172                         break;
    173                     case KEEP_ALL:
    174                         setText(tr("all"));
    175                         setFont(UIManager.getFont("ComboBox.font").deriveFont(Font.ITALIC + Font.BOLD));
    176                         break;
    177                     default:
    178                         // don't display other values
     167                case KEEP_NONE:
     168                    setText(tr("none"));
     169                    setFont(UIManager.getFont("ComboBox.font").deriveFont(Font.ITALIC + Font.BOLD));
     170                    break;
     171                case KEEP_ALL:
     172                    setText(tr("all"));
     173                    setFont(UIManager.getFont("ComboBox.font").deriveFont(Font.ITALIC + Font.BOLD));
     174                    break;
     175                default:
     176                    // don't display other values
    179177                }
    180178            }
Note: See TracChangeset for help on using the changeset viewer.