@@ -2,9 +2,11 @@ package cc.unitmesh.devti.settings
2
2
3
3
import cc.unitmesh.devti.AutoDevBundle
4
4
import com.intellij.openapi.ui.ComboBox
5
+ import com.intellij.ui.DocumentAdapter
5
6
import com.intellij.ui.components.JBPasswordField
6
7
import com.intellij.ui.components.JBTextField
7
8
import java.awt.event.ItemEvent
9
+ import javax.swing.event.DocumentEvent
8
10
import kotlin.properties.PropertyDelegateProvider
9
11
import kotlin.properties.ReadOnlyProperty
10
12
import kotlin.reflect.KProperty
@@ -38,9 +40,9 @@ fun ReactiveTextField(param: LLMParam, initBlock: JBTextField.(LLMParam) -> Unit
38
40
39
41
component.initBlock(reactive)
40
42
41
- component.document.addUndoableEditListener {
43
+ component.document.addDocumentListener( CustomDocumentListener {
42
44
param.value = component.text
43
- }
45
+ })
44
46
return component
45
47
}
46
48
@@ -53,10 +55,10 @@ fun ReactivePasswordField(param: LLMParam, initBlock: JBPasswordField.(LLMParam)
53
55
}
54
56
55
57
component.initBlock(reactive.value)
56
- component.document.addUndoableEditListener {
57
- if (component.password.joinToString(" " ) == param.value) return @addUndoableEditListener
58
+ component.document.addDocumentListener( CustomDocumentListener {
59
+ if (component.password.joinToString(" " ) == param.value) return @CustomDocumentListener
58
60
reactive.value.value = component.password.joinToString(" " )
59
- }
61
+ })
60
62
61
63
return component
62
64
}
@@ -78,6 +80,12 @@ fun ReactiveComboBox(param: LLMParam, initBlock: ComboBox<String>.(LLMParam) ->
78
80
return component
79
81
}
80
82
83
+ class CustomDocumentListener (val onChange : () -> Unit ) : DocumentAdapter() {
84
+ override fun textChanged (e : DocumentEvent ) {
85
+ onChange()
86
+ }
87
+ }
88
+
81
89
82
90
/* *
83
91
*
0 commit comments