Changeset 150 in josm for src/org/openstreetmap/josm/gui/PreferenceDialog.java
- Timestamp:
- 2006-10-05T23:33:14+02:00 (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/org/openstreetmap/josm/gui/PreferenceDialog.java
r149 r150 11 11 import java.awt.event.ActionListener; 12 12 import java.io.File; 13 import java.util.Arrays; 13 14 import java.util.Collection; 14 15 import java.util.HashMap; … … 62 63 63 64 private final class RequireRestartAction implements ActionListener { 64 65 66 67 65 public void actionPerformed(ActionEvent e) { 66 requiresRestart = true; 67 } 68 } 68 69 private RequireRestartAction requireRestartAction = new RequireRestartAction(); 69 70 … … 107 108 Main.pref.put("annotation.sources", null); 108 109 110 String plugins = ""; 111 for (Entry<String, Boolean> entry : pluginMap.entrySet()) 112 if (entry.getValue()) 113 plugins += entry.getKey() + ","; 114 if (plugins.endsWith(",")) 115 plugins = plugins.substring(0, plugins.length()-1); 116 Main.pref.put("plugins", plugins); 117 109 118 for (int i = 0; i < colors.getRowCount(); ++i) { 110 119 String name = (String)colors.getValueAt(i, 0); … … 196 205 private JComboBox projectionCombo = new JComboBox(Projection.allProjections); 197 206 private JList annotationSources = new JList(new DefaultListModel()); 198 private Map< PluginProxy, Boolean> pluginMap = new HashMap<PluginProxy, Boolean>();207 private Map<String, Boolean> pluginMap = new HashMap<String, Boolean>(); 199 208 200 209 … … 234 243 languages.setRenderer(new DefaultListCellRenderer(){ 235 244 @Override public Component getListCellRendererComponent(JList list, Object value, int index, boolean isSelected, boolean cellHasFocus) { 236 237 245 return super.getListCellRendererComponent(list, ((Locale)value).getDisplayName(), index, isSelected, cellHasFocus); 246 } 238 247 }); 239 248 languages.addActionListener(requireRestartAction); … … 277 286 Box pluginPanel = Box.createVerticalBox(); 278 287 Collection<String> availablePlugins = new HashSet<String>(); 279 for (File f : new File(Main.pref.getPreferencesDir()+"plugins").listFiles()) { 280 if (!f.isFile() || !f.getName().endsWith(".jar")) 281 continue; 282 availablePlugins.add(f.getName().substring(0, f.getName().length()-4)); 283 } 284 for (PluginProxy plugin : Main.plugins) { 285 boolean available = availablePlugins.contains(plugin.name); 286 JCheckBox pluginCheck = new JCheckBox(plugin.name, available); 287 String desc = plugin.getDescription(); 288 File[] pluginFiles = new File(Main.pref.getPreferencesDir()+"plugins").listFiles(); 289 if (pluginFiles != null) { 290 for (File f : pluginFiles) { 291 if (!f.isFile() || !f.getName().endsWith(".jar")) 292 continue; 293 availablePlugins.add(f.getName().substring(0, f.getName().length()-4)); 294 } 295 } 296 Collection<String> enabledPlugins = Arrays.asList(Main.pref.get("plugins").split(",")); 297 for (final String plugin : availablePlugins) { 298 boolean enabled = enabledPlugins.contains(plugin); 299 String desc = null; 300 for (PluginProxy p : Main.plugins) { 301 if (p.name.equals(plugin)) { 302 desc = p.getDescription(); 303 break; 304 } 305 } 306 307 final JCheckBox pluginCheck = new JCheckBox(plugin, enabled); 288 308 pluginPanel.add(pluginCheck); 289 309 if (desc != null) { … … 294 314 pluginPanel.add(Box.createVerticalStrut(5)); 295 315 } 296 pluginMap.put(plugin, available); 297 } 298 JScrollPane pluginPane = new JScrollPane(pluginPanel); 316 pluginMap.put(plugin, enabled); 317 pluginCheck.addActionListener(new ActionListener(){ 318 public void actionPerformed(ActionEvent e) { 319 pluginMap.put(plugin, pluginCheck.isSelected()); 320 requiresRestart = true; 321 } 322 }); 323 } 324 JScrollPane pluginPane = new JScrollPane(pluginPanel, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); 299 325 pluginPane.setBorder(null); 300 326 301 327 Map<String,String> allColors = new TreeMap<String, String>(Main.pref.getAllPrefix("color.")); 302 328 … … 466 492 map.add(Box.createVerticalGlue(), GBC.eol().fill(GBC.VERTICAL)); 467 493 468 494 469 495 // Plugin tab 470 496 JPanel plugin = createPreferenceTab("plugin", tr("Plugins"), tr("Configure available Plugins.")); 471 497 plugin.add(pluginPane, GBC.eol().fill(GBC.BOTH)); 472 498 plugin.add(GBC.glue(0,10), GBC.eol()); 473 plugin.add(new UrlLabel("http://josm.eigenheimstrasse.de/wiki/Plugins", "Get more plugins"), GBC.std() );499 plugin.add(new UrlLabel("http://josm.eigenheimstrasse.de/wiki/Plugins", "Get more plugins"), GBC.std().fill(GBC.HORIZONTAL)); 474 500 475 501 tabPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
Note:
See TracChangeset
for help on using the changeset viewer.