extends LineEdit static var styles: = [null, null] static var init_done: = false var checkbutton_material: Material func _init() -> void: if not init_done: init_done = true var style_light: = get_theme_stylebox('read_only') style_light.bg_color = Color.GRAY styles[1] = style_light var style_dark: = style_light.duplicate(true) style_dark.bg_color = Color(0.12, 0.12, 0.12) styles[0] = style_dark ProjectSettings.connect('settings_changed', on_setting_changed) call_deferred('on_setting_changed') func on_setting_changed(): checkbutton_material = $CheckButton.material apply_colors() func apply_colors(): if ProjectSettings.get_setting('application/config/%s' % 'Цвет темы программы', false): add_theme_stylebox_override('read_only', styles[1]) $CheckButton.material = null else: add_theme_stylebox_override('read_only', styles[0]) $CheckButton.material = checkbutton_material