From 2ce79b1ae862e7ac810f0fafb7b18ae51e817386 Mon Sep 17 00:00:00 2001 From: Tomas Slusny Date: Thu, 11 Oct 2018 23:57:06 +0200 Subject: [PATCH] Add option to remember last opened tag tab Closes #5936 Signed-off-by: Tomas Slusny --- .../plugins/banktags/BankTagsConfig.java | 29 +++++++++++++++++++ .../plugins/banktags/tabs/TabInterface.java | 24 ++++++++++++++- 2 files changed, 52 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java index 07ed95dfdf..61b734c836 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/BankTagsConfig.java @@ -42,6 +42,17 @@ public interface BankTagsConfig extends Config return true; } + @ConfigItem( + keyName = "rememberTab", + name = "Remember last Tag Tab", + description = "Enable the ability to remember last Tag Tab when closing/opening the bank.", + position = 2 + ) + default boolean rememberTab() + { + return true; + } + @ConfigItem( keyName = "position", name = "", @@ -59,4 +70,22 @@ public interface BankTagsConfig extends Config description = "" ) void position(int idx); + + @ConfigItem( + keyName = "tab", + name = "", + description = "", + hidden = true + ) + default String tab() + { + return ""; + } + + @ConfigItem( + keyName = "tab", + name = "", + description = "" + ) + void tab(String tab); } 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 5f0f7ce96e..83b4ab81f2 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 @@ -190,6 +190,11 @@ public class TabInterface tabManager.getAllTabs().forEach(this::loadTab); activateTab(null); scrollTab(0); + + if (config.rememberTab() && !Strings.isNullOrEmpty(config.tab())) + { + openTag(TAG_SEARCH + config.tab()); + } } public void destroy() @@ -221,6 +226,23 @@ public class TabInterface config.position(currentTabIndex); } + // Do the same for last active tab + if (config.rememberTab()) + { + if (activeTab == null && !Strings.isNullOrEmpty(config.tab())) + { + config.tab(""); + } + else if (activeTab != null && !activeTab.getTag().equals(config.tab())) + { + config.tab(activeTab.getTag()); + } + } + else if (!Strings.isNullOrEmpty(config.tab())) + { + config.tab(""); + } + return; } @@ -790,7 +812,7 @@ public class TabInterface private void openTag(String tag) { doSearch(InputType.SEARCH, tag); - activateTab(tabManager.find(tag.substring(4))); + activateTab(tabManager.find(tag.substring(TAG_SEARCH.length()))); // When tab is selected with search window open, the search window closes but the search button // stays highlighted, this solves that issue