make inline rename work

This commit is contained in:
2023-05-27 03:46:46 +03:00
parent ba3e2751dd
commit fee4edce61
9 changed files with 44 additions and 21 deletions

View File

@ -26,7 +26,6 @@ signal add_install_button_pressed
signal edit_group_button_pressed
signal delete_button_pressed
signal header_text_changed(new_text: String, old_text: String)
func _ready() -> void:
@ -54,9 +53,9 @@ func add_new_install() -> void:
var im := install_edit_dialog.get_install_metadata()
var install_item: InstallItem = ITEM_SCENE.instantiate()
child_container.add_child(install_item)
install_item.setup_from_metadata(install_edit_dialog.get_install_metadata())
install_item.setup_from_metadata(im)
install_item.edit_item_button_pressed.connect(edit_install.bind(install_item))
group_metadata.installs.append(install_edit_dialog.get_install_metadata())
group_metadata.installs.append(im)
, CONNECT_ONE_SHOT)
install_edit_dialog.show()
@ -116,8 +115,8 @@ func set_children_visible(p_visible: bool) -> void:
child_container.visible = p_visible
add_install_button_container.visible = p_visible
inner_separator.visible = p_visible
description_label.visible = p_visible && !description_label.text.is_empty()
group_metadata.set_meta("collapsed", p_visible)
func add_custom(control: Control) -> void:
@ -143,9 +142,8 @@ func setup_rename() -> void:
l.text_submitted.connect(
func(new_text: String):
var old_text: = header_text_label.text
header_text_label.text = new_text
header_text_changed.emit(new_text, old_text)
group_metadata.name = new_text
reenable.call()
)
@ -153,9 +151,9 @@ func setup_rename() -> void:
l.grab_focus()
func setup_from_metadata(header_text: String, p_group_metadata: GroupMetadata) -> void:
func setup_from_metadata(p_group_metadata: GroupMetadata) -> void:
group_metadata = p_group_metadata
set_text(header_text)
set_text(p_group_metadata.name)
set_description(group_metadata.description)
# TODO: add installs
# TODO: add icon

View File

@ -51,6 +51,7 @@ func setup_rename() -> void:
func(new_text: String):
name_label.text = new_text
name_changed.emit(new_text)
install_metadata.name = new_text
name_label.visible = true
)