diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java index 027c8355df..1230b03e70 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java @@ -89,11 +89,28 @@ class XpPanel extends PluginPanel final JMenuItem reset = new JMenuItem("Reset All"); reset.addActionListener(e -> xpTrackerPlugin.resetAndInitState()); + // Create pause all menu + final JMenuItem pauseAll = new JMenuItem("Pause All"); + pauseAll.addActionListener(e -> + { + if (pauseAll.getText().equals("Pause All")) + { + xpTrackerPlugin.pauseAllSkills(true); + pauseAll.setText("Unpause All"); + } + else + { + xpTrackerPlugin.pauseAllSkills(false); + pauseAll.setText("Pause All"); + } + }); + // Create popup menu final JPopupMenu popupMenu = new JPopupMenu(); popupMenu.setBorder(new EmptyBorder(5, 5, 5, 5)); popupMenu.add(openXpTracker); popupMenu.add(reset); + popupMenu.add(pauseAll); overallPanel.setComponentPopupMenu(popupMenu); final JLabel overallIcon = new JLabel(new ImageIcon(iconManager.getSkillImage(Skill.OVERALL))); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 9f13ea9d33..0abbab180f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -418,4 +418,12 @@ public class XpTrackerPlugin extends Plugin xpPanel.updateSkillExperience(false, xpPauseState.isPaused(skill), skill, xpState.getSkillSnapshot(skill)); } } + + void pauseAllSkills(boolean pause) + { + for (Skill skill : Skill.values()) + { + pauseSkill(skill, pause); + } + } }