Рефактор.
This commit is contained in:
@@ -54,7 +54,7 @@ const SETTING_TABLE = [
|
||||
]
|
||||
const EXTERNAL_CU = 17 # Внешнее целееуказание
|
||||
const SUPPRESS = 18 # Строка - Подавление
|
||||
const KEYBORD = 19 # Строка - Виртуальная клавиатура
|
||||
const KEYBOARD = 19 # Строка - Виртуальная клавиатура
|
||||
const HIDE_EMS2 = 20 # Строка - Скрыть вкладку ЭМС 2
|
||||
const COMMIT = 21 # Строка - Версия УАРЭП
|
||||
const SERVER = 22 # Строка - Сервер карт
|
||||
@@ -103,6 +103,7 @@ func setting_tab():
|
||||
$heard_table.set_columns_alignments(ALIGNMENT)
|
||||
var settings_data = {} # Загружаем настройки из файла
|
||||
var file = FileAccess.open(settings.settings_file, FileAccess.READ)
|
||||
var abs_path = ProjectSettings.globalize_path(settings.settings_file)
|
||||
if file:
|
||||
var read = file.get_as_text()
|
||||
file.close()
|
||||
@@ -110,9 +111,9 @@ func setting_tab():
|
||||
if json_conv.parse(read) == OK:
|
||||
settings_data = json_conv.get_data()
|
||||
else:
|
||||
log.info("Не удалось прочитать JSON, используем настройки по умолчанию")
|
||||
log.warning('Не удалось разобрать \"%s\", будут использованы настройки по умолчанию' % abs_path)
|
||||
else:
|
||||
log.info("Файл настроек не найден, используем настройки по умолчанию")
|
||||
log.warning('Файл \"%s\" не найден, будут использованы настройки по умолчанию' % abs_path)
|
||||
for i in SETTING_TABLE.size():
|
||||
var setting_str = SETTING_TABLE[i]
|
||||
var parameter = setting_str[0]
|
||||
@@ -144,12 +145,12 @@ func setting_tab():
|
||||
if parameter in settings.UnitProfiles:
|
||||
var unit_data = settings.UnitProfiles[parameter]
|
||||
var profiles = $scroll_set/table.get_node2(1, i)
|
||||
var joined_data = ""
|
||||
var joined_data = ''
|
||||
for j in range(unit_data[2].size()):
|
||||
joined_data += str(unit_data[2][j])
|
||||
if j < unit_data[2].size() - 1:
|
||||
joined_data += ","
|
||||
profiles.text = str(unit_data[1]) + " : " + joined_data
|
||||
joined_data += ','
|
||||
profiles.text = str(unit_data[1]) + ' : ' + joined_data
|
||||
$scroll_set/table.connect('row_pressed', Callable(self, 'on_row_pressed'))
|
||||
button_settings()
|
||||
|
||||
@@ -158,8 +159,8 @@ func button_settings():
|
||||
var extern_cu_node = $scroll_set/table.get_node2(1, EXTERNAL_CU).get_children()[0]
|
||||
extern_cu_node.connect('pressed', on_external_cu_btn_pressed.bind(extern_cu_node))
|
||||
$scroll_set/table.set_row_text(SUPPRESS,(['Кнопка «Подавление»']))
|
||||
$scroll_set/table.set_row_text(KEYBORD,(['Виртуальная клавиатура']))
|
||||
var vk_node = $scroll_set/table.get_node2(1, KEYBORD).get_children()[0]
|
||||
$scroll_set/table.set_row_text(KEYBOARD,(['Виртуальная клавиатура']))
|
||||
var vk_node = $scroll_set/table.get_node2(1, KEYBOARD).get_children()[0]
|
||||
vk_node.connect('pressed', on_vk_pressed.bind(vk_node))
|
||||
$scroll_set/table.set_row_text(HIDE_EMS2,(['Скрыть вкладку ЭМС 2']))
|
||||
var ems2_hide_node = $scroll_set/table.get_node2(1, HIDE_EMS2).get_children()[0]
|
||||
@@ -177,15 +178,15 @@ func _on_btn_save_settings_pressed():
|
||||
var value = profiles.get_text()
|
||||
if parameter not in json_data:
|
||||
json_data[parameter] = []
|
||||
if value.find(":") != -1:
|
||||
var parts = value.split(":")
|
||||
if value.find(':') != -1:
|
||||
var parts = value.split(':')
|
||||
var ip = parts[0].strip_edges()
|
||||
var ports = parts[1].split(",")
|
||||
var ports = parts[1].split(',')
|
||||
json_data[parameter].append(ip)
|
||||
for port in ports:
|
||||
if port == "true":
|
||||
if port == 'true':
|
||||
json_data[parameter].append(true)
|
||||
elif port == "false":
|
||||
elif port == 'false':
|
||||
json_data[parameter].append(false)
|
||||
else:
|
||||
port = port.strip_edges()
|
||||
@@ -197,12 +198,11 @@ func _on_btn_save_settings_pressed():
|
||||
var children = $scroll_set/table.get_node2(1, i).get_children()
|
||||
if len(children):
|
||||
var child = children[0]
|
||||
if parameter not in json_data:
|
||||
json_data[parameter] = child.is_pressed()
|
||||
json_data[parameter] = child.is_pressed()
|
||||
var file = FileAccess.open(settings.settings_file, FileAccess.WRITE)
|
||||
var abs_path = ProjectSettings.globalize_path(settings.settings_file)
|
||||
if not file:
|
||||
log.info('Не удалось открыть файл для записи \"%s\"' % abs_path)
|
||||
log.error('Не удалось открыть файл для записи \"%s\"' % abs_path)
|
||||
return
|
||||
var json_string = JSON.stringify(json_data, ' ', true)
|
||||
if file.store_string(json_string):
|
||||
|
||||
Reference in New Issue
Block a user