From e04f33a614e2723db47f69a7f3146b030ee5e326 Mon Sep 17 00:00:00 2001 From: dam Date: Wed, 30 Mar 2022 16:37:28 +0000 Subject: Add dismiss button logic on popup. --- option_set/option_set.gd | 24 +++++++++--------------- 1 file changed, 9 insertions(+), 15 deletions(-) (limited to 'option_set/option_set.gd') diff --git a/option_set/option_set.gd b/option_set/option_set.gd index 2ac1475..637d033 100644 --- a/option_set/option_set.gd +++ b/option_set/option_set.gd @@ -28,30 +28,24 @@ func _ready(): func show_options(options_array: Array): options.clear_items() - var main = get_node("/root/main") - main.remove_child(options) options.add_items(options_array) if options_array[selected_idx] == input.text: options.select(selected_idx) else: options.unselect() - options.connect("item_selected", self, "option_selected", [], CONNECT_ONESHOT) - popup.popup_control(input.placeholder_text, options) -# popup.connect("item_selected", self, "option_selected", [], CONNECT_ONESHOT) -# popup.clear_items() -# popup_opt.visible = true -# get_node("/root/main/popup/blur") -# popup.add_items(options) + options.connect("item_selected", self, "popup_result", []) + options.connect("nothing_selected", self, "popup_result", [-1, ""]) + popup.connect("dismissed", self, "popup_result", [selected_idx, input.text]) + popup.open_popup(input.placeholder_text, options) -func option_selected(index: int, text: String): +func popup_result(index: int, text: String): + options.disconnect("item_selected", self, "popup_result") + options.disconnect("nothing_selected", self, "popup_result") + popup.disconnect("dismissed", self, "popup_result") selected_idx = index input.text = text input.caret_position = input.max_length - button.release_focus() - options.visible = false - var main = get_node("/root/main") - main.add_child(options) - + popup.close_popup() -- cgit v1.2.3