1 package org.jetbrains.builtInWebServer;
3 import com.intellij.openapi.options.ConfigurableUi;
4 import com.intellij.ui.PortField;
5 import org.jetbrains.annotations.NotNull;
9 class BuiltInServerConfigurableUi implements ConfigurableUi<BuiltInServerOptions> {
10 private JPanel mainPanel;
12 private PortField builtInServerPort;
13 private JCheckBox builtInServerAvailableExternallyCheckBox;
14 private JCheckBox allowUnsignedRequestsCheckBox;
16 public BuiltInServerConfigurableUi() {
17 builtInServerPort.setMin(1024);
22 public JComponent getComponent() {
27 public boolean isModified(@NotNull BuiltInServerOptions settings) {
28 return builtInServerPort.getNumber() != settings.builtInServerPort ||
29 builtInServerAvailableExternallyCheckBox.isSelected() != settings.builtInServerAvailableExternally ||
30 allowUnsignedRequestsCheckBox.isSelected() != settings.allowUnsignedRequests;
34 public void apply(@NotNull BuiltInServerOptions settings) {
35 boolean builtInServerPortChanged = settings.builtInServerPort != builtInServerPort.getNumber() || settings.builtInServerAvailableExternally != builtInServerAvailableExternallyCheckBox.isSelected();
36 settings.allowUnsignedRequests = allowUnsignedRequestsCheckBox.isSelected();
37 if (builtInServerPortChanged) {
38 settings.builtInServerPort = builtInServerPort.getNumber();
39 settings.builtInServerAvailableExternally = builtInServerAvailableExternallyCheckBox.isSelected();
41 BuiltInServerOptions.onBuiltInServerPortChanged();
46 public void reset(@NotNull BuiltInServerOptions settings) {
47 builtInServerPort.setNumber(settings.builtInServerPort);
48 builtInServerAvailableExternallyCheckBox.setSelected(settings.builtInServerAvailableExternally);