From ae63b322680d5d7a3bb98481e7dc86d5a91320c1 Mon Sep 17 00:00:00 2001 From: Jonas Herzig Date: Sat, 29 Aug 2020 15:09:37 +0200 Subject: [PATCH] Allow rendering of selected entries in render queue gui --- .../com/replaymod/render/gui/GuiRenderQueue.java | 12 +++++++++--- src/main/resources/assets/replaymod/lang | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/replaymod/render/gui/GuiRenderQueue.java b/src/main/java/com/replaymod/render/gui/GuiRenderQueue.java index d129609c..79b33ca7 100644 --- a/src/main/java/com/replaymod/render/gui/GuiRenderQueue.java +++ b/src/main/java/com/replaymod/render/gui/GuiRenderQueue.java @@ -37,6 +37,7 @@ import net.minecraft.client.gui.screen.NoticeScreen; import net.minecraft.util.crash.CrashReport; import javax.annotation.Nullable; +import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; @@ -55,7 +56,7 @@ public class GuiRenderQueue extends AbstractGuiPopup implements private final GuiButton addButton = new GuiButton().setI18nLabel("replaymod.gui.renderqueue.add").setSize(150, 20); private final GuiButton renameButton = new GuiButton().setI18nLabel("replaymod.gui.rename").setSize(73, 20); private final GuiButton removeButton = new GuiButton().setI18nLabel("replaymod.gui.remove").setSize(73, 20); - private final GuiButton renderButton = new GuiButton().setI18nLabel("replaymod.gui.render").setSize(150, 20); + private final GuiButton renderButton = new GuiButton().setSize(150, 20); private final GuiButton closeButton = new GuiButton().setI18nLabel("replaymod.gui.close").setSize(150, 20).onClick(this::close); /* @@ -207,7 +208,11 @@ public class GuiRenderQueue extends AbstractGuiPopup implements renderButton.onClick(() -> { LOGGER.trace("Render button clicked"); - ReplayMod.instance.runLaterWithoutLock(() -> processQueue(queue)); + List renderQueue = new ArrayList<>(); + for (Entry entry : selectedEntries) { + renderQueue.add(entry.job); + } + ReplayMod.instance.runLaterWithoutLock(() -> processQueue(renderQueue)); }); updateButtons(); @@ -269,7 +274,8 @@ public class GuiRenderQueue extends AbstractGuiPopup implements int selected = selectedEntries.size(); renameButton.setEnabled(selected == 1); removeButton.setEnabled(selected >= 1); - renderButton.setEnabled(!list.getListPanel().getChildren().isEmpty()); + renderButton.setEnabled(selected > 0); + renderButton.setI18nLabel("replaymod.gui.renderqueue.render" + (selected > 0 ? "selected" : "all")); } @Override diff --git a/src/main/resources/assets/replaymod/lang b/src/main/resources/assets/replaymod/lang index 8ed060df..4dff53a1 160000 --- a/src/main/resources/assets/replaymod/lang +++ b/src/main/resources/assets/replaymod/lang @@ -1 +1 @@ -Subproject commit 8ed060df523c7e87bcbc99bda34bd0f7293f19cc +Subproject commit 4dff53a1ff914f4baa04949d0ffeb8725abc3eef