@@ -112,7 +112,10 @@ def update_gui(self):
112112 def setup_connections (self ):
113113 for k , w in self .material_selectors .items ():
114114 w .currentIndexChanged .connect (
115- lambda index , k = k : self .material_changed (index , k ))
115+ lambda index , k = k : self .material_changed (k , index = index ))
116+ for k , w in self .material_inputs .items ():
117+ w .textChanged .connect (
118+ lambda text , k = k : self .material_changed (k , text = text ))
116119 self .ui .filter_density .valueChanged .connect (self .filter_info_changed )
117120 self .ui .filter_thickness .valueChanged .connect (self .filter_info_changed )
118121 self .ui .detectors .currentTextChanged .connect (self .detector_changed )
@@ -126,7 +129,7 @@ def setup_connections(self):
126129 def exec (self ):
127130 return self .ui .exec ()
128131
129- def material_changed (self , index , category ):
132+ def material_changed (self , category , index = 0 , text = None ):
130133 selected = self .material_selectors [category ].currentText ()
131134 self .material_inputs [category ].setEnabled (index == 0 )
132135 self .density_inputs [category ].setEnabled (index == 0 )
@@ -144,6 +147,9 @@ def material_changed(self, index, category):
144147 self .filters [det_name ]['material' ] = material .name
145148 else :
146149 self .density_inputs [category ].setValue (0.0 )
150+ if category == 'filter' :
151+ det_name = self .ui .detectors .currentText ()
152+ self .filters [det_name ]['material' ] = material .name if index > 0 else text
147153
148154 def filter_info_changed (self , new_value = None , det_name = None ):
149155 if det_name is None :
0 commit comments