Refactor PluginSorter
This commit is contained in:
@@ -24,17 +24,14 @@
|
||||
*/
|
||||
package net.runelite.client.plugins.pluginsorter;
|
||||
|
||||
import java.awt.Color;
|
||||
import net.runelite.client.config.Config;
|
||||
import net.runelite.client.config.ConfigGroup;
|
||||
import net.runelite.client.config.ConfigItem;
|
||||
|
||||
import java.awt.*;
|
||||
|
||||
@ConfigGroup("pluginsorter")
|
||||
public interface PluginSorterConfig extends Config {
|
||||
|
||||
Color rlDefault = new Color(250, 155, 23);
|
||||
|
||||
public interface PluginSorterConfig extends Config
|
||||
{
|
||||
boolean pluginsHidden = false;
|
||||
|
||||
@ConfigItem(
|
||||
|
||||
@@ -25,10 +25,14 @@
|
||||
package net.runelite.client.plugins.pluginsorter;
|
||||
|
||||
import com.google.inject.Provides;
|
||||
import java.awt.Color;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.events.ConfigChanged;
|
||||
import net.runelite.api.events.GameStateChanged;
|
||||
import net.runelite.client.config.ConfigItemDescriptor;
|
||||
import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
@@ -37,22 +41,16 @@ import net.runelite.client.plugins.PluginType;
|
||||
import net.runelite.client.plugins.config.ConfigPanel;
|
||||
import net.runelite.client.plugins.config.PluginListItem;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
@PluginDescriptor(
|
||||
name = "Plugin Organizer",
|
||||
description = "Hides and colors 3rd party plugins for better control",
|
||||
tags = {"plugins", "organizer"},
|
||||
type = PluginType.PLUGIN_ORGANIZER
|
||||
)
|
||||
public class PluginSorterPlugin extends Plugin {
|
||||
|
||||
public class PluginSorterPlugin extends Plugin
|
||||
{
|
||||
//Cache the hidden plugins
|
||||
public static List<PluginListItem> removedPlugins = new ArrayList<>();
|
||||
private static List<PluginListItem> removedPlugins = new ArrayList<>();
|
||||
|
||||
@Inject
|
||||
private PluginSorterConfig config;
|
||||
@@ -78,29 +76,41 @@ public class PluginSorterPlugin extends Plugin {
|
||||
@Subscribe
|
||||
public void onGameStateChanged(GameStateChanged gameStateChanged)
|
||||
{
|
||||
if (gameStateChanged.getGameState()== GameState.LOGIN_SCREEN) {
|
||||
if (gameStateChanged.getGameState() == GameState.LOGIN_SCREEN)
|
||||
{
|
||||
if (config.hidePlugins())
|
||||
{
|
||||
hidePlugins();
|
||||
}
|
||||
updateColors();
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onConfigChanged(ConfigChanged configChanged) {
|
||||
if (configChanged.getKey().equals("hidePlugins")) {
|
||||
if (config.hidePlugins()) {
|
||||
public void onConfigChanged(ConfigChanged configChanged)
|
||||
{
|
||||
if (configChanged.getKey().equals("hidePlugins"))
|
||||
{
|
||||
if (config.hidePlugins())
|
||||
{
|
||||
hidePlugins();
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
showPlugins();
|
||||
}
|
||||
}
|
||||
updateColors();
|
||||
}
|
||||
|
||||
public void updateColors() {
|
||||
for (PluginListItem pli : ConfigPanel.pluginList) {
|
||||
if (pli.getPlugin()!=null) {
|
||||
switch (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type()) {
|
||||
private void updateColors()
|
||||
{
|
||||
for (PluginListItem pli : ConfigPanel.pluginList)
|
||||
{
|
||||
if (pli.getPlugin() != null)
|
||||
{
|
||||
switch (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type())
|
||||
{
|
||||
case EXTERNAL:
|
||||
pli.nameLabel.setForeground(config.externalColor());
|
||||
break;
|
||||
@@ -121,11 +131,14 @@ public class PluginSorterPlugin extends Plugin {
|
||||
}
|
||||
}
|
||||
|
||||
public void hidePlugins() {
|
||||
private void hidePlugins()
|
||||
{
|
||||
Iterator<PluginListItem> iter = ConfigPanel.pluginList.iterator();
|
||||
while (iter.hasNext()) {
|
||||
while (iter.hasNext())
|
||||
{
|
||||
PluginListItem pli = iter.next();
|
||||
if (pli.getPlugin() != null) {
|
||||
if (pli.getPlugin() != null)
|
||||
{
|
||||
switch (pli.getPlugin().getClass().getAnnotation(PluginDescriptor.class).type())
|
||||
{
|
||||
case PVM:
|
||||
@@ -143,7 +156,8 @@ public class PluginSorterPlugin extends Plugin {
|
||||
}
|
||||
}
|
||||
|
||||
public void showPlugins() {
|
||||
private void showPlugins()
|
||||
{
|
||||
List<PluginListItem> tempList = new ArrayList<>();
|
||||
tempList.addAll(removedPlugins);
|
||||
tempList.addAll(ConfigPanel.pluginList);
|
||||
|
||||
Reference in New Issue
Block a user