banktags: Save last opened tab when opening worn items (#11660)
Co-authored-by: Ron Young <admin@ryoung.io>
This commit is contained in:
@@ -116,6 +116,11 @@ public class TabInterface
|
||||
private static final String TAB_MENU_KEY = "tagtabs";
|
||||
private static final String TAB_MENU = TAG_SEARCH + TAB_MENU_KEY;
|
||||
private static final String OPEN_TAB_MENU = "View tag tabs";
|
||||
private static final String SHOW_WORN = "Show worn items";
|
||||
private static final String SHOW_SETTINGS = "Show menu";
|
||||
private static final String HIDE_WORN = "Hide worn items";
|
||||
private static final String HIDE_SETTINGS = "Hide menu";
|
||||
private static final String SHOW_TUTORIAL = "Show tutorial";
|
||||
private static final int TAB_HEIGHT = 40;
|
||||
private static final int TAB_WIDTH = 39;
|
||||
private static final int BUTTON_HEIGHT = 20;
|
||||
@@ -497,29 +502,13 @@ public class TabInterface
|
||||
waitSearchTick = false;
|
||||
rememberedSearch = "";
|
||||
|
||||
// If bank window was just hidden, update last active tab position
|
||||
if (currentTabIndex != config.position())
|
||||
{
|
||||
config.position(currentTabIndex);
|
||||
}
|
||||
|
||||
// Do the same for last active tab
|
||||
if (config.rememberTab())
|
||||
{
|
||||
if (activeTab == null && !Strings.isNullOrEmpty(config.tab()))
|
||||
{
|
||||
config.tab("");
|
||||
}
|
||||
else if (activeTab != null && !activeTab.getTag().equals(config.tab()))
|
||||
{
|
||||
config.tab(activeTab.getTag());
|
||||
}
|
||||
}
|
||||
else if (!Strings.isNullOrEmpty(config.tab()))
|
||||
{
|
||||
config.tab("");
|
||||
}
|
||||
saveTab();
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't continue ticking if equipment menu or bank menu is open
|
||||
if (parent.isSelfHidden())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -578,6 +567,32 @@ public class TabInterface
|
||||
scrollTab(0);
|
||||
}
|
||||
|
||||
private void saveTab()
|
||||
{
|
||||
// If bank window was just hidden, update last active tab position
|
||||
if (currentTabIndex != config.position())
|
||||
{
|
||||
config.position(currentTabIndex);
|
||||
}
|
||||
|
||||
// Do the same for last active tab
|
||||
if (config.rememberTab())
|
||||
{
|
||||
if (activeTab == null && !Strings.isNullOrEmpty(config.tab()))
|
||||
{
|
||||
config.tab("");
|
||||
}
|
||||
else if (activeTab != null && !activeTab.getTag().equals(config.tab()))
|
||||
{
|
||||
config.tab(activeTab.getTag());
|
||||
}
|
||||
}
|
||||
else if (!Strings.isNullOrEmpty(config.tab()))
|
||||
{
|
||||
config.tab("");
|
||||
}
|
||||
}
|
||||
|
||||
private void setTabMenuVisible(boolean visible)
|
||||
{
|
||||
for (TagTab t : tabManager.getTabs())
|
||||
@@ -753,6 +768,20 @@ public class TabInterface
|
||||
{
|
||||
handleDeposit(event, event.getWidgetId() == WidgetInfo.BANK_DEPOSIT_INVENTORY.getId());
|
||||
}
|
||||
else if (activeTab != null && ((event.getWidgetId() == WidgetInfo.BANK_EQUIPMENT_BUTTON.getId() && event.getMenuOption().equals(SHOW_WORN))
|
||||
|| (event.getWidgetId() == WidgetInfo.BANK_SETTINGS_BUTTON.getId() && event.getMenuOption().equals(SHOW_SETTINGS))
|
||||
|| (event.getWidgetId() == WidgetInfo.BANK_TUTORIAL_BUTTON.getId() && event.getMenuOption().equals(SHOW_TUTORIAL))))
|
||||
{
|
||||
saveTab();
|
||||
rememberedSearch = TAG_SEARCH + activeTab.getTag();
|
||||
}
|
||||
else if (!Strings.isNullOrEmpty(rememberedSearch) && ((event.getWidgetId() == WidgetInfo.BANK_EQUIPMENT_BUTTON.getId() && event.getMenuOption().equals(HIDE_WORN))
|
||||
|| (event.getWidgetId() == WidgetInfo.BANK_SETTINGS_BUTTON.getId() && event.getMenuOption().equals(HIDE_SETTINGS))))
|
||||
{
|
||||
bankSearch.reset(true);
|
||||
bankSearch.search(InputType.NONE, rememberedSearch, true);
|
||||
rememberedSearch = "";
|
||||
}
|
||||
}
|
||||
|
||||
public void updateTabIfActive(final Collection<String> tags)
|
||||
@@ -830,7 +859,7 @@ public class TabInterface
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (client.getVar(Varbits.BANK_REARRANGE_MODE) == 0)
|
||||
{
|
||||
tabManager.swap(source.getName(), dest.getName());
|
||||
|
||||
Reference in New Issue
Block a user