From 5b236b920ee3330d72dc1da25e64a973dcf27b3e Mon Sep 17 00:00:00 2001 From: Hydrox6 Date: Sat, 19 Oct 2019 03:25:42 +0100 Subject: [PATCH] loot tracker: add price type display --- .../client/plugins/loottracker/LootTrackerBox.java | 11 ++++++++++- .../client/plugins/loottracker/LootTrackerConfig.java | 10 ++++++++++ .../client/plugins/loottracker/LootTrackerPanel.java | 10 ++++++++-- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java index 6438e82c60..24e521d3be 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerBox.java @@ -70,6 +70,7 @@ class LootTrackerBox extends JPanel @Getter(AccessLevel.PACKAGE) private final String id; private final LootTrackerPriceType priceType; + private final boolean showPriceType; @Getter private final List records = new ArrayList<>(); @@ -84,6 +85,7 @@ class LootTrackerBox extends JPanel @Nullable final String subtitle, final boolean hideIgnoredItems, final LootTrackerPriceType priceType, + final boolean showPriceType, final BiConsumer onItemToggle) { this.id = id; @@ -91,6 +93,7 @@ class LootTrackerBox extends JPanel this.onItemToggle = onItemToggle; this.hideIgnoredItems = hideIgnoredItems; this.priceType = priceType; + this.showPriceType = showPriceType; setLayout(new BorderLayout(0, 1)); setBorder(new EmptyBorder(5, 0, 0, 0)); @@ -184,7 +187,13 @@ class LootTrackerBox extends JPanel { buildItems(); - priceLabel.setText(QuantityFormatter.quantityToStackSize(totalPrice) + " gp"); + String priceTypeString = " "; + if (showPriceType) + { + priceTypeString = priceType == LootTrackerPriceType.HIGH_ALCHEMY ? "HA: " : "GE: "; + } + + priceLabel.setText(priceTypeString + QuantityFormatter.quantityToStackSize(totalPrice) + " gp"); priceLabel.setToolTipText(QuantityFormatter.formatNumber(totalPrice) + " gp"); final long kills = getTotalKills(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java index 1b212ae81b..55fee8a6c4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java @@ -59,6 +59,16 @@ public interface LootTrackerConfig extends Config return LootTrackerPriceType.GRAND_EXCHANGE; } + @ConfigItem( + keyName = "showPriceType", + name = "Show Price Type", + description = "Whether to show a GE: or HA: next to the total values in the tracker" + ) + default boolean showPriceType() + { + return false; + } + @ConfigItem( keyName = "saveLoot", name = "Submit loot tracker data", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java index 59e23dbd96..6001df2923 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java @@ -519,7 +519,7 @@ class LootTrackerPanel extends PluginPanel // Create box final LootTrackerBox box = new LootTrackerBox(itemManager, record.getTitle(), record.getSubTitle(), - hideIgnoredItems, config.priceType(), plugin::toggleItem); + hideIgnoredItems, config.priceType(), config.showPriceType(), plugin::toggleItem); box.combine(record); // Create popup menu @@ -625,8 +625,14 @@ class LootTrackerPanel extends PluginPanel } } + String priceType = ""; + if (config.showPriceType()) + { + priceType = config.priceType() == LootTrackerPriceType.HIGH_ALCHEMY ? "HA " : "GE "; + } + overallKillsLabel.setText(htmlLabel("Total count: ", overallKills)); - overallGpLabel.setText(htmlLabel("Total value: ", config.priceType() == LootTrackerPriceType.HIGH_ALCHEMY ? overallHa : overallGe)); + overallGpLabel.setText(htmlLabel("Total " + priceType + "value: ", config.priceType() == LootTrackerPriceType.HIGH_ALCHEMY ? overallHa : overallGe)); overallGpLabel.setToolTipText("Total GE price: " + QuantityFormatter.formatNumber(overallGe) + "
Total HA price: " + QuantityFormatter.formatNumber(overallHa) + ""); updateCollapseText();