Files
uarep-ctl/table/settings-toggle.gd
sasha80 043646a4a8 Исправление. E 0:00:05:248 settings-toggle.gd:11 @ _exit_tree(): Attempt to disconnect a nonexistent connection from '<ProjectSettings#486539292>'. Signal: 'settings_changed', callable: 'LineEdit(settings-toggle.gd)::apply_colors'.
<Ошибка C++>  Condition "!s->slot_map.has(*p_callable.get_base_comparator())" is true. Returning: false
  <Исходный код C++>core/object/object.cpp:1529 @ _disconnect()
  <Трассировка стека>settings-toggle.gd:11 @ _exit_tree()
2026-01-26 15:38:28 +03:00

29 lines
748 B
GDScript

extends LineEdit
var checkbutton_material: Material
func _ready() -> void:
ProjectSettings.connect('settings_changed', on_setting_changed)
func on_setting_changed():
var cb = $CheckButton
checkbutton_material = cb.material
apply_colors()
func apply_colors():
var is_light: bool = ProjectSettings.get_setting('application/config/Цвет темы программы', false)
var style = get_theme_stylebox('read_only').duplicate()
if is_light:
style.bg_color = Color.GRAY
else:
style.bg_color = Color(0.12, 0.12, 0.12)
add_theme_stylebox_override('read_only', style)
var cb = $CheckButton
if is_light:
cb.material = null
else:
cb.material = checkbutton_material