upstream: merge and version bump
upstream: merge and version bump
This commit is contained in:
@@ -27,11 +27,24 @@ package net.runelite.client.input;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.client.util.HotkeyListener;
|
||||
|
||||
@Singleton
|
||||
public class KeyManager
|
||||
{
|
||||
private final Client client;
|
||||
|
||||
@Inject
|
||||
private KeyManager(@Nullable final Client client)
|
||||
{
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
private final List<KeyListener> keyListeners = new CopyOnWriteArrayList<>();
|
||||
|
||||
public void registerKeyListener(KeyListener keyListener)
|
||||
@@ -56,6 +69,11 @@ public class KeyManager
|
||||
|
||||
for (KeyListener keyListener : keyListeners)
|
||||
{
|
||||
if (!shouldProcess(keyListener))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
keyListener.keyPressed(keyEvent);
|
||||
if (keyEvent.isConsumed())
|
||||
{
|
||||
@@ -73,6 +91,11 @@ public class KeyManager
|
||||
|
||||
for (KeyListener keyListener : keyListeners)
|
||||
{
|
||||
if (!shouldProcess(keyListener))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
keyListener.keyReleased(keyEvent);
|
||||
if (keyEvent.isConsumed())
|
||||
{
|
||||
@@ -90,6 +113,11 @@ public class KeyManager
|
||||
|
||||
for (KeyListener keyListener : keyListeners)
|
||||
{
|
||||
if (!shouldProcess(keyListener))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
keyListener.keyTyped(keyEvent);
|
||||
if (keyEvent.isConsumed())
|
||||
{
|
||||
@@ -97,4 +125,26 @@ public class KeyManager
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean shouldProcess(final KeyListener keyListener)
|
||||
{
|
||||
if (client == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!(keyListener instanceof HotkeyListener))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
final HotkeyListener hotkeyListener = (HotkeyListener) keyListener;
|
||||
|
||||
if (hotkeyListener.isEnabledOnLogin())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return client.getGameState() != GameState.LOGIN_SCREEN;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,6 +397,7 @@ public class ClientUI
|
||||
}
|
||||
};
|
||||
|
||||
sidebarListener.setEnabledOnLogin(true);
|
||||
keyManager.registerKeyListener(sidebarListener);
|
||||
|
||||
final HotkeyListener pluginPanelListener = new HotkeyListener(config::panelToggleKey)
|
||||
|
||||
@@ -50,6 +50,7 @@ public abstract class Overlay implements LayoutableRenderableEntity
|
||||
private OverlayLayer layer = OverlayLayer.UNDER_WIDGETS;
|
||||
private final List<OverlayMenuEntry> menuEntries = new ArrayList<>();
|
||||
private boolean resizable;
|
||||
private boolean resettable = true;
|
||||
|
||||
protected Overlay()
|
||||
{
|
||||
|
||||
@@ -355,7 +355,10 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||
|
||||
if (SwingUtilities.isRightMouseButton(mouseEvent))
|
||||
{
|
||||
overlayManager.resetOverlay(currentManagedOverlay);
|
||||
if (currentManagedOverlay.isResettable())
|
||||
{
|
||||
overlayManager.resetOverlay(currentManagedOverlay);
|
||||
}
|
||||
}
|
||||
else if (SwingUtilities.isLeftMouseButton(mouseEvent))
|
||||
{
|
||||
|
||||
@@ -53,7 +53,6 @@ public class WidgetOverlay extends Overlay
|
||||
.put(WidgetInfo.PEST_CONTROL_BOAT_INFO, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.PEST_CONTROL_INFO, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.ZEAH_MESS_HALL_COOKING_DISPLAY, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.PVP_BOUNTY_HUNTER_INFO, OverlayPosition.TOP_RIGHT)
|
||||
.put(WidgetInfo.PVP_KILLDEATH_COUNTER, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.SKOTIZO_CONTAINER, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.KOUREND_FAVOUR_OVERLAY, OverlayPosition.TOP_CENTER)
|
||||
|
||||
@@ -26,7 +26,9 @@ package net.runelite.client.util;
|
||||
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.function.Supplier;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import net.runelite.client.config.Keybind;
|
||||
import net.runelite.client.input.KeyListener;
|
||||
|
||||
@@ -39,6 +41,10 @@ public abstract class HotkeyListener implements KeyListener
|
||||
|
||||
private boolean isConsumingTyped = false;
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
private boolean isEnabledOnLogin = false;
|
||||
|
||||
@Override
|
||||
public void keyTyped(KeyEvent e)
|
||||
{
|
||||
|
||||
@@ -417,6 +417,8 @@ public class WeaponMap
|
||||
StyleMap.put(ItemID.VERACS_FLAIL_25, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VERACS_FLAIL_50, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VERACS_FLAIL_75, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VESTAS_BLIGHTED_LONGSWORD, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VESTAS_LONGSWORD_INACTIVE, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VIGGORAS_CHAINMACE, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VIGGORAS_CHAINMACE_U, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VOLCANIC_ABYSSAL_WHIP, WeaponStyle.MELEE);
|
||||
|
||||
Reference in New Issue
Block a user