diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationConfig.java index c7fd268532..3bc0a31f9f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationConfig.java @@ -21,11 +21,25 @@ public interface ChatTranslationConfig extends Config return false; } + @ConfigItem( + keyName = "translateOptionVisable", + name = "Show 'Translate' menu option", + description = "Adds 'Translate' to the right-click menu in the Chatbox.", + position = 1, + group = "Public Chat Translation", + hidden = true +// unhide = "publicChat" + ) + default boolean translateOptionVisable() + { + return true; + } + @ConfigItem( keyName = "publicTargetLanguage", name = "Target Language", description = "Language to translate messages too.", - position = 1, + position = 2, group = "Public Chat Translation", hidden = true // unhide = "publicChat" @@ -39,7 +53,7 @@ public interface ChatTranslationConfig extends Config keyName = "playerChat", name = "Translate outgoing Messages", description = "Would you like to Translate your Messages?", - position = 2, + position = 3, group = "Player Message Translation" ) default boolean playerChat() @@ -51,7 +65,7 @@ public interface ChatTranslationConfig extends Config keyName = "playerTargetLanguage", name = "Target Language", description = "Language to translate messages too.", - position = 3, + position = 4, group = "Player Message Translation", hidden = true, unhide = "playerChat" diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java index 743f89a096..85dc748859 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chattranslation/ChatTranslationPlugin.java @@ -34,7 +34,7 @@ import java.awt.event.KeyEvent; public class ChatTranslationPlugin extends Plugin implements KeyListener { - public static final String TRANSLATE = "Translate"; + private static final String TRANSLATE = "Translate"; private static final ImmutableList AFTER_OPTIONS = ImmutableList.of("Message", "Add ignore", "Remove friend", "Kick"); @Inject @@ -66,7 +66,10 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener { if (client != null) { - menuManager.get().addPlayerMenuItem(TRANSLATE); + if (config.translateOptionVisable()) + { + menuManager.get().addPlayerMenuItem(TRANSLATE); + } } keyManager.registerKeyListener(this); } @@ -76,7 +79,10 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener { if (client != null) { - menuManager.get().removePlayerMenuItem(TRANSLATE); + if (config.translateOptionVisable()) + { + menuManager.get().removePlayerMenuItem(TRANSLATE); + } } keyManager.unregisterKeyListener(this); } @@ -93,6 +99,11 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener @Subscribe public void onMenuEntryAdded(MenuEntryAdded event) { + if (!config.translateOptionVisable()) + { + return; + } + int groupId = WidgetInfo.TO_GROUP(event.getActionParam1()); String option = event.getOption(); @@ -180,42 +191,33 @@ public class ChatTranslationPlugin extends Plugin implements KeyListener if (chatboxParent != null && chatboxParent.getOnKeyListener() != null) { - if (event.getKeyCode() == 0xA) + if (event.getKeyCode() == 0xA) + { + event.consume(); + + Translator translator = new Translator(); + String message = client.getVar(VarClientStr.CHATBOX_TYPED_TEXT); + + try { - event.consume(); - - Translator translator = new Translator(); - - String message = client.getVar(VarClientStr.CHATBOX_TYPED_TEXT); - - try + //Automatically check language of message and translate to selected language. + String translation = translator.translate("auto", config.playerTargetLanguage().toString(), message); + if (translation != null) { - //Automatically check language of message and translate to selected language. - String translation = translator.translate("auto", config.playerTargetLanguage().toString(), message); + client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, translation); - if (translation != null) + clientThread.invoke(() -> { - client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, translation); - - clientThread.invoke(() -> - { - client.runScript(96, 0, translation); - } - ); - - } - - client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, ""); - } - catch (Exception e) - { - e.printStackTrace(); + client.runScript(96, 0, translation); + }); } + client.setVar(VarClientStr.CHATBOX_TYPED_TEXT, ""); } - } - else - { - return; + catch (Exception e) + { + e.printStackTrace(); + } + } } }