banktags: Save last opened tab when opening worn items (#11660)
Co-authored-by: Ron Young <admin@ryoung.io>
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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