Merge pull request #11220 from deathbeam/reset-tooltip

Reset repositioned tooltip overlays
This commit is contained in:
Tomas Slusny
2020-04-08 09:31:03 +02:00
committed by GitHub
2 changed files with 31 additions and 0 deletions

View File

@@ -73,6 +73,7 @@ import net.runelite.client.ui.overlay.OverlayRenderer;
import net.runelite.client.ui.overlay.WidgetOverlay; import net.runelite.client.ui.overlay.WidgetOverlay;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay; import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay;
import net.runelite.client.ui.overlay.tooltip.TooltipManager;
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay; import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay; import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay;
import net.runelite.client.ws.PartyService; import net.runelite.client.ws.PartyService;
@@ -127,6 +128,9 @@ public class RuneLite
@Inject @Inject
private OverlayManager overlayManager; private OverlayManager overlayManager;
@Inject
private TooltipManager tooltipManager;
@Inject @Inject
private Provider<PartyService> partyService; private Provider<PartyService> partyService;
@@ -336,6 +340,7 @@ public class RuneLite
eventBus.register(overlayManager); eventBus.register(overlayManager);
eventBus.register(drawManager); eventBus.register(drawManager);
eventBus.register(infoBoxManager); eventBus.register(infoBoxManager);
eventBus.register(tooltipManager);
if (!isOutdated) if (!isOutdated)
{ {

View File

@@ -24,14 +24,27 @@
*/ */
package net.runelite.client.ui.overlay.tooltip; package net.runelite.client.ui.overlay.tooltip;
import com.google.common.base.Strings;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import lombok.Getter; import lombok.Getter;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ConfigChanged;
@Singleton @Singleton
public class TooltipManager public class TooltipManager
{ {
private final ConfigManager configManager;
@Inject
private TooltipManager(final ConfigManager configManager)
{
this.configManager = configManager;
}
@Getter @Getter
private final List<Tooltip> tooltips = new ArrayList<>(); private final List<Tooltip> tooltips = new ArrayList<>();
@@ -49,4 +62,17 @@ public class TooltipManager
{ {
tooltips.clear(); tooltips.clear();
} }
@Subscribe
public void onConfigChanged(final ConfigChanged event)
{
// Temporary fix for resetting repositioned tooltip overlay
// TODO: Remove this eventually
if (event.getGroup().equals("runelite") &&
event.getKey().equals("TooltipOverlay_preferredLocation") &&
!Strings.isNullOrEmpty(event.getNewValue()))
{
configManager.unsetConfiguration(event.getGroup(), event.getKey());
}
}
} }