extends Tabs

var locale

signal locale_changed()


func _ready():
	find_node("server_addr").set_text(game_server.get_server_addr())
	find_node("api_addr").set_text(game_server.get_api_addr())
	_init_locales()


func apply():
	config.set_value("system","locale",locale)
	var server_addr = find_node("server_addr").get_text()
	if server_addr.empty():
		server_addr = game_server.SERVER_ADDR
	config.set_value("system","server_addr",server_addr)

	var api_addr = find_node("api_addr").get_text()
	if api_addr.empty():
		api_addr = game_server.API_ADDR
	config.set_value("system","api_addr",api_addr)


func _on_locales_item_selected(index):
	match index:
		0:
			locale = "en"
		1:
			locale = "de"
		_:
			locale = "en"
	TranslationServer.set_locale(locale)
	emit_signal("locale_changed")


func _init_locales():
	var locales = find_node("locales")
	locales.clear()
	locales.add_item(tr("LOCALE_EN"))
	locales.add_item(tr("LOCALE_DE"))
	locale = config.get_value("system","locale","en")
	match locale:
		"en":
			locales.select(0)
			_on_locales_item_selected(0)
		"de":
			locales.select(1)
			_on_locales_item_selected(1)


func _on_system_settings_menu_tree_exiting():
	config_apply.apply_locale()
