clientui: remember sidebar state across restarts

Co-authored-by: Adam <Adam@sigterm.info>
This commit is contained in:
Xortrox
2020-06-24 10:40:02 -04:00
committed by Adam
parent e02bd1d5b8
commit 6aa9990594

View File

@@ -107,6 +107,7 @@ public class ClientUI
private static final String CONFIG_GROUP = "runelite"; private static final String CONFIG_GROUP = "runelite";
private static final String CONFIG_CLIENT_BOUNDS = "clientBounds"; private static final String CONFIG_CLIENT_BOUNDS = "clientBounds";
private static final String CONFIG_CLIENT_MAXIMIZED = "clientMaximized"; private static final String CONFIG_CLIENT_MAXIMIZED = "clientMaximized";
private static final String CONFIG_CLIENT_SIDEBAR_CLOSED = "clientSidebarClosed";
private static final int CLIENT_WELL_HIDDEN_MARGIN = 160; private static final int CLIENT_WELL_HIDDEN_MARGIN = 160;
private static final int CLIENT_WELL_HIDDEN_MARGIN_TOP = 10; private static final int CLIENT_WELL_HIDDEN_MARGIN_TOP = 10;
public static final BufferedImage ICON = ImageUtil.getResourceStreamFromClass(ClientUI.class, "/runelite.png"); public static final BufferedImage ICON = ImageUtil.getResourceStreamFromClass(ClientUI.class, "/runelite.png");
@@ -477,7 +478,8 @@ public class ClientUI
sidebarNavigationButton = NavigationButton sidebarNavigationButton = NavigationButton
.builder() .builder()
.priority(100) .priority(100)
.icon(sidebarClosedIcon) .icon(sidebarOpenIcon)
.tooltip("Open SideBar")
.onClick(this::toggleSidebar) .onClick(this::toggleSidebar)
.build(); .build();
@@ -487,7 +489,12 @@ public class ClientUI
null); null);
titleToolbar.addComponent(sidebarNavigationButton, sidebarNavigationJButton); titleToolbar.addComponent(sidebarNavigationButton, sidebarNavigationJButton);
toggleSidebar();
// Open sidebar if the config closed state is unset
if (configManager.getConfiguration(CONFIG_GROUP, CONFIG_CLIENT_SIDEBAR_CLOSED) == null)
{
toggleSidebar();
}
}); });
} }
@@ -875,6 +882,7 @@ public class ClientUI
{ {
sidebarNavigationJButton.setIcon(new ImageIcon(sidebarOpenIcon)); sidebarNavigationJButton.setIcon(new ImageIcon(sidebarOpenIcon));
sidebarNavigationJButton.setToolTipText("Open SideBar"); sidebarNavigationJButton.setToolTipText("Open SideBar");
configManager.setConfiguration(CONFIG_GROUP, CONFIG_CLIENT_SIDEBAR_CLOSED, true);
contract(); contract();
@@ -885,6 +893,7 @@ public class ClientUI
{ {
sidebarNavigationJButton.setIcon(new ImageIcon(sidebarClosedIcon)); sidebarNavigationJButton.setIcon(new ImageIcon(sidebarClosedIcon));
sidebarNavigationJButton.setToolTipText("Close SideBar"); sidebarNavigationJButton.setToolTipText("Close SideBar");
configManager.unsetConfiguration(CONFIG_GROUP, CONFIG_CLIENT_SIDEBAR_CLOSED);
// Try to restore last panel // Try to restore last panel
expand(currentNavButton); expand(currentNavButton);
@@ -1097,15 +1106,8 @@ public class ClientUI
} }
else else
{ {
// Try to expand sidebar
if (!sidebarOpen)
{
bounds.width += pluginToolbar.getWidth();
}
if (config.automaticResizeType() == ExpandResizeType.KEEP_GAME_SIZE) if (config.automaticResizeType() == ExpandResizeType.KEEP_GAME_SIZE)
{ {
// Try to contract plugin panel // Try to contract plugin panel
if (pluginPanel != null) if (pluginPanel != null)
{ {