Merge pull request #10664 from loldudester/sidebar-hotkey
This commit is contained in:
@@ -25,6 +25,8 @@
|
||||
package net.runelite.client.config;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import net.runelite.api.Constants;
|
||||
import net.runelite.client.Notifier;
|
||||
import net.runelite.client.ui.ContainableFrame;
|
||||
@@ -288,4 +290,26 @@ public interface RuneLiteConfig extends Config
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "sidebarToggleKey",
|
||||
name = "Sidebar Toggle Key",
|
||||
description = "The key that will toggle the sidebar (accepts modifiers)",
|
||||
position = 44
|
||||
)
|
||||
default Keybind sidebarToggleKey()
|
||||
{
|
||||
return new Keybind(KeyEvent.VK_F11, InputEvent.CTRL_DOWN_MASK);
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "panelToggleKey",
|
||||
name = "Plugin Panel Toggle Key",
|
||||
description = "The key that will toggle the current or last opened plugin panel (accepts modifiers)",
|
||||
position = 45
|
||||
)
|
||||
default Keybind panelToggleKey()
|
||||
{
|
||||
return new Keybind(KeyEvent.VK_F12, InputEvent.CTRL_DOWN_MASK);
|
||||
}
|
||||
}
|
||||
@@ -39,8 +39,6 @@ import java.awt.LayoutManager;
|
||||
import java.awt.Rectangle;
|
||||
import java.awt.Toolkit;
|
||||
import java.awt.TrayIcon;
|
||||
import java.awt.event.InputEvent;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.awt.event.MouseEvent;
|
||||
import java.awt.event.WindowAdapter;
|
||||
import java.awt.event.WindowEvent;
|
||||
@@ -77,7 +75,6 @@ import net.runelite.client.RuneLiteProperties;
|
||||
import net.runelite.client.callback.ClientThread;
|
||||
import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.config.ExpandResizeType;
|
||||
import net.runelite.client.config.Keybind;
|
||||
import net.runelite.client.config.RuneLiteConfig;
|
||||
import net.runelite.client.config.WarningOnExit;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
@@ -374,8 +371,7 @@ public class ClientUI
|
||||
frame.add(container);
|
||||
|
||||
// Add key listener
|
||||
final HotkeyListener sidebarListener = new HotkeyListener(() ->
|
||||
new Keybind(KeyEvent.VK_F11, InputEvent.CTRL_DOWN_MASK))
|
||||
final HotkeyListener sidebarListener = new HotkeyListener(config::sidebarToggleKey)
|
||||
{
|
||||
@Override
|
||||
public void hotkeyPressed()
|
||||
@@ -387,6 +383,17 @@ public class ClientUI
|
||||
sidebarListener.setEnabledOnLogin(true);
|
||||
keyManager.registerKeyListener(sidebarListener);
|
||||
|
||||
final HotkeyListener pluginPanelListener = new HotkeyListener(config::panelToggleKey)
|
||||
{
|
||||
@Override
|
||||
public void hotkeyPressed()
|
||||
{
|
||||
togglePluginPanel();
|
||||
}
|
||||
};
|
||||
|
||||
keyManager.registerKeyListener(pluginPanelListener);
|
||||
|
||||
// Add mouse listener
|
||||
final MouseListener mouseListener = new MouseAdapter()
|
||||
{
|
||||
@@ -840,6 +847,26 @@ public class ClientUI
|
||||
}
|
||||
}
|
||||
|
||||
private void togglePluginPanel()
|
||||
{
|
||||
// Toggle plugin panel open
|
||||
final boolean pluginPanelOpen = pluginPanel != null;
|
||||
|
||||
if (currentButton != null)
|
||||
{
|
||||
currentButton.setSelected(!pluginPanelOpen);
|
||||
}
|
||||
|
||||
if (pluginPanelOpen)
|
||||
{
|
||||
contract();
|
||||
}
|
||||
else
|
||||
{
|
||||
expand(currentNavButton);
|
||||
}
|
||||
}
|
||||
|
||||
private void expand(@Nullable NavigationButton button)
|
||||
{
|
||||
if (button == null)
|
||||
|
||||
Reference in New Issue
Block a user