generated from SGDA/GodotExampleProject
feat: base
This commit is contained in:
@ -0,0 +1,33 @@
|
||||
@tool
|
||||
extends ConfirmationDialog
|
||||
|
||||
signal theme_selected(theme_file: String)
|
||||
|
||||
@export_dir var theme_directories : Array[String] :
|
||||
set(value):
|
||||
theme_directories = value
|
||||
if is_inside_tree():
|
||||
%FileLister.directories = theme_directories
|
||||
_fill_with_themes()
|
||||
|
||||
func _fill_with_themes() -> void:
|
||||
%ItemList.clear()
|
||||
for file in %FileLister.files:
|
||||
if file is String:
|
||||
var readable_name = file.get_file().get_basename().capitalize()
|
||||
%ItemList.add_item(readable_name)
|
||||
|
||||
func _ready() -> void:
|
||||
get_ok_button().disabled = true
|
||||
|
||||
func _preview_theme(theme_file: String) -> void:
|
||||
var theme_resource : Theme = load(theme_file)
|
||||
if theme_resource == null: return
|
||||
%ThemePreviewContainer.theme = theme_resource
|
||||
|
||||
func _on_item_list_item_selected(index) -> void:
|
||||
get_ok_button().disabled = false
|
||||
if index < %FileLister.files.size():
|
||||
var file = %FileLister.files[index]
|
||||
_preview_theme(file)
|
||||
theme_selected.emit(file)
|
Reference in New Issue
Block a user