Skip to content

Commit 76f6fd9

Browse files
committed
added enable/disable logic for ai pref page
1 parent c8056b9 commit 76f6fd9

File tree

1 file changed

+30
-2
lines changed

1 file changed

+30
-2
lines changed

eclipse-language-servers/org.springframework.tooling.boot.ls/src/org/springframework/tooling/boot/ls/prefs/AiConfigPreferencePage.java

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.eclipse.jface.preference.BooleanFieldEditor;
1414
import org.eclipse.jface.preference.FieldEditorPreferencePage;
1515
import org.eclipse.jface.preference.StringFieldEditor;
16+
import org.eclipse.jface.util.PropertyChangeEvent;
1617
import org.eclipse.swt.widgets.Composite;
1718
import org.eclipse.ui.IWorkbench;
1819
import org.eclipse.ui.IWorkbenchPreferencePage;
@@ -21,6 +22,9 @@
2122

2223
public class AiConfigPreferencePage extends FieldEditorPreferencePage implements IWorkbenchPreferencePage {
2324

25+
private BooleanFieldEditor mcpEnabledEditor;
26+
private StringFieldEditor mcpPortEditor;
27+
2428
public AiConfigPreferencePage() {
2529
super(GRID);
2630
}
@@ -33,8 +37,32 @@ public void init(IWorkbench workbench) {
3337
@Override
3438
protected void createFieldEditors() {
3539
Composite fieldEditorParent = getFieldEditorParent();
36-
addField(new BooleanFieldEditor(Constants.PREF_AI_MCP_ENABLED, "Enable embedded MCP server (experimental)", fieldEditorParent));
37-
addField(new StringFieldEditor(Constants.PREF_AI_MCP_PORT, "Port used by the embedded MCP server", fieldEditorParent));
40+
41+
mcpEnabledEditor = new BooleanFieldEditor(Constants.PREF_AI_MCP_ENABLED, "Enable embedded MCP server (experimental)", fieldEditorParent);
42+
addField(mcpEnabledEditor);
43+
44+
mcpPortEditor = new StringFieldEditor(Constants.PREF_AI_MCP_PORT, "Port used by the embedded MCP server", fieldEditorParent);
45+
addField(mcpPortEditor);
46+
47+
// Initialize the enabled state of the port field
48+
updateMcpPortFieldState();
49+
}
50+
51+
@Override
52+
public void propertyChange(PropertyChangeEvent event) {
53+
super.propertyChange(event);
54+
55+
// Update the MCP port field enabled state when the MCP enabled preference changes
56+
if (event.getSource() == mcpEnabledEditor) {
57+
updateMcpPortFieldState();
58+
}
59+
}
60+
61+
private void updateMcpPortFieldState() {
62+
if (mcpEnabledEditor != null && mcpPortEditor != null) {
63+
boolean mcpEnabled = mcpEnabledEditor.getBooleanValue();
64+
mcpPortEditor.setEnabled(mcpEnabled, getFieldEditorParent());
65+
}
3866
}
3967

4068
}

0 commit comments

Comments
 (0)