From 9e1de80cae6d09adcaa28399aef4c7be8607ce66 Mon Sep 17 00:00:00 2001 From: Edouard127 <46357922+Edouard127@users.noreply.github.com> Date: Sat, 11 Feb 2023 13:42:26 -0500 Subject: [PATCH 1/4] Added copy/paste in module options --- .../lambda/client/gui/rgui/component/StringButton.kt | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt b/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt index 0c7b24ff8..fb0fe0fd8 100644 --- a/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt +++ b/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt @@ -8,8 +8,10 @@ import com.lambda.client.util.graphics.VertexHelper import com.lambda.client.util.graphics.font.FontRenderAdapter import com.lambda.client.util.math.Vec2d import com.lambda.client.util.math.Vec2f +import net.minecraft.client.gui.GuiScreen import org.lwjgl.input.Keyboard import kotlin.math.max +import kotlin.math.min class StringButton(val setting: StringSetting) : BooleanSlider(setting.name, 1.0, setting.description, setting.visibility) { @@ -63,6 +65,16 @@ class StringButton(val setting: StringSetting) : BooleanSlider(setting.name, 1.0 val typedChar = Keyboard.getEventCharacter() if (keyState) { when (keyCode) { + Keyboard.KEY_V, Keyboard.KEY_INSERT -> { + if (!GuiScreen.isCtrlKeyDown() && keyCode != Keyboard.KEY_INSERT) return + componentName = GuiScreen.getClipboardString().substring(0, min(GuiScreen.getClipboardString().length - 1, 256)).replace("\n", "") + onStopListening(true) + } + Keyboard.KEY_C -> { + if (!GuiScreen.isCtrlKeyDown()) return + GuiScreen.setClipboardString(componentName) + onStopListening(true) + } Keyboard.KEY_RETURN -> { onStopListening(true) } From 42219fabf9784daf064b5f7d4d1e50c7e1b98d8a Mon Sep 17 00:00:00 2001 From: Edouard127 <46357922+Edouard127@users.noreply.github.com> Date: Mon, 1 May 2023 20:32:36 -0400 Subject: [PATCH 2/4] Fix: copy/paste --- .../client/gui/rgui/component/StringButton.kt | 29 +++++++++---------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt b/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt index fb0fe0fd8..29ce26788 100644 --- a/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt +++ b/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt @@ -66,24 +66,23 @@ class StringButton(val setting: StringSetting) : BooleanSlider(setting.name, 1.0 if (keyState) { when (keyCode) { Keyboard.KEY_V, Keyboard.KEY_INSERT -> { - if (!GuiScreen.isCtrlKeyDown() && keyCode != Keyboard.KEY_INSERT) return - componentName = GuiScreen.getClipboardString().substring(0, min(GuiScreen.getClipboardString().length - 1, 256)).replace("\n", "") - onStopListening(true) + if (!GuiScreen.isCtrlKeyDown() && keyCode == Keyboard.KEY_V) componentName += typedChar + else { + componentName = GuiScreen.getClipboardString() + onStopListening(true) + } } Keyboard.KEY_C -> { - if (!GuiScreen.isCtrlKeyDown()) return - GuiScreen.setClipboardString(componentName) - onStopListening(true) - } - Keyboard.KEY_RETURN -> { - onStopListening(true) - } - Keyboard.KEY_BACK, Keyboard.KEY_DELETE -> { - componentName = componentName.substring(0, max(componentName.length - 1, 0)) - } - else -> if (typedChar >= ' ') { - componentName += typedChar + if (!GuiScreen.isCtrlKeyDown()) componentName += typedChar + else { + GuiScreen.setClipboardString(componentName) + onStopListening(true) + } } + Keyboard.KEY_RETURN -> onStopListening(true) + Keyboard.KEY_BACK -> componentName = componentName.dropLast(1) + Keyboard.KEY_DELETE -> componentName = "" + else -> if (typedChar >= ' ') componentName += typedChar } } } From e4bbee6af304f4609a7a9ad8629d8a0f7889558a Mon Sep 17 00:00:00 2001 From: Edouard127 <46357922+Edouard127@users.noreply.github.com> Date: Mon, 1 May 2023 20:37:25 -0400 Subject: [PATCH 3/4] Refactor: Code style --- .../client/gui/rgui/component/StringButton.kt | 38 ++++++++++--------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt b/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt index 29ce26788..178ae546c 100644 --- a/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt +++ b/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt @@ -63,27 +63,29 @@ class StringButton(val setting: StringSetting) : BooleanSlider(setting.name, 1.0 override fun onKeyInput(keyCode: Int, keyState: Boolean) { super.onKeyInput(keyCode, keyState) val typedChar = Keyboard.getEventCharacter() - if (keyState) { - when (keyCode) { - Keyboard.KEY_V, Keyboard.KEY_INSERT -> { - if (!GuiScreen.isCtrlKeyDown() && keyCode == Keyboard.KEY_V) componentName += typedChar - else { - componentName = GuiScreen.getClipboardString() - onStopListening(true) - } + if (!keyState) return + + when (keyCode) { + Keyboard.KEY_V, Keyboard.KEY_INSERT -> { + if (!GuiScreen.isCtrlKeyDown() && keyCode == Keyboard.KEY_V) componentName += typedChar + else { + componentName = GuiScreen.getClipboardString() + onStopListening(true) } - Keyboard.KEY_C -> { - if (!GuiScreen.isCtrlKeyDown()) componentName += typedChar - else { - GuiScreen.setClipboardString(componentName) - onStopListening(true) - } + } + + Keyboard.KEY_C -> { + if (!GuiScreen.isCtrlKeyDown()) componentName += typedChar + else { + GuiScreen.setClipboardString(componentName) + onStopListening(true) } - Keyboard.KEY_RETURN -> onStopListening(true) - Keyboard.KEY_BACK -> componentName = componentName.dropLast(1) - Keyboard.KEY_DELETE -> componentName = "" - else -> if (typedChar >= ' ') componentName += typedChar } + + Keyboard.KEY_RETURN -> onStopListening(true) + Keyboard.KEY_BACK -> componentName = componentName.dropLast(1) + Keyboard.KEY_DELETE -> componentName = "" + else -> if (typedChar >= ' ') componentName += typedChar } } From e43e8eea4a78a7829c4ae58b06b91694683f9f45 Mon Sep 17 00:00:00 2001 From: Constructor Date: Fri, 5 May 2023 20:28:55 +0200 Subject: [PATCH 4/4] Improve usability --- .../client/gui/rgui/component/StringButton.kt | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt b/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt index 178ae546c..b0c2825d2 100644 --- a/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt +++ b/src/main/kotlin/com/lambda/client/gui/rgui/component/StringButton.kt @@ -67,21 +67,19 @@ class StringButton(val setting: StringSetting) : BooleanSlider(setting.name, 1.0 when (keyCode) { Keyboard.KEY_V, Keyboard.KEY_INSERT -> { - if (!GuiScreen.isCtrlKeyDown() && keyCode == Keyboard.KEY_V) componentName += typedChar - else { - componentName = GuiScreen.getClipboardString() - onStopListening(true) + if (!GuiScreen.isCtrlKeyDown() && keyCode == Keyboard.KEY_V) { + componentName += typedChar + } else { + componentName += GuiScreen.getClipboardString().trim() } } - Keyboard.KEY_C -> { - if (!GuiScreen.isCtrlKeyDown()) componentName += typedChar - else { + if (GuiScreen.isCtrlKeyDown()) { GuiScreen.setClipboardString(componentName) - onStopListening(true) + } else { + componentName += typedChar } } - Keyboard.KEY_RETURN -> onStopListening(true) Keyboard.KEY_BACK -> componentName = componentName.dropLast(1) Keyboard.KEY_DELETE -> componentName = ""