From 03e51acf080b49eaf2f10032efc12a574f68a8cf Mon Sep 17 00:00:00 2001 From: geheur <41499327+geheur@users.noreply.github.com> Date: Tue, 7 Sep 2021 11:19:15 -0700 Subject: [PATCH] bank tags: Fix tag tab tab scroll height (#13761) --- .../plugins/banktags/BankTagsPlugin.java | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) 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 18d69b888b..d3dbb15aa0 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 @@ -495,12 +495,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener return; } - if (event.getScriptId() != ScriptID.BANKMAIN_BUILD || !config.removeSeparators()) - { - return; - } - - if (!tabInterface.isActive()) + if (event.getScriptId() != ScriptID.BANKMAIN_BUILD) { return; } @@ -511,6 +506,20 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener return; } + if (tabInterface.isTagTabActive()) + { + int numTabs = (int) Arrays.stream(itemContainer.getDynamicChildren()) + .filter(child -> child.getItemId() != -1 && !child.isHidden()) + .count(); + updateBankContainerScrollHeight(numTabs); + return; + } + + if (!tabInterface.isActive() || !config.removeSeparators()) + { + return; + } + int items = 0; Widget[] containerChildren = itemContainer.getDynamicChildren(); @@ -550,10 +559,15 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener } } - final Widget bankItemContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); + updateBankContainerScrollHeight(items); + } + + private void updateBankContainerScrollHeight(int items) + { + Widget bankItemContainer = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER); int itemContainerHeight = bankItemContainer.getHeight(); final int adjustedScrollHeight = (Math.max(0, items - 1) / ITEMS_PER_ROW) * ITEM_VERTICAL_SPACING + ITEM_VERTICAL_SPACING + ITEM_CONTAINER_BOTTOM_PADDING; - itemContainer.setScrollHeight(Math.max(adjustedScrollHeight, itemContainerHeight)); + bankItemContainer.setScrollHeight(Math.max(adjustedScrollHeight, itemContainerHeight)); final int itemContainerScroll = bankItemContainer.getScrollY(); clientThread.invokeLater(() -> @@ -561,7 +575,6 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener WidgetInfo.BANK_SCROLLBAR.getId(), WidgetInfo.BANK_ITEM_CONTAINER.getId(), itemContainerScroll)); - } @Subscribe