Files
fps_project_1/addons/dreadpon.spatial_gardener/scene_converter/convert_dialog.gd

69 lines
1.4 KiB
GDScript

@tool
extends Window
signal confirm_pressed
signal cancel_pressed
signal dont_ask_again_toggled(state)
func _init():
close_requested.connect(hide)
func _ready():
$'%TreeScenes'.item_selected.connect(_on_tree_item_selected)
func _on_tree_item_selected():
var selected_item: TreeItem = $'%TreeScenes'.get_selected()
if !selected_item: return
selected_item.set_checked(0, !selected_item.is_checked(0))
selected_item.deselect(0)
func add_scenes(scenes: Array):
$'%TreeScenes'.clear()
$'%TreeScenes'.hide_root = true
var root = $'%TreeScenes'.create_item()
for scene in scenes:
var item: TreeItem = $'%TreeScenes'.create_item(root)
item.set_cell_mode(0, TreeItem.CELL_MODE_CHECK)
item.set_checked(0, true)
item.set_text(0, scene)
func get_selected_scenes() -> Array:
var selected_scenes = []
var child_item: TreeItem = $'%TreeScenes'.get_root().get_children()
while child_item != null:
if child_item.is_checked(0):
selected_scenes.append(child_item.get_text(0))
child_item = child_item.get_next()
return selected_scenes
func should_mk_backups():
return $'%ButtonBackup'.button_pressed
func _on_ButtonConfirm_pressed():
confirm_pressed.emit()
func _on_ButtonCancel_pressed():
cancel_pressed.emit()
func _on_ButtonDontAskAgain_toggled(pressed):
dont_ask_again_toggled.emit(pressed)
func _on_ConvertDialog_about_to_show():
$'%ButtonBackup'.button_pressed = true
$'%ButtonDontAskAgain'.button_pressed = false