Skip to content

Commit 278b226

Browse files
committed
Use EditorSettings instead of ProjectSettings. Closes #19
1 parent 7f7377d commit 278b226

File tree

11 files changed

+91
-79
lines changed

11 files changed

+91
-79
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77

88
**Importality - is an add-on for [Godot](https://godotengine.org) engine for importing graphics and animations from popular formats.**
99

10+
### ATTENTION!
11+
In version 0.3.0, the plugin settings were moved from the ProjectSettings to the EditorSettings! This may come as a surprise and may break some of your configured processes! But this will allow you to avoid publishing your local settings along with the project file to the Git repository, and will make CI/DC easier.
12+
1013
## 📜 Table of contents
1114

1215
- [Introduction](#introduction)

README.ru.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77

88
**Importality - это дополнение (addon) для движка [Godot](https://godotengine.org) для импорта графики и анимации из популярных форматов.**
99

10+
### ВНИМАНИЕ!
11+
В версии 0.3.0 настройки плагина были перенесены из настроек проекта (ProjectSettings) в настройки редактора (EditorSettings)! Это может стать неожиданностью и может сломать некоторые ваши настроенные процессы! Но это позволит вам не публиковать ваши локальные настройки вместе с файлом проекта в репозиторий Git, и облегчит CI/CD.
12+
1013
## 📜 Содержание
1114

1215
- [Вступление](#вступление)

addons/nklbdev.importality/command_line_image_format_loader_extension.gd

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ extends "standalone_image_format_loader_extension.gd"
33

44
const _Common = preload("common.gd")
55

6-
static var command_building_rules_for_custom_image_loader_project_setting: _ProjectSetting = _ProjectSetting.new(
6+
static var command_building_rules_for_custom_image_loader_setting: _Setting = _Setting.new(
77
"command_building_rules_for_custom_image_loader", PackedStringArray(), TYPE_PACKED_STRING_ARRAY, PROPERTY_HINT_NONE)
88

99
func _get_recognized_extensions() -> PackedStringArray:
10-
var rules_by_extensions_result: _ProjectSetting.GettingValueResult = command_building_rules_for_custom_image_loader_project_setting.get_value()
10+
var rules_by_extensions_result: _Setting.GettingValueResult = command_building_rules_for_custom_image_loader_setting.get_value()
1111
if rules_by_extensions_result.error:
12-
push_error("Failed to get command building rules for custom image loader project setting")
12+
push_error("Failed to get command building rules for custom image loader setting")
1313
return PackedStringArray()
1414
var extensions: PackedStringArray
1515
for rule_string in rules_by_extensions_result.value:
@@ -24,8 +24,8 @@ func _get_recognized_extensions() -> PackedStringArray:
2424
extensions.push_back(extension)
2525
return extensions
2626

27-
func get_project_settings() -> Array[_ProjectSetting]:
28-
return [command_building_rules_for_custom_image_loader_project_setting]
27+
func get_settings() -> Array[_Setting]:
28+
return [command_building_rules_for_custom_image_loader_setting]
2929

3030
static var regex_middle_spaces: RegEx = RegEx.create_from_string("(?<=\\S)\\s(?>=\\S)")
3131
static func normalize_string(source: String) -> String:
@@ -58,14 +58,14 @@ func _load_image(
5858
scale: float
5959
) -> Error:
6060

61-
var temp_dir_path_result: _ProjectSetting.GettingValueResult = _Common.common_temporary_files_directory_path_project_setting.get_value()
61+
var temp_dir_path_result: _Setting.GettingValueResult = _Common.common_temporary_files_directory_path_setting.get_value()
6262
if temp_dir_path_result.error:
6363
push_error("Failed to get Temporary Files Directory Path to export image from source file: %s" % [temp_dir_path_result])
6464
return ERR_UNCONFIGURED
6565

66-
var rules_by_extensions_result: _ProjectSetting.GettingValueResult = command_building_rules_for_custom_image_loader_project_setting.get_value()
66+
var rules_by_extensions_result: _Setting.GettingValueResult = command_building_rules_for_custom_image_loader_setting.get_value()
6767
if rules_by_extensions_result.error:
68-
push_error("Failed to get command building rules for custom image loader project setting")
68+
push_error("Failed to get command building rules for custom image loader setting")
6969
return ERR_UNCONFIGURED
7070

7171
var command_templates_by_extensions: Dictionary

addons/nklbdev.importality/common.gd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
@tool
22

3-
const _ProjectSetting = preload("project_setting.gd")
3+
const _Setting = preload("setting.gd")
44

55
const SPRITE_SHEET_LAYOUTS_NAMES: PackedStringArray = [
66
"Packed",
@@ -91,7 +91,7 @@ class AnimationLibraryInfo:
9191
static func get_vector2i(dict: Dictionary, x_key: String, y_key: String) -> Vector2i:
9292
return Vector2i(int(dict[x_key]), int(dict[y_key]))
9393

94-
static var common_temporary_files_directory_path_project_setting: _ProjectSetting = _ProjectSetting.new(
94+
static var common_temporary_files_directory_path_setting: _Setting = _Setting.new(
9595
"temporary_files_directory_path", "", TYPE_STRING, PROPERTY_HINT_GLOBAL_DIR,
9696
"", true, func(v: String): return v.is_empty())
9797

addons/nklbdev.importality/editor_plugin.gd

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,15 @@ var __editor_import_plugins: Array[EditorImportPlugin]
3434
var __image_format_loader_extensions: Array[ImageFormatLoaderExtension]
3535

3636
func _enter_tree() -> void:
37-
var editor_file_system: EditorFileSystem = get_editor_interface().get_resource_filesystem()
37+
var editor_interface: EditorInterface = get_editor_interface()
38+
var editor_file_system: EditorFileSystem = editor_interface.get_resource_filesystem()
39+
var editor_settings: EditorSettings = editor_interface.get_editor_settings()
40+
3841
var exporters: Array[ExporterBase]
3942
for Exporter in EXPORTERS_SCRIPTS:
4043
var exporter: ExporterBase = Exporter.new(editor_file_system)
41-
for setting in exporter.get_project_settings():
42-
setting.register()
44+
for setting in exporter.get_settings():
45+
setting.register(editor_settings)
4346
exporters.push_back(exporter)
4447
var image_format_loader_extension: ImageFormatLoaderExtension = \
4548
exporter.get_image_format_loader_extension()
@@ -59,8 +62,8 @@ func _enter_tree() -> void:
5962
for Extension in STANDALONE_IMAGE_FORMAT_LOADER_EXTENSIONS:
6063
var image_format_loader_extension: StandaloneImageFormatLoaderExtension = \
6164
Extension.new() as StandaloneImageFormatLoaderExtension
62-
for setting in image_format_loader_extension.get_project_settings():
63-
setting.register()
65+
for setting in image_format_loader_extension.get_settings():
66+
setting.register(editor_settings)
6467
__image_format_loader_extensions.push_back(image_format_loader_extension)
6568
image_format_loader_extension.add_format_loader()
6669

addons/nklbdev.importality/export/_.gd

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ extends RefCounted
44
const _Result = preload("../result.gd").Class
55
const _Common = preload("../common.gd")
66
const _Options = preload("../options.gd")
7-
const _ProjectSetting = preload("../project_setting.gd")
7+
const _Setting = preload("../setting.gd")
88
const _DirAccessExtensions = preload("../dir_access_ext.gd")
99

1010
const _SpriteSheetBuilderBase = preload("../sprite_sheet_builder/_.gd")
@@ -41,7 +41,7 @@ class ExportResult:
4141

4242
var __name: String
4343
var __recognized_extensions: PackedStringArray
44-
var __project_settings: Array[_ProjectSetting] = [_Common.common_temporary_files_directory_path_project_setting]
44+
var __settings: Array[_Setting] = [_Common.common_temporary_files_directory_path_setting]
4545
var __options: Array[Dictionary] = [
4646
_Options.create_option(_Options.EDGES_ARTIFACTS_AVOIDANCE_METHOD, _Common.EdgesArtifactsAvoidanceMethod.NONE,
4747
PROPERTY_HINT_ENUM, ",".join(_Common.EDGES_ARTIFACTS_AVOIDANCE_METHODS_NAMES),
@@ -76,13 +76,13 @@ func _init(
7676
name: String,
7777
recognized_extensions: PackedStringArray,
7878
options: Array[Dictionary],
79-
project_settings: Array[_ProjectSetting],
79+
settings: Array[_Setting],
8080
image_format_loader_extension: ImageFormatLoaderExtension = null
8181
) -> void:
8282
__name = name
8383
__recognized_extensions = recognized_extensions
8484
__options.append_array(options)
85-
__project_settings.append_array(project_settings)
85+
__settings.append_array(settings)
8686
__image_format_loader_extension = image_format_loader_extension
8787

8888
func get_recognized_extensions() -> PackedStringArray:
@@ -94,8 +94,8 @@ func get_options() -> Array[Dictionary]:
9494
func get_name() -> String:
9595
return __name
9696

97-
func get_project_settings() -> Array[_ProjectSetting]:
98-
return __project_settings
97+
func get_settings() -> Array[_Setting]:
98+
return __settings
9999

100100
func get_image_format_loader_extension() -> ImageFormatLoaderExtension:
101101
return __image_format_loader_extension

addons/nklbdev.importality/export/aseprite.gd

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,39 @@ const __aseprite_sheet_types_by_sprite_sheet_layout: PackedStringArray = \
66
const __aseprite_animation_directions: PackedStringArray = \
77
[ "forward", "reverse", "pingpong", "pingpong_reverse" ]
88

9-
var __os_command_project_setting: _ProjectSetting = _ProjectSetting.new(
9+
var __os_command_setting: _Setting = _Setting.new(
1010
"aseprite_or_libre_sprite_command", "", TYPE_STRING, PROPERTY_HINT_NONE,
1111
"", true, func(v: String): return v.is_empty())
1212

13-
var __os_command_arguments_project_setting: _ProjectSetting = _ProjectSetting.new(
13+
var __os_command_arguments_setting: _Setting = _Setting.new(
1414
"aseprite_or_libre_sprite_command_arguments", PackedStringArray(), TYPE_PACKED_STRING_ARRAY, PROPERTY_HINT_NONE,
1515
"", true, func(v: PackedStringArray): return false)
1616

1717
func _init(editor_file_system: EditorFileSystem) -> void:
1818
var recognized_extensions: PackedStringArray = ["ase", "aseprite"]
1919
super("Aseprite", recognized_extensions, [],
20-
[__os_command_project_setting, __os_command_arguments_project_setting],
20+
[__os_command_setting, __os_command_arguments_setting],
2121
CustomImageFormatLoaderExtension.new(
2222
recognized_extensions,
23-
__os_command_project_setting,
24-
__os_command_arguments_project_setting,
25-
_Common.common_temporary_files_directory_path_project_setting))
23+
__os_command_setting,
24+
__os_command_arguments_setting,
25+
_Common.common_temporary_files_directory_path_setting))
2626

2727
func _export(res_source_file_path: String, options: Dictionary) -> ExportResult:
2828
var result: ExportResult = ExportResult.new()
2929
var err: Error
3030

31-
var os_command_result: _ProjectSetting.GettingValueResult = __os_command_project_setting.get_value()
31+
var os_command_result: _Setting.GettingValueResult = __os_command_setting.get_value()
3232
if os_command_result.error:
3333
result.fail(ERR_UNCONFIGURED, "Failed to get Aseprite Command to export spritesheet", os_command_result)
3434
return result
3535

36-
var os_command_arguments_result: _ProjectSetting.GettingValueResult = __os_command_arguments_project_setting.get_value()
36+
var os_command_arguments_result: _Setting.GettingValueResult = __os_command_arguments_setting.get_value()
3737
if os_command_arguments_result.error:
3838
result.fail(ERR_UNCONFIGURED, "Failed to get Aseprite Command Arguments to export spritesheet", os_command_arguments_result)
3939
return result
4040

41-
var temp_dir_path_result: _ProjectSetting.GettingValueResult = _Common.common_temporary_files_directory_path_project_setting.get_value()
41+
var temp_dir_path_result: _Setting.GettingValueResult = _Common.common_temporary_files_directory_path_setting.get_value()
4242
if temp_dir_path_result.error:
4343
result.fail(ERR_UNCONFIGURED, "Failed to get Temporary Files Directory Path to export spritesheet", temp_dir_path_result)
4444
return result
@@ -197,20 +197,20 @@ class CustomImageFormatLoaderExtension:
197197
extends ImageFormatLoaderExtension
198198

199199
var __recognized_extensions: PackedStringArray
200-
var __os_command_project_setting: _ProjectSetting
201-
var __os_command_arguments_project_setting: _ProjectSetting
202-
var __common_temporary_files_directory_path_project_setting: _ProjectSetting
200+
var __os_command_setting: _Setting
201+
var __os_command_arguments_setting: _Setting
202+
var __common_temporary_files_directory_path_setting: _Setting
203203

204204
func _init(recognized_extensions: PackedStringArray,
205-
os_command_project_setting: _ProjectSetting,
206-
os_command_arguments_project_setting: _ProjectSetting,
207-
common_temporary_files_directory_path_project_setting: _ProjectSetting
205+
os_command_setting: _Setting,
206+
os_command_arguments_setting: _Setting,
207+
common_temporary_files_directory_path_setting: _Setting
208208
) -> void:
209209
__recognized_extensions = recognized_extensions
210-
__os_command_project_setting = os_command_project_setting
211-
__os_command_arguments_project_setting = os_command_arguments_project_setting
212-
__common_temporary_files_directory_path_project_setting = \
213-
common_temporary_files_directory_path_project_setting
210+
__os_command_setting = os_command_setting
211+
__os_command_arguments_setting = os_command_arguments_setting
212+
__common_temporary_files_directory_path_setting = \
213+
common_temporary_files_directory_path_setting
214214

215215
func _get_recognized_extensions() -> PackedStringArray:
216216
return __recognized_extensions
@@ -219,17 +219,17 @@ class CustomImageFormatLoaderExtension:
219219
var global_source_file_path: String = file_access.get_path_absolute()
220220
var err: Error
221221

222-
var os_command_result: _ProjectSetting.GettingValueResult = __os_command_project_setting.get_value()
222+
var os_command_result: _Setting.GettingValueResult = __os_command_setting.get_value()
223223
if os_command_result.error:
224224
push_error(os_command_result.error_description)
225225
return os_command_result.error
226226

227-
var os_command_arguments_result: _ProjectSetting.GettingValueResult = __os_command_arguments_project_setting.get_value()
227+
var os_command_arguments_result: _Setting.GettingValueResult = __os_command_arguments_setting.get_value()
228228
if os_command_arguments_result.error:
229229
push_error(os_command_arguments_result.error_description)
230230
return os_command_arguments_result.error
231231

232-
var temp_dir_path_result: _ProjectSetting.GettingValueResult = _Common.common_temporary_files_directory_path_project_setting.get_value()
232+
var temp_dir_path_result: _Setting.GettingValueResult = _Common.common_temporary_files_directory_path_setting.get_value()
233233
if temp_dir_path_result.error:
234234
push_error("Failed to get Temporary Files Directory Path to export spritesheet")
235235
return temp_dir_path_result.error

addons/nklbdev.importality/export/krita.gd

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,19 @@ extends "_.gd"
33

44
const _XML = preload("../xml.gd")
55

6-
var __os_command_project_setting: _ProjectSetting = _ProjectSetting.new(
6+
var __os_command_setting: _Setting = _Setting.new(
77
"krita_command", "", TYPE_STRING, PROPERTY_HINT_NONE,
88
"", true, func(v: String): return v.is_empty())
99

10-
var __os_command_arguments_project_setting: _ProjectSetting = _ProjectSetting.new(
10+
var __os_command_arguments_setting: _Setting = _Setting.new(
1111
"krita_command_arguments", PackedStringArray(), TYPE_PACKED_STRING_ARRAY, PROPERTY_HINT_NONE,
1212
"", true, func(v: PackedStringArray): return false)
1313

1414
func _init(editor_file_system: EditorFileSystem) -> void:
1515
var recognized_extensions: PackedStringArray = ["kra", "krita"]
1616
super("Krita", recognized_extensions, [], [
17-
__os_command_project_setting,
18-
__os_command_arguments_project_setting,
17+
__os_command_setting,
18+
__os_command_arguments_setting,
1919
], CustomImageFormatLoaderExtension.new(recognized_extensions))
2020

2121
func __validate_image_name(image_name: String) -> _Result:
@@ -37,17 +37,17 @@ func _export(res_source_file_path: String, options: Dictionary) -> ExportResult:
3737
var result: ExportResult = ExportResult.new()
3838
var err: Error
3939

40-
var os_command_result: _ProjectSetting.GettingValueResult = __os_command_project_setting.get_value()
40+
var os_command_result: _Setting.GettingValueResult = __os_command_setting.get_value()
4141
if os_command_result.error:
4242
result.fail(ERR_UNCONFIGURED, "Failed to get Krita Command to export spritesheet", os_command_result)
4343
return result
4444

45-
var os_command_arguments_result: _ProjectSetting.GettingValueResult = __os_command_arguments_project_setting.get_value()
45+
var os_command_arguments_result: _Setting.GettingValueResult = __os_command_arguments_setting.get_value()
4646
if os_command_arguments_result.error:
4747
result.fail(ERR_UNCONFIGURED, "Failed to get Krita Command Arguments to export spritesheet", os_command_arguments_result)
4848
return result
4949

50-
var temp_dir_path_result: _ProjectSetting.GettingValueResult = _Common.common_temporary_files_directory_path_project_setting.get_value()
50+
var temp_dir_path_result: _Setting.GettingValueResult = _Common.common_temporary_files_directory_path_setting.get_value()
5151
if temp_dir_path_result.error:
5252
result.fail(ERR_UNCONFIGURED, "Failed to get Temporary Files Directory Path to export spritesheet", temp_dir_path_result)
5353
return result

0 commit comments

Comments
 (0)