KeyListener: Add isEnabledOnLoginScreen() method
This commit moves login screen handling out of the KeyManager into the KeyListener interface so it does not need any knowledge of HotkeyListener's implementation.
This commit is contained in:
@@ -26,4 +26,8 @@ package net.runelite.client.input;
|
|||||||
|
|
||||||
public interface KeyListener extends java.awt.event.KeyListener
|
public interface KeyListener extends java.awt.event.KeyListener
|
||||||
{
|
{
|
||||||
|
default boolean isEnabledOnLoginScreen()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ import javax.inject.Inject;
|
|||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.GameState;
|
import net.runelite.api.GameState;
|
||||||
import net.runelite.client.util.HotkeyListener;
|
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class KeyManager
|
public class KeyManager
|
||||||
@@ -133,18 +132,13 @@ public class KeyManager
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(keyListener instanceof HotkeyListener))
|
final GameState gameState = client.getGameState();
|
||||||
|
|
||||||
|
if (gameState == GameState.LOGIN_SCREEN || gameState == GameState.LOGIN_SCREEN_AUTHENTICATOR)
|
||||||
{
|
{
|
||||||
return true;
|
return keyListener.isEnabledOnLoginScreen();
|
||||||
}
|
}
|
||||||
|
|
||||||
final HotkeyListener hotkeyListener = (HotkeyListener) keyListener;
|
return true;
|
||||||
|
|
||||||
if (hotkeyListener.isEnabledOnLogin())
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return client.getGameState() != GameState.LOGIN_SCREEN && client.getGameState() != GameState.LOGIN_SCREEN_AUTHENTICATOR;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -183,6 +183,12 @@ public class LoginScreenPlugin extends Plugin implements KeyListener
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isEnabledOnLoginScreen()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void keyTyped(KeyEvent e)
|
public void keyTyped(KeyEvent e)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -382,7 +382,7 @@ public class ClientUI
|
|||||||
toggleSidebar();
|
toggleSidebar();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
sidebarListener.setEnabledOnLogin(true);
|
sidebarListener.setEnabledOnLoginScreen(true);
|
||||||
keyManager.registerKeyListener(sidebarListener);
|
keyManager.registerKeyListener(sidebarListener);
|
||||||
|
|
||||||
final HotkeyListener pluginPanelListener = new HotkeyListener(config::panelToggleKey)
|
final HotkeyListener pluginPanelListener = new HotkeyListener(config::panelToggleKey)
|
||||||
@@ -393,7 +393,7 @@ public class ClientUI
|
|||||||
togglePluginPanel();
|
togglePluginPanel();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
pluginPanelListener.setEnabledOnLogin(true);
|
pluginPanelListener.setEnabledOnLoginScreen(true);
|
||||||
keyManager.registerKeyListener(pluginPanelListener);
|
keyManager.registerKeyListener(pluginPanelListener);
|
||||||
|
|
||||||
// Add mouse listener
|
// Add mouse listener
|
||||||
|
|||||||
@@ -26,7 +26,6 @@ package net.runelite.client.util;
|
|||||||
|
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
import java.util.function.Supplier;
|
import java.util.function.Supplier;
|
||||||
import lombok.Getter;
|
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import net.runelite.client.config.Keybind;
|
import net.runelite.client.config.Keybind;
|
||||||
@@ -42,8 +41,13 @@ public abstract class HotkeyListener implements KeyListener
|
|||||||
private boolean isConsumingTyped = false;
|
private boolean isConsumingTyped = false;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
@Getter
|
private boolean enabledOnLoginScreen;
|
||||||
private boolean isEnabledOnLogin = false;
|
|
||||||
|
@Override
|
||||||
|
public boolean isEnabledOnLoginScreen()
|
||||||
|
{
|
||||||
|
return enabledOnLoginScreen;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void keyTyped(KeyEvent e)
|
public void keyTyped(KeyEvent e)
|
||||||
|
|||||||
Reference in New Issue
Block a user