Ignore:
Timestamp:
2016-01-05T10:06:59+01:00 (8 years ago)
Author:
simon04
Message:

Allow changing coordinate format in status bar

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/MapStatus.java

    r9272 r9317  
    761761        private final JMenuItem jumpButton = add(Main.main.menu.jumpToAct);
    762762
     763        /** Icons for selecting {@link SystemOfMeasurement} */
    763764        private final Collection<JCheckBoxMenuItem> somItems = new ArrayList<>();
     765        /** Icons for selecting {@link CoordinateFormat}  */
     766        private final Collection<JCheckBoxMenuItem> coordinateFormatItems = new ArrayList<>();
    764767
    765768        private final JSeparator separator = new JSeparator();
     
    782785                });
    783786                somItems.add(item);
     787                add(item);
     788            }
     789            for (final CoordinateFormat format : CoordinateFormat.values()) {
     790                JCheckBoxMenuItem item = new JCheckBoxMenuItem(new AbstractAction(format.getDisplayName()) {
     791                    @Override
     792                    public void actionPerformed(ActionEvent e) {
     793                        CoordinateFormat.setCoordinateFormat(format);
     794                    }
     795                });
     796                coordinateFormatItems.add(item);
    784797                add(item);
    785798            }
     
    798811                        item.setVisible(distText.equals(invoker));
    799812                    }
    800                     separator.setVisible(distText.equals(invoker));
     813                    final String currentCorrdinateFormat = CoordinateFormat.getDefaultFormat().getDisplayName();
     814                    for (JMenuItem item : coordinateFormatItems) {
     815                        item.setSelected(currentCorrdinateFormat.equals(item.getText()));
     816                        item.setVisible(latText.equals(invoker) || lonText.equals(invoker));
     817                    }
     818                    separator.setVisible(distText.equals(invoker) || latText.equals(invoker) || lonText.equals(invoker));
    801819                    doNotHide.setSelected(Main.pref.getBoolean("statusbar.always-visible", true));
    802820                }
Note: See TracChangeset for help on using the changeset viewer.