Merge pull request #10664 from loldudester/sidebar-hotkey
This commit is contained in:
@@ -25,6 +25,8 @@
|
|||||||
package net.runelite.client.config;
|
package net.runelite.client.config;
|
||||||
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
|
import java.awt.event.InputEvent;
|
||||||
|
import java.awt.event.KeyEvent;
|
||||||
import net.runelite.api.Constants;
|
import net.runelite.api.Constants;
|
||||||
import net.runelite.client.Notifier;
|
import net.runelite.client.Notifier;
|
||||||
import net.runelite.client.ui.ContainableFrame;
|
import net.runelite.client.ui.ContainableFrame;
|
||||||
@@ -288,4 +290,26 @@ public interface RuneLiteConfig extends Config
|
|||||||
{
|
{
|
||||||
return true;
|
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.Rectangle;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
import java.awt.TrayIcon;
|
import java.awt.TrayIcon;
|
||||||
import java.awt.event.InputEvent;
|
|
||||||
import java.awt.event.KeyEvent;
|
|
||||||
import java.awt.event.MouseEvent;
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
@@ -77,7 +75,6 @@ import net.runelite.client.RuneLiteProperties;
|
|||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.config.ExpandResizeType;
|
import net.runelite.client.config.ExpandResizeType;
|
||||||
import net.runelite.client.config.Keybind;
|
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.config.WarningOnExit;
|
import net.runelite.client.config.WarningOnExit;
|
||||||
import net.runelite.client.eventbus.Subscribe;
|
import net.runelite.client.eventbus.Subscribe;
|
||||||
@@ -374,8 +371,7 @@ public class ClientUI
|
|||||||
frame.add(container);
|
frame.add(container);
|
||||||
|
|
||||||
// Add key listener
|
// Add key listener
|
||||||
final HotkeyListener sidebarListener = new HotkeyListener(() ->
|
final HotkeyListener sidebarListener = new HotkeyListener(config::sidebarToggleKey)
|
||||||
new Keybind(KeyEvent.VK_F11, InputEvent.CTRL_DOWN_MASK))
|
|
||||||
{
|
{
|
||||||
@Override
|
@Override
|
||||||
public void hotkeyPressed()
|
public void hotkeyPressed()
|
||||||
@@ -387,6 +383,17 @@ public class ClientUI
|
|||||||
sidebarListener.setEnabledOnLogin(true);
|
sidebarListener.setEnabledOnLogin(true);
|
||||||
keyManager.registerKeyListener(sidebarListener);
|
keyManager.registerKeyListener(sidebarListener);
|
||||||
|
|
||||||
|
final HotkeyListener pluginPanelListener = new HotkeyListener(config::panelToggleKey)
|
||||||
|
{
|
||||||
|
@Override
|
||||||
|
public void hotkeyPressed()
|
||||||
|
{
|
||||||
|
togglePluginPanel();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
keyManager.registerKeyListener(pluginPanelListener);
|
||||||
|
|
||||||
// Add mouse listener
|
// Add mouse listener
|
||||||
final MouseListener mouseListener = new MouseAdapter()
|
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)
|
private void expand(@Nullable NavigationButton button)
|
||||||
{
|
{
|
||||||
if (button == null)
|
if (button == null)
|
||||||
|
|||||||
Reference in New Issue
Block a user