Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/plugins/PluginHandler.java
r19535 r19565 1692 1692 public static JPanel getInfoPanel() { 1693 1693 JPanel pluginTab = new JPanel(new GridBagLayout()); 1694 for (final PluginInformation info : getPlugins()) { 1695 String name = info.name 1696 + (!Utils.isEmpty(info.localversion) ? " Version: " + info.localversion : ""); 1697 pluginTab.add(new JLabel(name), GBC.std()); 1698 pluginTab.add(Box.createHorizontalGlue(), GBC.std().fill(GridBagConstraints.HORIZONTAL)); 1699 pluginTab.add(new JButton(new PluginInformationAction(info)), GBC.eol()); 1700 1701 JosmTextArea description = new JosmTextArea(info.description == null ? tr("no description available") 1702 : info.description); 1703 description.setEditable(false); 1704 description.setFont(new JLabel().getFont().deriveFont(Font.ITALIC)); 1705 description.setLineWrap(true); 1706 description.setWrapStyleWord(true); 1707 description.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 0)); 1708 description.setBackground(UIManager.getColor("Panel.background")); 1709 description.setCaretPosition(0); 1710 1711 pluginTab.add(description, GBC.eop().fill(GridBagConstraints.HORIZONTAL)); 1694 final List<PluginInformation> plugins = getPlugins(); 1695 if (plugins.isEmpty()) { 1696 pluginTab.add(new JLabel(tr("No plugins installed")), GBC.eol()); 1697 } else { 1698 for (final PluginInformation info : plugins) { 1699 String name = info.name 1700 + (!Utils.isEmpty(info.localversion) ? " Version: " + info.localversion : ""); 1701 pluginTab.add(new JLabel(name), GBC.std()); 1702 pluginTab.add(Box.createHorizontalGlue(), GBC.std().fill(GridBagConstraints.HORIZONTAL)); 1703 pluginTab.add(new JButton(new PluginInformationAction(info)), GBC.eol()); 1704 1705 JosmTextArea description = new JosmTextArea(info.description == null ? tr("no description available") 1706 : info.description); 1707 description.setEditable(false); 1708 description.setFont(new JLabel().getFont().deriveFont(Font.ITALIC)); 1709 description.setLineWrap(true); 1710 description.setWrapStyleWord(true); 1711 description.setBorder(BorderFactory.createEmptyBorder(0, 20, 0, 0)); 1712 description.setBackground(UIManager.getColor("Panel.background")); 1713 description.setCaretPosition(0); 1714 1715 pluginTab.add(description, GBC.eop().fill(GridBagConstraints.HORIZONTAL)); 1716 } 1712 1717 } 1713 1718 return pluginTab; -
trunk/test/unit/org/openstreetmap/josm/plugins/PluginHandlerTest.java
r18037 r19565 14 14 import java.util.stream.Stream; 15 15 16 import javax.swing.JLabel; 16 17 import javax.swing.JOptionPane; 18 import javax.swing.JPanel; 17 19 import javax.swing.JScrollPane; 18 20 … … 174 176 assertEquals("Plugin information", invocationLogEntry[2]); 175 177 } 178 179 /** 180 * Unit test of {@link PluginHandler#getInfoPanel}. 181 */ 182 @Test 183 void testGetInfoPanel() { 184 JPanel panel = PluginHandler.getInfoPanel(); 185 assertNotNull(panel); 186 187 assertTrue(PluginHandler.getPlugins().isEmpty()); 188 189 // if no plugins are loaded in the test environment, the panel should show "No plugins installed" 190 boolean found = Arrays.stream(panel.getComponents()) 191 .filter(JLabel.class::isInstance) 192 .map(JLabel.class::cast) 193 .anyMatch(l -> l.getText().equals("No plugins installed")); 194 assertTrue(found, "Should find 'No plugins installed' label"); 195 } 176 196 }
Note:
See TracChangeset
for help on using the changeset viewer.
