Add support for delete / return keys in reader writer gui

This commit is contained in:
Raoul Van den Berge
2016-11-12 12:20:12 +01:00
parent d04749485d
commit 22773df0d9

View File

@@ -9,6 +9,7 @@ import com.raoulvdberge.refinedstorage.tile.data.TileDataManager;
import net.minecraft.client.gui.GuiButton; import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField; import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.GlStateManager;
import org.lwjgl.input.Keyboard;
import java.io.IOException; import java.io.IOException;
import java.util.Collections; import java.util.Collections;
@@ -149,7 +150,11 @@ public class GuiReaderWriter extends GuiBase {
@Override @Override
protected void keyTyped(char character, int keyCode) throws IOException { protected void keyTyped(char character, int keyCode) throws IOException {
if (!checkHotbarKeys(keyCode) && name.textboxKeyTyped(character, keyCode)) { if (keyCode == Keyboard.KEY_DELETE) {
sendRemove();
} else if (name.isFocused() && keyCode == Keyboard.KEY_RETURN) {
sendAdd();
} else if (!checkHotbarKeys(keyCode) && name.textboxKeyTyped(character, keyCode)) {
// NO OP // NO OP
} else { } else {
super.keyTyped(character, keyCode); super.keyTyped(character, keyCode);
@@ -160,14 +165,26 @@ public class GuiReaderWriter extends GuiBase {
protected void actionPerformed(GuiButton button) throws IOException { protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button); super.actionPerformed(button);
if (button == add) {
sendAdd();
} else if (button == remove) {
sendRemove();
}
}
private void sendAdd() {
String name = this.name.getText().trim(); String name = this.name.getText().trim();
if (!name.isEmpty()) { if (!name.isEmpty()) {
if (button == add) { RS.INSTANCE.network.sendToServer(new MessageReaderWriterChannelAdd(name));
RS.INSTANCE.network.sendToServer(new MessageReaderWriterChannelAdd(name)); }
} else if (button == remove) { }
RS.INSTANCE.network.sendToServer(new MessageReaderWriterChannelRemove(name));
} private void sendRemove() {
String name = this.name.getText().trim();
if (!name.isEmpty()) {
RS.INSTANCE.network.sendToServer(new MessageReaderWriterChannelRemove(name));
} }
} }