Ticket #7548: 7548_v02.patch
File 7548_v02.patch, 47.8 KB (added by , 12 years ago) |
---|
-
src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java
diff --git a/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java b/src/org/openstreetmap/josm/gui/dialogs/MapPaintDialog.java index 238daac..cb8d8e8 100644
a b import org.openstreetmap.josm.gui.mappaint.MapPaintStyles.MapPaintSylesUpdateLis 69 69 import org.openstreetmap.josm.gui.mappaint.StyleSource; 70 70 import org.openstreetmap.josm.gui.preferences.PreferenceDialog; 71 71 import org.openstreetmap.josm.gui.preferences.SourceEntry; 72 import org.openstreetmap.josm.gui.preferences.map.MapPaintPreference; 72 73 import org.openstreetmap.josm.gui.widgets.HtmlPanel; 73 74 import org.openstreetmap.josm.gui.widgets.PopupMenuLauncher; 74 75 import org.openstreetmap.josm.tools.GBC; … … public class MapPaintDialog extends ToggleDialog { 452 453 @Override 453 454 public void actionPerformed(ActionEvent e) { 454 455 final PreferenceDialog p =new PreferenceDialog(Main.parent); 455 p.select MapPaintPreferenceTab();456 p.selectPreferencesTabByClass(MapPaintPreference.class); 456 457 p.setVisible(true); 457 458 } 458 459 } -
src/org/openstreetmap/josm/gui/preferences/DefaultTabPreferenceSetting.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/DefaultTabPreferenceSetting.java b/src/org/openstreetmap/josm/gui/preferences/DefaultTabPreferenceSetting.java index b296159..17fc08e 100644
a b 1 // License: GPL. For details, see LICENSE file. 2 package org.openstreetmap.josm.gui.preferences; 3 4 import javax.swing.JPanel; 5 import javax.swing.JScrollPane; 6 7 import org.openstreetmap.josm.tools.GBC; 8 9 public abstract class DefaultTabPreferenceSetting extends DefaultPreferenceSetting implements TabPreferenceSetting { 10 11 private final String iconName; 12 private final String description; 13 private final String title; 14 15 public DefaultTabPreferenceSetting() { 16 this(null, null, null); 17 } 18 19 public DefaultTabPreferenceSetting(String iconName, String title, String description) { 20 this(iconName, title, description, false); 21 } 22 23 public DefaultTabPreferenceSetting(String iconName, String title, String description, boolean isExpert) { 24 super(isExpert); 25 this.iconName = iconName; 26 this.description = description; 27 this.title = title; 28 } 29 30 @Override 31 public String getIconName() { 32 return iconName; 33 } 34 35 @Override 36 public String getTooltip() { 37 if (getDescription() != null) { 38 return "<html>"+getDescription()+"</html>"; 39 } else { 40 return null; 41 } 42 } 43 44 @Override 45 public String getDescription() { 46 return description; 47 } 48 49 @Override 50 public String getTitle() { 51 return title; 52 } 53 54 protected final void createPreferenceTabWithScrollPane(PreferenceTabbedPane gui, JPanel panel) { 55 GBC a = GBC.eol().insets(-5,0,0,0); 56 a.anchor = GBC.EAST; 57 58 JScrollPane scrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 59 scrollPane.setBorder(null); 60 61 JPanel tab = gui.createPreferenceTab(this); 62 tab.add(scrollPane, GBC.eol().fill(GBC.BOTH)); 63 tab.add(GBC.glue(0,10), a); 64 } 65 } 1 // License: GPL. For details, see LICENSE file. 2 package org.openstreetmap.josm.gui.preferences; 3 4 import javax.swing.JComponent; 5 import javax.swing.JPanel; 6 import javax.swing.JScrollPane; 7 8 import org.openstreetmap.josm.tools.GBC; 9 10 public abstract class DefaultTabPreferenceSetting extends DefaultPreferenceSetting implements TabPreferenceSetting { 11 12 private final String iconName; 13 private final String description; 14 private final String title; 15 16 public DefaultTabPreferenceSetting() { 17 this(null, null, null); 18 } 19 20 public DefaultTabPreferenceSetting(String iconName, String title, String description) { 21 this(iconName, title, description, false); 22 } 23 24 public DefaultTabPreferenceSetting(String iconName, String title, String description, boolean isExpert) { 25 super(isExpert); 26 this.iconName = iconName; 27 this.description = description; 28 this.title = title; 29 } 30 31 @Override 32 public String getIconName() { 33 return iconName; 34 } 35 36 @Override 37 public String getTooltip() { 38 if (getDescription() != null) { 39 return "<html>"+getDescription()+"</html>"; 40 } else { 41 return null; 42 } 43 } 44 45 @Override 46 public String getDescription() { 47 return description; 48 } 49 50 @Override 51 public String getTitle() { 52 return title; 53 } 54 55 protected final void createPreferenceTabWithScrollPane(PreferenceTabbedPane gui, JComponent panel) { 56 GBC a = GBC.eol().insets(-5,0,0,0); 57 a.anchor = GBC.EAST; 58 59 JScrollPane scrollPane = new JScrollPane(panel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); 60 scrollPane.setBorder(null); 61 62 JPanel tab = gui.createPreferenceTab(this); 63 tab.add(scrollPane, GBC.eol().fill(GBC.BOTH)); 64 tab.add(GBC.glue(0,10), a); 65 } 66 } -
src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java b/src/org/openstreetmap/josm/gui/preferences/PreferenceDialog.java index f6f9f14..f871802 100644
a b public class PreferenceDialog extends JDialog { 169 169 new CancelAction().cancel(); 170 170 } 171 171 } 172 173 public void selectMapPaintPreferenceTab() {174 tpPreferences.selectTabByPref(MapPreference.class);175 tpPreferences.getMapPreference().mapcontent.setSelectedIndex(1);176 }177 172 } -
src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java b/src/org/openstreetmap/josm/gui/preferences/PreferenceTabbedPane.java index 9c8bc7e..367a00c 100644
a b import org.openstreetmap.josm.gui.preferences.advanced.AdvancedPreference; 32 32 import org.openstreetmap.josm.gui.preferences.display.ColorPreference; 33 33 import org.openstreetmap.josm.gui.preferences.display.DisplayPreference; 34 34 import org.openstreetmap.josm.gui.preferences.display.DrawingPreference; 35 import org.openstreetmap.josm.gui.preferences.display.GPXSettingsPanel; 35 36 import org.openstreetmap.josm.gui.preferences.display.LafPreference; 36 37 import org.openstreetmap.josm.gui.preferences.display.LanguagePreference; 37 38 import org.openstreetmap.josm.gui.preferences.imagery.ImageryPreference; … … import org.openstreetmap.josm.gui.preferences.map.MapPaintPreference; 40 41 import org.openstreetmap.josm.gui.preferences.map.MapPreference; 41 42 import org.openstreetmap.josm.gui.preferences.map.TaggingPresetPreference; 42 43 import org.openstreetmap.josm.gui.preferences.projection.ProjectionPreference; 44 import org.openstreetmap.josm.gui.preferences.server.ProxyPreferencesPanel; 43 45 import org.openstreetmap.josm.gui.preferences.shortcut.ShortcutPreference; 44 46 import org.openstreetmap.josm.plugins.PluginDownloadTask; 45 47 import org.openstreetmap.josm.plugins.PluginHandler; … … public class PreferenceTabbedPane extends JTabbedPane implements MouseWheelListe 337 339 int position = index; 338 340 for (PreferenceTab tab : tabs) { 339 341 if (tab.getTabPreferenceSetting().equals(tps)) { 340 insertTab(null, icon, tab.getComponent(), tps.getTooltip(), position++); 342 if (tps instanceof IconPreferenceSetting) { 343 insertTab(null, icon, tab.getComponent(), tps.getTooltip(), position++); 344 } else { 345 insertTab(tps.getTitle(), null, tab.getComponent(), tps.getTooltip(), position++); 346 } 341 347 } 342 348 } 343 349 } … … public class PreferenceTabbedPane extends JTabbedPane implements MouseWheelListe 361 367 addGUITabsForSetting(icon, tps); 362 368 } else { 363 369 // If it has not been initialized, create an empty tab with only icon and tooltip 364 addTab(null, icon, new PreferencePanel(tps), tps.getTooltip()); 370 if (tps instanceof IconPreferenceSetting) { 371 addTab(null, icon, new PreferencePanel(tps), tps.getTooltip()); 372 } else { 373 addTab(tps.getTitle(), null, new PreferencePanel(tps), tps.getTooltip()); 374 } 365 375 } 366 376 } 367 377 } … … public class PreferenceTabbedPane extends JTabbedPane implements MouseWheelListe 391 401 return null; 392 402 } 393 403 404 static class IconPreferenceSetting extends DefaultTabPreferenceSetting { 405 406 public static class Factory implements PreferenceSettingFactory { 407 408 private final String iconName, title, description; 409 410 public Factory(String iconName, String title, String description) { 411 this.iconName = iconName; 412 this.title = title; 413 this.description = description; 414 } 415 416 @Override 417 public PreferenceSetting createPreferenceSetting() { 418 return new IconPreferenceSetting(iconName, title, description); 419 } 420 } 421 422 public IconPreferenceSetting(String iconName, String title, String description) { 423 super(iconName, title, description); 424 } 425 426 @Override 427 public void addGui(PreferenceTabbedPane gui) { 428 createPreferenceTabWithScrollPane(gui, new JPanel()); 429 } 430 431 @Override 432 public boolean ok() { 433 return false; 434 } 435 } 436 394 437 static { 438 395 439 // order is important! 396 settingsFactory.add(new DisplayPreference.Factory());440 settingsFactory.add(new IconPreferenceSetting.Factory("map", tr("Mapping"), "")); 397 441 settingsFactory.add(new DrawingPreference.Factory()); 398 settingsFactory.add(new ColorPreference.Factory()); 399 settingsFactory.add(new LafPreference.Factory()); 400 settingsFactory.add(new LanguagePreference.Factory()); 401 settingsFactory.add(new ServerAccessPreference.Factory()); 402 settingsFactory.add(new MapPreference.Factory()); 442 settingsFactory.add(new GPXSettingsPanel.Factory()); 403 443 settingsFactory.add(new ProjectionPreference.Factory()); 404 444 settingsFactory.add(new MapPaintPreference.Factory()); 405 445 settingsFactory.add(new TaggingPresetPreference.Factory()); 446 settingsFactory.add(new ImageryPreference.Factory()); 447 448 settingsFactory.add(new IconPreferenceSetting.Factory("connection", tr("Server"), tr("Connection Settings for the OSM server."))); 449 settingsFactory.add(new ServerAccessPreference.Factory()); 450 settingsFactory.add(new ProxyPreferencesPanel.Factory()); 451 452 settingsFactory.add(new IconPreferenceSetting.Factory("display", tr("User Interface"), tr("Various settings that influence the visual representation of the whole program."))); 453 settingsFactory.add(new ColorPreference.Factory()); 454 settingsFactory.add(new LafPreference.Factory()); 455 settingsFactory.add(new LanguagePreference.Factory()); 406 456 settingsFactory.add(new BackupPreference.Factory()); 407 if(!Main.applet) {408 settingsFactory.add(new PluginPreference.Factory());409 }410 457 settingsFactory.add(Main.toolbar); 411 settingsFactory.add(new AudioPreference.Factory());412 458 settingsFactory.add(new ShortcutPreference.Factory()); 459 460 settingsFactory.add(new IconPreferenceSetting.Factory("advanced", tr("Advanced Preferences"), "")); 461 settingsFactory.add(new AudioPreference.Factory()); 413 462 settingsFactory.add(new ValidatorPreference.Factory()); 414 463 settingsFactory.add(new RemoteControlPreference.Factory()); 415 settingsFactory.add(new ImageryPreference.Factory());464 settingsFactory.add(new AdvancedPreference.Factory()); 416 465 466 settingsFactory.add(new IconPreferenceSetting.Factory("plugin", tr("Plugins"), tr("Install new plugins or configure installed plugins."))); 467 if(!Main.applet) { 468 settingsFactory.add(new PluginPreference.Factory()); 469 } 417 470 PluginHandler.getPreferenceSetting(settingsFactory); 418 471 419 // always the last: advanced tab420 settingsFactory.add(new AdvancedPreference.Factory());421 472 } 422 473 423 474 /** -
src/org/openstreetmap/josm/gui/preferences/RemoteControlPreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/RemoteControlPreference.java b/src/org/openstreetmap/josm/gui/preferences/RemoteControlPreference.java index ef636b0..01674f9 100644
a b public class RemoteControlPreference extends DefaultTabPreferenceSetting { 105 105 }; 106 106 enableRemoteControl.addActionListener(remoteControlEnabled); 107 107 remoteControlEnabled.actionPerformed(null); 108 createPreferenceTabWithScrollPane(gui, remote); 108 //createPreferenceTabWithScrollPane(gui, remote); 109 gui.createPreferenceTab(this).add(remote, GBC.eol().fill(GBC.BOTH)); 109 110 } 110 111 111 112 @Override -
src/org/openstreetmap/josm/gui/preferences/ServerAccessPreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/ServerAccessPreference.java b/src/org/openstreetmap/josm/gui/preferences/ServerAccessPreference.java index 5a13619..4c7753d 100644
a b package org.openstreetmap.josm.gui.preferences; 3 3 4 4 import static org.openstreetmap.josm.tools.I18n.tr; 5 5 6 import java.awt.BorderLayout; 7 import java.awt.GridBagConstraints; 8 import java.awt.GridBagLayout; 9 import java.awt.Insets; 10 6 import org.openstreetmap.josm.tools.GBC; 7 import sun.awt.VerticalBagLayout; 11 8 import javax.swing.JPanel; 12 import javax.swing.JScrollPane;13 import javax.swing.JTabbedPane;14 15 9 import org.openstreetmap.josm.gui.help.HelpUtil; 16 10 import org.openstreetmap.josm.gui.preferences.server.AuthenticationPreferencesPanel; 17 11 import org.openstreetmap.josm.gui.preferences.server.OsmApiUrlInputPanel; 18 import org.openstreetmap.josm.gui.preferences.server.ProxyPreferencesPanel; 19 import org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel; 12 20 13 public class ServerAccessPreference extends DefaultTabPreferenceSetting { 21 14 22 15 public static class Factory implements PreferenceSettingFactory { … … public class ServerAccessPreference extends DefaultTabPreferenceSetting { 26 19 } 27 20 28 21 private ServerAccessPreference() { 29 super("connection", tr("Connection Settings"), tr("Connection Settings for the OSM server.")); 22 super("connection", tr("Connection Settings"), 23 tr("Connection Settings for the OSM server as well as your identity and how to authenticate at the OSM server.")); 30 24 } 31 25 32 26 private OsmApiUrlInputPanel pnlApiUrlPreferences; 33 27 34 private JTabbedPane tpServerPreferences;35 28 /** indicates whether to use the default OSM URL or not */ 36 29 /** panel for configuring authentication preferences */ 37 30 private AuthenticationPreferencesPanel pnlAuthPreferences; 38 /** panel for configuring proxy preferences */39 private ProxyPreferencesPanel pnlProxyPreferences;40 /** panel for backup preferences */41 42 /**43 * Embeds a vertically scrollable panel in a {@link JScrollPane}44 * @param panel the panel45 * @return the scroll pane46 */47 protected JScrollPane wrapVerticallyScrollablePanel(VerticallyScrollablePanel panel) {48 JScrollPane sp = new JScrollPane(panel);49 sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);50 sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);51 return sp;52 }53 54 /**55 * Builds the tabbed pane with the server preferences56 *57 * @return58 */59 protected JPanel buildTabbedServerPreferences() {60 JPanel pnl = new JPanel(new BorderLayout());61 62 tpServerPreferences = new JTabbedPane();63 pnlAuthPreferences = new AuthenticationPreferencesPanel();64 tpServerPreferences.add(wrapVerticallyScrollablePanel(pnlAuthPreferences));65 pnlProxyPreferences = new ProxyPreferencesPanel();66 tpServerPreferences.add(wrapVerticallyScrollablePanel(pnlProxyPreferences));67 68 tpServerPreferences.setTitleAt(0, tr("Authentication"));69 tpServerPreferences.setTitleAt(1, tr("Proxy settings"));70 tpServerPreferences.setToolTipTextAt(0, tr("Configure your identity and how to authenticate at the OSM server"));71 tpServerPreferences.setToolTipTextAt(1, tr("Configure whether to use a proxy server"));72 73 pnl.add(tpServerPreferences, BorderLayout.CENTER);74 return pnl;75 }76 31 77 32 /** 78 33 * Builds the panel for entering the server access preferences … … public class ServerAccessPreference extends DefaultTabPreferenceSetting { 80 35 * @return 81 36 */ 82 37 protected JPanel buildContentPanel() { 83 JPanel pnl = new JPanel(new GridBagLayout()); 84 GridBagConstraints gc = new GridBagConstraints(); 38 JPanel pnl = new JPanel(new VerticalBagLayout(20)); 85 39 86 // the checkbox for the default UL 87 gc.fill = GridBagConstraints.HORIZONTAL; 88 gc.anchor = GridBagConstraints.NORTHWEST; 89 gc.weightx = 1.0; 90 gc.insets = new Insets(0,0,0,0); 91 pnl.add(pnlApiUrlPreferences = new OsmApiUrlInputPanel(), gc); 92 93 // the remaining access properties 94 gc.gridy = 1; 95 gc.fill = GridBagConstraints.BOTH; 96 gc.weightx = 1.0; 97 gc.weighty = 1.0; 98 gc.insets = new Insets(10,0,3,3); 99 pnl.add(buildTabbedServerPreferences(), gc); 40 pnl.add(pnlApiUrlPreferences = new OsmApiUrlInputPanel()); 41 pnl.add(pnlAuthPreferences = new AuthenticationPreferencesPanel()); 100 42 101 43 // let the AuthPreferencesPanel know when the API URL changes 102 //103 44 pnlApiUrlPreferences.addPropertyChangeListener(pnlAuthPreferences); 104 45 105 46 HelpUtil.setHelpContext(pnl, HelpUtil.ht("/Preferences/Connection")); … … public class ServerAccessPreference extends DefaultTabPreferenceSetting { 107 48 } 108 49 109 50 public void addGui(PreferenceTabbedPane gui) { 110 GridBagConstraints gc = new GridBagConstraints(); 111 gc.fill = GridBagConstraints.BOTH; 112 gc.weightx = 1.0; 113 gc.weighty = 1.0; 114 gc.anchor = GridBagConstraints.NORTHWEST; 115 gui.createPreferenceTab(this).add(buildContentPanel(), gc); 116 51 //createPreferenceTabWithScrollPane(gui, buildContentPanel()); 52 gui.createPreferenceTab(this).add(buildContentPanel(), GBC.eol().fill(GBC.BOTH)); 117 53 initFromPreferences(); 118 54 } 119 55 … … public class ServerAccessPreference extends DefaultTabPreferenceSetting { 123 59 public void initFromPreferences() { 124 60 pnlApiUrlPreferences.initFromPreferences(); 125 61 pnlAuthPreferences.initFromPreferences(); 126 pnlProxyPreferences.initFromPreferences();127 62 } 128 63 129 64 /** … … public class ServerAccessPreference extends DefaultTabPreferenceSetting { 132 67 public boolean ok() { 133 68 pnlApiUrlPreferences.saveToPreferences(); 134 69 pnlAuthPreferences.saveToPreferences(); 135 pnlProxyPreferences.saveToPreferences();136 70 return false; 137 71 } 138 72 } -
src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java b/src/org/openstreetmap/josm/gui/preferences/ToolbarPreferences.java index 3adeda9..652a76f 100644
a b public class ToolbarPreferences implements PreferenceSettingFactory { 500 500 private String movingComponent; 501 501 502 502 public Settings(DefaultMutableTreeNode rootActionsNode) { 503 super("toolbar", tr("Toolbar customization"), tr("Customize the elements on the toolbar."));503 super("toolbar", tr("Toolbar"), tr("Customize the elements on the toolbar.")); 504 504 actionsTreeModel = new DefaultTreeModel(rootActionsNode); 505 505 actionsTree = new JTree(actionsTreeModel); 506 506 } -
src/org/openstreetmap/josm/gui/preferences/display/ColorPreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/display/ColorPreference.java b/src/org/openstreetmap/josm/gui/preferences/display/ColorPreference.java index 3ed2a58..0bd4bde 100644
a b import org.openstreetmap.josm.gui.layer.GpxLayer; 40 40 import org.openstreetmap.josm.gui.layer.ImageryLayer; 41 41 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 42 42 import org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer; 43 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 43 44 import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 44 45 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 45 46 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 46 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;47 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;48 47 import org.openstreetmap.josm.tools.ColorHelper; 49 48 import org.openstreetmap.josm.tools.GBC; 50 49 51 public class ColorPreference implements SubPreferenceSetting {50 public class ColorPreference extends DefaultTabPreferenceSetting { 52 51 53 52 public static class Factory implements PreferenceSettingFactory { 54 53 public PreferenceSetting createPreferenceSetting() { … … public class ColorPreference implements SubPreferenceSetting { 64 63 JButton defaultSet; 65 64 JButton remove; 66 65 66 public ColorPreference() { 67 super(null, tr("Colors"), ""); 68 } 69 67 70 /** 68 71 * Set the colors to be shown in the preference table. This method creates a table model if 69 72 * none exists and overwrites all existing values. … … public class ColorPreference implements SubPreferenceSetting { 238 241 buttonPanel.add(defaultSet, GBC.std().insets(5,5,5,0)); 239 242 buttonPanel.add(defaultAll, GBC.std().insets(0,5,0,0)); 240 243 buttonPanel.add(remove, GBC.std().insets(0,5,0,0)); 241 gui.getDisplayPreference().displaycontent.addTab(tr("Colors"), panel); 244 245 createPreferenceTabWithScrollPane(gui, panel); 242 246 } 243 247 244 248 Boolean isRemoveColor(int row) … … public class ColorPreference implements SubPreferenceSetting { 283 287 public boolean isExpert() { 284 288 return false; 285 289 } 286 287 @Override288 public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {289 return gui.getDisplayPreference();290 }291 290 } -
src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java b/src/org/openstreetmap/josm/gui/preferences/display/DrawingPreference.java index 0c33939..87f0dce 100644
a b import javax.swing.Box; 12 12 import javax.swing.JCheckBox; 13 13 import javax.swing.JLabel; 14 14 import javax.swing.JPanel; 15 import javax.swing.JScrollPane;16 15 17 16 import org.openstreetmap.josm.Main; 18 17 import org.openstreetmap.josm.actions.ExpertToggleAction; 18 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 19 19 import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 20 20 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 21 21 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 22 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;23 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;24 22 import org.openstreetmap.josm.tools.GBC; 25 23 26 public class DrawingPreference implements SubPreferenceSetting {24 public class DrawingPreference extends DefaultTabPreferenceSetting { 27 25 28 26 public static class Factory implements PreferenceSettingFactory { 29 27 public PreferenceSetting createPreferenceSetting() { … … public class DrawingPreference implements SubPreferenceSetting { 31 29 } 32 30 } 33 31 34 private GPXSettingsPanel gpxPanel;35 32 private JCheckBox directionHint = new JCheckBox(tr("Draw Direction Arrows")); 36 33 private JCheckBox headArrow = new JCheckBox(tr("Only on the head of a way.")); 37 34 private JCheckBox onewayArrow = new JCheckBox(tr("Draw oneway arrows.")); … … public class DrawingPreference implements SubPreferenceSetting { 46 43 private JCheckBox useAntialiasing = new JCheckBox(tr("Smooth map graphics (antialiasing)")); 47 44 private JCheckBox outlineOnly = new JCheckBox(tr("Draw only outlines of areas")); 48 45 46 public DrawingPreference() { 47 super(null, tr("OSM Data"), ""); 48 } 49 49 50 public void addGui(PreferenceTabbedPane gui) { 50 //gui.display.setPreferredSize(new Dimension(400,600)); 51 gpxPanel = new GPXSettingsPanel(); 52 gui.addValidationListener(gpxPanel); 53 JPanel panel = gpxPanel; 54 55 JScrollPane scrollpane = new JScrollPane(panel); 56 scrollpane.setBorder(BorderFactory.createEmptyBorder( 0, 0, 0, 0 )); 57 gui.getDisplayPreference().displaycontent.addTab(tr("GPS Points"), scrollpane); 58 panel = new JPanel(new GridBagLayout()); 51 52 JPanel panel = new JPanel(new GridBagLayout()); 59 53 panel.setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); 60 54 61 55 // directionHint … … public class DrawingPreference implements SubPreferenceSetting { 132 126 ExpertToggleAction.addVisibilitySwitcher(outlineOnly); 133 127 134 128 panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH)); 135 scrollpane = new JScrollPane(panel); 136 scrollpane.setBorder(BorderFactory.createEmptyBorder( 0, 0, 0, 0 )); 137 gui.getDisplayPreference().displaycontent.addTab(tr("OSM Data"), scrollpane); 129 130 createPreferenceTabWithScrollPane(gui, panel); 138 131 } 139 132 140 133 public boolean ok() { 141 gpxPanel.savePreferences();142 134 Main.pref.put("draw.data.area_outline_only", outlineOnly.isSelected()); 143 135 Main.pref.put("draw.segment.direction", directionHint.isSelected()); 144 136 Main.pref.put("draw.segment.head_only", headArrow.isSelected()); … … public class DrawingPreference implements SubPreferenceSetting { 166 158 public boolean isExpert() { 167 159 return false; 168 160 } 169 170 @Override171 public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {172 return gui.getDisplayPreference();173 }174 161 } -
src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java b/src/org/openstreetmap/josm/gui/preferences/display/GPXSettingsPanel.java index dae0791..b26582e 100644
a b import org.openstreetmap.josm.Main; 25 25 import org.openstreetmap.josm.actions.ExpertToggleAction; 26 26 import org.openstreetmap.josm.gui.layer.markerlayer.Marker; 27 27 import org.openstreetmap.josm.gui.layer.markerlayer.Marker.TemplateEntryProperty; 28 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 29 import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 30 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 31 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 28 32 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane.ValidationListener; 29 33 import org.openstreetmap.josm.tools.GBC; 30 34 import org.openstreetmap.josm.tools.template_engine.ParseError; 31 35 import org.openstreetmap.josm.tools.template_engine.TemplateParser; 32 36 33 37 public class GPXSettingsPanel extends JPanel implements ValidationListener { 38 39 public static class Factory implements PreferenceSettingFactory { 40 41 @Override 42 public PreferenceSetting createPreferenceSetting() { 43 return new DefaultTabPreferenceSetting(null, tr("GPS Points"), "") { 44 45 private GPXSettingsPanel gpx; 46 47 @Override 48 public void addGui(PreferenceTabbedPane gui) { 49 createPreferenceTabWithScrollPane(gui, gpx = new GPXSettingsPanel()); 50 gui.addValidationListener(gpx); 51 } 52 53 @Override 54 public boolean ok() { 55 gpx.savePreferences(); 56 return false; 57 } 58 }; 59 } 60 } 34 61 35 62 private static final int WAYPOINT_LABEL_CUSTOM = 6; 36 63 private static final String[] LABEL_PATTERN_TEMPLATE = new String[] {Marker.LABEL_PATTERN_AUTO, Marker.LABEL_PATTERN_NAME, -
src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java b/src/org/openstreetmap/josm/gui/preferences/display/LafPreference.java index bbdc128..ae95b7f 100644
a b import javax.swing.JComboBox; 14 14 import javax.swing.JLabel; 15 15 import javax.swing.JList; 16 16 import javax.swing.JPanel; 17 import javax.swing.JScrollPane;18 17 import javax.swing.ListCellRenderer; 19 18 import javax.swing.UIManager; 20 19 import javax.swing.UIManager.LookAndFeelInfo; 21 20 22 21 import org.openstreetmap.josm.Main; 23 22 import org.openstreetmap.josm.actions.ExpertToggleAction; 23 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 24 24 import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 25 25 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 26 26 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 27 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;28 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;29 27 import org.openstreetmap.josm.tools.GBC; 30 28 31 public class LafPreference implements SubPreferenceSetting {29 public class LafPreference extends DefaultTabPreferenceSetting { 32 30 33 31 public static class Factory implements PreferenceSettingFactory { 34 32 public PreferenceSetting createPreferenceSetting() { … … public class LafPreference implements SubPreferenceSetting { 47 45 private JCheckBox modeless = new JCheckBox(tr("Modeless working (Potlatch style)")); 48 46 private JCheckBox dynamicButtons = new JCheckBox(tr("Dynamic buttons in side menus")); 49 47 48 public LafPreference() { 49 super(null, tr("Look and Feel"), ""); 50 } 51 50 52 public void addGui(PreferenceTabbedPane gui) { 51 53 lafCombo = new JComboBox(UIManager.getInstalledLookAndFeels()); 52 54 … … public class LafPreference implements SubPreferenceSetting { 113 115 panel.add(GBC.glue(5,0), GBC.std().fill(GBC.HORIZONTAL)); 114 116 panel.add(lafCombo, GBC.eol().fill(GBC.HORIZONTAL)); 115 117 116 JScrollPane scrollpane = new JScrollPane(panel);117 scrollpane.setBorder(BorderFactory.createEmptyBorder( 0, 0, 0, 0 )); 118 gui.getDisplayPreference().displaycontent.addTab(tr("Look and Feel"), scrollpane);118 panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH)); 119 120 createPreferenceTabWithScrollPane(gui, panel); 119 121 } 120 122 121 123 public boolean ok() { … … public class LafPreference implements SubPreferenceSetting { 133 135 public boolean isExpert() { 134 136 return false; 135 137 } 136 137 @Override138 public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {139 return gui.getDisplayPreference();140 }141 138 } -
src/org/openstreetmap/josm/gui/preferences/display/LanguagePreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/display/LanguagePreference.java b/src/org/openstreetmap/josm/gui/preferences/display/LanguagePreference.java index a4f52fa..b3443a0 100644
a b import javax.swing.JPanel; 19 19 import javax.swing.ListCellRenderer; 20 20 21 21 import org.openstreetmap.josm.Main; 22 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 22 23 import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 23 24 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 24 25 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 25 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;26 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;27 26 import org.openstreetmap.josm.tools.GBC; 28 27 import org.openstreetmap.josm.tools.I18n; 29 28 30 public class LanguagePreference implements SubPreferenceSetting {29 public class LanguagePreference extends DefaultTabPreferenceSetting { 31 30 public static class Factory implements PreferenceSettingFactory { 32 31 public PreferenceSetting createPreferenceSetting() { 33 32 return new LanguagePreference(); … … public class LanguagePreference implements SubPreferenceSetting { 39 38 /** the model for the combo box */ 40 39 private LanguageComboBoxModel model; 41 40 41 public LanguagePreference() { 42 super(null, tr("Language"), ""); 43 } 44 42 45 public void addGui(final PreferenceTabbedPane gui) { 43 46 model = new LanguageComboBoxModel(); 44 47 // Selecting the language BEFORE the JComboBox listens to model changes speed up initialization by ~35ms (see #7386) … … public class LanguagePreference implements SubPreferenceSetting { 47 50 langCombo = new JComboBox(model); 48 51 langCombo.setRenderer(new LanguageCellRenderer(langCombo.getRenderer())); 49 52 50 LafPreference lafPreference = gui.getSetting(LafPreference.class); 51 final JPanel panel = lafPreference.panel; 53 final JPanel panel = new JPanel(); 52 54 panel.add(new JLabel(tr("Language")), GBC.std().insets(20, 0, 0, 0)); 53 55 panel.add(GBC.glue(5,0), GBC.std().fill(GBC.HORIZONTAL)); 54 56 panel.add(langCombo, GBC.eol().fill(GBC.HORIZONTAL)); 55 panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH)); 57 //panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH)); 58 createPreferenceTabWithScrollPane(gui, panel); 56 59 } 57 60 58 61 public boolean ok() { … … public class LanguagePreference implements SubPreferenceSetting { 116 119 public boolean isExpert() { 117 120 return false; 118 121 } 119 120 @Override121 public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {122 return gui.getDisplayPreference();123 }124 122 } -
src/org/openstreetmap/josm/gui/preferences/map/BackupPreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/map/BackupPreference.java b/src/org/openstreetmap/josm/gui/preferences/map/BackupPreference.java index 9aeb86d..c80a1c4 100644
a b import javax.swing.JTextField; 18 18 19 19 import org.openstreetmap.josm.data.AutosaveTask; 20 20 import org.openstreetmap.josm.data.preferences.BooleanProperty; 21 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 21 22 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 22 23 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 23 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;24 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;25 24 import org.openstreetmap.josm.gui.widgets.HtmlPanel; 26 25 import org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel; 27 26 import org.openstreetmap.josm.tools.GBC; 28 27 29 public class BackupPreference implements SubPreferenceSetting {28 public class BackupPreference extends DefaultTabPreferenceSetting { 30 29 31 30 public static class Factory implements PreferenceSettingFactory { 32 31 @Override … … public class BackupPreference implements SubPreferenceSetting { 96 95 autosaveEnabled.actionPerformed(null); 97 96 98 97 panel.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.BOTH)); 99 JScrollPane sp = new JScrollPane(panel);100 sp.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);101 sp.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);102 98 103 gui.getMapPreference().mapcontent.addTab(tr("File backup"), null, sp, tr("Configure whether to create backup files")); 99 createPreferenceTabWithScrollPane(gui, panel); 100 } 101 102 @Override 103 public String getIconName() { 104 return null; 105 } 106 107 @Override 108 public String getTitle() { 109 return tr("File backup"); 110 } 111 112 @Override 113 public String getTooltip() { 114 return tr("Configure whether to create backup files"); 104 115 } 105 116 106 117 @Override … … public class BackupPreference implements SubPreferenceSetting { 115 126 } 116 127 117 128 @Override 118 public boolean isExpert() {119 return false;129 public String getDescription() { 130 return getTooltip(); 120 131 } 121 132 122 133 @Override 123 public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {124 return gui.getMapPreference();134 public boolean isExpert() { 135 return false; 125 136 } 126 137 } -
src/org/openstreetmap/josm/gui/preferences/map/MapPaintPreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/map/MapPaintPreference.java b/src/org/openstreetmap/josm/gui/preferences/map/MapPaintPreference.java index 2240073..20536a7 100644
a b import java.util.HashMap; 12 12 import java.util.List; 13 13 import java.util.Map; 14 14 import java.util.TreeSet; 15 16 15 import javax.swing.BorderFactory; 17 16 import javax.swing.JCheckBox; 18 17 import javax.swing.JPanel; 19 import javax.swing.event.ChangeEvent;20 import javax.swing.event.ChangeListener;21 22 18 import org.openstreetmap.josm.Main; 23 19 import org.openstreetmap.josm.gui.mappaint.MapPaintStyles; 20 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 24 21 import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 25 22 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 26 23 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; … … import org.openstreetmap.josm.gui.preferences.SourceEditor; 28 25 import org.openstreetmap.josm.gui.preferences.SourceEditor.ExtendedSourceEntry; 29 26 import org.openstreetmap.josm.gui.preferences.SourceEntry; 30 27 import org.openstreetmap.josm.gui.preferences.SourceProvider; 31 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;32 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;33 28 import org.openstreetmap.josm.tools.GBC; 34 29 import org.openstreetmap.josm.tools.Predicate; 35 30 import org.openstreetmap.josm.tools.Utils; 36 31 37 public class MapPaintPreference implements SubPreferenceSetting {32 public class MapPaintPreference extends DefaultTabPreferenceSetting { 38 33 private SourceEditor sources; 39 34 private JCheckBox enableIconDefault; 40 35 … … public class MapPaintPreference implements SubPreferenceSetting { 52 47 } 53 48 } 54 49 50 public MapPaintPreference() { 51 super(null, tr("Map Paint Styles"), ""); 52 } 53 54 @Override 55 55 public void addGui(final PreferenceTabbedPane gui) { 56 56 enableIconDefault = new JCheckBox(tr("Enable built-in icon defaults"), 57 57 Main.pref.getBoolean("mappaint.icon.enable-defaults", true)); … … public class MapPaintPreference implements SubPreferenceSetting { 64 64 panel.add(sources, GBC.eol().fill(GBC.BOTH)); 65 65 panel.add(enableIconDefault, GBC.eol().insets(11,2,5,0)); 66 66 67 gui.getMapPreference().mapcontent.addTab(tr("Map Paint Styles"), panel); 68 69 // this defers loading of style sources to the first time the tab 70 // with the map paint preferences is selected by the user 71 // 72 gui.getMapPreference().mapcontent.addChangeListener( 73 new ChangeListener() { 74 public void stateChanged(ChangeEvent e) { 75 if (gui.getMapPreference().mapcontent.getSelectedComponent() == panel) { 76 sources.initiallyLoadAvailableSources(); 77 } 78 } 79 } 80 ); 67 //createPreferenceTabWithScrollPane(gui, panel); 68 gui.createPreferenceTab(this).add(panel, GBC.eol().fill(GBC.BOTH)); 69 70 sources.initiallyLoadAvailableSources(); 81 71 } 82 72 83 73 static class MapPaintSourceEditor extends SourceEditor { … … public class MapPaintPreference implements SubPreferenceSetting { 286 276 public boolean isExpert() { 287 277 return false; 288 278 } 289 290 @Override291 public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {292 return gui.getMapPreference();293 }294 279 } -
src/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreference.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreference.java b/src/org/openstreetmap/josm/gui/preferences/map/TaggingPresetPreference.java index c12a232..2b63ef7 100644
a b import java.util.Collections; 12 12 import java.util.HashMap; 13 13 import java.util.List; 14 14 import java.util.Map; 15 16 15 import javax.swing.BorderFactory; 17 16 import javax.swing.JCheckBox; 18 17 import javax.swing.JLabel; … … import javax.swing.JMenuItem; 21 20 import javax.swing.JOptionPane; 22 21 import javax.swing.JPanel; 23 22 import javax.swing.JSeparator; 24 import javax.swing.event.ChangeEvent;25 import javax.swing.event.ChangeListener;26 27 23 import org.openstreetmap.josm.Main; 28 24 import org.openstreetmap.josm.gui.ExtendedDialog; 25 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 29 26 import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 30 27 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 31 28 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; … … import org.openstreetmap.josm.gui.preferences.SourceEditor; 34 31 import org.openstreetmap.josm.gui.preferences.SourceEditor.ExtendedSourceEntry; 35 32 import org.openstreetmap.josm.gui.preferences.SourceEntry; 36 33 import org.openstreetmap.josm.gui.preferences.SourceProvider; 37 import org.openstreetmap.josm.gui.preferences.SubPreferenceSetting;38 import org.openstreetmap.josm.gui.preferences.TabPreferenceSetting;39 34 import org.openstreetmap.josm.gui.tagging.TaggingPreset; 40 35 import org.openstreetmap.josm.gui.tagging.TaggingPresetMenu; 41 36 import org.openstreetmap.josm.gui.tagging.TaggingPresetSeparator; … … import org.openstreetmap.josm.tools.GBC; 44 39 import org.xml.sax.SAXException; 45 40 import org.xml.sax.SAXParseException; 46 41 47 public class TaggingPresetPreference implements SubPreferenceSetting {42 public class TaggingPresetPreference extends DefaultTabPreferenceSetting { 48 43 49 44 public static class Factory implements PreferenceSettingFactory { 50 45 public PreferenceSetting createPreferenceSetting() { … … public class TaggingPresetPreference implements SubPreferenceSetting { 53 48 } 54 49 55 50 private TaggingPresetPreference() { 56 super( );51 super(null, tr("Tagging Presets"), ""); 57 52 } 58 53 59 54 private static final List<SourceProvider> presetSourceProviders = new ArrayList<SourceProvider>(); … … public class TaggingPresetPreference implements SubPreferenceSetting { 153 148 } 154 149 }; 155 150 151 @Override 156 152 public void addGui(final PreferenceTabbedPane gui) { 157 153 sortMenu = new JCheckBox(tr("Sort presets menu"), 158 154 Main.pref.getBoolean("taggingpreset.sortmenu", false)); … … public class TaggingPresetPreference implements SubPreferenceSetting { 162 158 panel.add(sortMenu, GBC.eol().insets(5,5,5,0)); 163 159 sources = new TaggingPresetSourceEditor(); 164 160 panel.add(sources, GBC.eol().fill(GBC.BOTH)); 165 gui.getMapPreference().mapcontent.addTab(tr("Tagging Presets"), panel); 166 167 // this defers loading of tagging preset sources to the first time the tab 168 // with the tagging presets is selected by the user 169 // 170 gui.getMapPreference().mapcontent.addChangeListener( 171 new ChangeListener() { 172 public void stateChanged(ChangeEvent e) { 173 if (gui.getMapPreference().mapcontent.getSelectedComponent() == panel) { 174 sources.initiallyLoadAvailableSources(); 175 } 176 } 177 } 178 ); 179 gui.addValidationListener(validationListener); 161 162 //createPreferenceTabWithScrollPane(gui, panel); 163 gui.createPreferenceTab(this).add(panel, GBC.eol().fill(GBC.BOTH)); 164 165 sources.initiallyLoadAvailableSources(); 180 166 } 181 167 182 168 static class TaggingPresetSourceEditor extends SourceEditor { … … public class TaggingPresetPreference implements SubPreferenceSetting { 353 339 public boolean isExpert() { 354 340 return false; 355 341 } 356 357 @Override358 public TabPreferenceSetting getTabPreferenceSetting(final PreferenceTabbedPane gui) {359 return gui.getMapPreference();360 }361 342 } -
src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java
diff --git a/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java b/src/org/openstreetmap/josm/gui/preferences/server/ProxyPreferencesPanel.java index 0199c4f..0e3c8a6 100644
a b import javax.swing.JTextField; 28 28 import org.openstreetmap.josm.Main; 29 29 import org.openstreetmap.josm.gui.JMultilineLabel; 30 30 import org.openstreetmap.josm.gui.help.HelpUtil; 31 import org.openstreetmap.josm.gui.preferences.DefaultTabPreferenceSetting; 32 import org.openstreetmap.josm.gui.preferences.PreferenceSetting; 33 import org.openstreetmap.josm.gui.preferences.PreferenceSettingFactory; 34 import org.openstreetmap.josm.gui.preferences.PreferenceTabbedPane; 31 35 import org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel; 32 36 import org.openstreetmap.josm.io.DefaultProxySelector; 33 37 import org.openstreetmap.josm.io.auth.CredentialsAgent; 34 38 import org.openstreetmap.josm.io.auth.CredentialsAgentException; 35 39 import org.openstreetmap.josm.io.auth.CredentialsManager; 36 40 import org.openstreetmap.josm.tools.GBC; 41 import sun.awt.VerticalBagLayout; 37 42 38 43 public class ProxyPreferencesPanel extends VerticallyScrollablePanel { 39 44 45 public static class Factory implements PreferenceSettingFactory { 46 47 @Override 48 public PreferenceSetting createPreferenceSetting() { 49 return new DefaultTabPreferenceSetting(null, tr("Proxy settings"), tr("Configure whether to use a proxy server")) { 50 51 private ProxyPreferencesPanel pnlProxyPreferences; 52 53 @Override 54 public void addGui(PreferenceTabbedPane gui) { 55 //createPreferenceTabWithScrollPane(gui, pnlProxyPreferences = new ProxyPreferencesPanel()); 56 pnlProxyPreferences = new ProxyPreferencesPanel(); 57 gui.createPreferenceTab(this).add(pnlProxyPreferences, GBC.eol().fill(GBC.BOTH)); 58 pnlProxyPreferences.initFromPreferences(); 59 } 60 61 @Override 62 public boolean ok() { 63 pnlProxyPreferences.saveToPreferences(); 64 return false; 65 } 66 }; 67 } 68 } 69 40 70 public enum ProxyPolicy { 41 71 NO_PROXY("no-proxy"), 42 72 USE_SYSTEM_SETTINGS("use-system-settings"), … … public class ProxyPreferencesPanel extends VerticallyScrollablePanel { 361 391 } 362 392 363 393 public ProxyPreferencesPanel() { 364 setLayout(new GridBagLayout());365 setBorder(BorderFactory.createEmptyBorder(5,5,5,5)); 366 add(buildProxySettingsPanel() , GBC.eop().anchor(GridBagConstraints.NORTHWEST).fill(GridBagConstraints.BOTH));394 setLayout(new VerticalBagLayout(20)); 395 396 add(buildProxySettingsPanel()); 367 397 368 398 initFromPreferences(); 369 399 updateEnabledState();