]> Untitled Git - wolf-seeking-sheep.git/blob - addons/dialogic/Modules/Save/settings_save.gd
Squashed commit of the following:
[wolf-seeking-sheep.git] / addons / dialogic / Modules / Save / settings_save.gd
1 @tool
2 extends DialogicSettingsPage
3
4 ## Settings page that contains settings for the saving subsystem
5
6
7 func _get_priority() -> int:
8         return 0
9
10
11 func _refresh() -> void:
12         %Autosave.button_pressed = ProjectSettings.get_setting('dialogic/save/autosave', false)
13         %AutosaveMode.select(ProjectSettings.get_setting('dialogic/save/autosave_mode', 0))
14         %AutosaveDelay.value = ProjectSettings.get_setting('dialogic/save/autosave_delay', 60)
15
16         %AutosaveModeLabel.visible = %Autosave.button_pressed
17         %AutosaveModeContent.visible = %Autosave.button_pressed
18         %AutosaveDelay.visible = %AutosaveMode.selected == 1
19
20         %DefaultSaveSlotName.text = ProjectSettings.get_setting('dialogic/save/default_slot', 'Default')
21
22         %EncryptionPassword.text = ProjectSettings.get_setting('dialogic/save/encryption_password', "")
23         %EncryptionOnExportsSection.visible = !%EncryptionPassword.text.is_empty()
24         %EncryptionOnExports.button_pressed = ProjectSettings.get_setting('dialogic/save/encryption_on_exports_only', true)
25
26 func _on_autosave_toggled(button_pressed:bool) -> void:
27         ProjectSettings.set_setting('dialogic/save/autosave', button_pressed)
28         ProjectSettings.save()
29         %AutosaveModeLabel.visible = button_pressed
30         %AutosaveModeContent.visible = button_pressed
31
32
33 func _on_autosave_mode_item_selected(index:int):
34         ProjectSettings.set_setting('dialogic/save/autosave_mode', index)
35         ProjectSettings.save()
36         %AutosaveDelay.visible = %AutosaveMode.selected == 1
37
38
39 func _on_autosave_delay_value_changed(value:float):
40         ProjectSettings.set_setting('dialogic/save/autosave_delay', value)
41         ProjectSettings.save()
42
43
44 func _on_default_save_slot_name_text_changed(new_text:String):
45         ProjectSettings.set_setting('dialogic/save/default_slot', new_text)
46         ProjectSettings.save()
47
48
49 func _on_encryption_password_text_changed(new_text: String) -> void:
50         ProjectSettings.set_setting('dialogic/save/encryption_password', new_text)
51         ProjectSettings.save()
52         %EncryptionOnExportsSection.visible = !new_text.is_empty()
53
54
55 func _on_encryption_on_exports_toggled(toggled_on:bool) -> void:
56         ProjectSettings.set_setting('dialogic/save/encryption_on_exports_only', toggled_on)
57         ProjectSettings.save()