Merge remote-tracking branch 'runelite/master'

This commit is contained in:
Owain van Brakel
2022-04-20 19:21:32 +02:00
2 changed files with 31 additions and 28 deletions

View File

@@ -140,6 +140,11 @@ public class AntiDragPlugin extends Plugin implements KeyListener
} }
} }
private boolean isOverriding()
{
return (!config.onShiftOnly() || shiftHeld) && !ctrlHeld;
}
@Subscribe @Subscribe
public void onConfigChanged(ConfigChanged event) public void onConfigChanged(ConfigChanged event)
{ {
@@ -180,9 +185,14 @@ public class AntiDragPlugin extends Plugin implements KeyListener
@Subscribe @Subscribe
public void onWidgetLoaded(WidgetLoaded widgetLoaded) public void onWidgetLoaded(WidgetLoaded widgetLoaded)
{ {
if ((widgetLoaded.getGroupId() == WidgetID.BANK_GROUP_ID || if (!isOverriding())
{
return;
}
if (widgetLoaded.getGroupId() == WidgetID.BANK_GROUP_ID ||
widgetLoaded.getGroupId() == WidgetID.BANK_INVENTORY_GROUP_ID || widgetLoaded.getGroupId() == WidgetID.BANK_INVENTORY_GROUP_ID ||
widgetLoaded.getGroupId() == WidgetID.DEPOSIT_BOX_GROUP_ID) && (!config.onShiftOnly() || shiftHeld) && !ctrlHeld) widgetLoaded.getGroupId() == WidgetID.DEPOSIT_BOX_GROUP_ID)
{ {
setBankDragDelay(config.dragDelay()); setBankDragDelay(config.dragDelay());
} }
@@ -199,11 +209,15 @@ public class AntiDragPlugin extends Plugin implements KeyListener
{ {
Widget inv = client.getWidget(WidgetInfo.INVENTORY); Widget inv = client.getWidget(WidgetInfo.INVENTORY);
final int delay = config.dragDelay(); final int delay = config.dragDelay();
boolean overriding = isOverriding();
for (Widget child : inv.getDynamicChildren()) for (Widget child : inv.getDynamicChildren())
{ {
// disable [clientscript,inventory_antidrag_update] listener // disable [clientscript,inventory_antidrag_update] listener
child.setOnMouseRepeatListener((Object[]) null); child.setOnMouseRepeatListener((Object[]) null);
child.setDragDeadTime(delay); if (overriding)
{
child.setDragDeadTime(delay);
}
} }
} }
} }

View File

@@ -85,29 +85,20 @@ public class ItemStatOverlay extends Overlay
final MenuEntry[] menu = client.getMenuEntries(); final MenuEntry[] menu = client.getMenuEntries();
final int menuSize = menu.length; final int menuSize = menu.length;
if (menuSize <= 0) if (menuSize <= 0)
{ {
return null; return null;
} }
final MenuEntry entry = menu[menuSize - 1]; final MenuEntry entry = menu[menuSize - 1];
final int group = WidgetInfo.TO_GROUP(entry.getParam1()); final Widget widget = entry.getWidget();
final int child = WidgetInfo.TO_CHILD(entry.getParam1()); if (widget == null)
final Widget widget = client.getWidget(group, child);
if (widget == null
|| !(group == WidgetInfo.INVENTORY.getGroupId()
|| group == WidgetInfo.EQUIPMENT.getGroupId()
|| group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId()
|| (config.showStatsInBank()
&& ((group == WidgetInfo.BANK_ITEM_CONTAINER.getGroupId() && child == WidgetInfo.BANK_ITEM_CONTAINER.getChildId())
|| group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId()))))
{ {
return null; return null;
} }
int itemId = entry.getIdentifier(); final int group = WidgetInfo.TO_GROUP(widget.getId());
int itemId = -1;
if (group == WidgetInfo.EQUIPMENT.getGroupId() || if (group == WidgetInfo.EQUIPMENT.getGroupId() ||
// For bank worn equipment, check widget parent to differentiate from normal bank items // For bank worn equipment, check widget parent to differentiate from normal bank items
@@ -119,19 +110,17 @@ public class ItemStatOverlay extends Overlay
itemId = widgetItem.getItemId(); itemId = widgetItem.getItemId();
} }
} }
else if (group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId() else if (widget.getId() == WidgetInfo.INVENTORY.getId()
|| group == WidgetInfo.BANK_ITEM_CONTAINER.getGroupId() || group == WidgetInfo.EQUIPMENT_INVENTORY_ITEMS_CONTAINER.getGroupId()
|| group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId()) || widget.getId() == WidgetInfo.BANK_ITEM_CONTAINER.getId() && config.showStatsInBank()
|| group == WidgetInfo.BANK_INVENTORY_ITEMS_CONTAINER.getGroupId() && config.showStatsInBank())
{ {
int index = entry.getParam0(); itemId = widget.getItemId();
if (index > -1) }
{
final Widget widgetItem = widget.getChild(index); if (itemId == -1)
if (widgetItem != null) {
{ return null;
itemId = widgetItem.getItemId();
}
}
} }
if (config.consumableStats()) if (config.consumableStats())