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.GuiTextField;
import net.minecraft.client.renderer.GlStateManager;
import org.lwjgl.input.Keyboard;
import java.io.IOException;
import java.util.Collections;
@@ -149,7 +150,11 @@ public class GuiReaderWriter extends GuiBase {
@Override
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
} else {
super.keyTyped(character, keyCode);
@@ -160,15 +165,27 @@ public class GuiReaderWriter extends GuiBase {
protected void actionPerformed(GuiButton button) throws IOException {
super.actionPerformed(button);
if (button == add) {
sendAdd();
} else if (button == remove) {
sendRemove();
}
}
private void sendAdd() {
String name = this.name.getText().trim();
if (!name.isEmpty()) {
if (button == add) {
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));
}
}
public void updateSelection(String channel) {