@@ -198,6 +198,8 @@ def _update_line_edits(self, color: str, n: float = None, x: float = None):
198
198
"""
199
199
idx = RGBA2IDX [color ]
200
200
edn , edx = self .line_edits [idx ]
201
+ edn .blockSignals (True )
202
+ edx .blockSignals (True )
201
203
if n is not None :
202
204
ndis = self ._data_to_display (color , n )
203
205
edn .setText ('%f' % ndis )
@@ -210,6 +212,8 @@ def _update_line_edits(self, color: str, n: float = None, x: float = None):
210
212
else :
211
213
xdis = float (edx .text ())
212
214
x = self ._display_to_data (color , xdis )
215
+ edn .blockSignals (False )
216
+ edx .blockSignals (False )
213
217
return n , x
214
218
215
219
def _signal_color_changing_range (self , color : str , n : float , x : float ):
@@ -249,9 +253,10 @@ def _edit_changed(self, line_edit: QLineEdit, color: str, is_max: bool):
249
253
val = self ._display_to_data (color , vdis )
250
254
LOG .debug ('line edit %s %s => %f => %f' % (color , 'max' if is_max else 'min' , vdis , val ))
251
255
sv = self ._create_slider_value (vn , vx , val )
252
- print ("Edit changed and updating slider to: " , sv )
253
256
slider = self .sliders [idx ][1 if is_max else 0 ]
257
+ slider .blockSignals (True )
254
258
slider .setValue (sv )
259
+ slider .blockSignals (False )
255
260
self ._signal_color_changing_range (color , * self ._update_line_edits (color ))
256
261
257
262
def selection_did_change (self , recipe ):
@@ -305,13 +310,20 @@ def _set_minmax_slider(self, color: str, family: str, clims: Optional[Tuple[floa
305
310
if family not in self ._families :
306
311
LOG .debug (
307
312
"Could not find {} in families {}" .format (repr (family ), repr (list (sorted (self ._families .keys ())))))
313
+ # block signals so the changed sliders don't trigger updates
314
+ slider [0 ].blockSignals (True )
315
+ slider [1 ].blockSignals (True )
308
316
if clims is None or clims == (None , None ) or \
309
317
family not in self ._families :
310
318
self ._valid_ranges [idx ] = (None , None )
311
319
slider [0 ].setSliderPosition (0 )
312
320
slider [1 ].setSliderPosition (0 )
321
+ editn .blockSignals (True )
322
+ editx .blockSignals (True )
313
323
editn .setText ('0.0' )
314
324
editx .setText ('0.0' )
325
+ editn .blockSignals (False )
326
+ editx .blockSignals (False )
315
327
slider [0 ].setDisabled (True )
316
328
slider [1 ].setDisabled (True )
317
329
editn .setDisabled (True )
@@ -325,28 +337,21 @@ def _set_minmax_slider(self, color: str, family: str, clims: Optional[Tuple[floa
325
337
valid_range = self ._families [family ][Info .VALID_RANGE ]
326
338
self ._valid_ranges [idx ] = valid_range
327
339
328
- # block signals so the changed sliders don't trigger updates
329
- slider [0 ].blockSignals (True )
330
- slider [1 ].blockSignals (True )
331
340
slider_val = self ._create_slider_value (valid_range [0 ], valid_range [1 ], clims [0 ])
332
341
slider [0 ].setSliderPosition (max (slider_val , 0 ))
333
342
slider_val = self ._create_slider_value (valid_range [0 ], valid_range [1 ], clims [1 ])
334
343
slider [1 ].setSliderPosition (min (slider_val , self ._slider_steps ))
335
- slider [0 ].blockSignals (False )
336
- slider [1 ].blockSignals (False )
337
344
338
345
self ._update_line_edits (color , * clims )
346
+ slider [0 ].blockSignals (False )
347
+ slider [1 ].blockSignals (False )
339
348
340
349
def _set_minmax_sliders (self , recipe ):
341
350
if recipe :
342
- print ("Setting sliders with a recipe: " , recipe )
343
351
for idx , (color , clim ) in enumerate (zip ("rgb" , recipe .color_limits )):
344
352
family = recipe .input_ids [idx ]
345
- print ("About to set individual slider for " , color , clim , family )
346
353
self ._set_minmax_slider (color , family , clim )
347
- print ("done setting individual slider for " , color )
348
354
else :
349
- print ("Setting sliders with no recipe" )
350
355
self ._set_minmax_slider ("r" , None )
351
356
self ._set_minmax_slider ("g" , None )
352
357
self ._set_minmax_slider ("b" , None )
0 commit comments