Merge pull request #9973 from raiyni/additional-reset

Add additional reset configuration for plugins
This commit is contained in:
Adam
2020-02-04 20:58:19 -05:00
committed by GitHub
5 changed files with 47 additions and 4 deletions

View File

@@ -45,6 +45,10 @@ public abstract class Plugin implements Module
{
}
public void resetConfiguration()
{
}
public final Injector getInjector()
{
return injector;

View File

@@ -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<String> extraKeys = Lists.newArrayList(
CONFIG_GROUP + "." + TagManager.ITEM_KEY_PREFIX,
CONFIG_GROUP + "." + ICON_SEARCH,
CONFIG_GROUP + "." + TAG_TABS_CONFIG
);
for (String prefix : extraKeys)
{
List<String> 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())
{

View File

@@ -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;

View File

@@ -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<TagTab> tabs = new ArrayList<>();
private final ConfigManager configManager;

View File

@@ -73,6 +73,7 @@ import net.runelite.client.events.ExternalPluginsChanged;
import net.runelite.client.events.PluginChanged;
import net.runelite.client.externalplugins.ExternalPluginManager;
import net.runelite.client.externalplugins.ExternalPluginManifest;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginManager;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.DynamicGridLayout;
@@ -445,6 +446,13 @@ class ConfigPanel extends PluginPanel
{
configManager.setDefaultConfiguration(pluginConfig.getConfig(), true);
// Reset non-config panel keys
Plugin plugin = pluginConfig.getPlugin();
if (plugin != null)
{
plugin.resetConfiguration();
}
rebuild();
}
});