From c1b2017bb1208137728e933b6c937b21bb25d403 Mon Sep 17 00:00:00 2001 From: Cyborger1 <45152844+Cyborger1@users.noreply.github.com> Date: Sun, 28 Feb 2021 16:47:08 -0800 Subject: [PATCH] ground markers: Add import/export menu option toggle --- .../groundmarkers/GroundMarkerConfig.java | 15 ++++++++++++- .../groundmarkers/GroundMarkerPlugin.java | 21 ++++++++++++++++++- .../GroundMarkerSharingManager.java | 2 +- 3 files changed, 35 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerConfig.java index bc2a65f0d9..75a465aea4 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerConfig.java @@ -31,9 +31,12 @@ import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -@ConfigGroup("groundMarker") +@ConfigGroup(GroundMarkerConfig.GROUND_MARKER_CONFIG_GROUP) public interface GroundMarkerConfig extends Config { + String GROUND_MARKER_CONFIG_GROUP = "groundMarker"; + String SHOW_IMPORT_EXPORT_KEY_NAME = "showImportExport"; + @Alpha @ConfigItem( keyName = "markerColor", @@ -64,4 +67,14 @@ public interface GroundMarkerConfig extends Config { return false; } + + @ConfigItem( + keyName = SHOW_IMPORT_EXPORT_KEY_NAME, + name = "Show Import/Export options", + description = "Show the Import/Export options on the minimap right-click menu" + ) + default boolean showImportExport() + { + return true; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java index 81ac210bfc..675a249a94 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java @@ -54,6 +54,7 @@ import net.runelite.api.events.MenuOptionClicked; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.EventBus; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.chatbox.ChatboxPanelManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -190,7 +191,10 @@ public class GroundMarkerPlugin extends Plugin { overlayManager.add(overlay); overlayManager.add(minimapOverlay); - sharingManager.addMenuOptions(); + if (config.showImportExport()) + { + sharingManager.addImportExportMenuOptions(); + } loadPoints(); eventBus.register(sharingManager); } @@ -280,6 +284,21 @@ public class GroundMarkerPlugin extends Plugin } } + @Subscribe + public void onConfigChanged(ConfigChanged event) + { + if (event.getGroup().equals(GroundMarkerConfig.GROUND_MARKER_CONFIG_GROUP) + && event.getKey().equals(GroundMarkerConfig.SHOW_IMPORT_EXPORT_KEY_NAME)) + { + sharingManager.removeMenuOptions(); + + if (config.showImportExport()) + { + sharingManager.addImportExportMenuOptions(); + } + } + } + private void markTile(LocalPoint localPoint) { if (localPoint == null) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerSharingManager.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerSharingManager.java index 91c0e800ac..7121a08afc 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerSharingManager.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerSharingManager.java @@ -79,7 +79,7 @@ class GroundMarkerSharingManager this.gson = gson; } - void addMenuOptions() + void addImportExportMenuOptions() { menuManager.addManagedCustomMenu(EXPORT_MARKERS_OPTION); menuManager.addManagedCustomMenu(IMPORT_MARKERS_OPTION);