Reload overlay settings on plugin change
When plugin is loaded/unloaded, reload all overlay settings as they might've changed. Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -228,6 +228,7 @@ public class RuneLite
|
|||||||
// Register event listeners
|
// Register event listeners
|
||||||
eventBus.register(clientUI);
|
eventBus.register(clientUI);
|
||||||
eventBus.register(overlayRenderer);
|
eventBus.register(overlayRenderer);
|
||||||
|
eventBus.register(overlayManager);
|
||||||
eventBus.register(drawManager);
|
eventBus.register(drawManager);
|
||||||
eventBus.register(menuManager);
|
eventBus.register(menuManager);
|
||||||
eventBus.register(chatMessageManager);
|
eventBus.register(chatMessageManager);
|
||||||
|
|||||||
@@ -25,6 +25,7 @@
|
|||||||
package net.runelite.client.ui.overlay;
|
package net.runelite.client.ui.overlay;
|
||||||
|
|
||||||
import com.google.common.annotations.VisibleForTesting;
|
import com.google.common.annotations.VisibleForTesting;
|
||||||
|
import com.google.common.eventbus.Subscribe;
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Point;
|
import java.awt.Point;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@@ -41,6 +42,7 @@ import lombok.Getter;
|
|||||||
import net.runelite.client.config.ConfigGroup;
|
import net.runelite.client.config.ConfigGroup;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
|
import net.runelite.client.events.PluginChanged;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manages state of all game overlays
|
* Manages state of all game overlays
|
||||||
@@ -90,6 +92,13 @@ public class OverlayManager
|
|||||||
this.configManager = configManager;
|
this.configManager = configManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Subscribe
|
||||||
|
public void onPluginChanged(final PluginChanged event)
|
||||||
|
{
|
||||||
|
overlays.forEach(this::loadOverlay);
|
||||||
|
rebuildOverlayLayers();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets all of the overlays on a layer
|
* Gets all of the overlays on a layer
|
||||||
*
|
*
|
||||||
@@ -116,12 +125,7 @@ public class OverlayManager
|
|||||||
|
|
||||||
// Add is always true
|
// Add is always true
|
||||||
overlays.add(overlay);
|
overlays.add(overlay);
|
||||||
final Point location = loadOverlayLocation(overlay);
|
loadOverlay(overlay);
|
||||||
overlay.setPreferredLocation(location);
|
|
||||||
final Dimension size = loadOverlaySize(overlay);
|
|
||||||
overlay.setPreferredSize(size);
|
|
||||||
final OverlayPosition position = loadOverlayPosition(overlay);
|
|
||||||
overlay.setPreferredPosition(position);
|
|
||||||
rebuildOverlayLayers();
|
rebuildOverlayLayers();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -226,6 +230,16 @@ public class OverlayManager
|
|||||||
overlayLayers.forEach((layer, value) -> overlayLayers.put(layer, Collections.unmodifiableList(value)));
|
overlayLayers.forEach((layer, value) -> overlayLayers.put(layer, Collections.unmodifiableList(value)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void loadOverlay(final Overlay overlay)
|
||||||
|
{
|
||||||
|
final Point location = loadOverlayLocation(overlay);
|
||||||
|
overlay.setPreferredLocation(location);
|
||||||
|
final Dimension size = loadOverlaySize(overlay);
|
||||||
|
overlay.setPreferredSize(size);
|
||||||
|
final OverlayPosition position = loadOverlayPosition(overlay);
|
||||||
|
overlay.setPreferredPosition(position);
|
||||||
|
}
|
||||||
|
|
||||||
private void saveOverlayLocation(final Overlay overlay)
|
private void saveOverlayLocation(final Overlay overlay)
|
||||||
{
|
{
|
||||||
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_LOCATION;
|
final String key = overlay.getName() + OVERLAY_CONFIG_PREFERRED_LOCATION;
|
||||||
|
|||||||
Reference in New Issue
Block a user