From 0b667b3beb5169888b9fbbb1464c4d88f866c7cb Mon Sep 17 00:00:00 2001 From: isXander Date: Sat, 10 Dec 2022 23:14:25 +0000 Subject: allow pasting in color controllers --- .../yacl/gui/controllers/ColorController.java | 17 ++++++- .../string/StringControllerElement.java | 58 ++++++++++++++-------- 2 files changed, 53 insertions(+), 22 deletions(-) (limited to 'src/client/java') diff --git a/src/client/java/dev/isxander/yacl/gui/controllers/ColorController.java b/src/client/java/dev/isxander/yacl/gui/controllers/ColorController.java index b8e1942..7ed9ec1 100644 --- a/src/client/java/dev/isxander/yacl/gui/controllers/ColorController.java +++ b/src/client/java/dev/isxander/yacl/gui/controllers/ColorController.java @@ -126,6 +126,7 @@ public class ColorController implements IStringController { @Override public void write(String string) { + if (string.startsWith("0x")) string = string.substring(2); for (char chr : string.toCharArray()) { if (!allowedChars.contains(Character.toLowerCase(chr))) { return; @@ -156,11 +157,25 @@ public class ColorController implements IStringController { @Override protected void doDelete() { + if (caretPos >= 1) { + if (modifyInput(builder -> builder.setCharAt(caretPos, '0'))) { + updateControl(); + } + } + } + + @Override + protected boolean doCut() { + return false; + } + @Override + protected boolean doCopy() { + return false; } @Override - protected boolean canUseShortcuts() { + protected boolean doSelectAll() { return false; } 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