Changeset 5495 in josm for trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java
- Timestamp:
- 2012-09-02T14:20:28+02:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/dialogs/UserListDialog.java
r5360 r5495 5 5 import static org.openstreetmap.josm.tools.I18n.trn; 6 6 7 import java.awt.Component;8 7 import java.awt.event.ActionEvent; 9 8 import java.awt.event.KeyEvent; … … 26 25 27 26 import javax.swing.AbstractAction; 28 import javax.swing.JLabel;29 27 import javax.swing.JOptionPane; 30 28 import javax.swing.JTable; … … 32 30 import javax.swing.event.ListSelectionEvent; 33 31 import javax.swing.event.ListSelectionListener; 34 import javax.swing.table.DefaultTableCellRenderer;35 32 import javax.swing.table.DefaultTableModel; 36 import javax.swing.table.TableColumnModel;37 33 38 34 import org.openstreetmap.josm.Main; … … 46 42 import org.openstreetmap.josm.gui.layer.Layer; 47 43 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 48 import org.openstreetmap.josm.gui.progress.ContributorTermsUpdateRunnable;49 44 import org.openstreetmap.josm.tools.ImageProvider; 50 45 import org.openstreetmap.josm.tools.Shortcut; … … 64 59 private SelectUsersPrimitivesAction selectionUsersPrimitivesAction; 65 60 private ShowUserInfoAction showUserInfoAction; 66 private LoadRelicensingInformationAction loadRelicensingInformationAction;67 61 68 62 public UserListDialog() { … … 90 84 userTable.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); 91 85 userTable.addMouseListener(new DoubleClickAdapter()); 92 TableColumnModel columnModel = userTable.getColumnModel();93 columnModel.getColumn(3).setPreferredWidth(20);94 columnModel.getColumn(3).setCellRenderer(new DefaultTableCellRenderer() {95 @Override96 public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {97 // see http://download.oracle.com/javase/6/docs/api/javax/swing/table/DefaultTableCellRenderer.html#override98 // for why we don't use the label directly99 final JLabel renderLabel = (JLabel) super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);100 JLabel sourceLabel = (JLabel) value;101 renderLabel.setIcon(sourceLabel.getIcon());102 renderLabel.setText("");103 renderLabel.setToolTipText(sourceLabel.getToolTipText());104 return renderLabel;105 }106 });107 86 108 87 // -- select users primitives action … … 116 95 userTable.getSelectionModel().addListSelectionListener(showUserInfoAction); 117 96 118 // -- load relicensing info action119 loadRelicensingInformationAction = new LoadRelicensingInformationAction();120 121 97 createLayout(userTable, true, Arrays.asList(new SideButton[] { 122 98 new SideButton(selectionUsersPrimitivesAction), 123 new SideButton(showUserInfoAction), 124 new SideButton(loadRelicensingInformationAction) 99 new SideButton(showUserInfoAction) 125 100 })); 126 101 } … … 162 137 public void showDialog() { 163 138 super.showDialog(); 164 Main.worker.submit(new ContributorTermsUpdateRunnable());165 139 Layer layer = Main.main.getActiveLayer(); 166 140 if (layer instanceof OsmDataLayer) { … … 259 233 } 260 234 261 /*262 */263 class LoadRelicensingInformationAction extends AbstractAction {264 265 public LoadRelicensingInformationAction() {266 super();267 putValue(NAME, tr("Load CT"));268 putValue(SHORT_DESCRIPTION, tr("Loads information about relicensing status from the server. Users having agreed to the new contributor terms will show a green check mark."));269 putValue(SMALL_ICON, ImageProvider.get("about"));270 }271 272 @Override273 public void actionPerformed(ActionEvent e) {274 Main.worker.submit(new ContributorTermsUpdateRunnable());275 Layer layer = Main.main.getActiveLayer();276 if (layer instanceof OsmDataLayer) {277 refresh(((OsmDataLayer)layer).data.getAllSelected());278 }279 setEnabled(false);280 }281 }282 283 235 class DoubleClickAdapter extends MouseAdapter { 284 236 @Override … … 317 269 return user.getName(); 318 270 } 319 320 public int getRelicensingStatus() {321 if (user == null)322 return User.STATUS_UNKNOWN;323 return user.getRelicensingStatus();324 }325 271 } 326 272 … … 333 279 334 280 public UserTableModel() { 335 setColumnIdentifiers(new String[]{tr("Author"),tr("# Objects"),"%" , tr("CT")});281 setColumnIdentifiers(new String[]{tr("Author"),tr("# Objects"),"%"}); 336 282 data = new ArrayList<UserInfo>(); 337 283 } … … 375 321 case 1: /* count */ return info.count; 376 322 case 2: /* percent */ return NumberFormat.getPercentInstance().format(info.percent); 377 case 3: /* relicensing status */ return getRelicensingStatusIcon(info.getRelicensingStatus());378 323 } 379 324 return null; … … 412 357 } 413 358 } 414 415 private static JLabel greenCheckmark;416 private static JLabel greyCheckmark;417 private static JLabel redX;418 private static JLabel empty;419 420 public static JLabel getRelicensingStatusIcon(int status) {421 switch(status) {422 case User.STATUS_AGREED:423 if (greenCheckmark == null) {424 greenCheckmark = new JLabel(ImageProvider.get("misc", "green_check.png"));425 greenCheckmark.setToolTipText(tr("Accepted"));426 }427 return greenCheckmark;428 case User.STATUS_AUTO_AGREED:429 if (greyCheckmark == null) {430 greyCheckmark = new JLabel(ImageProvider.get("misc", "grey_check.png"));431 greyCheckmark.setToolTipText(tr("Auto-accepted"));432 }433 return greyCheckmark;434 case User.STATUS_NOT_AGREED:435 if (redX == null) {436 redX = new JLabel(ImageProvider.get("misc", "red_x.png"));437 redX.setToolTipText(tr("Declined"));438 }439 return redX;440 default:441 if (empty == null) {442 empty = new JLabel("");443 empty.setToolTipText(tr("Undecided"));444 }445 }446 return empty; // Undecided or unknown?447 }448 359 }
Note:
See TracChangeset
for help on using the changeset viewer.
