banktags: Save last opened tab when opening worn items (#11660)

Co-authored-by: Ron Young <admin@ryoung.io>
This commit is contained in:
johannfrias
2020-06-24 00:04:15 -04:00
committed by GitHub
parent a448e50562
commit 3e7b9e169f
3 changed files with 56 additions and 23 deletions

View File

@@ -252,6 +252,7 @@ public class WidgetID
static final int BANK_CONTAINER = 1;
static final int INVENTORY_ITEM_CONTAINER = 3;
static final int BANK_TITLE_BAR = 3;
static final int TUTORIAL_BUTTON = 4;
static final int ITEM_COUNT_TOP = 5;
static final int ITEM_COUNT_BAR = 6;
static final int ITEM_COUNT_BOTTOM = 7;
@@ -264,6 +265,7 @@ public class WidgetID
static final int INCINERATOR = 45;
static final int INCINERATOR_CONFIRM = 46;
static final int EQUIPMENT_CONTENT_CONTAINER = 68;
static final int SETTINGS_BUTTON = 108;
static final int EQUIPMENT_BUTTON = 109;
}

View File

@@ -147,6 +147,8 @@ public enum WidgetInfo
BANK_ITEM_COUNT_BAR(WidgetID.BANK_GROUP_ID, WidgetID.Bank.ITEM_COUNT_BAR),
BANK_ITEM_COUNT_BOTTOM(WidgetID.BANK_GROUP_ID, WidgetID.Bank.ITEM_COUNT_BOTTOM),
BANK_PIN_CONTAINER(WidgetID.BANK_PIN_GROUP_ID, WidgetID.BankPin.CONTAINER),
BANK_SETTINGS_BUTTON(WidgetID.BANK_GROUP_ID, WidgetID.Bank.SETTINGS_BUTTON),
BANK_TUTORIAL_BUTTON(WidgetID.BANK_GROUP_ID, WidgetID.Bank.TUTORIAL_BUTTON),
GRAND_EXCHANGE_WINDOW_CONTAINER(WidgetID.GRAND_EXCHANGE_GROUP_ID, WidgetID.GrandExchange.WINDOW_CONTAINER),
GRAND_EXCHANGE_OFFER_CONTAINER(WidgetID.GRAND_EXCHANGE_GROUP_ID, WidgetID.GrandExchange.OFFER_CONTAINER),

View File

@@ -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());