Changeset 5070 in josm


Ignore:
Timestamp:
Mar 11, 2012 2:14:31 PM (16 months ago)
Author:
akks
Message:

Fix regression (#5006) - shortcuts preferences sorting and filtering for both columns

Location:
trunk/src/org/openstreetmap/josm/gui/preferences/shortcut
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/preferences/shortcut/PrefJPanel.java

    r5049 r5070  
    1717import java.util.ArrayList; 
    1818import java.util.LinkedHashMap; 
    19 import java.util.HashMap; 
    2019import java.util.Map; 
    2120 
     
    2726import javax.swing.JCheckBox; 
    2827import javax.swing.JComboBox; 
    29 import javax.swing.JEditorPane; 
    3028import javax.swing.JLabel; 
    3129import javax.swing.JPanel; 
     
    149147    } 
    150148 
    151     private static class ShortcutTableCellRenderer extends DefaultTableCellRenderer { 
     149    private class ShortcutTableCellRenderer extends DefaultTableCellRenderer { 
    152150 
    153151        private boolean name; 
     
    156154            this.name = name; 
    157155        } 
    158  
     156         
    159157        @Override 
    160158        public Component getTableCellRendererComponent(JTable table, Object value, boolean 
    161159                isSelected, boolean hasFocus, int row, int column) { 
    162             if(value instanceof Shortcut) 
    163             { 
    164                 Shortcut sc = (Shortcut) value; 
    165                 JLabel label = (JLabel) super.getTableCellRendererComponent( 
    166                     table, name ? sc.getLongText() : sc.getKeyText(), isSelected, hasFocus, row, column); 
    167                 label.setBackground(Main.pref.getUIColor("Table.background")); 
    168                 if (isSelected) { 
    169                     label.setForeground(Main.pref.getUIColor("Table.foreground")); 
    170                 } 
    171                 if(sc.getAssignedUser()) { 
    172                     label.setBackground(Main.pref.getColor( 
    173                             marktr("Shortcut Background: User"), 
    174                             new Color(200,255,200))); 
    175                 } else if(!sc.getAssignedDefault()) { 
    176                     label.setBackground(Main.pref.getColor( 
    177                             marktr("Shortcut Background: Modified"), 
    178                             new Color(255,255,200))); 
    179                 } 
    180                 return label; 
    181             } 
    182             return null; 
    183         } 
    184     } 
    185  
     160            int row1 = shortcutTable.convertRowIndexToModel(row); 
     161            Shortcut sc = (Shortcut)model.getValueAt(row1, -1); 
     162            if (sc==null) return null; 
     163            JLabel label = (JLabel) super.getTableCellRendererComponent( 
     164                table, name ? sc.getLongText() : sc.getKeyText(), isSelected, hasFocus, row, column); 
     165            label.setBackground(Main.pref.getUIColor("Table.background")); 
     166            if (isSelected) { 
     167                label.setForeground(Main.pref.getUIColor("Table.foreground")); 
     168            } 
     169            if(sc.getAssignedUser()) { 
     170                label.setBackground(Main.pref.getColor( 
     171                        marktr("Shortcut Background: User"), 
     172                        new Color(200,255,200))); 
     173            } else if(!sc.getAssignedDefault()) { 
     174                label.setBackground(Main.pref.getColor( 
     175                        marktr("Shortcut Background: Modified"), 
     176                        new Color(255,255,200))); 
     177            } 
     178            return label; 
     179        } 
     180    } 
     181     
    186182    private void initComponents() { 
    187183        JPanel listPane = new JPanel(); 
  • trunk/src/org/openstreetmap/josm/gui/preferences/shortcut/ShortcutPreference.java

    r5006 r5070  
    6565        } 
    6666        public Object getValueAt(int row, int col) { 
    67             return data.get(row); 
     67            return (col==0)?  data.get(row).getLongText() : data.get(row); 
    6868        } 
    6969        @Override 
Note: See TracChangeset for help on using the changeset viewer.