From 080bc013a8b7d3de689b4ec6695ebdb336e78d3e Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 23 Jul 2020 23:52:39 -0400 Subject: [PATCH] tagtabs: fix clearing bank search when opening tags --- .../plugins/banktags/tabs/BankSearch.java | 11 +++++++---- .../plugins/banktags/tabs/TabInterface.java | 17 ++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java index c5c2a4a9db..f607415c38 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/BankSearch.java @@ -77,11 +77,14 @@ public class BankSearch // selecting/changing tab if (closeChat) { - client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 0, 0); + // this clears the input text and type, and resets the chatbox to allow input + client.runScript(ScriptID.MESSAGE_LAYER_CLOSE, 1, 1); + } + else + { + client.setVar(VarClientInt.INPUT_TYPE, InputType.NONE.getType()); + client.setVar(VarClientStr.INPUT_TEXT, ""); } - - client.setVar(VarClientInt.INPUT_TYPE, InputType.NONE.getType()); - client.setVar(VarClientStr.INPUT_TEXT, ""); layoutBank(); }); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java index 9512db8b94..208a6fe1b0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java @@ -409,14 +409,14 @@ public class TabInterface if (tab.equals(activeTab)) { activateTab(null); + bankSearch.reset(true); } else { openTag(Text.removeTags(clicked.getName())); + // openTag will reset and relayout } - bankSearch.reset(true); - client.playSoundEffect(SoundEffectID.UI_BOOP); break; case Tab.CHANGE_ICON: @@ -1170,12 +1170,15 @@ public class TabInterface { activateTab(tabManager.find(tag)); tagTabActive = BankTagsPlugin.TAG_TABS_CONFIG.equals(tag); - bankSearch.layoutBank(); + bankSearch.reset(true); // clear search dialog & relayout bank for new tab. - // When tab is selected with search window open, the search window closes but the search button - // stays highlighted, this solves that issue - Widget searchBackground = client.getWidget(WidgetInfo.BANK_SEARCH_BUTTON_BACKGROUND); - searchBackground.setSpriteId(SpriteID.EQUIPMENT_SLOT_TILE); + // When searching the button has a script on timer to detect search end, that will set the background back + // and remove the timer. However since we are going from a bank search to our fake search this will not remove + // the timer but instead re-add it and reset the background. So remove the timer and the background. This is the + // same as bankmain_search_setbutton. + Widget searchButtonBackground = client.getWidget(WidgetInfo.BANK_SEARCH_BUTTON_BACKGROUND); + searchButtonBackground.setOnTimerListener((Object[]) null); + searchButtonBackground.setSpriteId(SpriteID.EQUIPMENT_SLOT_TILE); } private static MenuEntry[] createMenuEntry(MenuEntryAdded event, String option, String target, MenuEntry[] entries)