From af4d96ed608c6091313ceec1c37c0892352ce57e Mon Sep 17 00:00:00 2001 From: sasha80 Date: Tue, 20 Jan 2026 09:29:45 +0300 Subject: [PATCH 1/2] =?UTF-8?q?=D0=A0=D0=B5=D1=84=D0=B0=D0=BA=D1=82=D0=BE?= =?UTF-8?q?=D1=80.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/работа/работа.gd | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 641c8f9c..b5f23e85 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -158,7 +158,7 @@ func on_settings_changed(): func apply_colors(): - var is_light: bool = ProjectSettings.get_setting("application/config/Цвет темы программы", false) + var is_light: bool = ProjectSettings.get_setting('application/config/%s' % 'Цвет темы программы', false) var style = StyleBoxFlat.new() From 9a5c0122ad881456328320bd9e3b1dcebb055857 Mon Sep 17 00:00:00 2001 From: lepshiy Date: Tue, 20 Jan 2026 11:24:00 +0300 Subject: [PATCH 2/2] =?UTF-8?q?=D0=94=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D0=BA=D0=B0,=20=D1=81=D0=B2=D0=B5=D1=82=D0=BB=D0=B0=D1=8F=20?= =?UTF-8?q?=D1=82=D0=B5=D0=BC=D0=B0.=20=D0=A0=D0=B5=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=BE=20=D1=81=20=D0=BD=D0=B0=D0=B3=D1=80=D1=83=D0=B7=D0=BA?= =?UTF-8?q?=D0=BE=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scenes/button-flat/nine-patch-button.gd | 21 +++++++++++++++++++++ scenes/настройки/настройки.gd | 1 - scenes/работа/работа.gd | 6 ------ table/editl.gd | 8 +++++--- table/lable.gd | 11 +++++------ table/node.gd | 15 +++++++++------ table/set-toggle.gd | 24 ++++++++++++++++++------ table/set-toggle.tscn | 7 ++++++- table/settings-toggle.gd | 24 ++++++++++++++++++------ table/settings-toggle.tscn | 4 ++-- table/ячейка-2.gd | 9 ++++----- table/ячейка-цвет.gd | 11 +++++------ 12 files changed, 93 insertions(+), 48 deletions(-) diff --git a/scenes/button-flat/nine-patch-button.gd b/scenes/button-flat/nine-patch-button.gd index c3928789..7936e624 100644 --- a/scenes/button-flat/nine-patch-button.gd +++ b/scenes/button-flat/nine-patch-button.gd @@ -92,9 +92,14 @@ func _enter_tree() -> void: $back.scale = size $back.material.set('shader_parameter/scale', size / Vector2(20.0, 20.0)) $button.connect('toggled', _on_button_toggled) + ProjectSettings.connect("settings_changed", _on_settings_changed) pressed = _pressed +func _on_settings_changed(): + apply_colors(ProjectSettings.get_setting("application/config/Цвет темы программы", false )) + + func _exit_tree() -> void: $button.disconnect('toggled', _on_button_toggled) @@ -106,3 +111,19 @@ func set_toggle_mode(val: bool): func _on_button_toggled(val: bool): if val: $state.set_texture(texture_state1) else: $state.set_texture(texture_state0) + + +func apply_colors(is_light: bool): + pass + #if is_light: + #$button.add_theme_color_override("font_color", Color.WHITE) + #$button.add_theme_color_override("font_hover_color", Color.WHITE) + #$button.add_theme_color_override("font_pressed_color", Color.WHITE) + #$button.add_theme_color_override("font_focus_color", Color.BLACK) + #$button.add_theme_color_override("font_disabled_color", Color.WHITE) + #$button.add_theme_color_override("font_shadow_color", Color.LIGHT_GOLDENROD) + #else: + #$button.remove_theme_color_override("font_color") + #$button.remove_theme_color_override("font_hover_color") + #$button.remove_theme_color_override("font_pressed_color") + #$button.remove_theme_color_override("font_disabled_color") diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index 2b6c54c2..fef86543 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -318,7 +318,6 @@ func on_color_closed(color_btn_act: ColorPickerButton): func _autosave_now() -> void: - print("AUTOSAVE") var json_data = {} for i in SETTING_TABLE.size(): var parameter = SETTING_TABLE[i][0] diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 641c8f9c..10d86c7d 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -154,12 +154,6 @@ func on_settings_changed(): color_emit_sel *= Color(1.0, 1.0, 1.0, 0.2) color_closed *= Color(1.0, 1.0, 1.0, 0.0) color_closed_emit *= Color(1.0, 1.0, 1.0, 1.0) - apply_colors() - - -func apply_colors(): - var is_light: bool = ProjectSettings.get_setting("application/config/Цвет темы программы", false) - var style = StyleBoxFlat.new() ## Обработчик сигнала изменения списка целей. diff --git a/table/editl.gd b/table/editl.gd index 5c5a73f4..88645b73 100644 --- a/table/editl.gd +++ b/table/editl.gd @@ -1,9 +1,11 @@ extends LineEdit -func _ready(): - _update_background() -func _update_background() -> void: +func _enter_tree() -> void: + ProjectSettings.connect('settings_changed', 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: diff --git a/table/lable.gd b/table/lable.gd index a44af78e..2ad5db8a 100644 --- a/table/lable.gd +++ b/table/lable.gd @@ -1,12 +1,11 @@ extends Label -func _ready(): - _update_background() -func _process(_delta): - _update_background() - -func _update_background() -> void: +func _enter_tree() -> void: + ProjectSettings.connect('settings_changed', apply_colors) + + +func apply_colors(): var is_light: bool = ProjectSettings.get_setting("application/config/Цвет темы программы", false) var style = get_theme_stylebox("normal").duplicate() if is_light: diff --git a/table/node.gd b/table/node.gd index 39546d6d..88645b73 100644 --- a/table/node.gd +++ b/table/node.gd @@ -1,16 +1,19 @@ extends LineEdit -func _ready(): - _update_background() -func _process(_delta): - _update_background() - -func _update_background() -> void: +func _enter_tree() -> void: + ProjectSettings.connect('settings_changed', 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 + add_theme_color_override("font_color_readonly", Color.BLACK) + add_theme_color_override("font_color_placeholder", Color(0, 0, 0, 0.5)) else: style.bg_color = Color(0.12, 0.12, 0.12) + add_theme_color_override("font_color_readonly", Color("#D8731A")) # тёмно-оранжевый + add_theme_color_override("font_color_placeholder", Color(1, 1, 1, 0.5)) add_theme_stylebox_override("read_only", style) diff --git a/table/set-toggle.gd b/table/set-toggle.gd index 39546d6d..66cbf7a6 100644 --- a/table/set-toggle.gd +++ b/table/set-toggle.gd @@ -1,12 +1,19 @@ extends LineEdit -func _ready(): - _update_background() +var checkbutton_material: Material -func _process(_delta): - _update_background() - -func _update_background() -> void: + +func _enter_tree() -> 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: @@ -14,3 +21,8 @@ func _update_background() -> void: 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 diff --git a/table/set-toggle.tscn b/table/set-toggle.tscn index 93141ff5..ab5acf4f 100644 --- a/table/set-toggle.tscn +++ b/table/set-toggle.tscn @@ -1,9 +1,13 @@ -[gd_scene load_steps=6 format=3 uid="uid://dgidt8lifm7xe"] +[gd_scene load_steps=8 format=3 uid="uid://dgidt8lifm7xe"] [ext_resource type="Script" uid="uid://btvrqnnjjum20" path="res://table/set-toggle.gd" id="1_kvru5"] +[ext_resource type="Shader" uid="uid://bw5mmbgeycwua" path="res://shaders/color-invers.gdshader" id="2_wrw87"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_f4oye"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_wrw87"] +shader = ExtResource("2_wrw87") + [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_t3fqw"] [sub_resource type="Theme" id="Theme_odxqp"] @@ -19,6 +23,7 @@ editable = false script = ExtResource("1_kvru5") [node name="CheckButton" type="CheckButton" parent="."] +material = SubResource("ShaderMaterial_wrw87") layout_mode = 0 offset_left = 21.0 offset_top = 1.0 diff --git a/table/settings-toggle.gd b/table/settings-toggle.gd index 39546d6d..66cbf7a6 100644 --- a/table/settings-toggle.gd +++ b/table/settings-toggle.gd @@ -1,12 +1,19 @@ extends LineEdit -func _ready(): - _update_background() +var checkbutton_material: Material -func _process(_delta): - _update_background() - -func _update_background() -> void: + +func _enter_tree() -> 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: @@ -14,3 +21,8 @@ func _update_background() -> void: 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 diff --git a/table/settings-toggle.tscn b/table/settings-toggle.tscn index 1d5be41b..3dac0144 100644 --- a/table/settings-toggle.tscn +++ b/table/settings-toggle.tscn @@ -5,7 +5,7 @@ [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_il5wc"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_xxfw6"] +[sub_resource type="ShaderMaterial" id="ShaderMaterial_8lkgc"] shader = ExtResource("1_anyuq") [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8lkgc"] @@ -25,7 +25,7 @@ deselect_on_focus_loss_enabled = false script = ExtResource("1_8lkgc") [node name="CheckButton" type="CheckButton" parent="."] -material = SubResource("ShaderMaterial_xxfw6") +material = SubResource("ShaderMaterial_8lkgc") layout_mode = 0 offset_left = 453.0 offset_top = 1.5 diff --git a/table/ячейка-2.gd b/table/ячейка-2.gd index ffa9151f..6fbc9f84 100644 --- a/table/ячейка-2.gd +++ b/table/ячейка-2.gd @@ -1,12 +1,11 @@ extends LineEdit -func _ready(): - _update_background() -func _process(_delta): - _update_background() +func _enter_tree() -> void: + ProjectSettings.connect('settings_changed', apply_colors) -func _update_background() -> void: + +func apply_colors(): var is_light: bool = ProjectSettings.get_setting("application/config/Цвет темы программы", false) var style = get_theme_stylebox("normal").duplicate() var style_1 = get_theme_stylebox("read_only").duplicate() diff --git a/table/ячейка-цвет.gd b/table/ячейка-цвет.gd index ba8ffa61..0d67a6e5 100644 --- a/table/ячейка-цвет.gd +++ b/table/ячейка-цвет.gd @@ -1,12 +1,11 @@ extends ColorPickerButton -func _ready(): - _update_background() -func _process(_delta): - _update_background() - -func _update_background() -> void: +func _enter_tree() -> void: + ProjectSettings.connect('settings_changed', apply_colors) + + +func apply_colors(): var is_light: bool = ProjectSettings.get_setting("application/config/Цвет темы программы", false) var style = get_theme_stylebox("normal").duplicate() if is_light: