diff --git a/README.md b/README.md index 9f2eb032..1ae13f24 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ # Разработка -- После клонирования запустить скрипт `git-hooks-config.sh` - - В среде **Windows** запуск скрипта `git-hooks-config.sh` производить из оболочки `git bash` -- При необходимости обновить `settings.json` +- После клонирования запустить скрипт [`git-hooks-config.sh`](git-hooks-config.sh) + - В среде **Windows** запуск скрипта [`git-hooks-config.sh`](git-hooks-config.sh) производить из оболочки `git bash` +- При необходимости обновить [`settings.json`](settings.json) - Использовать выражения вида `ProjectSettings.set_setting('application/config/%s' % key_name` и `ProjectSettings.get_setting('application/config/%s % key_name)` для доступа к настройкам. - `key_name` брать из таблицы `res://scenes/настройки/настройки.gd/SETTING_TABLE` @@ -32,7 +32,7 @@ # Сборка исполняемого файла из консоли -- Запустить скрипт `build.sh` +- Запустить скрипт [`build.sh`](build.sh) # Взаимодействие с 5П-28 diff --git a/config/banned_ranges.json b/config/banned-ranges.json similarity index 100% rename from config/banned_ranges.json rename to config/banned-ranges.json diff --git a/config/service_config.ini b/config/service-config.ini similarity index 100% rename from config/service_config.ini rename to config/service-config.ini diff --git a/config/setting_prd_control.json b/config/setting-prd-control.json similarity index 100% rename from config/setting_prd_control.json rename to config/setting-prd-control.json diff --git a/project.godot b/project.godot index 90068c9c..5ff17ff5 100644 --- a/project.godot +++ b/project.godot @@ -62,39 +62,40 @@ interfer/closed_sectors=Color(0, 0, 0, 1) "config/Кнопка «СВ-И1»"=false "config/Кнопка «СВ-М2»"=false "config/Ограниченный режим"=false -"config/Отладка контроля"=false +"config/Отладка контроля"=true "config/Период опроса состояния АФСП, секунды"="" "config/Период опроса состояния БПО, секунды"="" "config/Скрыть вкладку ЭМС 2"=true "config/Список своих протоколов"="" "config/Текущая версия ПО УАРЭП"="master 3bff1cd Tue Nov 4 15:33:24 2025 +0300" -"config/Цвет кнопки \"Подавление\""="[0.972549021244049,0.0117647061124444,0.423529416322708,1.0]" -"config/Цвет схемы"="[0.972549021244049,0.0117647061124444,0.0274509806185961,1.0]" -"config/Цвет фона схемы"="[0.0941176488995552,0.149019613862038,1.0,1.0]" +"config/Цвет кнопки \"Подавление\""="[0.905882358551025,0.00392156885936856,0.0,1.0]" +"config/Цвет схемы"="[0.905954480171204,0.921875,0.8714599609375,1.0]" +"config/Цвет фона схемы"="[0.258926391601563,0.274618297815323,0.27734375,1.0]" "config/Шаблон адреса сервера карт"="https://tile.openstreetmap.org/{z}/{x}/{y}.png" -"config/навигация"=["*", 60000, true, true] -"config/уарэп-5п28"=["127.0.0.1", 50777] -"config/уарэп-капсрпб"=["127.0.0.1", "127.0.0.1", 42023, 42022, false, true] -"config/уарэп-спт25-1"=["/home/user/tty0", 0, 19200, "N", 8, 1] -"config/уарэп-спт25-2"=["/home/user/tty1", 0, 19200, "N", 8, 1] -"config/уарэп-трасса"=["192.168.11.34", "192.168.11.105", 50200, 10004, false, true] -"config/уарэп-щ3"=["/home/user/tty3", 7, 19200, "N", 8, 1, 50000] -"config/уарэп-эмс"=["10.1.1.52", 50052, false, false] -"config/уарэп-яу07-1в"=["10.1.1.12", 50012, false, false] -"config/уарэп-яу07-1к"=["10.1.1.13", 50013, false, false] -"config/уарэп-яу07-1н"=["10.1.1.11", 50011, false, false] -"config/уарэп-яу07-2в"=["10.1.1.22", 50022, false, false] -"config/уарэп-яу07-2к"=["10.1.1.23", 50023, false, false] -"config/уарэп-яу07-2н"=["10.1.1.21", 50021, false, false] -"config/уарэп-яу07-3в"=["10.1.1.32", 50032, false, false] -"config/уарэп-яу07-3к"=["10.1.1.33", 50033, false, false] -"config/уарэп-яу07-3н"=["10.1.1.31", 50031, false, false] -"config/уарэп-яу07-4в"=["10.1.1.42", 50042, false, false] -"config/уарэп-яу07-4к"=["10.1.1.43", 50043, false, false] -"config/уарэп-яу07-4н"=["10.1.1.41", 50041, false, false] -"config/уарэп-яу07-общий"=["*", 50000, true, true] -"config/уарэп-яу07-частный"=["10.1.1.253", 50253, false, true] +"config/навигация"=["*", 60000.0, true, true] +"config/уарэп-5п28"=["127.0.0.1", 50777.0] +"config/уарэп-капсрпб"=["127.0.0.1", "127.0.0.1", 42023.0, 42022.0, false, true] +"config/уарэп-спт25-1"=["/home/user/tty0", 0.0, 19200.0, "N", 8.0, 1.0] +"config/уарэп-спт25-2"=["/home/user/tty1", 0.0, 19200.0, "N", 8.0, 1.0] +"config/уарэп-трасса"=["192.168.11.34", "192.168.11.105", 50200.0, 10004.0, false, true] +"config/уарэп-щ3"=["/home/user/tty3", 7.0, 19200.0, "N", 8.0, 1.0, 50000.0] +"config/уарэп-эмс"=["10.1.1.52", 50052.0, false, false] +"config/уарэп-яу07-1в"=["10.1.1.12", 50012.0, false, false] +"config/уарэп-яу07-1к"=["10.1.1.13", 50013.0, false, false] +"config/уарэп-яу07-1н"=["10.1.1.11", 50011.0, false, false] +"config/уарэп-яу07-2в"=["10.1.1.22", 50022.0, false, false] +"config/уарэп-яу07-2к"=["10.1.1.23", 50023.0, false, false] +"config/уарэп-яу07-2н"=["10.1.1.21", 50021.0, false, false] +"config/уарэп-яу07-3в"=["10.1.1.32", 50032.0, false, false] +"config/уарэп-яу07-3к"=["10.1.1.33", 50033.0, false, false] +"config/уарэп-яу07-3н"=["10.1.1.31", 50031.0, false, false] +"config/уарэп-яу07-4в"=["10.1.1.42", 50042.0, false, false] +"config/уарэп-яу07-4к"=["10.1.1.43", 50043.0, false, false] +"config/уарэп-яу07-4н"=["10.1.1.41", 50041.0, false, false] +"config/уарэп-яу07-общий"=["*", 50000.0, true, true] +"config/уарэп-яу07-частный"=["10.1.1.253", 50253.0, false, true] config/="[0.215686276555061,0.976470589637756,1.0,1.0]" +"config/Цвет темы программы"=false [autoload] diff --git a/scenes/count-danger/count_danger_pad.tscn b/scenes/count-danger/count-danger-pad.tscn similarity index 100% rename from scenes/count-danger/count_danger_pad.tscn rename to scenes/count-danger/count-danger-pad.tscn diff --git a/scenes/tabs-switch/tab-switch.gd b/scenes/tabs-switch/tab-switch.gd index 6e510749..b3f85221 100644 --- a/scenes/tabs-switch/tab-switch.gd +++ b/scenes/tabs-switch/tab-switch.gd @@ -23,3 +23,17 @@ func _enter_tree() -> void: func on_setting_changed(): var ext_cu = ProjectSettings.get_setting('application/config/Внешнее управление', false) get_parent().get_node('remote_control').visible = ext_cu + apply_colors() + + +func apply_colors(): + var is_light: bool = ProjectSettings.get_setting("application/config/Цвет темы программы", false) + var style = StyleBoxFlat.new() + if is_light: + style.bg_color = Color.DARK_GRAY + add_theme_stylebox_override("tabbar_background", style) + add_theme_stylebox_override("panel", style) + else: + style.bg_color = Color(0.12, 0.12, 0.12) + add_theme_stylebox_override("tabbar_background", style) + add_theme_stylebox_override("panel", style) diff --git a/scenes/tabs-switch/tab-switch.tscn b/scenes/tabs-switch/tab-switch.tscn index 01780db4..1f9ac378 100644 --- a/scenes/tabs-switch/tab-switch.tscn +++ b/scenes/tabs-switch/tab-switch.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=19 format=3 uid="uid://3slb0i3pvowc"] +[gd_scene load_steps=15 format=3 uid="uid://3slb0i3pvowc"] [ext_resource type="Script" uid="uid://bvo6tcreqyuex" path="res://scenes/tabs-switch/tab-switch.gd" id="1_fg0vd"] [ext_resource type="PackedScene" uid="uid://b276iygic5itk" path="res://scenes/работа/работа.tscn" id="2_u7p16"] @@ -8,17 +8,9 @@ [ext_resource type="PackedScene" uid="uid://musb21x2u0xs" path="res://scenes/эмс2/эмс2.tscn" id="6_41d34"] [ext_resource type="PackedScene" uid="uid://bnptm4rlp60dq" path="res://scenes/настройки/настройки.tscn" id="6_i8iv3"] [ext_resource type="Script" uid="uid://b5ykwyk5vpi6" path="res://scenes/tabs-switch/lbl-ready.gd" id="8_tidwt"] -[ext_resource type="Script" uid="uid://roajn6c6wvc1" path="res://scenes/tabs-switch/тренаж_режим.gd" id="9_41d34"] +[ext_resource type="Script" uid="uid://roajn6c6wvc1" path="res://scenes/tabs-switch/тренаж-режим.gd" id="9_41d34"] -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_tidwt"] - -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_41d34"] - -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_cw2ss"] - -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_nmdfd"] - -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_vap7n"] +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_vap7n"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_o1r22"] @@ -33,17 +25,14 @@ bg_color = Color(0, 100, 0, 1) [node name="panel" type="Panel"] offset_right = 1600.0 offset_bottom = 1200.0 -theme_override_styles/panel = SubResource("StyleBoxEmpty_tidwt") [node name="tab_switch" type="TabContainer" parent="."] layout_mode = 0 offset_right = 1600.0 offset_bottom = 1200.0 tooltip_text = "Переключает режимы работы программы" -theme_override_styles/tab_focus = SubResource("StyleBoxEmpty_41d34") -theme_override_styles/tab_disabled = SubResource("StyleBoxEmpty_cw2ss") -theme_override_styles/tabbar_background = SubResource("StyleBoxEmpty_nmdfd") -theme_override_styles/panel = SubResource("StyleBoxEmpty_vap7n") +theme_override_styles/tabbar_background = SubResource("StyleBoxFlat_vap7n") +theme_override_styles/panel = SubResource("StyleBoxFlat_vap7n") current_tab = 0 script = ExtResource("1_fg0vd") diff --git a/scenes/tabs-switch/тренаж_режим.gd b/scenes/tabs-switch/тренаж-режим.gd similarity index 100% rename from scenes/tabs-switch/тренаж_режим.gd rename to scenes/tabs-switch/тренаж-режим.gd diff --git a/scenes/tabs-switch/тренаж_режим.gd.uid b/scenes/tabs-switch/тренаж-режим.gd.uid similarity index 100% rename from scenes/tabs-switch/тренаж_режим.gd.uid rename to scenes/tabs-switch/тренаж-режим.gd.uid diff --git a/scenes/tilemap/ship_mark.tscn b/scenes/tilemap/ship-mark.tscn similarity index 100% rename from scenes/tilemap/ship_mark.tscn rename to scenes/tilemap/ship-mark.tscn diff --git a/scenes/tilemap/tilemap.gd b/scenes/tilemap/tilemap.gd index b3ea9577..c12ce22d 100644 --- a/scenes/tilemap/tilemap.gd +++ b/scenes/tilemap/tilemap.gd @@ -29,7 +29,7 @@ const TILE_REQUEST_NAME: = 'tile_request_%d' @onready var scale_label: String @onready var coordinates_label: String @onready var threat_mark: PackedScene = load("res://scenes/tilemap/threat.tscn") -@onready var ship_mark: PackedScene = load("res://scenes/tilemap/ship_mark.tscn") +@onready var ship_mark: PackedScene = load("res://scenes/tilemap/ship-mark.tscn") var ship_id := 9999 var ship_instance: Node2D = null const default_size: = 400.0 diff --git a/scenes/контроль/connect_pribor.gd b/scenes/контроль/connect-pribor.gd similarity index 100% rename from scenes/контроль/connect_pribor.gd rename to scenes/контроль/connect-pribor.gd diff --git a/scenes/контроль/connect_pribor.gd.uid b/scenes/контроль/connect-pribor.gd.uid similarity index 100% rename from scenes/контроль/connect_pribor.gd.uid rename to scenes/контроль/connect-pribor.gd.uid diff --git a/scenes/контроль/control_prd.gd b/scenes/контроль/control-prd.gd similarity index 100% rename from scenes/контроль/control_prd.gd rename to scenes/контроль/control-prd.gd diff --git a/scenes/контроль/control_prd.gd.uid b/scenes/контроль/control-prd.gd.uid similarity index 100% rename from scenes/контроль/control_prd.gd.uid rename to scenes/контроль/control-prd.gd.uid diff --git a/scenes/контроль/panel_container.gd b/scenes/контроль/panel-container.gd similarity index 100% rename from scenes/контроль/panel_container.gd rename to scenes/контроль/panel-container.gd diff --git a/scenes/контроль/panel_container.gd.uid b/scenes/контроль/panel-container.gd.uid similarity index 100% rename from scenes/контроль/panel_container.gd.uid rename to scenes/контроль/panel-container.gd.uid diff --git a/scenes/контроль/контроль.tscn b/scenes/контроль/контроль.tscn index 282ed644..c1688ca0 100644 --- a/scenes/контроль/контроль.tscn +++ b/scenes/контроль/контроль.tscn @@ -18,13 +18,13 @@ [ext_resource type="Texture2D" uid="uid://00871pb6moln" path="res://data/прогресс-фон-1.png" id="9_w6m6a"] [ext_resource type="Texture2D" uid="uid://c1k856fxhrjnh" path="res://data/прогресс-заполнение-1.png" id="10_lbx5w"] [ext_resource type="Texture2D" uid="uid://u7h3l0jjrsnp" path="res://data/У-УФ.png" id="11_gjf0t"] -[ext_resource type="Script" uid="uid://bncy1x53jp73d" path="res://scenes/контроль/connect_pribor.gd" id="11_u7tym"] +[ext_resource type="Script" uid="uid://bncy1x53jp73d" path="res://scenes/контроль/connect-pribor.gd" id="11_u7tym"] [ext_resource type="Texture2D" uid="uid://vdhmga62vjsj" path="res://data/АФСП-РТР.png" id="13_32yvq"] [ext_resource type="Texture2D" uid="uid://dm350ta8noa0v" path="res://data/У-РЭП-РПД-К.png" id="16_32yvq"] [ext_resource type="Texture2D" uid="uid://c3cyog3gy24ft" path="res://data/У-ЭП.png" id="16_gjf0t"] -[ext_resource type="Script" uid="uid://xjs7owe2iexn" path="res://scenes/контроль/control_prd.gd" id="18_lbx5w"] +[ext_resource type="Script" uid="uid://xjs7owe2iexn" path="res://scenes/контроль/control-prd.gd" id="18_lbx5w"] [ext_resource type="Texture2D" uid="uid://b2vf7en1jj8dv" path="res://data/У-РЭП-РПД-В.png" id="20_l5wui"] -[ext_resource type="Script" path="res://scenes/контроль/panel_container.gd" id="21_l5wui"] +[ext_resource type="Script" uid="uid://j16hg3u2uvu5" path="res://scenes/контроль/panel-container.gd" id="21_l5wui"] [ext_resource type="Texture2D" uid="uid://cllxcfa130vqu" path="res://data/УА-РЭП.png" id="22_1s34a"] [sub_resource type="GDScript" id="GDScript_iqgf5"] diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index b4d49ee7..2b6c54c2 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -66,8 +66,9 @@ const SETTING_TABLE = [ ['Цвет кнопки \"Подавление\"', TableEdit, TableColorPick, 'Цвет кнопки. Введено по требованию ПЗ' ], # 54 ['Цвет фона схемы', TableEdit, TableColorPick, 'Схема прибора Э2. Изменение цвет фона'], # 55 ['Цвет схемы', TableEdit, TableColorPick, 'Схема прибора Э2. Изменение цвет схемы '], # 56 - ['Коэффициент ширины полосы излучения', TableEdit, TableEdit, 'Изменение ширины полосы излучения помехи в зависимости от цели'], # 57 - ['Время повторной отправки помехи', TableEdit, TableEdit, 'Изменение времени повторной отправки помехи'] ] # 58 + ['Цвет темы программы', TableEdit, TableToggle, 'ВЫКЛ - темная тема, ВКЛ - светлая тема'], # 57 + ['Коэффициент ширины полосы излучения', TableEdit, TableEdit, 'Изменение ширины полосы излучения помехи в зависимости от цели'], # 58 + ['Время повторной отправки помехи', TableEdit, TableEdit, 'Изменение времени повторной отправки помехи'] ] # 59 ## TODO: Придумать как избавиться от индексов @@ -83,12 +84,14 @@ const GOS_BTN = 52 ## Разрешить работу по своим ц const COLOR_BTN_ACT = 54 ## Цвет кнопки "Подавление" const COLOR_WHITE = 55 ## Цвет фона схемы const COLOR_BLACK = 56 ## Цвет схемы +const COLOR_THEME = 57 ## Цвет темы var name_to_line_index: = {} ## Для преобразования названия параметра в номер строки var table_color_instance: Node ## Нода цвета кнопки подавления -func on_checkbutton_pressed(i_row: int): on_row_pressed(i_row) +func on_checkbutton_pressed(i_row: int): + on_row_pressed(i_row) ## Вызывается, когда узел впервые попадает в дерево сцены. @@ -105,28 +108,34 @@ func on_external_cu_btn_pressed(btn) -> void: ProjectSettings.set_setting('application/config/Внешнее управление', btn.button_pressed) if btn.button_pressed: signaller.emit_signal('interfer_off_all') + _autosave_now() func on_trassa_btn_pressed(btn) -> void: ProjectSettings.set_setting('application/config/Внешнее указание Трасса', btn.button_pressed) + _autosave_now() func on_vk_pressed(btn) -> void: signaller.emit_signal('kb_pressed', btn.button_pressed) + _autosave_now() func on_gos_pressed(btn) -> void: ProjectSettings.set_setting('application/config/Включить работу по своим целям', btn.button_pressed) + _autosave_now() func on_ems2_pressed(btn) -> void: var state = btn.button_pressed signaller.emit_signal('ems2_hide_pressed', state) + _autosave_now() func on_debag_control_pressed(btn) -> void: var state = btn.button_pressed signaller.emit_signal("debag_control_pressed", state) + _autosave_now() func on_row_pressed(i_row: int): @@ -199,6 +208,7 @@ func setting_tab(): child.connect('pressed', Callable(self, 'on_checkbutton_pressed').bind(i)) var val = ProjectSettings.get_setting('application/config/%s' % param_name, true) child.set_pressed(val) + child.pressed.connect(_autosave_now) else: if settings_data.has(param_name): var val = settings_data[param_name] @@ -207,6 +217,7 @@ func setting_tab(): if edit_node: if edit_node is LineEdit: $scroll_set/table.set_node_control(1, i, true) + edit_node.focus_exited.connect(_autosave_now) $scroll_set/table.set_node_editable(1, COMMIT, false) $scroll_set/table.set_columns_min_size([600, 950]) $scroll_set/table.set_columns_alignments(ALIGNMENT) @@ -268,8 +279,16 @@ func button_settings(): var arr_col_b = JSON.parse_string(json_col_b) color_black.color = Color(arr_col_b[0], arr_col_b[1], arr_col_b[2], arr_col_b[3]) if arr_col_b else Color.WHITE_SMOKE color_black.text = JSON.stringify(arr_col_b) + var theme_node = $scroll_set/table.get_node2(1, COLOR_THEME).get_children()[0] + theme_node.connect("pressed", on_theme_toggle_pressed.bind(theme_node)) + on_theme_toggle_pressed(theme_node) +func on_theme_toggle_pressed(btn: CheckButton) -> void: + var is_light = btn.button_pressed + ProjectSettings.set_setting("application/config/Цвет темы программы", is_light) + _autosave_now() + func _update_theme_colors(): var color_white = $scroll_set/table.get_node2(1, COLOR_WHITE) var color_black = $scroll_set/table.get_node2(1, COLOR_BLACK) @@ -281,21 +300,25 @@ func on_color_closed_w(color_white: ColorPickerButton): var col_w = [color_white.color.r, color_white.color.g, color_white.color.b, color_white.color.a] color_white.text = JSON.stringify(col_w) ProjectSettings.set_setting('application/config/%s' % 'Цвет фона схемы', color_white.text) + _autosave_now() func on_color_closed_b(color_black: ColorPickerButton): var col_b = [color_black.color.r, color_black.color.g, color_black.color.b, color_black.color.a] color_black.text = JSON.stringify(col_b) ProjectSettings.set_setting('application/config/%s' % 'Цвет схемы', color_black.text) + _autosave_now() func on_color_closed(color_btn_act: ColorPickerButton): var col = [color_btn_act.color.r, color_btn_act.color.g, color_btn_act.color.b, color_btn_act.color.a] color_btn_act.text = JSON.stringify(col) ProjectSettings.set_setting('application/config/%s' % 'Цвет кнопки \"Подавление\"', color_btn_act.text) + _autosave_now() -func _on_btn_save_settings_pressed(): +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/настройки/настройки.tscn b/scenes/настройки/настройки.tscn index 950d3e74..88f5604f 100644 --- a/scenes/настройки/настройки.tscn +++ b/scenes/настройки/настройки.tscn @@ -1,21 +1,7 @@ -[gd_scene load_steps=7 format=3 uid="uid://bnptm4rlp60dq"] +[gd_scene load_steps=3 format=3 uid="uid://bnptm4rlp60dq"] [ext_resource type="Script" uid="uid://dabpum5iqxc7y" path="res://scenes/настройки/настройки.gd" id="1_60bya"] [ext_resource type="Script" uid="uid://c5pq0hbrij34d" path="res://table/table.gd" id="2_6sx73"] -[ext_resource type="Texture2D" uid="uid://csnts8f155sf7" path="res://data/save1.png" id="3_dbpks"] - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pyq6h"] -texture = ExtResource("3_dbpks") -modulate_color = Color(0.8, 0.533333, 0.27451, 1) - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_l5g3r"] -texture = ExtResource("3_dbpks") -expand_margin_left = 20.0 -expand_margin_top = 20.0 -modulate_color = Color(0.8, 0.533333, 0.27451, 1) - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_tbxk6"] -texture = ExtResource("3_dbpks") [node name="Настройки" type="Panel"] script = ExtResource("1_60bya") @@ -33,26 +19,8 @@ layout_mode = 0 offset_left = 16.0 offset_top = 44.0 offset_right = 1584.0 -offset_bottom = 988.0 +offset_bottom = 1144.0 [node name="table" type="GridContainer" parent="scroll_set"] layout_mode = 2 script = ExtResource("2_6sx73") - -[node name="btn_save" type="Button" parent="."] -layout_mode = 0 -offset_left = 1523.0 -offset_top = 1057.0 -offset_right = 2035.0 -offset_bottom = 1569.0 -scale = Vector2(0.1, 0.1) -tooltip_text = "Сохранить настройки" -focus_mode = 0 -theme_override_styles/focus = SubResource("StyleBoxTexture_pyq6h") -theme_override_styles/disabled = SubResource("StyleBoxTexture_pyq6h") -theme_override_styles/hover_pressed = SubResource("StyleBoxTexture_pyq6h") -theme_override_styles/hover = SubResource("StyleBoxTexture_pyq6h") -theme_override_styles/pressed = SubResource("StyleBoxTexture_l5g3r") -theme_override_styles/normal = SubResource("StyleBoxTexture_tbxk6") - -[connection signal="pressed" from="btn_save" to="." method="_on_btn_save_settings_pressed"] diff --git a/scenes/работа/работа.gd b/scenes/работа/работа.gd index 10d86c7d..641c8f9c 100644 --- a/scenes/работа/работа.gd +++ b/scenes/работа/работа.gd @@ -154,6 +154,12 @@ 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/scenes/работа/работа.tscn b/scenes/работа/работа.tscn index 8d9c5f26..63389127 100644 --- a/scenes/работа/работа.tscn +++ b/scenes/работа/работа.tscn @@ -5,7 +5,7 @@ [ext_resource type="PackedScene" uid="uid://dem3fcec25awh" path="res://scenes/grid-side-panel/grid-side-panel.tscn" id="3_s2j0e"] [ext_resource type="PackedScene" uid="uid://cnkbk53mi7viu" path="res://scenes/grid-buttons-ecm/grid-buttons-ecm.tscn" id="5_2jnbs"] [ext_resource type="PackedScene" uid="uid://dymo732qc2doa" path="res://scenes/count-all/count-all-pad.tscn" id="6_e3re7"] -[ext_resource type="PackedScene" uid="uid://bwti82byphl68" path="res://scenes/count-danger/count_danger_pad.tscn" id="7_2arls"] +[ext_resource type="PackedScene" uid="uid://bwti82byphl68" path="res://scenes/count-danger/count-danger-pad.tscn" id="7_2arls"] [ext_resource type="PackedScene" uid="uid://da7w3vkhadfwe" path="res://scenes/button-flat/button-flat.tscn" id="8_k0iv2"] [ext_resource type="Texture2D" uid="uid://c1785x8wf1hdg" path="res://data/power-0.png" id="10_cnr1s"] [ext_resource type="PackedScene" uid="uid://ceknxxfu1loo5" path="res://scenes/tilemap/tilemap.tscn" id="10_gtwyg"] diff --git a/shaders/select_tr.gdshader b/shaders/select-tr.gdshader similarity index 100% rename from shaders/select_tr.gdshader rename to shaders/select-tr.gdshader diff --git a/shaders/select_tr.gdshader.uid b/shaders/select-tr.gdshader.uid similarity index 100% rename from shaders/select_tr.gdshader.uid rename to shaders/select-tr.gdshader.uid diff --git a/table/editl.gd b/table/editl.gd new file mode 100644 index 00000000..5c5a73f4 --- /dev/null +++ b/table/editl.gd @@ -0,0 +1,17 @@ +extends LineEdit + +func _ready(): + _update_background() + +func _update_background() -> void: + 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/editl.gd.uid b/table/editl.gd.uid new file mode 100644 index 00000000..a2f655c3 --- /dev/null +++ b/table/editl.gd.uid @@ -0,0 +1 @@ +uid://bky7xlpaj21sj diff --git a/table/editl.tscn b/table/editl.tscn index e1d02dc1..44fd2976 100644 --- a/table/editl.tscn +++ b/table/editl.tscn @@ -1,7 +1,10 @@ -[gd_scene format=3 uid="uid://bvbvtgwps54yr"] +[gd_scene load_steps=2 format=3 uid="uid://bvbvtgwps54yr"] + +[ext_resource type="Script" uid="uid://bky7xlpaj21sj" path="res://table/editl.gd" id="1_xd53c"] [node name="Editl" type="LineEdit"] offset_right = 59.875 offset_bottom = 33.0 caret_blink = true caret_blink_interval = 0.5 +script = ExtResource("1_xd53c") diff --git a/table/lable.gd b/table/lable.gd new file mode 100644 index 00000000..a44af78e --- /dev/null +++ b/table/lable.gd @@ -0,0 +1,16 @@ +extends Label + +func _ready(): + _update_background() + +func _process(_delta): + _update_background() + +func _update_background() -> void: + var is_light: bool = ProjectSettings.get_setting("application/config/Цвет темы программы", false) + var style = get_theme_stylebox("normal").duplicate() + if is_light: + style.bg_color = Color.GRAY + else: + style.bg_color = Color(0.12, 0.12, 0.12) + add_theme_stylebox_override("normal", style) diff --git a/table/lable.gd.uid b/table/lable.gd.uid new file mode 100644 index 00000000..2b9e2c3f --- /dev/null +++ b/table/lable.gd.uid @@ -0,0 +1 @@ +uid://bjw0gwcqxx30d diff --git a/table/lable.tscn b/table/lable.tscn index 63372de7..25c38ded 100644 --- a/table/lable.tscn +++ b/table/lable.tscn @@ -1,4 +1,6 @@ -[gd_scene load_steps=2 format=3 uid="uid://dwphmxstaxn4v"] +[gd_scene load_steps=3 format=3 uid="uid://dwphmxstaxn4v"] + +[ext_resource type="Script" uid="uid://bjw0gwcqxx30d" path="res://table/lable.gd" id="1_xk0u2"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_yign5"] bg_color = Color(0.117647, 0.117647, 0.117647, 0.85098) @@ -14,3 +16,4 @@ offset_right = 104.0 offset_bottom = 27.0 theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1) theme_override_styles/normal = SubResource("StyleBoxFlat_yign5") +script = ExtResource("1_xk0u2") diff --git a/table/node.gd b/table/node.gd new file mode 100644 index 00000000..39546d6d --- /dev/null +++ b/table/node.gd @@ -0,0 +1,16 @@ +extends LineEdit + +func _ready(): + _update_background() + +func _process(_delta): + _update_background() + +func _update_background() -> void: + 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) diff --git a/table/node.gd.uid b/table/node.gd.uid new file mode 100644 index 00000000..7df355ca --- /dev/null +++ b/table/node.gd.uid @@ -0,0 +1 @@ +uid://c71233c2tqc2u diff --git a/table/node.tscn b/table/node.tscn index 120347d2..5178856f 100644 --- a/table/node.tscn +++ b/table/node.tscn @@ -1,4 +1,6 @@ -[gd_scene format=3 uid="uid://c1i4rwaajq7d5"] +[gd_scene load_steps=2 format=3 uid="uid://c1i4rwaajq7d5"] + +[ext_resource type="Script" uid="uid://c71233c2tqc2u" path="res://table/node.gd" id="1_oh3pj"] [node name="Label" type="LineEdit"] offset_right = 121.0 @@ -8,3 +10,4 @@ editable = false context_menu_enabled = false caret_blink = true caret_blink_interval = 0.1 +script = ExtResource("1_oh3pj") diff --git a/table/set-toggle.gd b/table/set-toggle.gd new file mode 100644 index 00000000..39546d6d --- /dev/null +++ b/table/set-toggle.gd @@ -0,0 +1,16 @@ +extends LineEdit + +func _ready(): + _update_background() + +func _process(_delta): + _update_background() + +func _update_background() -> void: + 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) diff --git a/table/set-toggle.gd.uid b/table/set-toggle.gd.uid new file mode 100644 index 00000000..35ebd964 --- /dev/null +++ b/table/set-toggle.gd.uid @@ -0,0 +1 @@ +uid://btvrqnnjjum20 diff --git a/table/set-toggle.tscn b/table/set-toggle.tscn index 39a32422..93141ff5 100644 --- a/table/set-toggle.tscn +++ b/table/set-toggle.tscn @@ -1,4 +1,6 @@ -[gd_scene load_steps=4 format=3 uid="uid://dgidt8lifm7xe"] +[gd_scene load_steps=6 format=3 uid="uid://dgidt8lifm7xe"] + +[ext_resource type="Script" uid="uid://btvrqnnjjum20" path="res://table/set-toggle.gd" id="1_kvru5"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_f4oye"] @@ -7,11 +9,14 @@ [sub_resource type="Theme" id="Theme_odxqp"] CheckButton/styles/focus = SubResource("StyleBoxEmpty_t3fqw") +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_kvru5"] + [node name="LineEdit" type="LineEdit"] offset_right = 85.0 offset_bottom = 27.0 theme_override_styles/focus = SubResource("StyleBoxEmpty_f4oye") editable = false +script = ExtResource("1_kvru5") [node name="CheckButton" type="CheckButton" parent="."] layout_mode = 0 @@ -20,3 +25,4 @@ offset_top = 1.0 offset_right = 65.0 offset_bottom = 25.0 theme = SubResource("Theme_odxqp") +theme_override_styles/focus = SubResource("StyleBoxEmpty_kvru5") diff --git a/table/settings-toggle.gd b/table/settings-toggle.gd new file mode 100644 index 00000000..39546d6d --- /dev/null +++ b/table/settings-toggle.gd @@ -0,0 +1,16 @@ +extends LineEdit + +func _ready(): + _update_background() + +func _process(_delta): + _update_background() + +func _update_background() -> void: + 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) diff --git a/table/settings-toggle.gd.uid b/table/settings-toggle.gd.uid new file mode 100644 index 00000000..729538f3 --- /dev/null +++ b/table/settings-toggle.gd.uid @@ -0,0 +1 @@ +uid://bh7mb1aeu1uk6 diff --git a/table/settings-toggle.tscn b/table/settings-toggle.tscn index b0edb12c..1d5be41b 100644 --- a/table/settings-toggle.tscn +++ b/table/settings-toggle.tscn @@ -1,26 +1,28 @@ -[gd_scene load_steps=5 format=3 uid="uid://5rw652cmnybi"] +[gd_scene load_steps=6 format=3 uid="uid://5rw652cmnybi"] +[ext_resource type="Script" uid="uid://bh7mb1aeu1uk6" path="res://table/settings-toggle.gd" id="1_8lkgc"] [ext_resource type="Shader" uid="uid://bw5mmbgeycwua" path="res://shaders/color-invers.gdshader" id="1_anyuq"] -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7hsq1"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_il5wc"] [sub_resource type="ShaderMaterial" id="ShaderMaterial_xxfw6"] shader = ExtResource("1_anyuq") -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_y8485"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_8lkgc"] [node name="LineEdit" type="LineEdit"] offset_right = 950.0 offset_bottom = 27.0 theme_override_colors/font_uneditable_color = Color(1, 0.596078, 0.4, 1) theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1) -theme_override_styles/focus = SubResource("StyleBoxEmpty_7hsq1") +theme_override_styles/focus = SubResource("StyleBoxEmpty_il5wc") editable = false context_menu_enabled = false shortcut_keys_enabled = false middle_mouse_paste_enabled = false selecting_enabled = false deselect_on_focus_loss_enabled = false +script = ExtResource("1_8lkgc") [node name="CheckButton" type="CheckButton" parent="."] material = SubResource("ShaderMaterial_xxfw6") @@ -29,4 +31,4 @@ offset_left = 453.0 offset_top = 1.5 offset_right = 497.0 offset_bottom = 25.5 -theme_override_styles/focus = SubResource("StyleBoxEmpty_y8485") +theme_override_styles/focus = SubResource("StyleBoxEmpty_8lkgc") diff --git a/table/ячейка-2.gd b/table/ячейка-2.gd new file mode 100644 index 00000000..ffa9151f --- /dev/null +++ b/table/ячейка-2.gd @@ -0,0 +1,24 @@ +extends LineEdit + +func _ready(): + _update_background() + +func _process(_delta): + _update_background() + +func _update_background() -> void: + 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() + if is_light: + style.bg_color = Color.GRAY + style_1.bg_color = Color.GRAY + add_theme_color_override("font_color", Color.BLACK) + add_theme_color_override("font_uneditable_color", Color.BLACK) + else: + style.bg_color = Color(0.12, 0.12, 0.12) + style_1.bg_color = Color(0.12, 0.12, 0.12) + add_theme_color_override("font_color", Color(1.0, 0.596, 0.4)) + add_theme_color_override("font_uneditable_color", Color(1.0, 0.596, 0.4)) + add_theme_stylebox_override("normal", style) + add_theme_stylebox_override("read_only", style_1) diff --git a/table/ячейка-2.gd.uid b/table/ячейка-2.gd.uid new file mode 100644 index 00000000..4917e9d0 --- /dev/null +++ b/table/ячейка-2.gd.uid @@ -0,0 +1 @@ +uid://dqexdg24cp6rq diff --git a/table/ячейка-2.tscn b/table/ячейка-2.tscn index 2cbfae74..0c3566e4 100644 --- a/table/ячейка-2.tscn +++ b/table/ячейка-2.tscn @@ -1,4 +1,6 @@ -[gd_scene load_steps=2 format=3 uid="uid://dspa16ufrpanp"] +[gd_scene load_steps=3 format=3 uid="uid://dspa16ufrpanp"] + +[ext_resource type="Script" uid="uid://dqexdg24cp6rq" path="res://table/ячейка-2.gd" id="1_0fmuf"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_mla3y"] @@ -16,3 +18,4 @@ selecting_enabled = false deselect_on_focus_loss_enabled = false caret_blink = true caret_blink_interval = 0.1 +script = ExtResource("1_0fmuf") diff --git a/table/ячейка-цвет.gd b/table/ячейка-цвет.gd new file mode 100644 index 00000000..ba8ffa61 --- /dev/null +++ b/table/ячейка-цвет.gd @@ -0,0 +1,16 @@ +extends ColorPickerButton + +func _ready(): + _update_background() + +func _process(_delta): + _update_background() + +func _update_background() -> void: + var is_light: bool = ProjectSettings.get_setting("application/config/Цвет темы программы", false) + var style = get_theme_stylebox("normal").duplicate() + if is_light: + style.bg_color = Color.GRAY + else: + style.bg_color = Color(0.12, 0.12, 0.12) + add_theme_stylebox_override("normal", style) diff --git a/table/ячейка-цвет.gd.uid b/table/ячейка-цвет.gd.uid new file mode 100644 index 00000000..31e07acc --- /dev/null +++ b/table/ячейка-цвет.gd.uid @@ -0,0 +1 @@ +uid://b36c83manfems diff --git a/table/ячейка-цвет.tscn b/table/ячейка-цвет.tscn index e239b982..8171867e 100644 --- a/table/ячейка-цвет.tscn +++ b/table/ячейка-цвет.tscn @@ -1,4 +1,8 @@ -[gd_scene format=3 uid="uid://cug5xjbfdm7x7"] +[gd_scene load_steps=3 format=3 uid="uid://cug5xjbfdm7x7"] + +[ext_resource type="Script" uid="uid://b36c83manfems" path="res://table/ячейка-цвет.gd" id="1_ce8lu"] + +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_ce8lu"] [node name="ячейка-цвет" type="ColorPickerButton"] anchors_preset = 15 @@ -6,3 +10,5 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +theme_override_styles/focus = SubResource("StyleBoxEmpty_ce8lu") +script = ExtResource("1_ce8lu")