add basic functionality for adding group items
This commit is contained in:
@ -9,17 +9,20 @@ class_name GroupMenu
|
||||
@onready var add_install_button_container: CenterContainer = %AddInstallButtonContainer
|
||||
@onready var add_install_button: Button = %AddInstallButton
|
||||
@onready var description_label: Label = %DescriptionLabel
|
||||
@onready var inner_separator: HSeparator = %InnerSeparator
|
||||
|
||||
@onready var edit_group_button: Button = %EditGroupButton
|
||||
@onready var delete_group_button: Button = %DeleteGroupButton
|
||||
|
||||
@onready var header_container: HBoxContainer = %HeaderContainer
|
||||
|
||||
var group_metadata: GroupMetadata
|
||||
|
||||
signal add_install_button_pressed
|
||||
|
||||
signal edit_group_button_pressed
|
||||
signal delete_button_pressed
|
||||
signal header_text_changed(new_text: String)
|
||||
signal header_text_changed(new_text: String, old_text: String)
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@ -79,6 +82,7 @@ func set_children_visible(p_visible: bool) -> void:
|
||||
collapse_button.text = "v" if p_visible else ">"
|
||||
child_container.visible = p_visible
|
||||
add_install_button_container.visible = p_visible
|
||||
inner_separator.visible = p_visible
|
||||
|
||||
|
||||
func add_custom(control: Control) -> void:
|
||||
@ -104,8 +108,9 @@ 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)
|
||||
header_text_changed.emit(new_text, old_text)
|
||||
|
||||
reenable.call()
|
||||
)
|
||||
@ -113,6 +118,14 @@ func setup_rename() -> void:
|
||||
l.grab_focus()
|
||||
|
||||
|
||||
func setup_from_metadata(header_text: String, p_group_metadata: GroupMetadata) -> void:
|
||||
group_metadata = p_group_metadata
|
||||
set_text(header_text)
|
||||
set_description(group_metadata.description)
|
||||
# TODO: add installs
|
||||
# TODO: add icon
|
||||
|
||||
|
||||
func _on_header_text_label_gui_input(event: InputEvent) -> void:
|
||||
if event is InputEventMouseButton && \
|
||||
(event as InputEventMouseButton).double_click && \
|
||||
|
@ -62,7 +62,8 @@ layout_mode = 2
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="HSeparator2" type="HSeparator" parent="."]
|
||||
[node name="InnerSeparator" type="HSeparator" parent="."]
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
|
||||
[node name="AddInstallButtonContainer" type="CenterContainer" parent="."]
|
||||
@ -73,3 +74,7 @@ layout_mode = 2
|
||||
unique_name_in_owner = true
|
||||
layout_mode = 2
|
||||
text = "New Install"
|
||||
|
||||
[node name="HSeparator3" type="HSeparator" parent="."]
|
||||
layout_mode = 2
|
||||
theme_override_constants/separation = 16
|
||||
|
@ -7,6 +7,8 @@ class_name InstallItem
|
||||
@onready var delete_item_button: Button = %DeleteItemButton
|
||||
@onready var launch_item_button: Button = %LaunchItemButton
|
||||
|
||||
var install_metadata: InstallMetadata
|
||||
|
||||
signal edit_item_button_pressed
|
||||
signal delete_item_button_pressed
|
||||
signal launch_item_button_pressed
|
||||
|
@ -26,3 +26,10 @@ func get_overrides() -> Dictionary:
|
||||
res.merge(item.get_property())
|
||||
|
||||
return res
|
||||
|
||||
|
||||
func clear() -> void:
|
||||
override_item_container.get_children().map(
|
||||
func(c: OverrideEditorSettingsMenuItem):
|
||||
c.queue_free()
|
||||
)
|
||||
|
Reference in New Issue
Block a user