From 7c61dcff180200690717e1ba799b37fe095178e6 Mon Sep 17 00:00:00 2001 From: Will Berry <73126355+wdberry@users.noreply.github.com> Date: Mon, 3 Apr 2023 15:16:24 -0400 Subject: [PATCH 1/3] Bind the on_gui_closed event for manager_window --- cybersyn/prototypes/gui-style.lua | 8 ++++++++ cybersyn/scripts/gui/main.lua | 2 +- cybersyn/scripts/main.lua | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/cybersyn/prototypes/gui-style.lua b/cybersyn/prototypes/gui-style.lua index b579675..5d75dfe 100644 --- a/cybersyn/prototypes/gui-style.lua +++ b/cybersyn/prototypes/gui-style.lua @@ -370,6 +370,14 @@ if settings.startup["cybersyn-manager-enabled"].value then key_sequence = "CONTROL + T", action = "lua", }, + { + type = "custom-input", + name = "cybersyn-manager-confirm-gui", + key_sequence = "", + action = "lua", + linked_game_control = "confirm-gui" + }, + -- TODO: bind this input to focusing on the station_name box --{ -- type = "custom-input", -- name = "ltnm-linked-focus-search", diff --git a/cybersyn/scripts/gui/main.lua b/cybersyn/scripts/gui/main.lua index 76305de..ae7d033 100644 --- a/cybersyn/scripts/gui/main.lua +++ b/cybersyn/scripts/gui/main.lua @@ -47,7 +47,7 @@ end local manager_gui = {} function manager_gui.on_lua_shortcut(e) - if e.prototype_name == "cybersyn-toggle-gui" or e.input_name == "cybersyn-toggle-gui" then + if e.prototype_name == "cybersyn-toggle-gui" or e.input_name == "cybersyn-toggle-gui" or e.element.name == "manager_window" then manager.wrapper(e, manager.handle.manager_toggle) end end diff --git a/cybersyn/scripts/main.lua b/cybersyn/scripts/main.lua index e276892..db631c7 100644 --- a/cybersyn/scripts/main.lua +++ b/cybersyn/scripts/main.lua @@ -955,6 +955,7 @@ local function main() script.on_event(defines.events.on_player_removed, manager.on_player_removed) script.on_event(defines.events.on_player_created, manager.on_player_created) script.on_event(defines.events.on_lua_shortcut, manager.on_lua_shortcut) + script.on_event(defines.events.on_gui_closed, manager.on_lua_shortcut) script.on_event("cybersyn-toggle-gui", manager.on_lua_shortcut) end From feeb31cc332e6b6cb0a74e28eefdf4ac836e6609 Mon Sep 17 00:00:00 2001 From: Will Berry <73126355+wdberry@users.noreply.github.com> Date: Mon, 3 Apr 2023 15:19:57 -0400 Subject: [PATCH 2/3] Revert unnecessary change --- cybersyn/prototypes/gui-style.lua | 8 -------- 1 file changed, 8 deletions(-) diff --git a/cybersyn/prototypes/gui-style.lua b/cybersyn/prototypes/gui-style.lua index 5d75dfe..b579675 100644 --- a/cybersyn/prototypes/gui-style.lua +++ b/cybersyn/prototypes/gui-style.lua @@ -370,14 +370,6 @@ if settings.startup["cybersyn-manager-enabled"].value then key_sequence = "CONTROL + T", action = "lua", }, - { - type = "custom-input", - name = "cybersyn-manager-confirm-gui", - key_sequence = "", - action = "lua", - linked_game_control = "confirm-gui" - }, - -- TODO: bind this input to focusing on the station_name box --{ -- type = "custom-input", -- name = "ltnm-linked-focus-search", From 32d20b94658dc9d2d315472a3ed49c3e43315519 Mon Sep 17 00:00:00 2001 From: Will Berry <73126355+wdberry@users.noreply.github.com> Date: Tue, 4 Apr 2023 16:17:27 -0400 Subject: [PATCH 3/3] Attempted bugfix for NRE when e.element is nil --- cybersyn/scripts/gui/main.lua | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/cybersyn/scripts/gui/main.lua b/cybersyn/scripts/gui/main.lua index ae7d033..277810c 100644 --- a/cybersyn/scripts/gui/main.lua +++ b/cybersyn/scripts/gui/main.lua @@ -47,8 +47,14 @@ end local manager_gui = {} function manager_gui.on_lua_shortcut(e) - if e.prototype_name == "cybersyn-toggle-gui" or e.input_name == "cybersyn-toggle-gui" or e.element.name == "manager_window" then - manager.wrapper(e, manager.handle.manager_toggle) + if e.prototype_name == "cybersyn-toggle-gui" or e.input_name == "cybersyn-toggle-gui" or e.element then + if e.element then + if e.element.name == "manager_window" then + manager.wrapper(e, manager.handle.manager_toggle) + end + else + manager.wrapper(e, manager.handle.manager_toggle) + end end end