From b05d17f6e0f6a9b3d088d7d529491f59f0fad523 Mon Sep 17 00:00:00 2001 From: Kamiel Date: Wed, 1 Aug 2018 23:50:34 +0200 Subject: [PATCH] chat history: clear public chat when menu option is clicked Fixes #1292 --- .../plugins/chathistory/ChatHistoryPlugin.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java index aabfd1eb89..d6f2266393 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chathistory/ChatHistoryPlugin.java @@ -45,8 +45,11 @@ import net.runelite.client.plugins.PluginDescriptor; public class ChatHistoryPlugin extends Plugin { private static final String WELCOME_MESSAGE = "Welcome to RuneScape."; + private static final String CLEAR_HISTORY = "Clear history"; + private static final String CLEAR_PRIVATE = "Private:"; private static final Set ALLOWED_HISTORY = Sets.newHashSet( ChatMessageType.PUBLIC, + ChatMessageType.PUBLIC_MOD, ChatMessageType.CLANCHAT, ChatMessageType.PRIVATE_MESSAGE_RECEIVED, ChatMessageType.PRIVATE_MESSAGE_SENT, @@ -109,10 +112,19 @@ public class ChatHistoryPlugin extends Plugin @Subscribe public void onMenuOptionClicked(MenuOptionClicked event) { - if (event.getMenuOption().contains("Clear history")) + String menuOption = event.getMenuOption(); + + if (menuOption.contains(CLEAR_HISTORY)) { - messageQueue.removeIf(e -> e.getType() == ChatMessageType.PRIVATE_MESSAGE_RECEIVED || + if (menuOption.startsWith(CLEAR_PRIVATE)) + { + messageQueue.removeIf(e -> e.getType() == ChatMessageType.PRIVATE_MESSAGE_RECEIVED || e.getType() == ChatMessageType.PRIVATE_MESSAGE_SENT || e.getType() == ChatMessageType.PRIVATE_MESSAGE_RECEIVED_MOD); + } + else + { + messageQueue.removeIf(e -> e.getType() == ChatMessageType.PUBLIC || e.getType() == ChatMessageType.PUBLIC_MOD); + } } }