config: fix fake plugin default configs (#2371)
This commit is contained in:
@@ -60,6 +60,7 @@ import javax.inject.Named;
|
|||||||
import javax.inject.Provider;
|
import javax.inject.Provider;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.client.RuneLite;
|
import net.runelite.client.RuneLite;
|
||||||
@@ -71,6 +72,7 @@ import net.runelite.client.eventbus.EventBus;
|
|||||||
import net.runelite.client.events.PluginChanged;
|
import net.runelite.client.events.PluginChanged;
|
||||||
import net.runelite.client.events.SessionClose;
|
import net.runelite.client.events.SessionClose;
|
||||||
import net.runelite.client.events.SessionOpen;
|
import net.runelite.client.events.SessionOpen;
|
||||||
|
import net.runelite.client.plugins.config.PluginConfigurationDescriptor;
|
||||||
import net.runelite.client.task.ScheduledMethod;
|
import net.runelite.client.task.ScheduledMethod;
|
||||||
import net.runelite.client.task.Scheduler;
|
import net.runelite.client.task.Scheduler;
|
||||||
import net.runelite.client.ui.RuneLiteSplashScreen;
|
import net.runelite.client.ui.RuneLiteSplashScreen;
|
||||||
@@ -92,6 +94,8 @@ public class PluginManager
|
|||||||
private final Provider<GameEventManager> sceneTileManager;
|
private final Provider<GameEventManager> sceneTileManager;
|
||||||
private final List<Plugin> plugins = new CopyOnWriteArrayList<>();
|
private final List<Plugin> plugins = new CopyOnWriteArrayList<>();
|
||||||
private final List<Plugin> activePlugins = new CopyOnWriteArrayList<>();
|
private final List<Plugin> activePlugins = new CopyOnWriteArrayList<>();
|
||||||
|
@Getter
|
||||||
|
private final List<PluginConfigurationDescriptor> fakePlugins = new ArrayList<>();
|
||||||
private final String runeliteGroupName = RuneLiteConfig.class
|
private final String runeliteGroupName = RuneLiteConfig.class
|
||||||
.getAnnotation(ConfigGroup.class).value();
|
.getAnnotation(ConfigGroup.class).value();
|
||||||
|
|
||||||
@@ -232,6 +236,30 @@ public class PluginManager
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void loadFakePluginConfiguration()
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
for (Object config : fakePlugins.stream().map(PluginConfigurationDescriptor::getConfig).toArray())
|
||||||
|
{
|
||||||
|
if (config == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
configManager.setDefaultConfiguration(config, false);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (ThreadDeath e)
|
||||||
|
{
|
||||||
|
throw e;
|
||||||
|
}
|
||||||
|
catch (Throwable ex)
|
||||||
|
{
|
||||||
|
log.warn("Unable to reset plugin configuration", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void loadExternalPlugins()
|
public void loadExternalPlugins()
|
||||||
{
|
{
|
||||||
externalPluginLoader.scanAndLoad();
|
externalPluginLoader.scanAndLoad();
|
||||||
|
|||||||
@@ -110,7 +110,6 @@ public class PluginListPanel extends PluginPanel
|
|||||||
private final PluginManager pluginManager;
|
private final PluginManager pluginManager;
|
||||||
private final Provider<ConfigPanel> configPanelProvider;
|
private final Provider<ConfigPanel> configPanelProvider;
|
||||||
private final OpenOSRSConfig openOSRSConfig;
|
private final OpenOSRSConfig openOSRSConfig;
|
||||||
private final List<PluginConfigurationDescriptor> fakePlugins = new ArrayList<>();
|
|
||||||
|
|
||||||
@Getter
|
@Getter
|
||||||
private final MultiplexingPluginPanel muxer;
|
private final MultiplexingPluginPanel muxer;
|
||||||
@@ -245,7 +244,7 @@ public class PluginListPanel extends PluginPanel
|
|||||||
|
|
||||||
// populate pluginList with all non-hidden plugins
|
// populate pluginList with all non-hidden plugins
|
||||||
pluginList = Stream.concat(
|
pluginList = Stream.concat(
|
||||||
fakePlugins.stream(),
|
pluginManager.getFakePlugins().stream(),
|
||||||
pluginManager.getPlugins().stream()
|
pluginManager.getPlugins().stream()
|
||||||
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).hidden())
|
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).hidden())
|
||||||
.map(plugin ->
|
.map(plugin ->
|
||||||
@@ -279,7 +278,8 @@ public class PluginListPanel extends PluginPanel
|
|||||||
|
|
||||||
void addFakePlugin(PluginConfigurationDescriptor... descriptor)
|
void addFakePlugin(PluginConfigurationDescriptor... descriptor)
|
||||||
{
|
{
|
||||||
Collections.addAll(fakePlugins, descriptor);
|
Collections.addAll(pluginManager.getFakePlugins(), descriptor);
|
||||||
|
pluginManager.loadFakePluginConfiguration();
|
||||||
}
|
}
|
||||||
|
|
||||||
void refresh()
|
void refresh()
|
||||||
@@ -367,7 +367,7 @@ public class PluginListPanel extends PluginPanel
|
|||||||
|
|
||||||
if (text.isEmpty())
|
if (text.isEmpty())
|
||||||
{
|
{
|
||||||
if (openOSRSConfig.pluginSortMode() == net.runelite.client.config.OpenOSRSConfig.SortStyle.ALPHABETICALLY || !openOSRSConfig.enableCategories())
|
if (openOSRSConfig.pluginSortMode() == OpenOSRSConfig.SortStyle.ALPHABETICALLY || !openOSRSConfig.enableCategories())
|
||||||
{
|
{
|
||||||
pluginList.stream().filter(item -> pinned == item.isPinned()).forEach(mainPanel::add);
|
pluginList.stream().filter(item -> pinned == item.isPinned()).forEach(mainPanel::add);
|
||||||
}
|
}
|
||||||
@@ -383,7 +383,7 @@ public class PluginListPanel extends PluginPanel
|
|||||||
{
|
{
|
||||||
if (pinned == listItem.isPinned() && listItem.matchesSearchTerms(searchTerms))
|
if (pinned == listItem.isPinned() && listItem.matchesSearchTerms(searchTerms))
|
||||||
{
|
{
|
||||||
if (openOSRSConfig.pluginSortMode() == net.runelite.client.config.OpenOSRSConfig.SortStyle.ALPHABETICALLY || !openOSRSConfig.enableCategories())
|
if (openOSRSConfig.pluginSortMode() == OpenOSRSConfig.SortStyle.ALPHABETICALLY || !openOSRSConfig.enableCategories())
|
||||||
{
|
{
|
||||||
mainPanel.add(listItem);
|
mainPanel.add(listItem);
|
||||||
}
|
}
|
||||||
@@ -395,7 +395,7 @@ public class PluginListPanel extends PluginPanel
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (openOSRSConfig.pluginSortMode() == net.runelite.client.config.OpenOSRSConfig.SortStyle.CATEGORY && openOSRSConfig.enableCategories())
|
if (openOSRSConfig.pluginSortMode() == OpenOSRSConfig.SortStyle.CATEGORY && openOSRSConfig.enableCategories())
|
||||||
{
|
{
|
||||||
generatePluginList(plugins);
|
generatePluginList(plugins);
|
||||||
}
|
}
|
||||||
@@ -639,7 +639,7 @@ public class PluginListPanel extends PluginPanel
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (openOSRSConfig.pluginSortMode() == net.runelite.client.config.OpenOSRSConfig.SortStyle.CATEGORY)
|
if (openOSRSConfig.pluginSortMode() == OpenOSRSConfig.SortStyle.CATEGORY)
|
||||||
{
|
{
|
||||||
pluginList.sort(categoryComparator.thenComparing(ev -> ev.getPluginConfig().getName()));
|
pluginList.sort(categoryComparator.thenComparing(ev -> ev.getPluginConfig().getName()));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user