diff options
| author | Simon Rettberg | 2025-03-18 17:05:04 +0100 |
|---|---|---|
| committer | Simon Rettberg | 2025-03-18 17:05:04 +0100 |
| commit | c4f2e5af28a2d594a1368fc3f77c3967a5ab759d (patch) | |
| tree | ef2d05a79ec8ef06038107ac3a8752df2eaa52ec /dozentenmodul/src/main/java/org/openslx | |
| parent | [client] Strip whitespaces around netshares (diff) | |
| download | tutor-module-c4f2e5af28a2d594a1368fc3f77c3967a5ab759d.tar.gz tutor-module-c4f2e5af28a2d594a1368fc3f77c3967a5ab759d.tar.xz tutor-module-c4f2e5af28a2d594a1368fc3f77c3967a5ab759d.zip | |
[client] LectureDetails: Show active predefined firewall rulesets
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx')
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java | 54 |
1 files changed, 50 insertions, 4 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java index c2d67ea9..1d5a9c2f 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/NetrulesConfigurator.java @@ -25,6 +25,7 @@ import javax.swing.JButton; import javax.swing.JCheckBox; import javax.swing.JComponent; import javax.swing.JDialog; +import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextPane; @@ -191,12 +192,12 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements btnShowPresets.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - showPresetSelector(); + showPresetSelectorPopup(); } }); } - private void showPresetSelector() { + private void showPresetSelectorPopup() { if (predefinedRules == null) { Gui.showMessageBox(I18n.CONFIGURATOR.getString("NetRules.Message.error.noPredefinedRules"), MessageType.ERROR, null, null); @@ -225,7 +226,7 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements dialog.setMinimumSize(dd); dialog.setPreferredSize(dd); GridManager grid = new GridManager(pane, 3, true, new Insets(2, 2, 2, 2)); - grid.add(new WordWrapLabel(I18n.CONFIGURATOR.getString("NetRules.Label.predefinedRules.text")), 3); + grid.add(new JLabel(I18n.CONFIGURATOR.getString("NetRules.Label.predefinedRules.text")), 3); grid.nextRow(); final Map<ButtonModel, Integer> mapper = new HashMap<>(); for (PresetNetRule ruleSet : predefinedRules) { @@ -272,6 +273,7 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements if (selectedRules.get() != null) { // User clicked OK lecture.presetNetworkExceptionIds = currentState.selectedPresets = selectedRules.get(); + updatePredefinedDisplayList(); checkChange = true; fireChangeEvent(); } @@ -324,6 +326,7 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements checkChange = true; this.lecture = lecture; this.tpNetworkRules.setText(decodeNetRulesToText(lecture.networkExceptions)); + updatePredefinedDisplayList(); fireChangeEvent(); } @@ -574,6 +577,39 @@ public class NetrulesConfigurator extends NetrulesConfiguratorLayout implements return null; } + private void updatePredefinedDisplayList() { + pnlPredefinedActiveList.removeAll(); + if (currentState.selectedPresets.isEmpty()) { + scpPredefinedActiveList.setVisible(false); + } else { + scpPredefinedActiveList.setVisible(true); + GridManager g = new GridManager(pnlPredefinedActiveList, 1, true, new Insets(2, 0, 2, 0)); + g.add(new JLabel( + "-- " + I18n.CONFIGURATOR.getString("NetRules.Label.activePredefinedRules.text") + " --")) + .fill(true, true) + .expand(true, false); + g.nextRow(); + for (PresetNetRule rule : predefinedRules) { + if (currentState.selectedPresets.contains(rule.ruleId)) { + g.add(new JLabel(rule.displayName)).fill(true, true).expand(true, false); + g.nextRow(); + } + } + /* + for (int i = (int) (Math.random() * 25); i > 0; --i) { + g.add(new JLabel(Integer.toString(i))).fill(true, true).expand(true, false); + g.nextRow(); + } + */ + g.finish(false); + pnlPredefinedActiveList.revalidate(); + scpPredefinedActiveList.setMinimumSize( + new Dimension(10, + Math.min(80, pnlPredefinedActiveList.getPreferredSize().height) + 3)); + } + this.revalidate(); + } + } /** @@ -586,11 +622,13 @@ class NetrulesConfiguratorLayout extends JPanel { protected final JTextPane tpNetworkRules; protected final JButton btnCheckRules; protected final JButton btnShowPresets; + protected JPanel pnlPredefinedActiveList; + protected JScrollPane scpPredefinedActiveList; public NetrulesConfiguratorLayout() { GridManager grid = new GridManager(this, 2, true, - new Insets(5, 5, 5, 5)); + new Insets(3, 5, 3, 5)); // middle panel for network rules this.setBorder(BorderFactory.createTitledBorder(I18n.CONFIGURATOR.getString("NetRules.TitledBorder.title"))); @@ -615,6 +653,14 @@ class NetrulesConfiguratorLayout extends JPanel { .fill(true, true).expand(true, true); grid.nextRow(); + pnlPredefinedActiveList = new JPanel(); + scpPredefinedActiveList = new JScrollPane(pnlPredefinedActiveList, + JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED, + JScrollPane.HORIZONTAL_SCROLLBAR_NEVER); + grid.add(scpPredefinedActiveList, 2) + .fill(true, true).expand(true, false); + grid.nextRow(); + btnShowPresets = new JButton(I18n.CONFIGURATOR.getString("NetRules.Button.showPresets.text")); grid.add(btnShowPresets, 2).anchor(GridBagConstraints.LINE_END); grid.nextRow(); |
