Ticket #11914: 11914-v4.patch
File 11914-v4.patch, 4.9 KB (added by , 4 years ago) |
---|
-
src/org/openstreetmap/josm/gui/MainFrame.java
20 20 import javax.swing.JFrame; 21 21 import javax.swing.JPanel; 22 22 23 import org.openstreetmap.josm.data.UserIdentityManager; 23 24 import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent; 24 25 import org.openstreetmap.josm.gui.layer.LayerManager.LayerChangeListener; 25 26 import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent; … … 28 29 import org.openstreetmap.josm.gui.layer.OsmDataLayer.LayerStateChangeListener; 29 30 import org.openstreetmap.josm.gui.util.WindowGeometry; 30 31 import org.openstreetmap.josm.spi.preferences.Config; 32 import org.openstreetmap.josm.spi.preferences.PreferenceChangedListener; 31 33 import org.openstreetmap.josm.tools.ImageProvider; 32 34 import org.openstreetmap.josm.tools.Logging; 33 35 … … 47 49 } 48 50 }; 49 51 52 private final transient PreferenceChangedListener updateTitleUserChange = evt -> { 53 if ("osm-server.username".equals(evt.getKey()) || "draw.show-user".equals(evt.getKey())) { 54 refreshTitle(); 55 } 56 }; 57 50 58 protected transient WindowGeometry geometry; 51 59 protected int windowState = JFrame.NORMAL; 52 60 private final MainPanel panel; … … 102 110 // This listener is never removed, since the main frame exists forever. 103 111 MainApplication.getLayerManager().addActiveLayerChangeListener(e -> refreshTitle()); 104 112 MainApplication.getLayerManager().addAndFireLayerChangeListener(new ManageLayerListeners()); 113 Config.getPref().addPreferenceChangeListener(updateTitleUserChange); 105 114 106 115 refreshTitle(); 107 116 … … 165 174 OsmDataLayer editLayer = MainApplication.getLayerManager().getEditLayer(); 166 175 boolean dirty = editLayer != null && (editLayer.requiresSaveToFile() 167 176 || (editLayer.requiresUploadToServer() && !editLayer.isUploadDiscouraged())); 168 setTitle((dirty ? "* " : "") + tr("Java OpenStreetMap Editor")); 177 String user = UserIdentityManager.getInstance().getUserName(); 178 if (user != null && Config.getPref().getBoolean("draw.show-user", false)) 179 user = tr(" ({0})", "@" + user); 180 else 181 user = ""; 182 setTitle((dirty ? "* " : "") + tr("Java OpenStreetMap Editor") + user); 169 183 getRootPane().putClientProperty("Window.documentModified", dirty); 170 184 } 171 185 -
src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java
80 80 private JosmComboBox<LookAndFeelInfo> lafCombo; 81 81 VerticallyScrollablePanel panel; 82 82 private final JCheckBox showSplashScreen = new JCheckBox(tr("Show splash screen at startup")); 83 private final JCheckBox showUser = new JCheckBox(tr("Show user name in title")); 83 84 private final JCheckBox showID = new JCheckBox(tr("Show object ID in selection lists")); 84 85 private final JCheckBox showVersion = new JCheckBox(tr("Show object version in selection lists")); 85 86 private final JCheckBox showCoor = new JCheckBox(tr("Show node coordinates in selection lists")); … … 129 130 showSplashScreen.setSelected(Config.getPref().getBoolean("draw.splashscreen", true)); 130 131 panel.add(showSplashScreen, GBC.eop().insets(20, 0, 0, 0)); 131 132 133 // Show user name in title 134 showUser.setToolTipText(tr("Show user name in title")); 135 showUser.setSelected(Config.getPref().getBoolean("draw.show-user", false)); 136 132 137 // Show ID in selection 133 138 showID.setToolTipText(tr("Show object ID in selection lists")); 134 139 showID.setSelected(Config.getPref().getBoolean("osm-primitives.showid", false)); … … 150 155 modeless.setSelected(MapFrame.MODELESS.get()); 151 156 ExpertToggleAction.addVisibilitySwitcher(modeless); 152 157 158 panel.add(showUser, GBC.eop().insets(20, 0, 0, 0)); 153 159 panel.add(showID, GBC.eop().insets(20, 0, 0, 0)); 154 160 panel.add(showVersion, GBC.eop().insets(20, 0, 0, 0)); 155 161 panel.add(showCoor, GBC.eop().insets(20, 0, 0, 0)); … … 215 221 public boolean ok() { 216 222 boolean mod = false; 217 223 Config.getPref().putBoolean("draw.splashscreen", showSplashScreen.isSelected()); 224 Config.getPref().putBoolean("draw.show-user", showUser.isSelected()); 218 225 Config.getPref().putBoolean("osm-primitives.showid", showID.isSelected()); 219 226 Config.getPref().putBoolean("osm-primitives.showversion", showVersion.isSelected()); 220 227 Config.getPref().putBoolean("osm-primitives.showcoor", showCoor.isSelected());