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.Singleton;
|
||||
import javax.swing.SwingUtilities;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
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.SessionClose;
|
||||
import net.runelite.client.events.SessionOpen;
|
||||
import net.runelite.client.plugins.config.PluginConfigurationDescriptor;
|
||||
import net.runelite.client.task.ScheduledMethod;
|
||||
import net.runelite.client.task.Scheduler;
|
||||
import net.runelite.client.ui.RuneLiteSplashScreen;
|
||||
@@ -92,6 +94,8 @@ public class PluginManager
|
||||
private final Provider<GameEventManager> sceneTileManager;
|
||||
private final List<Plugin> plugins = new CopyOnWriteArrayList<>();
|
||||
private final List<Plugin> activePlugins = new CopyOnWriteArrayList<>();
|
||||
@Getter
|
||||
private final List<PluginConfigurationDescriptor> fakePlugins = new ArrayList<>();
|
||||
private final String runeliteGroupName = RuneLiteConfig.class
|
||||
.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()
|
||||
{
|
||||
externalPluginLoader.scanAndLoad();
|
||||
|
||||
@@ -110,7 +110,6 @@ public class PluginListPanel extends PluginPanel
|
||||
private final PluginManager pluginManager;
|
||||
private final Provider<ConfigPanel> configPanelProvider;
|
||||
private final OpenOSRSConfig openOSRSConfig;
|
||||
private final List<PluginConfigurationDescriptor> fakePlugins = new ArrayList<>();
|
||||
|
||||
@Getter
|
||||
private final MultiplexingPluginPanel muxer;
|
||||
@@ -245,7 +244,7 @@ public class PluginListPanel extends PluginPanel
|
||||
|
||||
// populate pluginList with all non-hidden plugins
|
||||
pluginList = Stream.concat(
|
||||
fakePlugins.stream(),
|
||||
pluginManager.getFakePlugins().stream(),
|
||||
pluginManager.getPlugins().stream()
|
||||
.filter(plugin -> !plugin.getClass().getAnnotation(PluginDescriptor.class).hidden())
|
||||
.map(plugin ->
|
||||
@@ -279,7 +278,8 @@ public class PluginListPanel extends PluginPanel
|
||||
|
||||
void addFakePlugin(PluginConfigurationDescriptor... descriptor)
|
||||
{
|
||||
Collections.addAll(fakePlugins, descriptor);
|
||||
Collections.addAll(pluginManager.getFakePlugins(), descriptor);
|
||||
pluginManager.loadFakePluginConfiguration();
|
||||
}
|
||||
|
||||
void refresh()
|
||||
@@ -367,7 +367,7 @@ public class PluginListPanel extends PluginPanel
|
||||
|
||||
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);
|
||||
}
|
||||
@@ -383,7 +383,7 @@ public class PluginListPanel extends PluginPanel
|
||||
{
|
||||
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);
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -639,7 +639,7 @@ public class PluginListPanel extends PluginPanel
|
||||
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()));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user