diff options
author | isXander <xandersmith2008@gmail.com> | 2022-12-10 23:14:25 +0000 |
---|---|---|
committer | isXander <xandersmith2008@gmail.com> | 2022-12-10 23:14:25 +0000 |
commit | 0b667b3beb5169888b9fbbb1464c4d88f866c7cb (patch) | |
tree | ac667a066c6be37ced57245be0abf90c24969a7b /src/client/java/dev/isxander/yacl/gui/controllers/string | |
parent | 2919ef30b8be41b7089c759840c1021f6d03f219 (diff) | |
download | YetAnotherConfigLib-0b667b3beb5169888b9fbbb1464c4d88f866c7cb.tar.gz YetAnotherConfigLib-0b667b3beb5169888b9fbbb1464c4d88f866c7cb.tar.bz2 YetAnotherConfigLib-0b667b3beb5169888b9fbbb1464c4d88f866c7cb.zip |
allow pasting in color controllers
Diffstat (limited to 'src/client/java/dev/isxander/yacl/gui/controllers/string')
-rw-r--r-- | src/client/java/dev/isxander/yacl/gui/controllers/string/StringControllerElement.java | 58 |
1 files changed, 37 insertions, 21 deletions
diff --git a/src/client/java/dev/isxander/yacl/gui/controllers/string/StringControllerElement.java b/src/client/java/dev/isxander/yacl/gui/controllers/string/StringControllerElement.java index d2c752b..68d02c6 100644 --- a/src/client/java/dev/isxander/yacl/gui/controllers/string/StringControllerElement.java +++ b/src/client/java/dev/isxander/yacl/gui/controllers/string/StringControllerElement.java @@ -193,28 +193,48 @@ public class StringControllerElement extends ControllerWidget<IStringController< } } - if (canUseShortcuts()) { - if (Screen.isPaste(keyCode)) { - this.write(client.keyboard.getClipboard()); - return true; - } else if (Screen.isCopy(keyCode) && selectionLength != 0) { - client.keyboard.setClipboard(getSelection()); - return true; - } else if (Screen.isCut(keyCode) && selectionLength != 0) { - client.keyboard.setClipboard(getSelection()); - this.write(""); - return true; - } else if (Screen.isSelectAll(keyCode)) { - caretPos = inputField.length(); - checkRenderOffset(); - selectionLength = -caretPos; - return true; - } + if (Screen.isPaste(keyCode)) { + return doPaste(); + } else if (Screen.isCopy(keyCode)) { + return doCopy(); + } else if (Screen.isCut(keyCode)) { + return doCut(); + } else if (Screen.isSelectAll(keyCode)) { + return doSelectAll(); } return false; } + protected boolean doPaste() { + this.write(client.keyboard.getClipboard()); + return true; + } + + protected boolean doCopy() { + if (selectionLength != 0) { + client.keyboard.setClipboard(getSelection()); + return true; + } + return false; + } + + protected boolean doCut() { + if (selectionLength != 0) { + client.keyboard.setClipboard(getSelection()); + this.write(""); + return true; + } + return false; + } + + protected boolean doSelectAll() { + caretPos = inputField.length(); + checkRenderOffset(); + selectionLength = -caretPos; + return true; + } + protected void checkRenderOffset() { if (textRenderer.getWidth(inputField) < getUnshiftedLength()) { renderOffset = 0; @@ -241,10 +261,6 @@ public class StringControllerElement extends ControllerWidget<IStringController< return true; } - protected boolean canUseShortcuts() { - return true; - } - protected void doBackspace() { if (selectionLength != 0) { write(""); |