fix(popup): corriger redraw GTK3 — osciller ±1 pour forcer highlight
set_value(même_valeur) est un no-op dans GTK3 (skippé si inchangé). Oscillation v-1 → v pour déclencher le recalcul réel du nœud CSS highlight dans le trough.
This commit is contained in:
@@ -337,11 +337,16 @@ class MediaPopup(Gtk.Window):
|
|||||||
self.grab_focus()
|
self.grab_focus()
|
||||||
|
|
||||||
def _redraw_scales(self):
|
def _redraw_scales(self):
|
||||||
"""Force GTK3 à recalculer les positions highlight après réalisation."""
|
"""Force GTK3 à recalculer les highlights.
|
||||||
|
set_value(même_valeur) est un no-op — on oscille ±1 pour déclencher
|
||||||
|
un vrai recalcul de la position du highlight dans le trough."""
|
||||||
self._blk = True
|
self._blk = True
|
||||||
self.sink_scale.set_value(self.sink_scale.get_value())
|
for scale in [self.sink_scale, self.src_scale, self.bright_scale]:
|
||||||
self.src_scale.set_value(self.src_scale.get_value())
|
v = scale.get_value()
|
||||||
self.bright_scale.set_value(self.bright_scale.get_value())
|
adj = scale.get_adjustment()
|
||||||
|
lo = adj.get_lower()
|
||||||
|
scale.set_value(max(lo, v - 1)) # valeur différente → GTK recalcule
|
||||||
|
scale.set_value(v) # retour à la valeur réelle
|
||||||
self._blk = False
|
self._blk = False
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user