From 498c6603db6a34cf12e7f4c73857c0b846726950 Mon Sep 17 00:00:00 2001 From: Dylan Sarrazyn Date: Wed, 11 Dec 2024 14:16:10 +0100 Subject: [PATCH] Fixes the export/import of GPs in the prof tool. Re-add the model_db file to create new language pack. --- model_database.db | Bin 0 -> 131072 bytes resources/themes/kalulu_theme.tres | 24 ++++++++++----------- sources/language_tool/prof_tool_menu.gd | 6 +++--- sources/menus/settings/teacher_settings.gd | 15 +++++++++---- 4 files changed, 26 insertions(+), 19 deletions(-) create mode 100644 model_database.db diff --git a/model_database.db b/model_database.db new file mode 100644 index 0000000000000000000000000000000000000000..fa14c8d38e8a87e28dcf44c828ed1dd3ad37d055 GIT binary patch literal 131072 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 void: func _on_line_edit_text_submitted(new_text: String) -> void: DirAccess.make_dir_recursive_absolute(base_path.path_join(new_text)) - var file: = FileAccess.open("res://language_resources/model_database.db", FileAccess.READ) + var file: = FileAccess.open("res://model_database.db", FileAccess.READ) var dest: = FileAccess.open(base_path.path_join(new_text).path_join("language.db"), FileAccess.WRITE) dest.store_buffer(file.get_buffer(file.get_length())) file.close() @@ -247,13 +247,13 @@ func _language_data_selected(file_path: String) -> void: func _create_GP_csv() -> void: var gp_list_file: = FileAccess.open(base_path.path_join(Database.language).path_join("gp_list.csv"), FileAccess.WRITE) - gp_list_file.store_csv_line(["Grapheme", "Phoneme", "Type"]) + gp_list_file.store_csv_line(["Grapheme", "Phoneme", "Type", "Exception"]) var query: = "Select * FROM GPs ORDER BY GPs.Grapheme" Database.db.query(query) var result: = Database.db.query_result var types_text: = ["Silent", "Vowel", "Consonant"] for e in result: - gp_list_file.store_csv_line([e.Grapheme, e.Phoneme, types_text[e.Type]]) + gp_list_file.store_csv_line([e.Grapheme, e.Phoneme, types_text[e.Type], e.Exception]) func _create_words_csv() -> void: diff --git a/sources/menus/settings/teacher_settings.gd b/sources/menus/settings/teacher_settings.gd index 4070dfe3..934774bb 100644 --- a/sources/menus/settings/teacher_settings.gd +++ b/sources/menus/settings/teacher_settings.gd @@ -11,6 +11,8 @@ const ConfirmPopup: = preload("res://sources/ui/popup.gd") @onready var lesson_unlocks: LessonUnlocks = $LessonUnlocks @onready var delete_popup: ConfirmPopup = %DeletePopup +var last_device_id: = -1 + func _ready() -> void: _refresh_devices_tabs() OpeningCurtain.open() @@ -32,6 +34,8 @@ func _refresh_devices_tabs() -> void: devices_tab_container.add_child(device_tab) device_tab.student_pressed.connect(_on_student_pressed) + + last_device_id = device func _on_back_button_pressed() -> void: @@ -70,7 +74,6 @@ func _on_add_student_button_pressed() -> void: var current_tab: = devices_tab_container.get_current_tab_control() as DeviceTab if not current_tab: return - # TODO Show the popup # TODO Hides/Disable the button when not online var res: = await ServerManager.add_student(current_tab.device_id) @@ -81,6 +84,10 @@ func _on_add_student_button_pressed() -> void: func _on_add_device_button_pressed() -> void: - pass - #if UserDataManager.add_device(): - # _refresh_devices_tabs() + # TODO Show the popup + # TODO Hides/Disable the button when not online + var res: = await ServerManager.add_student(last_device_id + 1) + if res.code == 200: + UserDataManager.update_configuration(res.body) + _refresh_devices_tabs() + devices_tab_container.current_tab = last_device_id