From 04ec36a120a0ff02de3e52348ed067907f8b02b9 Mon Sep 17 00:00:00 2001 From: Ron Young Date: Thu, 3 Oct 2019 23:23:44 -0500 Subject: [PATCH] banktags: reset tagtabs and banktags when reset button is clicked --- .../plugins/banktags/BankTagsPlugin.java | 34 ++++++++++++++++++- .../client/plugins/banktags/TagManager.java | 2 +- .../plugins/banktags/tabs/TabManager.java | 3 +- 3 files changed, 35 insertions(+), 4 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 d8352497d6..e0a795e1aa 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 @@ -26,6 +26,7 @@ */ package net.runelite.client.plugins.banktags; +import com.google.common.collect.Lists; import com.google.inject.Provides; import java.awt.event.KeyEvent; import java.awt.event.MouseWheelEvent; @@ -89,6 +90,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis public static final String TAG_SEARCH = "tag:"; private static final String EDIT_TAGS_MENU_OPTION = "Edit-tags"; public static final String ICON_SEARCH = "icon_"; + public static final String TAG_TABS_CONFIG = "tagtabs"; public static final String VAR_TAG_SUFFIX = "*"; private static final String SEARCH_BANK_INPUT_TEXT = @@ -142,6 +144,36 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis return configManager.getConfig(BankTagsConfig.class); } + @Override + public void resetConfiguration() + { + List extraKeys = Lists.newArrayList( + CONFIG_GROUP + "." + TagManager.ITEM_KEY_PREFIX, + CONFIG_GROUP + "." + ICON_SEARCH, + CONFIG_GROUP + "." + TAG_TABS_CONFIG + ); + + for (String prefix : extraKeys) + { + List keys = configManager.getConfigurationKeys(prefix); + for (String key : keys) + { + String[] str = key.split("\\.", 2); + if (str.length == 2) + { + configManager.unsetConfiguration(str[0], str[1]); + } + } + } + + clientThread.invokeLater(() -> + { + tabInterface.destroy(); + tabInterface.init(); + }); + } + + @Override public void startUp() { @@ -376,7 +408,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis @Subscribe public void onConfigChanged(ConfigChanged configChanged) { - if (configChanged.getGroup().equals("banktags") && configChanged.getKey().equals("useTabs")) + if (configChanged.getGroup().equals(CONFIG_GROUP) && configChanged.getKey().equals("useTabs")) { if (config.tabs()) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/TagManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/TagManager.java index d880064ff8..fe697034d0 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/TagManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/TagManager.java @@ -50,7 +50,7 @@ import net.runelite.client.util.Text; @Singleton public class TagManager { - private static final String ITEM_KEY_PREFIX = "item_"; + static final String ITEM_KEY_PREFIX = "item_"; private final ConfigManager configManager; private final ItemManager itemManager; private final ClueScrollService clueScrollService; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabManager.java index e1995a5095..a3f2b06948 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabManager.java @@ -38,14 +38,13 @@ import net.runelite.api.ItemID; import net.runelite.client.config.ConfigManager; import static net.runelite.client.plugins.banktags.BankTagsPlugin.CONFIG_GROUP; import static net.runelite.client.plugins.banktags.BankTagsPlugin.ICON_SEARCH; +import static net.runelite.client.plugins.banktags.BankTagsPlugin.TAG_TABS_CONFIG; import net.runelite.client.util.Text; import org.apache.commons.lang3.math.NumberUtils; @Singleton class TabManager { - private static final String TAG_TABS_CONFIG = "tagtabs"; - @Getter private final List tabs = new ArrayList<>(); private final ConfigManager configManager;