diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java index d1e491e19e..1cffe75379 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsPlugin.java @@ -458,7 +458,8 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener @Subscribe public void onScriptPreFired(ScriptPreFired event) { - if (event.getScriptId() == ScriptID.BANKMAIN_FINISHBUILDING) + int scriptId = event.getScriptId(); + if (scriptId == ScriptID.BANKMAIN_FINISHBUILDING) { // Since we apply tag tab search filters even when the bank is not in search mode, // bankkmain_build will reset the bank title to "The Bank of Gielinor". So apply our @@ -476,6 +477,10 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener bankTitle.setText("Tag tab " + activeTab.getTag() + ""); } } + else if (scriptId == ScriptID.BANKMAIN_SEARCH_TOGGLE) + { + tabInterface.handleSearch(); + } } @Subscribe 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 ffaf7da3b0..0564d7b38b 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 @@ -347,7 +347,7 @@ public class TabInterface final Iterator dataIter = Text.fromCSV(dataString).iterator(); String name = dataIter.next(); - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); for (char c : name.toCharArray()) { if (FILTERED_CHARS.test(c)) @@ -369,7 +369,7 @@ public class TabInterface while (dataIter.hasNext()) { - final int itemId = Integer.valueOf(dataIter.next()); + final int itemId = Integer.parseInt(dataIter.next()); tagManager.addTag(itemId, name, itemId < 0); } @@ -656,16 +656,6 @@ public class TabInterface } if (activeTab != null - && event.getMenuOption().equals("Search") - && client.getWidget(WidgetInfo.BANK_SEARCH_BUTTON_BACKGROUND).getSpriteId() != SpriteID.EQUIPMENT_SLOT_SELECTED) - { - activateTab(null); - // This ensures that when clicking Search when tab is selected, the search input is opened rather - // than client trying to close it first - client.setVar(VarClientStr.INPUT_TEXT, ""); - client.setVar(VarClientInt.INPUT_TYPE, 0); - } - else if (activeTab != null && (event.getMenuOption().startsWith("View tab") || event.getMenuOption().equals("View all items"))) { activateTab(null); @@ -696,6 +686,18 @@ public class TabInterface } } + public void handleSearch() + { + if (activeTab != null) + { + activateTab(null); + // This ensures that when clicking Search when tab is selected, the search input is opened rather + // than client trying to close it first + client.setVar(VarClientStr.INPUT_TEXT, ""); + client.setVar(VarClientInt.INPUT_TYPE, 0); + } + } + public void updateTabIfActive(final Collection tags) { if (activeTab != null && tags.contains(activeTab.getTag())) @@ -1158,11 +1160,10 @@ public class TabInterface t.revalidate(); } - private ItemComposition getItem(int idx) { ItemContainer bankContainer = client.getItemContainer(InventoryID.BANK); - Item item = bankContainer.getItems()[idx]; + Item item = bankContainer.getItem(idx); return itemManager.getItemComposition(item.getId()); }